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

TTK processing package for the computation of mandatory critical points in uncertain scalar data. More...

#include <MandatoryCriticalPoints.h>

Inheritance diagram for ttk::MandatoryCriticalPoints:
ttk::Debug ttk::BaseClass ttkMandatoryCriticalPoints

Public Types

enum class  PointType : unsigned char { Minimum = 0 , JoinSaddle = 1 , SplitSaddle = 2 , Maximum = 3 }
 
enum class  TreeType { JoinTree , SplitTree }
 

Public Member Functions

 MandatoryCriticalPoints ()
 
int buildJoinTreePlanarLayout ()
 
int buildSplitTreePlanarLayout ()
 
template<typename triangulationType >
int buildSubTrees (const triangulationType &triangulation)
 
template<class dataType , typename triangulationType >
int execute (const triangulationType &triangulation)
 
template<class dataType >
int fillVertexScalars (void *upperData, void *lowerData)
 
int findCommonAncestorNodeId (const SubLevelSetTree *tree, const int &vertexId0, const int &vertexId1) const
 
void flush ()
 
double getGlobalMaximum () const
 
double getGlobalMinimum () const
 
const GraphgetJoinTreeGraph ()
 
const std::vector< double > * getJoinTreeXLayout ()
 
const std::vector< double > * getJoinTreeYLayout ()
 
const GraphgetSplitTreeGraph ()
 
const std::vector< double > * getSplitTreeXLayout ()
 
const std::vector< double > * getSplitTreeYLayout ()
 
const std::vector< int > * getMdtJoinTreePointComponentId () const
 
const std::vector< int > * getMdtSplitTreePointComponentId () const
 
const std::vector< PointType > * getMdtJoinTreePointType () const
 
const std::vector< PointType > * getMdtSplitTreePointType () const
 
const std::vector< double > * getMdtJoinTreePointLowInterval () const
 
const std::vector< double > * getMdtSplitTreePointLowInterval () const
 
const std::vector< double > * getMdtJoinTreePointUpInterval () const
 
const std::vector< double > * getMdtSplitTreePointUpInterval () const
 
const std::vector< int > * getMdtJoinTreeEdgeSwitchable ()
 
const std::vector< int > * getMdtSplitTreeEdgeSwitchable ()
 
bool areSaddlesSwitchables (const TreeType treeType, const int &firstId, const int &secondId) const
 
template<typename triangulationType >
int computeAllJoinSaddle (const triangulationType &triangulation)
 
int computeAllMaxima ()
 
int computeAllMinima ()
 
template<typename triangulationType >
int computeAllSplitSaddle (const triangulationType &triangulation)
 
template<typename triangulationType >
int computeJoinSaddle (const int &id, const triangulationType &triangulation, const bool &reset=true)
 
int computeMaximum (const int &id, const bool &reset=true, const bool &ttkNotUsed(parallel)=true)
 
int computeMinimum (const int &id, const bool &reset=true, const bool &ttkNotUsed(parallel)=true)
 
template<typename triangulationType >
int computeSplitSaddle (const int &id, const triangulationType &triangulation, const bool &reset=true)
 
int setDebugLevel (const int &debugLevel) override
 
int setLowerBoundFieldPointer (void *data)
 
int setOutputJoinSaddleDataPointer (void *data)
 
int setOutputMaximumDataPointer (void *data)
 
int setOutputMinimumDataPointer (void *data)
 
int setOutputSplitSaddleDataPointer (void *data)
 
int setUpperBoundFieldPointer (void *data)
 
int setSimplificationThreshold (double normalizedThreshold)
 
int setSoSoffsets (int *offsets=nullptr)
 
void preconditionTriangulation (AbstractTriangulation *const triangulation)
 
int setVertexNumber (const int &vertexNumber)
 
int setVertexPosition (const int &i, const double point[3])
 
int simplifyJoinTree ()
 
int simplifySplitTree ()
 
- Public Member Functions inherited from ttk::Debug
 Debug ()
 
 ~Debug () override
 
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)
 

Protected Member Functions

int buildMandatoryTree (const TreeType treeType, Graph &mdtTree, std::vector< int > &mdtTreePointComponentId, std::vector< PointType > &mdtTreePointType, std::vector< double > &mdtTreePointLowInterval, std::vector< double > &mdtTreePointUpInterval, std::vector< int > &mdtTreeEdgeSwitchable, const std::vector< int > &mdtExtremumParentSaddle, const std::vector< int > &mdtSaddleParentSaddle, const std::vector< bool > &isExtremumSimplified, const std::vector< bool > &isSaddleSimplified, const std::vector< std::pair< double, double > > &extremumInterval, const std::vector< std::pair< int, int > > &mandatorySaddleVertices, const int extremaNumber, const int saddleNumber, const PointType extremumType, const PointType saddleType, const PointType otherExtremumType, const double globalOtherExtremumValue) const
 
int buildPairs (const TreeType treeType, const std::vector< std::pair< int, int > > &saddleList, const std::vector< std::vector< int > > &mergedExtrema, const std::vector< std::pair< double, double > > &extremumInterval, SubLevelSetTree &lowerTree, SubLevelSetTree &upperTree, std::vector< std::pair< std::pair< int, int >, double > > &extremaSaddlePair) const
 TODO : Replace SubLevelSetTrees by scalar fields for vertex value.
 
int computePlanarLayout (const TreeType &treeType, const Graph &mdtTree, const std::vector< PointType > &mdtTreePointType, const std::vector< double > &mdtTreePointLowInterval, const std::vector< double > &mdtTreePointUpInterval, std::vector< double > &xCoord, std::vector< double > &yCoord) const
 
int computeExtremumComponent (const PointType &pointType, const SubLevelSetTree &tree, const int seedVertexId, const std::vector< double > &vertexScalars, std::vector< int > &componentVertexList) const
 
