TTK
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
ttk::cf::MergeTree Class Reference

#include <MergeTree.h>

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

Public Member Functions

 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
 
virtual int setDebugLevel (const int &debugLevel)
 
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)
 
virtual int setWrapper (const Wrapper *wrapper)
 

Protected Member Functions

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)
 

Protected Attributes

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

Additional Inherited Members

- 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 MergeTree.h.

Constructor & Destructor Documentation

◆ MergeTree()

MergeTree::MergeTree ( std::shared_ptr< Params params,
std::shared_ptr< Scalars scalars,
TreeType  type,
idPartition  part = nullPartition 
)

Definition at line 16 of file MergeTree.cpp.

◆ ~MergeTree()

MergeTree::~MergeTree ( )
overridedefault

Member Function Documentation

◆ addCrossingAbove()

void ttk::cf::MergeTree::addCrossingAbove ( const idSuperArc sa)
inline

Definition at line 225 of file MergeTree.h.

◆ alreadyExtLinked()

bool MergeTree::alreadyExtLinked ( const idNode node,
const idPartition tree,
const idNode treeNode 
)

Definition at line 467 of file MergeTree.cpp.

◆ build()

template<typename triangulationType >
int ttk::cf::MergeTree::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.

Definition at line 826 of file MergeTreeTemplate.h.

◆ clone() [1/2]

std::shared_ptr< MergeTree > MergeTree::clone ( ) const

Definition at line 1006 of file MergeTree.cpp.

◆ clone() [2/2]

void MergeTree::clone ( const MergeTree mt)

Definition at line 1021 of file MergeTree.cpp.

◆ closeSuperArc()

void MergeTree::closeSuperArc ( const idSuperArc superArcId,
const idNode upNodeId,
const bool  overlapB,
const bool  overlapA 
)

Definition at line 261 of file MergeTree.cpp.

◆ computePersistencePairs() [1/2]

template<typename scalarType , typename triangulationType >
int ttk::cf::MergeTree::computePersistencePairs ( std::vector< std::tuple< SimplexId, SimplexId, scalarType > > &  pairs,
const triangulationType &  mesh 
)

Definition at line 486 of file MergeTreeTemplate.h.

◆ computePersistencePairs() [2/2]

template<typename scalarType , typename triangulationType >
int ttk::cf::MergeTree::computePersistencePairs ( std::vector< std::tuple< SimplexId, SimplexId, scalarType, bool > > &  pairs,
const triangulationType &  mesh 
)

Definition at line 517 of file MergeTreeTemplate.h.

◆ corr2idNode()

idNode ttk::cf::MergeTree::corr2idNode ( const idCorresp corr) const
inline

Definition at line 363 of file MergeTree.h.

◆ delNode()

void MergeTree::delNode ( const idNode node,
std::list< std::vector< std::pair< SimplexId, bool > > > &  storage,
const std::pair< SimplexId, bool > *  mv = nullptr,
const SimplexId nbm = 0 
)

Definition at line 540 of file MergeTree.cpp.

◆ doSwap()

void MergeTree::doSwap ( MergeTree mt)

Definition at line 1032 of file MergeTree.cpp.

◆ flush()

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

clear local data for new computation

Definition at line 87 of file MergeTree.h.

◆ getCorrespondingNodeId()

idNode ttk::cf::MergeTree::getCorrespondingNodeId ( const SimplexId val) const
inline

Definition at line 310 of file MergeTree.h.

◆ getCorrespondingSuperArcId()

idSuperArc ttk::cf::MergeTree::getCorrespondingSuperArcId ( const SimplexId val) const
inline

Definition at line 321 of file MergeTree.h.

◆ getDownNode()

Node * MergeTree::getDownNode ( const SuperArc a)
inline

Definition at line 814 of file MergeTree.cpp.

◆ getLeave()

const idNode & ttk::cf::MergeTree::getLeave ( const idNode id) const
inline

Definition at line 261 of file MergeTree.h.

◆ getLeaves()

const std::vector< idNode > & ttk::cf::MergeTree::getLeaves ( ) const
inline

Definition at line 256 of file MergeTree.h.

◆ getNode()

Node * ttk::cf::MergeTree::getNode ( const idNode nodeId)
inline

Definition at line 244 of file MergeTree.h.

◆ getNodeDownNeighbors()

vector< idNode > MergeTree::getNodeDownNeighbors ( const idNode n)

Definition at line 869 of file MergeTree.cpp.

◆ getNodeNeighbors()

vector< idNode > MergeTree::getNodeNeighbors ( const idNode node)

Definition at line 827 of file MergeTree.cpp.

◆ getNodes()

const std::vector< Node > & ttk::cf::MergeTree::getNodes ( ) const
inline

Definition at line 239 of file MergeTree.h.

