TTK
Loading...
Searching...
No Matches
MorseSmaleComplex.cpp
Go to the documentation of this file.
1#include <MorseSmaleComplex.h>
2
4 this->setDebugMsgPrefix("MorseSmaleComplex");
5}
6
8 std::vector<std::vector<Separatrix>> &separatrices) const {
9
10 std::vector<size_t> partialSizes{0};
11 for(const auto &sep : separatrices) {
12 partialSizes.emplace_back(partialSizes.back() + sep.size());
13 }
14 separatrices[0].resize(partialSizes.back());
15
16#ifdef TTK_ENABLE_OPENMP
17#pragma omp parallel for num_threads(threadNumber_)
18#endif // TTK_ENABLE_OPENMP
19 for(size_t i = 1; i < separatrices.size(); ++i) {
20 for(size_t j = 0; j < separatrices[i].size(); ++j) {
21 const auto o = partialSizes[i] + j;
22 // flatten separatrices1 and separatricesGeometry1
23 separatrices[0][o].source_ = separatrices[i][j].source_;
24 separatrices[0][o].destination_ = separatrices[i][j].destination_;
25 separatrices[0][o].geometry_ = std::move(separatrices[i][j].geometry_);
26 }
27 }
28}
void setDebugMsgPrefix(const std::string &prefix)
Definition: Debug.h:364
void flattenSeparatricesVectors(std::vector< std::vector< Separatrix > > &separatrices) const
Flatten the vectors of vectors into their first component.