template<typename triangulationType >
int computeSaddleComponent (const int componentId, const PointType &pointType, const std::vector< std::pair< int, int > > &mandatorySaddleVertex, const std::vector< double > &lowVertexScalars, const std::vector< double > &upVertexInterval, std::vector< int > &componentVertexList, const triangulationType &triangulation) const
 
int enumerateMandatoryExtrema (const PointType pointType, SubLevelSetTree &firstTree, SubLevelSetTree &secondTree, std::vector< int > &mandatoryExtremum, std::vector< std::pair< double, double > > &criticalInterval) const
 
int enumerateMandatorySaddles (const PointType pointType, SubLevelSetTree &lowerTree, SubLevelSetTree &upperTree, const std::vector< int > &mandatoryExtremumVertex, std::vector< std::pair< int, int > > &mandatorySaddleVertex, std::vector< std::vector< int > > &mandatoryMergedExtrema)
 TODO : Multiplicity.
 
int getSubTreeRootSuperArcId (const SubLevelSetTree *tree, const int &startingSuperArcId, const double &targetValue) const
 
void getSubTreeSuperArcIds (const SubLevelSetTree *tree, const int &rootSuperArcId, std::vector< int > &subTreeSuperArcId) const
 
int getVertexSuperArcId (const int &vertexId, const SubLevelSetTree *tree) const
 
int simplify (const double normalizedThreshold, const TreeType treeType, const std::vector< std::pair< std::pair< int, int >, double > > &extremaSaddlePair, const std::vector< std::vector< int > > &mergedExtrema, const int numberOfExtrema, std::vector< bool > &extremumSimplified, std::vector< bool > &saddleSimplified, std::vector< int > &extremumParentSaddle, std::vector< int > &saddleParentSaddle) 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

void * inputUpperBoundField_ {}
 Void pointer to the input upper bound scalar field.
 
void * inputLowerBoundField_ {}
 Void pointer to the input lower bound scalar field.
 
int * outputMandatoryMinimum_ {}
 Void pointer to the output mandatory minima components.
 
int * outputMandatoryJoinSaddle_ {}
 Void pointer to the output mandatory join saddles components.
 
int * outputMandatorySplitSaddle_ {}
 Void pointer to the output mandatory split saddles components.
 
int * outputMandatoryMaximum_ {}
 Void pointer to the output mandatory maxima components.
 
int vertexNumber_ {}
 Number of vertices.
 
std::vector< std::vector< double > > vertexPositions_ {}
 Position (x,y,z) of each vertex.
 
std::vector< int > vertexSoSoffsets_ {}
 Offsets.
 
std::vector< double > upperVertexScalars_ {}
 Copy of the input upper scalar field converted in double.
 
std::vector< double > lowerVertexScalars_ {}
 Copy of the input lower scalar field converted in double.
 
SubLevelSetTree upperJoinTree_ {}
 Join tree of the upper bound scalar field.
 
SubLevelSetTree lowerJoinTree_ {}
 Join tree of the lower bound scalar field.
 
SubLevelSetTree upperSplitTree_ {}
 Split tree of the upper bound scalar field.
 
SubLevelSetTree lowerSplitTree_ {}
 Split tree of the lower bound scalar field.
 
std::vector< int > upperMinimumList_ {}
 List of vertex id of the minima in the upper bound scalar field.
 
std::vector< int > lowerMinimumList_ {}
 List of vertex id of the minima in the lower bound scalar field.
 
std::vector< int > upperMaximumList_ {}
 List of vertex id of the maxima in the upper bound scalar field.
 
std::vector< int > lowerMaximumList_ {}
 List of vertex id of the maxima in the lower bound scalar field.
 
std::vector< int > mandatoryMinimumVertex_ {}
 Mandatory vertex for each minimum component.
 
std::vector< int > mandatoryMaximumVertex_ {}
 Mandatory vertex for each maximum component.
 
std::vector< std::pair< double, double > > mandatoryMinimumInterval_ {}
 Critical interval for each minimum component.
 
std::vector< std::pair< double, double > > mandatoryMaximumInterval_ {}
 Critical interval for each maximum component.
 
std::vector< std::pair< int, int > > mandatoryJoinSaddleVertex_ {}
 Pair of mandatory vertices for each join saddle component.
 
std::vector< std::pair< int, int > > mandatorySplitSaddleVertex_ {}
 Pair of mandatory vertices for each split saddle component.
 
std::vector< std::vector< int > > mergedMaximaId_ {}
 
std::vector< std::vector< int > > mergedMinimaId_ {}
 
std::vector< std::pair< std::pair< int, int >, double > > mdtMinJoinSaddlePair_ {}
 Pairs ( (M,S), d(M,S) ) Of minima and join saddles.
 
std::vector< std::pair< std::pair< int, int >, double > > mdtMaxSplitSaddlePair_ {}
 Pairs ( (M,S), d(M,S) ) Of maxima and split saddles.
 
double normalizedThreshold_ {0.0}
 Value of the simplification threshold.
 
std::vector< bool > isMdtMinimumSimplified_
 
std::vector< bool > isMdtJoinSaddleSimplified_ {}
 
std::vector< bool > isMdtSplitSaddleSimplified_ {}
 
std::vector< bool > isMdtMaximumSimplified_ {}
 
std::vector< int > mdtMinimumParentSaddleId_ {}
 
std::vector< int > mdtJoinSaddleParentSaddleId_ {}
 
std::vector< int > mdtSplitSaddleParentSaddleId_ {}
 
std::vector< int > mdtMaximumParentSaddleId_ {}
 
Graph mdtJoinTree_ {}
 
Graph mdtSplitTree_ {}
 
std::vector< int > mdtJoinTreePointComponentId_ {}
 
std::vector< int > mdtSplitTreePointComponentId_ {}
 
std::vector< PointTypemdtJoinTreePointType_ {}
 
std::vector< PointTypemdtSplitTreePointType_ {}
 
