TTK
Loading...
Searching...
No Matches
FTMTreePPUtils.h
Go to the documentation of this file.
1
7
8#pragma once
9
10#include <FTMTree.h>
11#include <FTMTreePP.h>
12
13namespace ttk {
14 namespace ftm {
15
16 template <class dataType>
18 FTMTree_MT *tree,
19 std::vector<std::tuple<SimplexId, SimplexId, dataType>> &pairs) {
20 FTMTreePP pairsCompute;
21 pairsCompute.setCustomTree(tree);
22 pairsCompute.computePersistencePairs<dataType>(
23 pairs, tree->isJoinTree<dataType>());
24 }
25
26 template <class dataType>
27 std::vector<std::tuple<SimplexId, SimplexId, dataType>>
29 std::vector<std::tuple<SimplexId, SimplexId, dataType>> pairs;
30 getPersistencePairs<dataType>(tree, pairs);
31 for(auto pair : pairs) {
32 if(tree->getNode(std::get<0>(pair))->getOrigin() < std::get<0>(pair)
33 and tree->getNode(std::get<0>(pair))->getOrigin() >= 0)
34 tree->getNode(tree->getNode(std::get<0>(pair))->getOrigin())
35 ->setOrigin(std::get<1>(pair));
36
37 tree->getNode(std::get<0>(pair))->setOrigin(std::get<1>(pair));
38 tree->getNode(std::get<1>(pair))->setOrigin(std::get<0>(pair));
39 }
40 return pairs;
41 }
42
43 } // namespace ftm
44} // namespace ttk
void computePersistencePairs(std::vector< std::tuple< SimplexId, SimplexId, scalarType > > &pairs, const bool jt)
Definition FTMTreePP.h:128
void setCustomTree(ftm::FTMTree_MT *cTree)
Definition FTMTreePP.h:44
Node * getNode(idNode nodeId)
Definition FTMTree_MT.h:393
SimplexId getOrigin() const
Definition FTMNode.h:64
void getPersistencePairs(FTMTree_MT *tree, std::vector< std::tuple< SimplexId, SimplexId, dataType > > &pairs)
std::vector< std::tuple< SimplexId, SimplexId, dataType > > computePersistencePairs(FTMTree_MT *tree)
The Topology ToolKit.