TTK
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | Friends | List of all members
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.

Friends And Related Symbol Documentation

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