std::vector< double > mdtJoinTreePointLowInterval_ {}
 
std::vector< double > mdtSplitTreePointLowInterval_ {}
 
std::vector< double > mdtJoinTreePointUpInterval_ {}
 
std::vector< double > mdtSplitTreePointUpInterval_ {}
 
std::vector< int > mdtJoinTreeEdgeSwitchable_ {}
 
std::vector< int > mdtSplitTreeEdgeSwitchable_ {}
 
std::vector< double > mdtJoinTreePointXCoord_ {}
 
std::vector< double > mdtSplitTreePointXCoord_ {}
 
std::vector< double > mdtJoinTreePointYCoord_ {}
 
std::vector< double > mdtSplitTreePointYCoord_ {}
 
double globalMinimumValue_ {}
 
double globalMaximumValue_ {}
 
std::vector< std::vector< int > > mandatoryMaximumComponentVertices_ {}
 List of the vertices forming each of the mandatory maximum components.
 
std::vector< std::vector< int > > mandatoryMinimumComponentVertices_ {}
 
std::vector< std::vector< int > > mandatoryJoinSaddleComponentVertices_ {}
 
std::vector< std::vector< int > > mandatorySplitSaddleComponentVertices_ {}
 
- 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_
 

Additional Inherited Members

- Static Protected Attributes inherited from ttk::Debug
static COMMON_EXPORTS debug::LineMode lastLineMode = ttk::debug::LineMode::NEW
 

Detailed Description

TTK processing package for the computation of mandatory critical points in uncertain scalar data.

Author
Michael Michaux micha.nosp@m.uxmi.nosp@m.chael.nosp@m.89@g.nosp@m.mail..nosp@m.com
Julien Tierny julie.nosp@m.n.ti.nosp@m.erny@.nosp@m.lip6.nosp@m..fr
Date
August 2016.

This package computes the mandatory critical points of uncertain scalar fields defined on PL (nD) manifolds. The input uncertain data is represented by reliable bound fields for each vertex.

Warning
SimplexId (large large datasets). This class builds and runs with the new triangulation API (SimplexId) but may need adjustments when addressing more than integers (large datasets).

Related publication
"Mandatory Critical Points of 2D Uncertain Scalar Fields"
David Guenther, Joseph Salmon, Julien Tierny
Proc. of EuroVis 2014.
Computer Graphics Forum, 2014.

See also
ttkMandatoryCriticalPoints.cpp for a usage example.

Online examples:

Definition at line 147 of file MandatoryCriticalPoints.h.

Member Enumeration Documentation

◆ PointType

enum class ttk::MandatoryCriticalPoints::PointType : unsigned char
strong
Enumerator
Minimum 
JoinSaddle 
SplitSaddle 
Maximum 

Definition at line 150 of file MandatoryCriticalPoints.h.

◆ TreeType

Enumerator
JoinTree 
SplitTree 

Definition at line 157 of file MandatoryCriticalPoints.h.

Constructor & Destructor Documentation

◆ MandatoryCriticalPoints()

MandatoryCriticalPoints::MandatoryCriticalPoints ( )

Definition at line 5 of file MandatoryCriticalPoints.cpp.

Member Function Documentation

◆ areSaddlesSwitchables()

bool ttk::MandatoryCriticalPoints::areSaddlesSwitchables ( const TreeType  treeType,
const int &  firstId,
const int &  secondId 
) const
inline

Definition at line 277 of file MandatoryCriticalPoints.h.

◆ buildJoinTreePlanarLayout()

int ttk::MandatoryCriticalPoints::buildJoinTreePlanarLayout ( )
inline

Definition at line 161 of file MandatoryCriticalPoints.h.

◆ buildMandatoryTree()

int MandatoryCriticalPoints::buildMandatoryTree ( const TreeType  treeType,
Graph mdtTree,
std::vector< int > &  mdtTreePointComponentId,
std::vector< PointType > &  mdtTreePointType,
std::vector< double > &  mdtTreePointLowInterval,
std::vector< double > &  mdtTreePointUpInterval,
std::vector< int > &  mdtTreeEdgeSwitchable,
const std::vector< int > &  mdtExtremumParentSaddle,
const std::vector< int > &  mdtSaddleParentSaddle,
const std::vector< bool > &  isExtremumSimplified,
const std::vector< bool > &  isSaddleSimplified,
const std::vector< std::pair< double, double > > &  extremumInterval,
const std::vector< std::pair< int, int > > &  mandatorySaddleVertices,
const int  extremaNumber,
const int  saddleNumber,
const PointType  extremumType,
const PointType  saddleType,
const PointType  otherExtremumType,
const double  globalOtherExtremumValue 
) const
protected

Definition at line 72 of file MandatoryCriticalPoints.cpp.

◆ buildPairs()

int MandatoryCriticalPoints::buildPairs ( const TreeType  treeType,
const std::vector< std::pair< int, int > > &  saddleList,
const std::vector< std::vector< int > > &  mergedExtrema,
const std::vector< std::pair< double, double > > &  extremumInterval,
SubLevelSetTree lowerTree,
SubLevelSetTree upperTree,
std::vector< std::pair< std::pair< int, int >, double > > &  extremaSaddlePair 
) const
protected

TODO : Replace SubLevelSetTrees by scalar fields for vertex value.

Definition at line 263 of file MandatoryCriticalPoints.cpp.

◆ buildSplitTreePlanarLayout()

int ttk::MandatoryCriticalPoints::buildSplitTreePlanarLayout ( )
inline

Definition at line 168 of file MandatoryCriticalPoints.h.

◆ buildSubTrees()

template<typename triangulationType >
int ttk::MandatoryCriticalPoints::buildSubTrees ( const triangulationType &  triangulation)

Process the construction of the 4 trees :

Definition at line 975 of file MandatoryCriticalPoints.h.

◆ computeAllJoinSaddle()

template<typename triangulationType >
int ttk::MandatoryCriticalPoints::computeAllJoinSaddle ( const triangulationType &  triangulation)
inline

Definition at line 302 of file MandatoryCriticalPoints.h.

◆ computeAllMaxima()

int ttk::MandatoryCriticalPoints::computeAllMaxima ( )
inline

Definition at line 316 of file MandatoryCriticalPoints.h.

◆ computeAllMinima()

int ttk::MandatoryCriticalPoints::computeAllMinima ( )
inline

Definition at line 330 of file MandatoryCriticalPoints.h.

◆ computeAllSplitSaddle()

template<typename triangulationType >
int ttk::MandatoryCriticalPoints::computeAllSplitSaddle ( const triangulationType &  triangulation)
inline

Definition at line 345 of file MandatoryCriticalPoints.h.

◆ computeExtremumComponent()

int MandatoryCriticalPoints::computeExtremumComponent ( const PointType pointType,
const SubLevelSetTree tree,
const int  seedVertexId,
const std::vector< double > &  vertexScalars,
std::vector< int > &  componentVertexList 
) const
protected

Definition at line 480 of file MandatoryCriticalPoints.cpp.

◆ computeJoinSaddle()

template<typename triangulationType >
int ttk::MandatoryCriticalPoints::computeJoinSaddle ( const int &  id,
const triangulationType &  triangulation,
const bool &  reset = true 
)
inline

Definition at line 360 of file MandatoryCriticalPoints.h.

◆ computeMaximum()

int ttk::MandatoryCriticalPoints::computeMaximum ( const int &  id,
const bool &  reset = true,
const bool &  ttkNotUsedparallel = true 
)
inline

Definition at line 384 of file MandatoryCriticalPoints.h.

◆ computeMinimum()

int ttk::MandatoryCriticalPoints::computeMinimum ( const int &  id,
const bool &  reset = true,
const bool &  ttkNotUsedparallel = true 
)
inline

Definition at line 405 of file MandatoryCriticalPoints.h.

◆ computePlanarLayout()

int MandatoryCriticalPoints::computePlanarLayout ( const TreeType treeType,
const Graph mdtTree,
const std::vector< PointType > &  mdtTreePointType,
const std::vector< double > &  mdtTreePointLowInterval,
const std::vector< double > &  mdtTreePointUpInterval,
std::vector< double > &  xCoord,
std::vector< double > &  yCoord 
) const
protected

Definition at line 329 of file MandatoryCriticalPoints.cpp.

◆ computeSaddleComponent()

template<typename triangulationType >
int ttk::MandatoryCriticalPoints::computeSaddleComponent ( const int  componentId,
const PointType pointType,
const std::vector< std::pair< int, int > > &  mandatorySaddleVertex,
const std::vector< double > &  lowVertexScalars,
const std::vector< double > &  upVertexInterval,
std::vector< int > &  componentVertexList,
const triangulationType &  triangulation 
) const
protected

Definition at line 1093 of file MandatoryCriticalPoints.h.

◆ computeSplitSaddle()

template<typename triangulationType >
int ttk::MandatoryCriticalPoints::computeSplitSaddle ( const int &  id,
const triangulationType &  triangulation,
const bool &  reset = true 
)
inline

Definition at line 427 of file MandatoryCriticalPoints.h.

◆ enumerateMandatoryExtrema()

int MandatoryCriticalPoints::enumerateMandatoryExtrema ( const PointType  pointType,
SubLevelSetTree firstTree,
SubLevelSetTree secondTree,
std::vector< int > &  mandatoryExtremum,
std::vector< std::pair< double, double > > &  criticalInterval 
) const
protected

Definition at line 538 of file MandatoryCriticalPoints.cpp.

◆ enumerateMandatorySaddles()

int MandatoryCriticalPoints::enumerateMandatorySaddles ( const PointType  pointType,
SubLevelSetTree lowerTree,
SubLevelSetTree upperTree,
const std::vector< int > &  mandatoryExtremumVertex,
std::vector< std::pair< int, int > > &  mandatorySaddleVertex,
std::vector< std::vector< int > > &  mandatoryMergedExtrema 
)
protected

TODO : Multiplicity.

Definition at line 718 of file MandatoryCriticalPoints.cpp.

◆ execute()

template<class dataType , typename triangulationType >
int ttk::MandatoryCriticalPoints::execute ( const triangulationType &  triangulation)

Execute the package.

Returns
Returns 0 upon success, negative values otherwise.

Definition at line 840 of file MandatoryCriticalPoints.h.

◆ fillVertexScalars()

template<class dataType >
int ttk::MandatoryCriticalPoints::fillVertexScalars ( void *  upperData,
void *  lowerData 
)
inline

Definition at line 192 of file MandatoryCriticalPoints.h.

◆ findCommonAncestorNodeId()

int MandatoryCriticalPoints::findCommonAncestorNodeId ( const SubLevelSetTree tree,
const int &  vertexId0,
const int &  vertexId1 
) const

Definition at line 1334 of file MandatoryCriticalPoints.cpp.

◆ flush()

void MandatoryCriticalPoints::flush ( )

Definition at line 13 of file MandatoryCriticalPoints.cpp.

◆ getGlobalMaximum()

double ttk::MandatoryCriticalPoints::getGlobalMaximum ( ) const
inline

Definition at line 215 of file MandatoryCriticalPoints.h.

◆ getGlobalMinimum()

double ttk::MandatoryCriticalPoints::getGlobalMinimum ( ) const
inline

Definition at line 218 of file MandatoryCriticalPoints.h.

◆ getJoinTreeGraph()

const Graph * ttk::MandatoryCriticalPoints::getJoinTreeGraph ( )
inline

Definition at line 222 of file MandatoryCriticalPoints.h.

◆ getJoinTreeXLayout()

const std::vector< double > * ttk::MandatoryCriticalPoints::getJoinTreeXLayout ( )
inline

Definition at line 226 of file MandatoryCriticalPoints.h.

◆ getJoinTreeYLayout()

const std::vector< double > * ttk::MandatoryCriticalPoints::getJoinTreeYLayout ( )
inline

Definition at line 230 of file MandatoryCriticalPoints.h.

◆ getMdtJoinTreeEdgeSwitchable()

const std::vector< int > * ttk::MandatoryCriticalPoints::getMdtJoinTreeEdgeSwitchable ( )
inline

Definition at line 270 of file MandatoryCriticalPoints.h.

◆ getMdtJoinTreePointComponentId()

const std::vector< int > * ttk::MandatoryCriticalPoints::getMdtJoinTreePointComponentId ( ) const
inline

Definition at line 246 of file MandatoryCriticalPoints.h.

◆ getMdtJoinTreePointLowInterval()

const std::vector< double > * ttk::MandatoryCriticalPoints::getMdtJoinTreePointLowInterval ( ) const
inline

Definition at line 258 of file MandatoryCriticalPoints.h.

◆ getMdtJoinTreePointType()

const std::vector< PointType > * ttk::MandatoryCriticalPoints::getMdtJoinTreePointType ( ) const
inline

Definition at line 252 of file MandatoryCriticalPoints.h.

◆ getMdtJoinTreePointUpInterval()

const std::vector< double > * ttk::MandatoryCriticalPoints::getMdtJoinTreePointUpInterval ( ) const
inline

Definition at line 264 of file MandatoryCriticalPoints.h.

◆ getMdtSplitTreeEdgeSwitchable()

const std::vector< int > * ttk::MandatoryCriticalPoints::getMdtSplitTreeEdgeSwitchable ( )
inline

Definition at line 273 of file MandatoryCriticalPoints.h.

◆ getMdtSplitTreePointComponentId()

const std::vector< int > * ttk::MandatoryCriticalPoints::getMdtSplitTreePointComponentId ( ) const
inline

Definition at line 249 of file MandatoryCriticalPoints.h.

◆ getMdtSplitTreePointLowInterval()

const std::vector< double > * ttk::MandatoryCriticalPoints::getMdtSplitTreePointLowInterval ( ) const
inline

Definition at line 261 of file MandatoryCriticalPoints.h.

◆ getMdtSplitTreePointType()

const std::vector< PointType > * ttk::MandatoryCriticalPoints::getMdtSplitTreePointType ( ) const
inline

Definition at line 255 of file MandatoryCriticalPoints.h.

◆ getMdtSplitTreePointUpInterval()

const std::vector< double > * ttk::MandatoryCriticalPoints::getMdtSplitTreePointUpInterval ( ) const
inline

Definition at line 267 of file MandatoryCriticalPoints.h.

◆ getSplitTreeGraph()

const Graph * ttk::MandatoryCriticalPoints::getSplitTreeGraph ( )
inline

Definition at line 234 of file MandatoryCriticalPoints.h.

◆ getSplitTreeXLayout()

const std::vector< double > * ttk::MandatoryCriticalPoints::getSplitTreeXLayout ( )
inline

Definition at line 238 of file MandatoryCriticalPoints.h.

◆ getSplitTreeYLayout()

const std::vector< double > * ttk::MandatoryCriticalPoints::getSplitTreeYLayout ( )
inline

Definition at line 242 of file MandatoryCriticalPoints.h.

◆ getSubTreeRootSuperArcId()

int MandatoryCriticalPoints::getSubTreeRootSuperArcId ( const SubLevelSetTree tree,
const int &  startingSuperArcId,
const double &  targetValue 
) const
protected

Definition at line 1303 of file MandatoryCriticalPoints.cpp.

◆ getSubTreeSuperArcIds()

void MandatoryCriticalPoints::getSubTreeSuperArcIds ( const SubLevelSetTree tree,
const int &  rootSuperArcId,
std::vector< int > &  subTreeSuperArcId 
) const
protected

Definition at line 1356 of file MandatoryCriticalPoints.cpp.

◆ getVertexSuperArcId()

int ttk::MandatoryCriticalPoints::getVertexSuperArcId ( const int &  vertexId,
const SubLevelSetTree tree 
) const
inlineprotected

Definition at line 687 of file MandatoryCriticalPoints.h.

◆ preconditionTriangulation()

void ttk::MandatoryCriticalPoints::preconditionTriangulation ( AbstractTriangulation *const  triangulation)
inline

Definition at line 524 of file MandatoryCriticalPoints.h.

◆ setDebugLevel()

int ttk::MandatoryCriticalPoints::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 452 of file MandatoryCriticalPoints.h.

◆ setLowerBoundFieldPointer()

int ttk::MandatoryCriticalPoints::setLowerBoundFieldPointer ( void *  data)
inline

Definition at line 461 of file MandatoryCriticalPoints.h.

◆ setOutputJoinSaddleDataPointer()

int ttk::MandatoryCriticalPoints::setOutputJoinSaddleDataPointer ( void *  data)
inline

Definition at line 466 of file MandatoryCriticalPoints.h.

◆ setOutputMaximumDataPointer()

int ttk::MandatoryCriticalPoints::setOutputMaximumDataPointer ( void *  data)
inline

Pass a pointer to an output array representing a scalar field. The scalars are the ids of the mandatory maximum components. The array is expected to be correctly allocated.

Parameters
dataPointer to the data array.
Returns
Returns 0 upon success, negative values otherwise.
See also
setVertexNumber()

Definition at line 477 of file MandatoryCriticalPoints.h.

◆ setOutputMinimumDataPointer()

int ttk::MandatoryCriticalPoints::setOutputMinimumDataPointer ( void *  data)
inline

Pass a pointer to an output array representing a scalar field. The scalars are the ids of the mandatory minimum components. The array is expected to be correctly allocated.

Parameters
dataPointer to the data array.
Returns
Returns 0 upon success, negative values otherwise.
See also
setVertexNumber().

