TTK
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
ttk::ftr::FTRGraph< ScalarType, triangulationType > Class Template Reference

TTK FTRGraph processing package. More...

#include <FTRGraph.h>

Inheritance diagram for ttk::ftr::FTRGraph< ScalarType, triangulationType >:
ttk::ftr::Allocable ttk::Debug ttk::BaseClass

Public Member Functions

 FTRGraph (triangulationType *mesh)
 
 FTRGraph ()
 
void build ()
 
int preconditionTriangulation (triangulationType *triangulation)
 
Graph && extractOutputGraph ()
 
int setThreadNumber (const int nb) override
 
int setDebugLevel (const int &lvl) override
 Control the verbosity of the base code.
 
void setParams (const Params &p)
 
void setScalars (const void *scalars)
 Scalar field used to compute the Reeb Graph.
 
void setVertexSoSoffsets (SimplexId *sos)
 
DynamicGraph< idVertex > & dynGraph (const Propagation *const lp)
 
DynamicGraph< idVertex > & dynGraph (const bool goUp)
 
DynamicGraph< idVertex > & dynGraphOpposite (const Propagation *const lp)
 
- Public Member Functions inherited from ttk::ftr::Allocable
void setNumberOfElmt (const idVertex nbVerts)
 
template<typename type >
void fillVector (std::vector< type > &vect, const type &elmt)
 
virtual void alloc ()=0
 
virtual void init ()=0
 
- Public Member Functions inherited from ttk::Debug
 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)
 
- Public Member Functions inherited from ttk::BaseClass
 BaseClass ()
 
virtual ~BaseClass ()=default
 
int getThreadNumber () const
 
virtual int setThreadNumber (const int threadNumber)
 
virtual int setWrapper (const Wrapper *wrapper)
 

Protected Member Functions

void criticalSearch ()
 
void sweepFrowSeeds ()
 
void sweepSequential ()
 
std::string printMesh () const
 
std::string printEdge (const idEdge edgeId, const Propagation *const localProp) const
 
std::string printTriangle (const idCell cellId, const Propagation *const localProp) const
 
void printGraph (const int verbosity) const
 
void printTime (Timer &timer, const std::string &msg) const
 
void alloc () override
 
void init () override
 
- 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)
 

Additional Inherited Members

- Protected Attributes inherited from ttk::ftr::Allocable
idVertex nbElmt_ = nullVertex
 Allocation may depends on the number of vertices.
 
- 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_
 
- Static Protected Attributes inherited from ttk::Debug
static COMMON_EXPORTS debug::LineMode lastLineMode = ttk::debug::LineMode::NEW
 

Detailed Description

template<typename ScalarType, typename triangulationType>
class ttk::ftr::FTRGraph< ScalarType, triangulationType >

TTK FTRGraph processing package.

Author
charles gueunet charl.nosp@m.es.g.nosp@m.ueune.nosp@m.t+tt.nosp@m.k@gma.nosp@m.il.c.nosp@m.om
Date
2018-01-15

FTRGraph is a TTK processing package that takes a scalar field on the input and produces a scalar field on the output.

See also
ttk::Triangulation
vtkFTRGraph.cpp for a usage example.

Related publication
"Task-based Augmented Reeb Graphs with Dynamic ST-Trees"
Charles Gueunet, Pierre Fortin, Julien Jomier, Julien Tierny
EGPGV19: Eurographics Symposium on Parallel Graphics and Visualization

Online examples:

Definition at line 77 of file FTRGraph.h.

Constructor & Destructor Documentation

◆ FTRGraph() [1/2]

template<typename ScalarType , typename triangulationType >
ttk::ftr::FTRGraph< ScalarType, triangulationType >::FTRGraph ( triangulationType *  mesh)
explicit

Definition at line 32 of file FTRGraph_Template.h.

◆ FTRGraph() [2/2]

template<typename ScalarType , typename triangulationType >
ttk::ftr::FTRGraph< ScalarType, triangulationType >::FTRGraph

Definition at line 27 of file FTRGraph_Template.h.

Member Function Documentation

◆ alloc()

template<typename ScalarType , typename triangulationType >
void ttk::ftr::FTRGraph< ScalarType, triangulationType >::alloc
overrideprotectedvirtual

Implements ttk::ftr::Allocable.

Definition at line 283 of file FTRGraph_Template.h.

◆ build()

template<typename ScalarType , typename triangulationType >
void ttk::ftr::FTRGraph< ScalarType, triangulationType >::build

build the Reeb Graph

Precondition
If this TTK package uses ttk::Triangulation for fast mesh traversals, the function preconditionTriangulation() must be called on this object prior to this function, in a clearly distinct pre-processing steps. An error will be returned otherwise.
Note
In such a case, it is recommended to exclude preconditionTriangulation() from any time performance measurement.

Definition at line 38 of file FTRGraph_Template.h.

◆ criticalSearch()

template<typename ScalarType , typename triangulationType >
void ttk::ftr::FTRGraph< ScalarType, triangulationType >::criticalSearch
protected

Definition at line 188 of file FTRGraph_Template.h.

◆ dynGraph() [1/2]

template<typename ScalarType , typename triangulationType >
DynamicGraph< idVertex > & ttk::ftr::FTRGraph< ScalarType, triangulationType >::dynGraph ( const bool  goUp)
inline

Definition at line 210 of file FTRGraph.h.

◆ dynGraph() [2/2]

template<typename ScalarType , typename triangulationType >
DynamicGraph< idVertex > & ttk::ftr::FTRGraph< ScalarType, triangulationType >::dynGraph ( const Propagation *const  lp)
inline

