|
| | 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 |
| |