|
| MorseSmaleComplex () |
|
template<typename dataType , typename triangulationType > |
int | execute (OutputCriticalPoints &outCP, Output1Separatrices &outSeps1, Output2Separatrices &outSeps2, OutputManifold &outManifold, const dataType *const scalars, const size_t scalarsMTime, const SimplexId *const offsets, const triangulationType &triangulation) |
|
void | setComputeCriticalPoints (const bool state) |
|
void | setComputeSeparatrices1 (const bool doAscending, const bool doDescending, const bool doSaddleConnectors) |
|
void | setComputeSeparatrices2 (const bool doAscending, const bool doDescending) |
|
void | setComputeSegmentation (const bool doAscending, const bool doDescending, const bool doMorseSmale) |
|
void | setReturnSaddleConnectors (const bool state) |
|
void | setSaddleConnectorsPersistenceThreshold (const double threshold) |
|
void | preconditionTriangulation (AbstractTriangulation *const data) |
|
| 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) |
|
| BaseClass () |
|
virtual | ~BaseClass ()=default |
|
int | getThreadNumber () const |
|
virtual int | setThreadNumber (const int threadNumber) |
|
|
template<typename triangulationType > |
int | getDescendingSeparatrices1 (const std::vector< SimplexId > &saddles, std::vector< Separatrix > &separatrices, const triangulationType &triangulation) const |
|
template<typename triangulationType > |
int | getAscendingSeparatrices1 (const std::vector< SimplexId > &saddles, std::vector< Separatrix > &separatrices, const triangulationType &triangulation) const |
|
template<typename triangulationType > |
int | getSaddleConnectors (const std::vector< SimplexId > &saddles2, std::vector< Separatrix > &separatrices, const triangulationType &triangulation) const |
|
template<typename triangulationType > |
int | setSeparatrices1 (Output1Separatrices &outSeps1, const std::vector< Separatrix > &separatrices, const SimplexId *const offsets, const triangulationType &triangulation) const |
|
template<typename triangulationType > |
int | getDescendingSeparatrices2 (const std::vector< SimplexId > &saddles2, std::vector< Separatrix > &separatrices, std::vector< std::vector< SimplexId > > &separatricesSaddles, const triangulationType &triangulation) const |
|
template<typename triangulationType > |
int | setDescendingSeparatrices2 (Output2Separatrices &outSeps2, const std::vector< Separatrix > &separatrices, const std::vector< std::vector< SimplexId > > &separatricesSaddles, const SimplexId *const offsets, const triangulationType &triangulation) const |
|
template<typename triangulationType > |
int | getDualPolygon (const SimplexId edgeId, SimplexId *const polygon, const size_t polSize, const triangulationType &triangulation) const |
|
template<typename triangulationType > |
int | sortDualPolygonVertices (SimplexId *const polygon, const size_t polSize, const triangulationType &triangulation) const |
|
template<typename triangulationType > |
int | getAscendingSeparatrices2 (const std::vector< SimplexId > &saddles1, std::vector< Separatrix > &separatrices, std::vector< std::vector< SimplexId > > &separatricesSaddles, const triangulationType &triangulation) const |
|
template<typename triangulationType > |
int | setAscendingSeparatrices2 (Output2Separatrices &outSeps2, const std::vector< Separatrix > &separatrices, const std::vector< std::vector< SimplexId > > &separatricesSaddles, const SimplexId *const offsets, const triangulationType &triangulation) const |
|
void | flattenSeparatricesVectors (std::vector< std::vector< Separatrix > > &separatrices) const |
| Flatten the vectors of vectors into their first component.
|
|
template<typename triangulationType > |
int | setAscendingSegmentation (const std::vector< SimplexId > &maxima, SimplexId *const morseSmaleManifold, const triangulationType &triangulation) const |
|
template<typename triangulationType > |
int | setDescendingSegmentation (const std::vector< SimplexId > &minima, SimplexId *const morseSmaleManifold, const triangulationType &triangulation) const |
|
template<typename triangulationType > |
int | setFinalSegmentation (const SimplexId numberOfMaxima, const SimplexId *const ascendingManifold, const SimplexId *const descendingManifold, SimplexId *const morseSmaleManifold, const triangulationType &triangulation) const |
|
template<typename dataType , typename triangulationType > |
int | returnSaddleConnectors (const double persistenceThreshold, const dataType *const scalars, const SimplexId *const offsets, const triangulationType &triangulation) |
|
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) |
|
TTK processing package for the computation of Morse-Smale complexes.
- Author
- Guillaume Favelier guill.nosp@m.aume.nosp@m..fave.nosp@m.lier.nosp@m.@lip6.nosp@m..fr
-
Julien Tierny julie.nosp@m.n.ti.nosp@m.erny@.nosp@m.lip6.nosp@m..fr
- Date
- February 2017.
Related publications
"The Topology ToolKit"
Julien Tierny, Guillaume Favelier, Joshua Levine, Charles Gueunet, Michael Michaux
IEEE Transactions on Visualization and Computer Graphics (Proc. of IEEE VIS 2017)
"Parallel Computation of 3D Morse-Smale Complexes"
Nithin Shivashankar, Vijay Natarajan
Proc. of EuroVis 2012.
Computer Graphics Forum, 2012.
- See also
- ttk::Triangulation
-
ttkMorseSmaleComplex.cpp for a usage example.
Online examples:
Definition at line 90 of file MorseSmaleComplex.h.