◆ getNodeUpNeighbors()

vector< idNode > MergeTree::getNodeUpNeighbors ( const idNode n)

Definition at line 853 of file MergeTree.cpp.

◆ getNumberOfExternalDownArcs()

idSuperArc MergeTree::getNumberOfExternalDownArcs ( const idNode node)

Definition at line 452 of file MergeTree.cpp.

◆ getNumberOfLeaves()

SimplexId ttk::cf::MergeTree::getNumberOfLeaves ( ) const
inline

Definition at line 252 of file MergeTree.h.

◆ getNumberOfNodes()

idNode ttk::cf::MergeTree::getNumberOfNodes ( ) const
inline

Definition at line 235 of file MergeTree.h.

◆ getNumberOfSuperArcs()

idSuperArc ttk::cf::MergeTree::getNumberOfSuperArcs ( ) const
inline

Definition at line 183 of file MergeTree.h.

◆ getNumberOfUnmergedDownArcs()

idSuperArc MergeTree::getNumberOfUnmergedDownArcs ( const idNode n)

Definition at line 436 of file MergeTree.cpp.

◆ getNumberOfVisibleArcs() [1/2]

idSuperArc ttk::cf::MergeTree::getNumberOfVisibleArcs ( ) const
inline

Definition at line 187 of file MergeTree.h.

◆ getNumberOfVisibleArcs() [2/2]

idSuperArc MergeTree::getNumberOfVisibleArcs ( const idNode n)

Definition at line 413 of file MergeTree.cpp.

◆ getNumberOfVisibleRegularNode()

SimplexId ttk::cf::MergeTree::getNumberOfVisibleRegularNode ( const idSuperArc sa)
inline

Definition at line 212 of file MergeTree.h.

◆ getParent()

idNode MergeTree::getParent ( const idNode n)

Definition at line 822 of file MergeTree.cpp.

◆ getPartition()

idPartition ttk::cf::MergeTree::getPartition ( ) const
inline

Definition at line 145 of file MergeTree.h.

◆ getRoots()

const std::vector< idNode > & ttk::cf::MergeTree::getRoots ( ) const
inline

Definition at line 271 of file MergeTree.h.

◆ getSuperArc() [1/2]

const std::vector< SuperArc > & ttk::cf::MergeTree::getSuperArc ( ) const
inline

Definition at line 197 of file MergeTree.h.

◆ getSuperArc() [2/2]

SuperArc * ttk::cf::MergeTree::getSuperArc ( const idSuperArc i)
inline

Definition at line 202 of file MergeTree.h.

◆ getUpNode()

Node * MergeTree::getUpNode ( const SuperArc a)
inline

Definition at line 818 of file MergeTree.cpp.

◆ getValue()

template<typename scalarType >
const scalarType & ttk::cf::MergeTree::getValue ( const SimplexId nodeId) const
inline

Definition at line 154 of file MergeTree.h.

◆ getVertBelowSeed()

SimplexId MergeTree::getVertBelowSeed ( const idSuperArc arc,
const std::pair< SimplexId, bool > &  seed,
const std::vector< idCorresp > &  vert2treeOther 
)

Definition at line 344 of file MergeTree.cpp.

◆ globalSimplify()

template<typename scalarType , typename triangulationType >
SimplexId ttk::cf::MergeTree::globalSimplify ( const SimplexId  posSeed0,
const SimplexId  posSeed1,
std::list< std::vector< std::pair< SimplexId, bool > > > &  storage,
const triangulationType &  mesh 
)

Definition at line 100 of file MergeTreeTemplate.h.

◆ hideAndClearArcsAbove()

void MergeTree::hideAndClearArcsAbove ( const idNode baseNode)

Definition at line 887 of file MergeTree.cpp.

◆ hideAndClearArcsBelow()

void MergeTree::hideAndClearArcsBelow ( const idNode baseNode,
const SimplexId seed 
)

Definition at line 903 of file MergeTree.cpp.

◆ hideAndClearLeadingTo()

idSuperArc MergeTree::hideAndClearLeadingTo ( const idNode baseNode,
const SimplexId v 
)

Definition at line 925 of file MergeTree.cpp.

◆ hideArc()

void MergeTree::hideArc ( const idSuperArc sa)

Definition at line 487 of file MergeTree.cpp.

◆ hideNode()

void MergeTree::hideNode ( const idNode node)

Definition at line 510 of file MergeTree.cpp.

◆ idNode2corr()

idCorresp ttk::cf::MergeTree::idNode2corr ( const idNode id) const
inline

Definition at line 358 of file MergeTree.h.

◆ initNbScalars()

template<typename triangulationType >
void ttk::cf::MergeTree::initNbScalars ( const triangulationType &  tri)
inline