Definition at line 202 of file FTRGraph.h.

◆ dynGraphOpposite()

template<typename ScalarType , typename triangulationType >
DynamicGraph< idVertex > & ttk::ftr::FTRGraph< ScalarType, triangulationType >::dynGraphOpposite ( const Propagation *const  lp)
inline

Definition at line 218 of file FTRGraph.h.

◆ extractOutputGraph()

template<typename ScalarType , typename triangulationType >
Graph && ttk::ftr::FTRGraph< ScalarType, triangulationType >::extractOutputGraph ( )
inline

Definition at line 160 of file FTRGraph.h.

◆ init()

template<typename ScalarType , typename triangulationType >
void ttk::ftr::FTRGraph< ScalarType, triangulationType >::init
overrideprotectedvirtual

Implements ttk::ftr::Allocable.

Definition at line 311 of file FTRGraph_Template.h.

◆ preconditionTriangulation()

template<typename ScalarType , typename triangulationType >
int ttk::ftr::FTRGraph< ScalarType, triangulationType >::preconditionTriangulation ( triangulationType *  triangulation)
inline

Setup a (valid) triangulation object for this TTK base object.

Precondition
This function should be called prior to any usage of this TTK object, in a clearly distinct pre-processing step that involves no traversal or computation at all. An error will be returned otherwise.
Note
It is recommended to exclude this pre-processing function from any time performance measurement. Therefore, it is recommended to call this function ONLY in the pre-processing steps of your program. Note however, that your triangulation object must be valid when calling this function (i.e. you should have filled it at this point, see the setInput*() functions of ttk::Triangulation). See vtkFTRGraph for further examples.
Parameters
triangulationPointer to a valid triangulation.
Returns
Returns 0 upon success, negative values otherwise.
See also
ttk::Triangulation

Definition at line 148 of file FTRGraph.h.

◆ printEdge()

template<typename ScalarType , typename triangulationType >
std::string ttk::ftr::FTRGraph< ScalarType, triangulationType >::printEdge ( const idEdge  edgeId,
const Propagation *const  localProp 
) const
protected

Definition at line 21 of file FTRGraphPrint_Template.h.

◆ printGraph()

template<typename ScalarType , typename triangulationType >
void ttk::ftr::FTRGraph< ScalarType, triangulationType >::printGraph ( const int  verbosity) const
protected

Definition at line 58 of file FTRGraphPrint_Template.h.

◆ printMesh()

template<typename ScalarType , typename triangulationType >
std::string ttk::ftr::FTRGraph< ScalarType, triangulationType >::printMesh
protected

Definition at line 9 of file FTRGraphPrint_Template.h.

◆ printTime()

template<typename ScalarType , typename triangulationType >
void ttk::ftr::FTRGraph< ScalarType, triangulationType >::printTime ( Timer timer,
const std::string &  msg 
) const
protected

Definition at line 64 of file FTRGraphPrint_Template.h.

◆ printTriangle()

template<typename ScalarType , typename triangulationType >
std::string ttk::ftr::FTRGraph< ScalarType, triangulationType >::printTriangle ( const idCell  cellId,
const Propagation *const  localProp 
) const
protected

Definition at line 34 of file FTRGraphPrint_Template.h.

◆ setDebugLevel()

template<typename ScalarType , typename triangulationType >
int ttk::ftr::FTRGraph< ScalarType, triangulationType >::setDebugLevel ( const int &  lvl)
inlineoverridevirtual

Control the verbosity of the base code.

Reimplemented from ttk::Debug.

Definition at line 177 of file FTRGraph.h.

◆ setParams()

template<typename ScalarType , typename triangulationType >
void ttk::ftr::FTRGraph< ScalarType, triangulationType >::setParams ( const Params p)
inline

Definition at line 182 of file FTRGraph.h.

◆ setScalars()

template<typename ScalarType , typename triangulationType >
void ttk::ftr::FTRGraph< ScalarType, triangulationType >::setScalars ( const void *  scalars)
inline

Scalar field used to compute the Reeb Graph.

Definition at line 188 of file FTRGraph.h.

◆ setThreadNumber()

template<typename ScalarType , typename triangulationType >
int ttk::ftr::FTRGraph< ScalarType, triangulationType >::setThreadNumber ( const int  nb)
inlineoverridevirtual

The number of threads to be used during the computation of the reeb graph

Reimplemented from ttk::BaseClass.

Definition at line 169 of file FTRGraph.h.

◆ setVertexSoSoffsets()

template<typename ScalarType , typename triangulationType >
void ttk::ftr::FTRGraph< ScalarType, triangulationType >::setVertexSoSoffsets ( SimplexId sos)
inline

When several points have the same scalar value, we use simulation of simplicity to distinguish between them in a morse discret geometry compliant way. This is explained in the TTK report. Set the array to use here

Definition at line 198 of file FTRGraph.h.

◆ sweepFrowSeeds()

template<typename ScalarType , typename triangulationType >
void ttk::ftr::FTRGraph< ScalarType, triangulationType >::sweepFrowSeeds
protected

Launch the sweep algorithm, but adapted to growth locally from each seed (min and/or max) See: grwothFromSeed.

Definition at line 242 of file FTRGraph_Template.h.

◆ sweepSequential()

template<typename ScalarType , typename triangulationType >
void ttk::ftr::FTRGraph< ScalarType, triangulationType >::sweepSequential
protected

Definition at line 278 of file FTRGraph_Template.h.


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