43 template <
class dataTypeU,
class dataTypeV,
typename triangulationType>
44 int execute(std::vector<std::pair<SimplexId, char>> &jacobiSet,
45 const dataTypeU *
const uField,
46 const dataTypeV *
const vField,
47 const triangulationType &triangulation,
48 std::vector<char> *isPareto =
nullptr);
50 template <
class dataTypeU,
class dataTypeV,
typename triangulationType>
52 const dataTypeU *
const uField,
53 const dataTypeV *
const vField,
54 const triangulationType &triangulation);
56 template <
class dataTypeU,
class dataTypeV>
57 int perturb(
const dataTypeU *
const uField,
58 const dataTypeV *
const vField,
63 setEdgeFans(
const std::vector<std::vector<SimplexId>> *edgeFans) {
68 const std::vector<std::vector<std::pair<SimplexId, SimplexId>>>
69 *edgeFanLinkEdgeLists) {
74 const std::vector<std::pair<SimplexId, SimplexId>> *edgeList) {
126 template <
class dataTypeU,
class dataTypeV>
127 int executeLegacy(std::vector<std::pair<SimplexId, char>> &jacobiSet,
128 const dataTypeU *
const uField,
129 const dataTypeV *
const vField);
133 const std::vector<std::pair<SimplexId, SimplexId>> *
edgeList_{};
135 const std::vector<std::vector<std::pair<SimplexId, SimplexId>>>
AbstractTriangulation is an interface class that defines an interface for efficient traversal methods...
virtual int preconditionEdgeStars()
virtual int preconditionEdges()
void setSosOffsets(std::vector< SimplexId > *sosOffsets)
void setEdgeFanLinkEdgeList(const std::vector< std::vector< std::pair< SimplexId, SimplexId > > > *edgeFanLinkEdgeLists)
const SimplexId * sosOffsetsV_
const std::vector< std::pair< SimplexId, SimplexId > > * edgeList_
const SimplexId * sosOffsetsU_
void setEdgeList(const std::vector< std::pair< SimplexId, SimplexId > > *edgeList)
void setVertexNumber(const SimplexId &vertexNumber)
int executeLegacy(std::vector< std::pair< SimplexId, char > > &jacobiSet, const dataTypeU *const uField, const dataTypeV *const vField)
void setTetList(const SimplexId *tetList)
const std::vector< std::vector< SimplexId > > * edgeFans_
void setSosOffsetsV(const SimplexId *const sosOffsets)
const SimplexId * tetList_
char getCriticalType(const SimplexId &edgeId, const dataTypeU *const uField, const dataTypeV *const vField, const triangulationType &triangulation)
void preconditionTriangulation(AbstractTriangulation *const triangulation)
int perturb(const dataTypeU *const uField, const dataTypeV *const vField, const dataTypeU uEpsilon=Geometry::powIntTen(-DBL_DIG), const dataTypeV vEpsilon=Geometry::powIntTen(-DBL_DIG)) const
void setEdgeFans(const std::vector< std::vector< SimplexId > > *edgeFans)
void setSosOffsetsU(const SimplexId *const sosOffsets)
const std::vector< std::vector< std::pair< SimplexId, SimplexId > > > * edgeFanLinkEdgeLists_
int execute(std::vector< std::pair< SimplexId, char > > &jacobiSet, const dataTypeU *const uField, const dataTypeV *const vField, const triangulationType &triangulation, std::vector< char > *isPareto=nullptr)
T powIntTen(const int n)
Compute the nth power of ten.
TTK base package defining the standard types.
int SimplexId
Identifier type for simplices of any dimension.