TTK
Loading...
Searching...
No Matches
PersistenceDiagram.cpp
Go to the documentation of this file.
2
3using namespace std;
4using namespace ttk;
5
6using namespace ftm;
7
9 setDebugMsgPrefix("PersistenceDiagram");
10#ifdef TTK_ENABLE_MPI
11 hasMPISupport_ = true;
12#endif
13}
14
16 TreeType treeType,
17 const SimplexId vertexId) const {
18 const Node *node = tree->vertex2Node(vertexId);
19 int upDegree{};
20 int downDegree{};
21 if(treeType == TreeType::Join or treeType == TreeType::Contour) {
22 upDegree = node->getNumberOfUpSuperArcs();
23 downDegree = node->getNumberOfDownSuperArcs();
24 } else {
25 upDegree = node->getNumberOfDownSuperArcs();
26 downDegree = node->getNumberOfUpSuperArcs();
27 }
28 int const degree = upDegree + downDegree;
29
30 // saddle point
31 if(degree > 1) {
32 if(upDegree > 1)
34 else
36 }
37 // local extremum
38 else {
39 if(upDegree)
41 else
43 }
44}
45
47 std::vector<PersistencePair> &diagram, const SimplexId *const offsets) const {
48
49 auto cmp = [offsets](const PersistencePair &a, const PersistencePair &b) {
50 return offsets[a.birth.id] < offsets[b.birth.id];
51 };
52
53 std::sort(diagram.begin(), diagram.end(), cmp);
54}
void setDebugMsgPrefix(const std::string &prefix)
Definition Debug.h:364
int getNumberOfDownSuperArcs() const
int getNumberOfUpSuperArcs() const
void sortPersistenceDiagram(std::vector< PersistencePair > &diagram, const SimplexId *const offsets) const
ttk::CriticalType getNodeType(ftm::FTMTree_MT *tree, ftm::TreeType treeType, const SimplexId vertexId) const
Node * vertex2Node(const SimplexId vert)
Definition FTMTree_MT.h:487
TTK base package defining the standard types.
int SimplexId
Identifier type for simplices of any dimension.
Definition DataTypes.h:22
CriticalType
default value for critical index
Definition DataTypes.h:88