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

TTK processing package for manifold checks. More...

#include <ManifoldCheck.h>

Inheritance diagram for ttk::ManifoldCheck:
ttk::Debug ttk::BaseClass ttkManifoldCheck

Public Member Functions

 ManifoldCheck ()
 
 ~ManifoldCheck () override
 
template<class triangulationType = AbstractTriangulation>
int execute (const triangulationType *triangulation) const
 Execute the package.
 
int setVertexLinkComponentNumberVector (std::vector< ttk::SimplexId > *vertexVector)
 Register the output std::vector for vertex link component number.
 
int setEdgeLinkComponentNumberVector (std::vector< ttk::SimplexId > *edgeVector)
 Register the output std::vector for edge link component number.
 
int setTriangleLinkComponentNumberVector (std::vector< ttk::SimplexId > *triangleVector)
 Register the output std::vector for triangle link component number.
 
int preconditionTriangulation (AbstractTriangulation *const triangulation)
 
- 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

template<class triangulationType = AbstractTriangulation>
int vertexManifoldCheck (const triangulationType *triangulation, const ttk::SimplexId &vertexId) const
 
template<class triangulationType = AbstractTriangulation>
int edgeManifoldCheck (const triangulationType *triangulation, const ttk::SimplexId &edgeId) 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

std::vector< ttk::SimplexId > * vertexLinkComponentNumber_
 
std::vector< ttk::SimplexId > * edgeLinkComponentNumber_
 
std::vector< ttk::SimplexId > * triangleLinkComponentNumber_
 
- 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 manifold checks.

Author
Julien Tierny julie.nosp@m.n.ti.nosp@m.erny@.nosp@m.lip6.nosp@m..fr
Date
February 2018.

This class performs a manifold check for each simplex, by counting the number of connected components of link. On a d-dimensional triangulation, this number should be equal to 1 for all but (d-1)-simplices, for which it can be 1 (boundary simplices) or 2 (interior simplices). Other values indicate a non-manifold simplex.

The link component number is stored as an integer array for each type of simplex.

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

Online examples:

Definition at line 32 of file ManifoldCheck.h.

Constructor & Destructor Documentation

◆ ManifoldCheck()

ManifoldCheck::ManifoldCheck ( )

Definition at line 6 of file ManifoldCheck.cpp.

◆ ~ManifoldCheck()

ManifoldCheck::~ManifoldCheck ( )
overridedefault

Member Function Documentation

◆ edgeManifoldCheck()

template<class triangulationType >
int ttk::ManifoldCheck::edgeManifoldCheck ( const triangulationType *  triangulation,
const ttk::SimplexId edgeId 
) const
protected

Definition at line 337 of file ManifoldCheck.h.

◆ execute()

template<class triangulationType >
int ttk::ManifoldCheck::execute ( const triangulationType *  triangulation) const

Execute the package.

Definition at line 113 of file ManifoldCheck.h.

◆ preconditionTriangulation()

int ttk::ManifoldCheck::preconditionTriangulation ( AbstractTriangulation *const  triangulation)
inline

Precondition 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 ttkManifoldCheck for further examples.
Parameters
triangulationPointer to a valid triangulation.
Returns
Returns 0 upon success, negative values otherwise.
See also
ttk::Triangulation

Definition at line 83 of file ManifoldCheck.h.

◆ setEdgeLinkComponentNumberVector()

int ttk::ManifoldCheck::setEdgeLinkComponentNumberVector ( std::vector< ttk::SimplexId > *  edgeVector)
inline

Register the output std::vector for edge link component number.

Definition at line 51 of file ManifoldCheck.h.

◆ setTriangleLinkComponentNumberVector()

int ttk::ManifoldCheck::setTriangleLinkComponentNumberVector ( std::vector< ttk::SimplexId > *  triangleVector)
inline

Register the output std::vector for triangle link component number.

Definition at line 58 of file ManifoldCheck.h.

◆ setVertexLinkComponentNumberVector()

int ttk::ManifoldCheck::setVertexLinkComponentNumberVector ( std::vector< ttk::SimplexId > *  vertexVector)
inline

Register the output std::vector for vertex link component number.

Definition at line 44 of file ManifoldCheck.h.

◆ vertexManifoldCheck()

template<class triangulationType >
int ttk::ManifoldCheck::vertexManifoldCheck ( const triangulationType *  triangulation,
const ttk::SimplexId vertexId 
) const
protected

Definition at line 176 of file ManifoldCheck.h.

Member Data Documentation

◆ edgeLinkComponentNumber_

std::vector<ttk::SimplexId>* ttk::ManifoldCheck::edgeLinkComponentNumber_
protected

Definition at line 107 of file ManifoldCheck.h.

◆ triangleLinkComponentNumber_

std::vector<ttk::SimplexId>* ttk::ManifoldCheck::triangleLinkComponentNumber_
protected

Definition at line 108 of file ManifoldCheck.h.

◆ vertexLinkComponentNumber_

std::vector<ttk::SimplexId>* ttk::ManifoldCheck::vertexLinkComponentNumber_
protected

Definition at line 106 of file ManifoldCheck.h.


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