Definition at line 72 of file MergeTree.h.

◆ initTreeType()

void ttk::cf::MergeTree::initTreeType ( )
inline

init the type of the current tree from params

Definition at line 77 of file MergeTree.h.

◆ insertNode()

idSuperArc MergeTree::insertNode ( Node node,
const bool  segment 
)

Definition at line 666 of file MergeTree.cpp.

◆ insertNodeAboveSeed()

SimplexId MergeTree::insertNodeAboveSeed ( const idSuperArc arc,
const std::pair< SimplexId, bool > &  seed 
)

Definition at line 300 of file MergeTree.cpp.

◆ isCorrespondingArc()

bool ttk::cf::MergeTree::isCorrespondingArc ( const SimplexId val) const
inline

Definition at line 294 of file MergeTree.h.

◆ isCorrespondingNode()

bool ttk::cf::MergeTree::isCorrespondingNode ( const SimplexId val) const
inline

Definition at line 298 of file MergeTree.h.

◆ isCorrespondingNull()

bool ttk::cf::MergeTree::isCorrespondingNull ( const SimplexId val) const
inline

Definition at line 302 of file MergeTree.h.

◆ isHigher()

bool ttk::cf::MergeTree::isHigher ( const SimplexId a,
const SimplexId b 
) const
inlineprotected

Definition at line 649 of file MergeTree.h.

◆ isLower()

bool ttk::cf::MergeTree::isLower ( const SimplexId a,
const SimplexId b 
) const
inlineprotected

Definition at line 645 of file MergeTree.h.

◆ localSimplify()

template<typename scalarType >
SimplexId ttk::cf::MergeTree::localSimplify ( const SimplexId podSeed0,
const SimplexId podSeed1,
std::list< std::vector< std::pair< SimplexId, bool > > > &  storage 
)

Definition at line 53 of file MergeTreeTemplate.h.

◆ makeNode() [1/2]

idNode MergeTree::makeNode ( const Node *const  n,
const SimplexId linked = nullVertex 
)

Definition at line 536 of file MergeTree.cpp.

◆ makeNode() [2/2]

idNode MergeTree::makeNode ( const SimplexId vertexId,
const SimplexId linked = nullVertex 
)

Definition at line 516 of file MergeTree.cpp.

◆ makeSuperArc()

idSuperArc MergeTree::makeSuperArc ( const idNode downNodeId,
const idNode upNodeId,
const bool  overlapB,
const bool  overlapA,
std::pair< SimplexId, bool > *  vertexList = nullptr,
SimplexId  vertexSize = -1 
)

Definition at line 232 of file MergeTree.cpp.

◆ markThisArc()

void MergeTree::markThisArc ( std::vector< ExtendedUnionFind * > &  ufArray,
const idNode curNodeId,
const idSuperArc mergingArcId,
const idNode parentNodeId 
)

Definition at line 1066 of file MergeTree.cpp.

◆ mergeArc()

void MergeTree::mergeArc ( const idSuperArc sa,
const idSuperArc recept,
const bool  changeConnectivity = true 
)

Definition at line 495 of file MergeTree.cpp.

◆ openSuperArc()

idSuperArc MergeTree::openSuperArc ( const idNode downNodeId,
const bool  overlapB,
const bool  overlapA 
)

Definition at line 213 of file MergeTree.cpp.

◆ parallelInitNodeValence()

void MergeTree::parallelInitNodeValence ( const int  nbThreadValence)

Definition at line 175 of file MergeTree.cpp.

◆ parallelUpdateSegmentation()

void MergeTree::parallelUpdateSegmentation ( const bool  ct = false)

Definition at line 106 of file MergeTree.cpp.

◆ preconditionTriangulation()

void ttk::cf::MergeTree::preconditionTriangulation ( AbstractTriangulation *const  m,
const bool  preproc = true 
)
inline

Definition at line 133 of file MergeTree.h.

◆ printArc()

std::string ttk::cf::MergeTree::printArc ( const idSuperArc a)
inline

Definition at line 580 of file MergeTree.h.

◆ printNode()

std::string ttk::cf::MergeTree::printNode ( const idNode n)
inline

Definition at line 598 of file MergeTree.h.

◆ printTree2()

void MergeTree::printTree2 ( )

Definition at line 969 of file MergeTree.cpp.

◆ processVertex()

template<typename triangulationType >
void ttk::cf::MergeTree::processVertex ( const SimplexId vertex,
std::vector< ExtendedUnionFind * > &  vect_baseUF,
const bool  overlapB,
const bool  overlapA,
const triangulationType &  mesh,
DebugTimer begin 
)

Definition at line 1004 of file MergeTreeTemplate.h.

◆ recoverMTPairs()

template<typename scalarType , typename triangulationType >
void ttk::cf::MergeTree::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 
)

