TTK
Loading...
Searching...
No Matches
ttk::cf::ContourForestsTree Class Reference

#include <ContourForestsTree.h>

Inheritance diagram for ttk::cf::ContourForestsTree:
ttk::cf::MergeTree ttk::Debug ttk::BaseClass ttk::cf::ContourForests ttkContourForests

Public Member Functions

 ContourForestsTree (const std::shared_ptr< Params > &params, const std::shared_ptr< Scalars > &scalars, idPartition part=nullPartition)
 ~ContourForestsTree () override
void flush ()
MergeTreegetJoinTree ()
MergeTreegetSplitTree ()
MergeTreegetTree (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.
Public Member Functions inherited from ttk::cf::MergeTree
 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
SuperArcgetSuperArc (const idSuperArc &i)
SimplexId getNumberOfVisibleRegularNode (const idSuperArc &sa)
void addCrossingAbove (const idSuperArc &sa)
idNode getNumberOfNodes () const
const std::vector< Node > & getNodes () const
NodegetNode (const idNode &nodeId)
SimplexId getNumberOfLeaves () const
const std::vector< idNode > & getLeaves () const
const idNodegetLeave (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
SuperArcvertex2SuperArc (const SimplexId &vert)
Nodevertex2Node (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)
NodegetDownNode (const SuperArc *a)
NodegetUpNode (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< idNodegetNodeNeighbors (const idNode &node)
std::vector< idNodegetNodeUpNeighbors (const idNode &n)
std::vector< idNodegetNodeDownNeighbors (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< MergeTreeclone () const
void clone (const MergeTree *mt)
void doSwap (MergeTree *mt)
Public Member Functions inherited from ttk::Debug
 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)
Public Member Functions inherited from ttk::BaseClass
 BaseClass ()
virtual ~BaseClass ()=default
int getThreadNumber () const
virtual int setThreadNumber (const int threadNumber)

Protected Attributes

MergeTree jt_
MergeTree st_
Protected Attributes inherited from ttk::cf::MergeTree
std::shared_ptr< Paramsparams_
std::shared_ptr< Scalarsscalars_
TreeData treeData_
std::list< ExtendedUnionFindstorageEUF_
Protected Attributes inherited from ttk::Debug
int debugLevel_
std::string debugMsgPrefix_
std::string debugMsgNamePrefix_
Protected Attributes inherited from ttk::BaseClass
bool lastObject_
int threadNumber_
Wrapperwrapper_

Friends

class ContourForests

Additional Inherited Members

Protected Member Functions inherited from ttk::cf::MergeTree
bool isLower (const SimplexId &a, const SimplexId &b) const
bool isHigher (const SimplexId &a, const SimplexId &b) const
Protected Member Functions inherited from ttk::Debug
int printMsgInternal (const std::string &msg, const std::string &right, const std::string &filler, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const
int printMsgInternal (const std::string &msg, const debug::Priority &priority, const debug::LineMode &lineMode, std::ostream &stream=std::cout) const
int welcomeMsg (std::ostream &stream)
Static Protected Attributes inherited from ttk::Debug
static COMMON_EXPORTS debug::LineMode lastLineMode = ttk::debug::LineMode::NEW

Detailed Description

Definition at line 37 of file ContourForestsTree.h.

Constructor & Destructor Documentation

◆ ContourForestsTree()

ContourForestsTree::ContourForestsTree ( const std::shared_ptr< Params > & params,
const std::shared_ptr< Scalars > & scalars,
idPartition part = nullPartition )

Definition at line 17 of file ContourForestsTree.cpp.

◆ ~ContourForestsTree()

ContourForestsTree::~ContourForestsTree ( )
overridedefault

Member Function Documentation

◆ combine()

int ContourForestsTree::combine ( const SimplexId & seed0,
const SimplexId & seed1,
std::list< std::vector< std::pair< SimplexId, bool > > > & storage )

Combine tree with Natarajan's algorithm.

Definition at line 30 of file ContourForestsTree.cpp.

◆ flush()

void ttk::cf::ContourForestsTree::flush ( )
inline

Definition at line 60 of file ContourForestsTree.h.

◆ getJoinTree()

MergeTree * ttk::cf::ContourForestsTree::getJoinTree ( )
inline

Definition at line 72 of file ContourForestsTree.h.

◆ getSplitTree()

MergeTree * ttk::cf::ContourForestsTree::getSplitTree ( )
inline

Definition at line 76 of file ContourForestsTree.h.

◆ getTree()

MergeTree * ttk::cf::ContourForestsTree::getTree ( const TreeType & tt)
inline

Definition at line 80 of file ContourForestsTree.h.

◆ ContourForests

friend class ContourForests
friend

Definition at line 38 of file ContourForestsTree.h.

Member Data Documentation

◆ jt_

MergeTree ttk::cf::ContourForestsTree::jt_
protected

Definition at line 41 of file ContourForestsTree.h.

◆ st_

MergeTree ttk::cf::ContourForestsTree::st_
protected

Definition at line 41 of file ContourForestsTree.h.


The documentation for this class was generated from the following files: