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()
Minimalist debugging class.
TTK processing package for the computation of the Jacobi set of bivariate volumetric data.
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.
int SimplexId
Identifier type for simplices of any dimension.