Definition at line 556 of file MergeTreeTemplate.h.

◆ removeHiddenDownArcs()

void MergeTree::removeHiddenDownArcs ( const idNode n)

Definition at line 385 of file MergeTree.cpp.

◆ removeInternalDownArcs()

void MergeTree::removeInternalDownArcs ( const idNode node)

Definition at line 399 of file MergeTree.cpp.

◆ reverseInsertNode()

idSuperArc MergeTree::reverseInsertNode ( Node node,
const bool  segment 
)

Definition at line 743 of file MergeTree.cpp.

◆ setDebugLevel()

int ttk::cf::MergeTree::setDebugLevel ( const int &  debugLevel)
inlineoverridevirtual

Set the debug level of a particular object. The global variable globalDebugLevel_ will over-ride this setting if it has a lower value.

Returns
Returns 0 upon success, negative values otherwise.

Reimplemented from ttk::Debug.

Definition at line 109 of file MergeTree.h.

◆ setScalars()

void ttk::cf::MergeTree::setScalars ( void *  local_scalars)
inline

Definition at line 129 of file MergeTree.h.

◆ setSimplificationMethod()

void ttk::cf::MergeTree::setSimplificationMethod ( const int &  local_simplifyMethod)
inline

Definition at line 119 of file MergeTree.h.

◆ setSimplificationThreshold()

void ttk::cf::MergeTree::setSimplificationThreshold ( const double &  local_simplificationThreshold)
inline

Definition at line 124 of file MergeTree.h.

◆ setTreeType()

void ttk::cf::MergeTree::setTreeType ( const int &  local_treeType)
inline

Definition at line 115 of file MergeTree.h.

◆ setVert2Tree()

void ttk::cf::MergeTree::setVert2Tree ( decltype(treeData_.vert2tree) const &  vect2tree)
inline

Definition at line 280 of file MergeTree.h.

◆ setVertexScalars()

template<typename scalarType >
void ttk::cf::MergeTree::setVertexScalars ( scalarType *  vals)
inline

Definition at line 159 of file MergeTree.h.

◆ setVertexSoSoffsets()

void ttk::cf::MergeTree::setVertexSoSoffsets ( const SimplexId *const  offsets)
inline
Precondition
For this function to behave correctly in the absence of the VTK wrapper, ttk::preconditionOrderArray() needs to be called to fill the offsets buffer prior to any computation (the VTK wrapper already includes a mechanism to automatically generate such a preconditioned buffer).
See also
examples/c++/main.cpp for an example use.

Definition at line 175 of file MergeTree.h.

◆ simplifyTree()

template<typename scalarType >
SimplexId ttk::cf::MergeTree::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 
)

Definition at line 185 of file MergeTreeTemplate.h.

◆ sortInput()

template<typename scalarType >
void ttk::cf::MergeTree::sortInput

if sortedVertices_ is null, define and fill it Also fill the mirror std::vector

Definition at line 31 of file MergeTreeTemplate.h.

◆ updateCorrespondingArc()

void ttk::cf::MergeTree::updateCorrespondingArc ( const SimplexId arc,
const idSuperArc val 
)
inline

Definition at line 348 of file MergeTree.h.

◆ updateCorrespondingNode()

void ttk::cf::MergeTree::updateCorrespondingNode ( const SimplexId vert,
const idNode val 
)
inline

Definition at line 353 of file MergeTree.h.

◆ updateSegmentation()

void MergeTree::updateSegmentation ( )

Definition at line 44 of file MergeTree.cpp.

◆ vertex2Node()

Node * ttk::cf::MergeTree::vertex2Node ( const SimplexId vert)
inline

Definition at line 340 of file MergeTree.h.

◆ vertex2SuperArc()

SuperArc * ttk::cf::MergeTree::vertex2SuperArc ( const SimplexId vert)
inline

Definition at line 336 of file MergeTree.h.

Friends And Related Function Documentation

◆ ContourForests

friend class ContourForests
friend

Definition at line 38 of file MergeTree.h.

◆ ContourForestsTree

friend class ContourForestsTree
friend

Definition at line 39 of file MergeTree.h.

Member Data Documentation

◆ params_

std::shared_ptr<Params> ttk::cf::MergeTree::params_
protected

Definition at line 43 of file MergeTree.h.

◆ scalars_

std::shared_ptr<Scalars> ttk::cf::MergeTree::scalars_
protected

Definition at line 44 of file MergeTree.h.

◆ storageEUF_

std::list<ExtendedUnionFind> ttk::cf::MergeTree::storageEUF_
protected

Definition at line 50 of file MergeTree.h.

◆ treeData_

TreeData ttk::cf::MergeTree::treeData_
protected

Definition at line 47 of file MergeTree.h.


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