Definition at line 488 of file MandatoryCriticalPoints.h.

◆ setOutputSplitSaddleDataPointer()

int ttk::MandatoryCriticalPoints::setOutputSplitSaddleDataPointer ( void *  data)
inline

Definition at line 493 of file MandatoryCriticalPoints.h.

◆ setSimplificationThreshold()

int ttk::MandatoryCriticalPoints::setSimplificationThreshold ( double  normalizedThreshold)
inline

Definition at line 503 of file MandatoryCriticalPoints.h.

◆ setSoSoffsets()

int ttk::MandatoryCriticalPoints::setSoSoffsets ( int *  offsets = nullptr)
inline

Definition at line 508 of file MandatoryCriticalPoints.h.

◆ setUpperBoundFieldPointer()

int ttk::MandatoryCriticalPoints::setUpperBoundFieldPointer ( void *  data)
inline

Definition at line 498 of file MandatoryCriticalPoints.h.

◆ setVertexNumber()

int ttk::MandatoryCriticalPoints::setVertexNumber ( const int &  vertexNumber)
inline

Set the number of vertices in the scalar field.

Parameters
vertexNumberNumber of vertices in the data-set.
Returns
Returns 0 upon success, negative values otherwise.

Definition at line 533 of file MandatoryCriticalPoints.h.

◆ setVertexPosition()

int ttk::MandatoryCriticalPoints::setVertexPosition ( const int &  i,
const double  point[3] 
)
inline

Set the position (x,y,z) of the i-th point

Parameters
iIndex of the vertex
pointPosition (x,y,z) (buffer of 3 doubles)
Returns
Returns 0 upon success, negative values otherwise.

Definition at line 542 of file MandatoryCriticalPoints.h.

◆ simplify()

int MandatoryCriticalPoints::simplify ( const double  normalizedThreshold,
const TreeType  treeType,
const std::vector< std::pair< std::pair< int, int >, double > > &  extremaSaddlePair,
const std::vector< std::vector< int > > &  mergedExtrema,
const int  numberOfExtrema,
std::vector< bool > &  extremumSimplified,
std::vector< bool > &  saddleSimplified,
std::vector< int > &  extremumParentSaddle,
std::vector< int > &  saddleParentSaddle 
) const
protected

Definition at line 1379 of file MandatoryCriticalPoints.cpp.

◆ simplifyJoinTree()

int ttk::MandatoryCriticalPoints::simplifyJoinTree ( )
inline

Definition at line 556 of file MandatoryCriticalPoints.h.

◆ simplifySplitTree()

int ttk::MandatoryCriticalPoints::simplifySplitTree ( )
inline

Definition at line 581 of file MandatoryCriticalPoints.h.

Member Data Documentation

◆ globalMaximumValue_

double ttk::MandatoryCriticalPoints::globalMaximumValue_ {}
protected

Definition at line 819 of file MandatoryCriticalPoints.h.

◆ globalMinimumValue_

double ttk::MandatoryCriticalPoints::globalMinimumValue_ {}
protected

Definition at line 818 of file MandatoryCriticalPoints.h.

◆ inputLowerBoundField_

void* ttk::MandatoryCriticalPoints::inputLowerBoundField_ {}
protected

Void pointer to the input lower bound scalar field.

Definition at line 718 of file MandatoryCriticalPoints.h.

◆ inputUpperBoundField_

void* ttk::MandatoryCriticalPoints::inputUpperBoundField_ {}
protected

Void pointer to the input upper bound scalar field.

Definition at line 716 of file MandatoryCriticalPoints.h.

◆ isMdtJoinSaddleSimplified_

std::vector<bool> ttk::MandatoryCriticalPoints::isMdtJoinSaddleSimplified_ {}
protected

Flags indicating if the mandatory join saddle component have been simplified.

Definition at line 783 of file MandatoryCriticalPoints.h.

◆ isMdtMaximumSimplified_

std::vector<bool> ttk::MandatoryCriticalPoints::isMdtMaximumSimplified_ {}
protected

Flags indicating if the mandatory maximum component have been simplified.

Definition at line 789 of file MandatoryCriticalPoints.h.

◆ isMdtMinimumSimplified_

std::vector<bool> ttk::MandatoryCriticalPoints::isMdtMinimumSimplified_
protected

Flags indicating if the mandatory minimum component have been simplified.

Definition at line 780 of file MandatoryCriticalPoints.h.

◆ isMdtSplitSaddleSimplified_

std::vector<bool> ttk::MandatoryCriticalPoints::isMdtSplitSaddleSimplified_ {}
protected

Flags indicating if the mandatory split saddle component have been simplified.

Definition at line 786 of file MandatoryCriticalPoints.h.

◆ lowerJoinTree_

SubLevelSetTree ttk::MandatoryCriticalPoints::lowerJoinTree_ {}
protected

Join tree of the lower bound scalar field.

Definition at line 740 of file MandatoryCriticalPoints.h.

◆ lowerMaximumList_

std::vector<int> ttk::MandatoryCriticalPoints::lowerMaximumList_ {}
protected

List of vertex id of the maxima in the lower bound scalar field.

Definition at line 752 of file MandatoryCriticalPoints.h.

◆ lowerMinimumList_

std::vector<int> ttk::MandatoryCriticalPoints::lowerMinimumList_ {}
protected

List of vertex id of the minima in the lower bound scalar field.

Definition at line 748 of file MandatoryCriticalPoints.h.

◆ lowerSplitTree_

SubLevelSetTree ttk::MandatoryCriticalPoints::lowerSplitTree_ {}
protected

Split tree of the lower bound scalar field.

Definition at line 744 of file MandatoryCriticalPoints.h.

◆ lowerVertexScalars_

std::vector<double> ttk::MandatoryCriticalPoints::lowerVertexScalars_ {}
protected

Copy of the input lower scalar field converted in double.

Definition at line 736 of file MandatoryCriticalPoints.h.

