|
| ContourForests () |
|
| ~ContourForests () override |
|
int | setThreadNumber (const int nbThread) override |
|
void | setPartitionNum (int p) |
|
void | setLessPartition (bool l) |
|
std::tuple< SimplexId, SimplexId > | getJTRange (const idPartition &i) const |
|
std::tuple< SimplexId, SimplexId > | getSTRange (const idPartition &i) const |
|
std::tuple< SimplexId, SimplexId > | getSeedsPos (const idPartition &i) const |
|
std::tuple< std::vector< SimplexId >, std::vector< SimplexId > > | getOverlaps (const idPartition &i) |
|
idPartition | vertex2partition (const SimplexId &v) |
|
void | initInterfaces () |
|
template<typename triangulationType > |
void | initOverlap (const triangulationType &mesh) |
|
void | initNbPartitions () |
|
template<typename scalarType , typename triangulationType > |
int | build (const triangulationType &mesh) |
|
template<typename scalarType , typename triangulationType > |
int | parallelBuild (std::vector< std::vector< ExtendedUnionFind * > > &baseUF_JT, std::vector< std::vector< ExtendedUnionFind * > > &baseUF_ST, const triangulationType &mesh) |
|
void | stitch () |
|
void | stitchTree (const char tree) |
|
void | unify () |
|
void | unifyTree (const char treetype) |
|
void | printDebug (DebugTimer &timer, const std::string &str) |
|
void | printVectCT () |
|
| ContourForestsTree (const std::shared_ptr< Params > ¶ms, const std::shared_ptr< Scalars > &scalars, idPartition part=nullPartition) |
|
| ~ContourForestsTree () override |
|
void | flush () |
|
MergeTree * | getJoinTree () |
|
MergeTree * | getSplitTree () |
|
MergeTree * | getTree (const TreeType &tt) |
|
int | combine (const SimplexId &seed0, const SimplexId &seed1, std::list< std::vector< std::pair< SimplexId, bool > > > &storage) |
| Combine tree with Natarajan's algorithm.
|
|
| MergeTree (std::shared_ptr< Params > params, std::shared_ptr< Scalars > scalars, TreeType type, idPartition part=nullPartition) |
|
| ~MergeTree () override |
|
template<typename triangulationType > |
void | initNbScalars (const triangulationType &tri) |
|
void | initTreeType () |
| init the type of the current tree from params
|
|
template<typename scalarType > |
void | sortInput () |
| if sortedVertices_ is null, define and fill it Also fill the mirror std::vector
|
|
void | flush () |
| clear local data for new computation
|
|
int | setDebugLevel (const int &local_debugLevel) override |
|
void | setTreeType (const int &local_treeType) |
|
void | setSimplificationMethod (const int &local_simplifyMethod) |
|
void | setSimplificationThreshold (const double &local_simplificationThreshold) |
|
void | setScalars (void *local_scalars) |
|
void | preconditionTriangulation (AbstractTriangulation *const m, const bool preproc=true) |
|
idPartition | getPartition () const |
|
template<typename scalarType > |
const scalarType & | getValue (const SimplexId &nodeId) const |
|
template<typename scalarType > |
void | setVertexScalars (scalarType *vals) |
|
void | setVertexSoSoffsets (const SimplexId *const offsets) |
|
idSuperArc | getNumberOfSuperArcs () const |
|
idSuperArc | getNumberOfVisibleArcs () const |
|
const std::vector< SuperArc > & | getSuperArc () const |
|
SuperArc * | getSuperArc (const idSuperArc &i) |
|
SimplexId | getNumberOfVisibleRegularNode (const idSuperArc &sa) |
|
void | addCrossingAbove (const idSuperArc &sa) |
|
idNode | getNumberOfNodes () const |
|
const std::vector< Node > & | getNodes () const |
|
Node * | getNode (const idNode &nodeId) |
|
SimplexId | getNumberOfLeaves () const |
|
const std::vector< idNode > & | getLeaves () const |
|
const idNode & | getLeave (const idNode &id) const |
|
const std::vector< idNode > & | getRoots () const |
|
void | setVert2Tree (decltype(treeData_.vert2tree) const &vect2tree) |
|
bool | isCorrespondingArc (const SimplexId &val) const |
|
bool | isCorrespondingNode (const SimplexId &val) const |
|
bool | isCorrespondingNull (const SimplexId &val) const |
|
idNode | getCorrespondingNodeId (const SimplexId &val) const |
|
idSuperArc | getCorrespondingSuperArcId (const SimplexId &val) const |
|
SuperArc * | vertex2SuperArc (const SimplexId &vert) |
|
Node * | vertex2Node (const SimplexId &vert) |
|
void | updateCorrespondingArc (const SimplexId &arc, const idSuperArc &val) |
|
void | updateCorrespondingNode (const SimplexId &vert, const idNode &val) |
|
idCorresp | idNode2corr (const idNode &id) const |
|
idNode | corr2idNode (const idCorresp &corr) const |
|
template<typename triangulationType > |
void | processVertex (const SimplexId &vertex, std::vector< ExtendedUnionFind * > &vect_baseUF, const bool overlapB, const bool overlapA, const triangulationType &mesh, DebugTimer &begin) |
|
template<typename triangulationType > |
int | build (std::vector< ExtendedUnionFind * > &vect_baseUF, const std::vector< SimplexId > &overlapBefore, const std::vector< SimplexId > &overlapAfter, SimplexId start, SimplexId end, const SimplexId &posSeed0, const SimplexId &posSeed1, const triangulationType &mesh) |
| Compute the merge tree using Carr's algorithm.
|
|
template<typename scalarType > |
SimplexId | localSimplify (const SimplexId &podSeed0, const SimplexId &podSeed1, std::list< std::vector< std::pair< SimplexId, bool > > > &storage) |
|
template<typename scalarType , typename triangulationType > |
SimplexId | globalSimplify (const SimplexId posSeed0, const SimplexId posSeed1, std::list< std::vector< std::pair< SimplexId, bool > > > &storage, const triangulationType &mesh) |
|
template<typename scalarType > |
SimplexId | simplifyTree (const SimplexId &posSeed0, const SimplexId &posSeed1, std::list< std::vector< std::pair< SimplexId, bool > > > &storage, const std::vector< std::tuple< SimplexId, SimplexId, scalarType, bool > > &sortedPairs) |
|
void | markThisArc (std::vector< ExtendedUnionFind * > &ufArray, const idNode &curNodeId, const idSuperArc &mergingArcId, const idNode &parentNodeId) |
|
template<typename scalarType , typename triangulationType > |
int | computePersistencePairs (std::vector< std::tuple< SimplexId, SimplexId, scalarType > > &pairs, const triangulationType &mesh) |
|
template<typename scalarType , typename triangulationType > |
int | computePersistencePairs (std::vector< std::tuple< SimplexId, SimplexId, scalarType, bool > > &pairs, const triangulationType &mesh) |
|
template<typename scalarType , typename triangulationType > |
void | recoverMTPairs (const std::vector< idNode > &sortedNodes, std::vector< std::tuple< SimplexId, SimplexId, scalarType, bool > > &pairsJT, std::vector< std::tuple< SimplexId, SimplexId, scalarType, bool > > &pairsST, const triangulationType &mesh) |
|
idSuperArc | openSuperArc (const idNode &downNodeId, const bool overlapB, const bool overlapA) |
|
idSuperArc | makeSuperArc (const idNode &downNodeId, const idNode &upNodeId, const bool overlapB, const bool overlapA, std::pair< SimplexId, bool > *vertexList=nullptr, SimplexId vertexSize=-1) |
|
void | closeSuperArc (const idSuperArc &superArcId, const idNode &upNodeId, const bool overlapB, const bool overlapA) |
|
void | hideArc (const idSuperArc &sa) |
|
void | mergeArc (const idSuperArc &sa, const idSuperArc &recept, const bool changeConnectivity=true) |
|
SimplexId | insertNodeAboveSeed (const idSuperArc &arc, const std::pair< SimplexId, bool > &seed) |
|
SimplexId | getVertBelowSeed (const idSuperArc &arc, const std::pair< SimplexId, bool > &seed, const std::vector< idCorresp > &vert2treeOther) |
|
bool | alreadyExtLinked (const idNode &node, const idPartition &tree, const idNode &treeNode) |
|
idSuperArc | getNumberOfExternalDownArcs (const idNode &node) |
|
void | removeHiddenDownArcs (const idNode &n) |
|
void | removeInternalDownArcs (const idNode &node) |
|
idSuperArc | getNumberOfVisibleArcs (const idNode &n) |
|
idSuperArc | getNumberOfUnmergedDownArcs (const idNode &n) |
|
idNode | makeNode (const SimplexId &vertexId, const SimplexId &linked=nullVertex) |
|
idNode | makeNode (const Node *const n, const SimplexId &linked=nullVertex) |
|
idSuperArc | insertNode (Node *node, const bool segment) |
|
idSuperArc | reverseInsertNode (Node *node, const bool segment) |
|
Node * | getDownNode (const SuperArc *a) |
|
Node * | getUpNode (const SuperArc *a) |
|
idNode | getParent (const idNode &n) |
|
void | delNode (const idNode &node, std::list< std::vector< std::pair< SimplexId, bool > > > &storage, const std::pair< SimplexId, bool > *mv=nullptr, const SimplexId &nbm=0) |
|
void | hideNode (const idNode &node) |
|
std::vector< idNode > | getNodeNeighbors (const idNode &node) |
|
std::vector< idNode > | getNodeUpNeighbors (const idNode &n) |
|
std::vector< idNode > | getNodeDownNeighbors (const idNode &n) |
|
void | hideAndClearArcsAbove (const idNode &baseNode) |
|
void | hideAndClearArcsBelow (const idNode &baseNode, const SimplexId &seed) |
|
idSuperArc | hideAndClearLeadingTo (const idNode &baseNode, const SimplexId &v) |
|
void | updateSegmentation () |
|
void | parallelUpdateSegmentation (const bool ct=false) |
|
void | parallelInitNodeValence (const int nbThreadValence) |
|
void | printTree2 () |
|
std::string | printArc (const idSuperArc &a) |
|
std::string | printNode (const idNode &n) |
|
std::shared_ptr< MergeTree > | clone () const |
|
void | clone (const MergeTree *mt) |
|
void | doSwap (MergeTree *mt) |
|
| Debug () |
|
| ~Debug () override |
|
int | setWrapper (const Wrapper *wrapper) override |
|
int | printMsg (const std::string &msg, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::vector< std::string > &msgs, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printErr (const std::string &msg, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cerr) const |
|
int | printWrn (const std::string &msg, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cerr) const |
|
int | printMsg (const std::string &msg, const double &progress, const double &time, const int &threads, const double &memory, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const double &progress, const double &time, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const double &progress, const double &time, const int &threads, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const double &progress, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const double &progress, const debug::Priority &priority, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::vector< std::vector< std::string > > &rows, const debug::Priority &priority=debug::Priority::INFO, const bool hasHeader=true, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printMsg (const debug::Separator &separator, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::INFO, std::ostream &stream=std::cout) const |
|
int | printMsg (const debug::Separator &separator, const debug::Priority &priority, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const debug::Separator &separator, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::INFO, std::ostream &stream=std::cout) const |
|
void | setDebugMsgPrefix (const std::string &prefix) |
|
| BaseClass () |
|
virtual | ~BaseClass ()=default |
|
int | getThreadNumber () const |
|