◆ mandatoryJoinSaddleComponentVertices_

std::vector<std::vector<int> > ttk::MandatoryCriticalPoints::mandatoryJoinSaddleComponentVertices_ {}
protected

List of the vertices forming each of the mandatory join saddle components.

Definition at line 828 of file MandatoryCriticalPoints.h.

◆ mandatoryJoinSaddleVertex_

std::vector<std::pair<int, int> > ttk::MandatoryCriticalPoints::mandatoryJoinSaddleVertex_ {}
protected

Pair of mandatory vertices for each join saddle component.

Definition at line 762 of file MandatoryCriticalPoints.h.

◆ mandatoryMaximumComponentVertices_

std::vector<std::vector<int> > ttk::MandatoryCriticalPoints::mandatoryMaximumComponentVertices_ {}
protected

List of the vertices forming each of the mandatory maximum components.

Definition at line 822 of file MandatoryCriticalPoints.h.

◆ mandatoryMaximumInterval_

std::vector<std::pair<double, double> > ttk::MandatoryCriticalPoints::mandatoryMaximumInterval_ {}
protected

Critical interval for each maximum component.

Definition at line 760 of file MandatoryCriticalPoints.h.

◆ mandatoryMaximumVertex_

std::vector<int> ttk::MandatoryCriticalPoints::mandatoryMaximumVertex_ {}
protected

Mandatory vertex for each maximum component.

Definition at line 756 of file MandatoryCriticalPoints.h.

◆ mandatoryMinimumComponentVertices_

std::vector<std::vector<int> > ttk::MandatoryCriticalPoints::mandatoryMinimumComponentVertices_ {}
protected

List of the vertices forming each of the mandatory split saddle components.

Definition at line 825 of file MandatoryCriticalPoints.h.

◆ mandatoryMinimumInterval_

std::vector<std::pair<double, double> > ttk::MandatoryCriticalPoints::mandatoryMinimumInterval_ {}
protected

Critical interval for each minimum component.

Definition at line 758 of file MandatoryCriticalPoints.h.

◆ mandatoryMinimumVertex_

std::vector<int> ttk::MandatoryCriticalPoints::mandatoryMinimumVertex_ {}
protected

Mandatory vertex for each minimum component.

Definition at line 754 of file MandatoryCriticalPoints.h.

◆ mandatorySplitSaddleComponentVertices_

std::vector<std::vector<int> > ttk::MandatoryCriticalPoints::mandatorySplitSaddleComponentVertices_ {}
protected

List of the vertices forming each of the mandatory split saddle components.

Definition at line 831 of file MandatoryCriticalPoints.h.

◆ mandatorySplitSaddleVertex_

std::vector<std::pair<int, int> > ttk::MandatoryCriticalPoints::mandatorySplitSaddleVertex_ {}
protected

Pair of mandatory vertices for each split saddle component.

Definition at line 764 of file MandatoryCriticalPoints.h.

◆ mdtJoinSaddleParentSaddleId_

std::vector<int> ttk::MandatoryCriticalPoints::mdtJoinSaddleParentSaddleId_ {}
protected

Definition at line 793 of file MandatoryCriticalPoints.h.

◆ mdtJoinTree_

Graph ttk::MandatoryCriticalPoints::mdtJoinTree_ {}
protected

Definition at line 797 of file MandatoryCriticalPoints.h.

◆ mdtJoinTreeEdgeSwitchable_

std::vector<int> ttk::MandatoryCriticalPoints::mdtJoinTreeEdgeSwitchable_ {}
protected

Definition at line 809 of file MandatoryCriticalPoints.h.

◆ mdtJoinTreePointComponentId_

std::vector<int> ttk::MandatoryCriticalPoints::mdtJoinTreePointComponentId_ {}
protected

Definition at line 800 of file MandatoryCriticalPoints.h.

◆ mdtJoinTreePointLowInterval_

std::vector<double> ttk::MandatoryCriticalPoints::mdtJoinTreePointLowInterval_ {}
protected

Definition at line 804 of file MandatoryCriticalPoints.h.

◆ mdtJoinTreePointType_

std::vector<PointType> ttk::MandatoryCriticalPoints::mdtJoinTreePointType_ {}
protected

Definition at line 802 of file MandatoryCriticalPoints.h.

◆ mdtJoinTreePointUpInterval_

std::vector<double> ttk::MandatoryCriticalPoints::mdtJoinTreePointUpInterval_ {}
protected

Definition at line 806 of file MandatoryCriticalPoints.h.

◆ mdtJoinTreePointXCoord_

std::vector<double> ttk::MandatoryCriticalPoints::mdtJoinTreePointXCoord_ {}
protected

Definition at line 812 of file MandatoryCriticalPoints.h.

◆ mdtJoinTreePointYCoord_

std::vector<double> ttk::MandatoryCriticalPoints::mdtJoinTreePointYCoord_ {}
protected

Definition at line 815 of file MandatoryCriticalPoints.h.

◆ mdtMaximumParentSaddleId_

std::vector<int> ttk::MandatoryCriticalPoints::mdtMaximumParentSaddleId_ {}
protected

Definition at line 795 of file MandatoryCriticalPoints.h.

◆ mdtMaxSplitSaddlePair_

std::vector<std::pair<std::pair<int, int>, double> > ttk::MandatoryCriticalPoints::mdtMaxSplitSaddlePair_ {}
protected

Pairs ( (M,S), d(M,S) ) Of maxima and split saddles.

Definition at line 775 of file MandatoryCriticalPoints.h.

◆ mdtMinimumParentSaddleId_

std::vector<int> ttk::MandatoryCriticalPoints::mdtMinimumParentSaddleId_ {}
protected

Definition at line 792 of file MandatoryCriticalPoints.h.

◆ mdtMinJoinSaddlePair_

std::vector<std::pair<std::pair<int, int>, double> > ttk::MandatoryCriticalPoints::mdtMinJoinSaddlePair_ {}
protected

Pairs ( (M,S), d(M,S) ) Of minima and join saddles.

Definition at line 772 of file MandatoryCriticalPoints.h.

◆ mdtSplitSaddleParentSaddleId_

std::vector<int> ttk::MandatoryCriticalPoints::mdtSplitSaddleParentSaddleId_ {}
protected

Definition at line 794 of file MandatoryCriticalPoints.h.

◆ mdtSplitTree_

Graph ttk::MandatoryCriticalPoints::mdtSplitTree_ {}
protected

Definition at line 798 of file MandatoryCriticalPoints.h.

◆ mdtSplitTreeEdgeSwitchable_

std::vector<int> ttk::MandatoryCriticalPoints::mdtSplitTreeEdgeSwitchable_ {}
protected

Definition at line 810 of file MandatoryCriticalPoints.h.

◆ mdtSplitTreePointComponentId_

std::vector<int> ttk::MandatoryCriticalPoints::mdtSplitTreePointComponentId_ {}
protected

Definition at line 801 of file MandatoryCriticalPoints.h.

◆ mdtSplitTreePointLowInterval_

std::vector<double> ttk::MandatoryCriticalPoints::mdtSplitTreePointLowInterval_ {}
protected

Definition at line 805 of file MandatoryCriticalPoints.h.

◆ mdtSplitTreePointType_

std::vector<PointType> ttk::MandatoryCriticalPoints::mdtSplitTreePointType_ {}
protected

Definition at line 803 of file MandatoryCriticalPoints.h.

◆ mdtSplitTreePointUpInterval_

std::vector<double> ttk::MandatoryCriticalPoints::mdtSplitTreePointUpInterval_ {}
protected

Definition at line 807 of file MandatoryCriticalPoints.h.

◆ mdtSplitTreePointXCoord_

std::vector<double> ttk::MandatoryCriticalPoints::mdtSplitTreePointXCoord_ {}
protected

Definition at line 813 of file MandatoryCriticalPoints.h.

◆ mdtSplitTreePointYCoord_

std::vector<double> ttk::MandatoryCriticalPoints::mdtSplitTreePointYCoord_ {}
protected

Definition at line 816 of file MandatoryCriticalPoints.h.

◆ mergedMaximaId_

std::vector<std::vector<int> > ttk::MandatoryCriticalPoints::mergedMaximaId_ {}
protected

List of ids of the mandatory minima merged for each mandatory join saddle.

Definition at line 767 of file MandatoryCriticalPoints.h.

◆ mergedMinimaId_

std::vector<std::vector<int> > ttk::MandatoryCriticalPoints::mergedMinimaId_ {}
protected

List of ids of the mandatory maxima merged for each mandatory split saddle.

Definition at line 770 of file MandatoryCriticalPoints.h.

◆ normalizedThreshold_

double ttk::MandatoryCriticalPoints::normalizedThreshold_ {0.0}
protected

Value of the simplification threshold.

Definition at line 777 of file MandatoryCriticalPoints.h.

◆ outputMandatoryJoinSaddle_

int* ttk::MandatoryCriticalPoints::outputMandatoryJoinSaddle_ {}
protected

Void pointer to the output mandatory join saddles components.

Definition at line 722 of file MandatoryCriticalPoints.h.

◆ outputMandatoryMaximum_

int* ttk::MandatoryCriticalPoints::outputMandatoryMaximum_ {}
protected

Void pointer to the output mandatory maxima components.

Definition at line 726 of file MandatoryCriticalPoints.h.

◆ outputMandatoryMinimum_

int* ttk::MandatoryCriticalPoints::outputMandatoryMinimum_ {}
protected

Void pointer to the output mandatory minima components.

Definition at line 720 of file MandatoryCriticalPoints.h.

◆ outputMandatorySplitSaddle_

int* ttk::MandatoryCriticalPoints::outputMandatorySplitSaddle_ {}
protected

Void pointer to the output mandatory split saddles components.

Definition at line 724 of file MandatoryCriticalPoints.h.

◆ upperJoinTree_

SubLevelSetTree ttk::MandatoryCriticalPoints::upperJoinTree_ {}
protected

Join tree of the upper bound scalar field.

Definition at line 738 of file MandatoryCriticalPoints.h.

◆ upperMaximumList_

std::vector<int> ttk::MandatoryCriticalPoints::upperMaximumList_ {}
protected

List of vertex id of the maxima in the upper bound scalar field.

Definition at line 750 of file MandatoryCriticalPoints.h.

◆ upperMinimumList_

std::vector<int> ttk::MandatoryCriticalPoints::upperMinimumList_ {}
protected

List of vertex id of the minima in the upper bound scalar field.

Definition at line 746 of file MandatoryCriticalPoints.h.

◆ upperSplitTree_

SubLevelSetTree ttk::MandatoryCriticalPoints::upperSplitTree_ {}
protected

Split tree of the upper bound scalar field.

Definition at line 742 of file MandatoryCriticalPoints.h.

◆ upperVertexScalars_

std::vector<double> ttk::MandatoryCriticalPoints::upperVertexScalars_ {}
protected

Copy of the input upper scalar field converted in double.

Definition at line 734 of file MandatoryCriticalPoints.h.

◆ vertexNumber_

int ttk::MandatoryCriticalPoints::vertexNumber_ {}
protected

Number of vertices.

Definition at line 728 of file MandatoryCriticalPoints.h.

◆ vertexPositions_

std::vector<std::vector<double> > ttk::MandatoryCriticalPoints::vertexPositions_ {}
protected

Position (x,y,z) of each vertex.

Definition at line 730 of file MandatoryCriticalPoints.h.

◆ vertexSoSoffsets_

std::vector<int> ttk::MandatoryCriticalPoints::vertexSoSoffsets_ {}
protected

Offsets.

Definition at line 732 of file MandatoryCriticalPoints.h.


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