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

AbstractTriangulation is an interface class that defines an interface for efficient traversal methods on triangulations of piecewise linear manifolds. More...

#include <AbstractTriangulation.h>

Inheritance diagram for ttk::AbstractTriangulation:
ttk::Wrapper ttk::Debug ttk::BaseClass ttk::CompactTriangulation ttk::ExplicitTriangulation ttk::RegularGridTriangulation ttk::Triangulation ttk::ImplicitTriangulation ttk::PeriodicImplicitTriangulation ttk::ImplicitTriangulationCRTP< ImplicitNoPreconditions > ttk::ImplicitTriangulationCRTP< ImplicitWithPreconditions > ttk::ImplicitTriangulationCRTP< Derived > ttk::PeriodicImplicitTriangulationCRTP< PeriodicNoPreconditions > ttk::PeriodicImplicitTriangulationCRTP< PeriodicWithPreconditions > ttk::PeriodicImplicitTriangulationCRTP< Derived > ttk::ImplicitNoPreconditions ttk::ImplicitWithPreconditions ttk::PeriodicNoPreconditions ttk::PeriodicWithPreconditions

Public Member Functions

 AbstractTriangulation ()
 
 ~AbstractTriangulation () override
 
 AbstractTriangulation (const AbstractTriangulation &)=default
 
 AbstractTriangulation (AbstractTriangulation &&)=default
 
AbstractTriangulationoperator= (const AbstractTriangulation &)=default
 
AbstractTriangulationoperator= (AbstractTriangulation &&)=default
 
int clear ()
 
size_t footprint (size_t size=0) const
 
virtual int getCellEdge (const SimplexId &cellId, const int &localEdgeId, SimplexId &edgeId) const
 
virtual SimplexId getCellEdgeNumber (const SimplexId &cellId) const
 
virtual const std::vector< std::vector< SimplexId > > * getCellEdges ()
 
virtual int getCellNeighbor (const SimplexId &cellId, const int &localNeighborId, SimplexId &neighborId) const
 
virtual SimplexId getCellNeighborNumber (const SimplexId &cellId) const
 
virtual const std::vector< std::vector< SimplexId > > * getCellNeighbors ()
 
virtual int getCellTriangle (const SimplexId &cellId, const int &localTriangleId, SimplexId &triangleId) const
 
virtual SimplexId getCellTriangleNumber (const SimplexId &cellId) const
 
virtual const std::vector< std::vector< SimplexId > > * getCellTriangles ()
 
virtual int getCellVertex (const SimplexId &cellId, const int &localVertexId, SimplexId &vertexId) const
 
virtual SimplexId getCellVertexNumber (const SimplexId &cellId) const
 
virtual int getDimensionality () const
 
virtual const std::vector< std::array< SimplexId, 2 > > * getEdges ()
 
virtual int getEdgeLink (const SimplexId &edgeId, const int &localLinkId, SimplexId &linkId) const
 
virtual SimplexId getEdgeLinkNumber (const SimplexId &edgeId) const
 
virtual const std::vector< std::vector< SimplexId > > * getEdgeLinks ()
 
virtual int getEdgeStar (const SimplexId &edgeId, const int &localStarId, SimplexId &starId) const
 
virtual SimplexId getEdgeStarNumber (const SimplexId &edgeId) const
 
virtual const std::vector< std::vector< SimplexId > > * getEdgeStars ()
 
virtual int getEdgeTriangle (const SimplexId &edgeId, const int &localTriangleId, SimplexId &triangleId) const
 
virtual SimplexId getEdgeTriangleNumber (const SimplexId &edgeId) const
 
virtual const std::vector< std::vector< SimplexId > > * getEdgeTriangles ()
 
virtual int getEdgeVertex (const SimplexId &edgeId, const int &localVertexId, SimplexId &vertexId) const
 
int getEdgeVertexNumber (const SimplexId ttkNotUsed(edgeId)) const
 
virtual const std::array< SimplexId, 3 > & getGridDimensions () const
 
virtual SimplexId getNumberOfCells () const
 
virtual SimplexId getNumberOfEdges () const
 
virtual SimplexId getNumberOfTriangles () const
 
virtual SimplexId getNumberOfVertices () const
 
virtual const std::vector< std::array< SimplexId, 3 > > * getTriangles ()
 
virtual int getTriangleEdge (const SimplexId &triangleId, const int &localEdgeId, SimplexId &edgeId) const
 
virtual SimplexId getTriangleEdgeNumber (const SimplexId &triangleId) const
 
virtual const std::vector< std::vector< SimplexId > > * getTriangleEdges ()
 
virtual int getTriangleLink (const SimplexId &triangleId, const int &localLinkId, SimplexId &linkId) const
 
virtual SimplexId getTriangleLinkNumber (const SimplexId &triangleId) const
 
virtual const std::vector< std::vector< SimplexId > > * getTriangleLinks ()
 
virtual int getTriangleStar (const SimplexId &triangleId, const int &localStarId, SimplexId &starId) const
 
virtual SimplexId getTriangleStarNumber (const SimplexId &triangleId) const
 
virtual const std::vector< std::vector< SimplexId > > * getTriangleStars ()
 
virtual int getTriangleVertex (const SimplexId &triangleId, const int &localVertexId, SimplexId &vertexId) const
 
int getTriangleVertexNumber (const SimplexId ttkNotUsed(triangleId)) const
 
virtual int getVertexEdge (const SimplexId &vertexId, const int &localEdgeId, SimplexId &edgeId) const
 
virtual SimplexId getVertexEdgeNumber (const SimplexId &vertexId) const
 
virtual const std::vector< std::vector< SimplexId > > * getVertexEdges ()
 
virtual int getVertexLink (const SimplexId &vertexId, const int &localLinkId, SimplexId &linkId) const
 
virtual SimplexId getVertexLinkNumber (const SimplexId &vertexId) const
 
virtual const std::vector< std::vector< SimplexId > > * getVertexLinks ()
 
virtual int getVertexNeighbor (const SimplexId &vertexId, const int &localNeighborId, SimplexId &neighborId) const
 
virtual SimplexId getVertexNeighborNumber (const SimplexId &vertexId) const
 
virtual const std::vector< std::vector< SimplexId > > * getVertexNeighbors ()
 
virtual int getVertexPoint (const SimplexId &vertexId, float &x, float &y, float &z) const
 
virtual int getVertexStar (const SimplexId &vertexId, const int &localStarId, SimplexId &starId) const
 
virtual SimplexId getVertexStarNumber (const SimplexId &vertexId) const
 
virtual const std::vector< std::vector< SimplexId > > * getVertexStars ()
 
virtual int getVertexTriangle (const SimplexId &vertexId, const int &localTriangleId, SimplexId &triangleId) const
 
virtual SimplexId getVertexTriangleNumber (const SimplexId &vertexId) const
 
virtual const std::vector< std::vector< SimplexId > > * getVertexTriangles ()
 
bool hasPeriodicBoundaries () const
 Returns true if the grid uses period boundary conditions.
 
virtual bool isEdgeOnBoundary (const SimplexId &edgeId) const
 
virtual bool isEmpty () const
 
virtual bool isManifold () const
 
virtual int preconditionManifold ()
 
virtual bool isTriangleOnBoundary (const SimplexId &triangleId) const
 
virtual bool isVertexOnBoundary (const SimplexId &vertexId) const
 
virtual int preconditionBoundaryEdges ()
 
virtual int preconditionBoundaryTriangles ()
 
virtual int preconditionBoundaryVertices ()
 
virtual int preconditionCellEdges ()
 
virtual int preconditionCellNeighbors ()
 
virtual int preconditionCellTriangles ()
 
virtual int preconditionEdges ()
 
virtual int preconditionEdgeLinks ()
 
virtual int preconditionEdgeStars ()
 
virtual int preconditionEdgeTriangles ()
 
virtual int preconditionTriangles ()
 
virtual int preconditionTriangleEdges ()
 
virtual int preconditionTriangleLinks ()
 
virtual int preconditionTriangleStars ()
 
virtual int preconditionVertexEdges ()
 
virtual int preconditionVertexLinks ()
 
virtual int preconditionVertexNeighbors ()
 
virtual int preconditionVertexStars ()
 
virtual int preconditionVertexTriangles ()
 
int getEdgeIncenter (const SimplexId edgeId, float incenter[3]) const
 
int getTriangleIncenter (const SimplexId triangleId, float incenter[3]) const
 
int getTetraIncenter (const SimplexId tetraId, float incenter[3]) const
 
int getCellIncenter (const SimplexId cellid, const int dim, float incenter[3]) const
 
virtual int getCellVTKID (const int &ttkId, int &vtkId) const
 
template<class itemType >
size_t tableTableFootprint (const vector< vector< itemType > > &table, const string &tableName, ostream &stream) const
 
- Public Member Functions inherited from ttk::Wrapper
 Wrapper ()
 
 ~Wrapper () override=default
 
virtual bool needsToAbort ()=0
 
virtual int updateProgress (const float &progress)=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 Types

using gradIdType = SimplexId
 
using gradientType = std::array< std::vector< gradIdType >, 6 >
 Discrete gradient internal struct.
 
using gradientKeyType = std::pair< const void *, size_t >
 Key type for gradientCacheType.
 
using gradientCacheType = LRUCache< gradientKeyType, gradientType >
 

Protected Member Functions

virtual int getCellEdgeInternal (const SimplexId &ttkNotUsed(cellId), const int &ttkNotUsed(localEdgeId), SimplexId &ttkNotUsed(edgeId)) const
 
virtual SimplexId getCellEdgeNumberInternal (const SimplexId &ttkNotUsed(cellId)) const
 
virtual const std::vector< std::vector< SimplexId > > * getCellEdgesInternal ()
 
virtual int getCellNeighborInternal (const SimplexId &ttkNotUsed(cellId), const int &ttkNotUsed(localNeighborId), SimplexId &ttkNotUsed(neighborId)) const
 
virtual SimplexId getCellNeighborNumberInternal (const SimplexId &ttkNotUsed(cellId)) const
 
virtual const std::vector< std::vector< SimplexId > > * getCellNeighborsInternal ()
 
virtual int getCellTriangleInternal (const SimplexId &ttkNotUsed(cellId), const int &ttkNotUsed(localTriangleId), SimplexId &ttkNotUsed(triangleId)) const
 
virtual SimplexId getCellTriangleNumberInternal (const SimplexId &ttkNotUsed(cellId)) const
 
virtual const std::vector< std::vector< SimplexId > > * getCellTrianglesInternal ()
 
virtual int getCellVertexInternal (const SimplexId &ttkNotUsed(cellId), const int &ttkNotUsed(localVertexId), SimplexId &ttkNotUsed(vertexId)) const
 
virtual SimplexId getCellVertexNumberInternal (const SimplexId &ttkNotUsed(cellId)) const
 
virtual int getDimensionalityInternal () const
 
virtual const std::vector< std::array< SimplexId, 2 > > * getEdgesInternal ()
 
virtual int getEdgeLinkInternal (const SimplexId &ttkNotUsed(edgeId), const int &ttkNotUsed(localLinkId), SimplexId &ttkNotUsed(linkId)) const
 
virtual SimplexId getEdgeLinkNumberInternal (const SimplexId &ttkNotUsed(edgeId)) const
 
virtual const std::vector< std::vector< SimplexId > > * getEdgeLinksInternal ()
 
virtual int getEdgeStarInternal (const SimplexId &ttkNotUsed(edgeId), const int &ttkNotUsed(localStarId), SimplexId &ttkNotUsed(starId)) const
 
virtual SimplexId getEdgeStarNumberInternal (const SimplexId &ttkNotUsed(edgeId)) const
 
virtual const std::vector< std::vector< SimplexId > > * getEdgeStarsInternal ()
 
virtual int getEdgeTriangleInternal (const SimplexId &ttkNotUsed(edgeId), const int &ttkNotUsed(localTriangleId), SimplexId &ttkNotUsed(triangleId)) const
 
virtual SimplexId getEdgeTriangleNumberInternal (const SimplexId &ttkNotUsed(edgeId)) const
 
virtual const std::vector< std::vector< SimplexId > > * getEdgeTrianglesInternal ()
 
virtual int getEdgeVertexInternal (const SimplexId &ttkNotUsed(edgeId), const int &ttkNotUsed(localVertexId), SimplexId &ttkNotUsed(vertexId)) const
 
virtual SimplexId getNumberOfCellsInternal () const
 
virtual SimplexId getNumberOfEdgesInternal () const
 
virtual SimplexId getNumberOfTrianglesInternal () const
 
virtual SimplexId getNumberOfVerticesInternal () const
 
virtual const std::vector< std::array< SimplexId, 3 > > * getTrianglesInternal ()
 
virtual int getTriangleEdgeInternal (const SimplexId &ttkNotUsed(triangleId), const int &ttkNotUsed(localEdgeId), SimplexId &ttkNotUsed(edgeId)) const
 
virtual SimplexId getTriangleEdgeNumberInternal (const SimplexId &ttkNotUsed(triangleId)) const
 
virtual const std::vector< std::vector< SimplexId > > * getTriangleEdgesInternal ()
 
virtual int getTriangleLinkInternal (const SimplexId &ttkNotUsed(triangleId), const int &ttkNotUsed(localLinkId), SimplexId &ttkNotUsed(linkId)) const
 
virtual SimplexId getTriangleLinkNumberInternal (const SimplexId &ttkNotUsed(triangleId)) const
 
virtual const std::vector< std::vector< SimplexId > > * getTriangleLinksInternal ()
 
virtual int getTriangleStarInternal (const SimplexId &ttkNotUsed(triangleId), const int &ttkNotUsed(localStarId), SimplexId &ttkNotUsed(starId)) const
 
virtual SimplexId getTriangleStarNumberInternal (const SimplexId &ttkNotUsed(triangleId)) const
 
virtual const std::vector< std::vector< SimplexId > > * getTriangleStarsInternal ()
 
virtual int getTriangleVertexInternal (const SimplexId &ttkNotUsed(triangleId), const int &ttkNotUsed(localVertexId), SimplexId &ttkNotUsed(vertexId)) const
 
virtual int getVertexEdgeInternal (const SimplexId &ttkNotUsed(vertexId), const int &ttkNotUsed(localEdgeId), SimplexId &ttkNotUsed(edgeId)) const
 
virtual SimplexId getVertexEdgeNumberInternal (const SimplexId &ttkNotUsed(vertexId)) const
 
virtual const std::vector< std::vector< SimplexId > > * getVertexEdgesInternal ()
 
virtual int getVertexLinkInternal (const SimplexId &ttkNotUsed(vertexId), const int &ttkNotUsed(localLinkId), SimplexId &ttkNotUsed(linkId)) const
 
virtual SimplexId getVertexLinkNumberInternal (const SimplexId &ttkNotUsed(vertexId)) const
 
virtual const std::vector< std::vector< SimplexId > > * getVertexLinksInternal ()
 
virtual int getVertexNeighborInternal (const SimplexId &ttkNotUsed(vertexId), const int &ttkNotUsed(localNeighborId), SimplexId &ttkNotUsed(neighborId)) const
 
virtual SimplexId getVertexNeighborNumberInternal (const SimplexId &ttkNotUsed(vertexId)) const
 
virtual const std::vector< std::vector< SimplexId > > * getVertexNeighborsInternal ()
 
virtual int getVertexPointInternal (const SimplexId &ttkNotUsed(vertexId), float &ttkNotUsed(x), float &ttkNotUsed(y), float &ttkNotUsed(z)) const
 
virtual int getVertexStarInternal (const SimplexId &ttkNotUsed(vertexId), const int &ttkNotUsed(localStarId), SimplexId &ttkNotUsed(starId)) const
 
virtual SimplexId getVertexStarNumberInternal (const SimplexId &ttkNotUsed(vertexId)) const
 
virtual const std::vector< std::vector< SimplexId > > * getVertexStarsInternal ()
 
virtual int getVertexTriangleInternal (const SimplexId &ttkNotUsed(vertexId), const int &ttkNotUsed(localTriangleId), SimplexId &ttkNotUsed(triangleId)) const
 
virtual SimplexId getVertexTriangleNumberInternal (const SimplexId &ttkNotUsed(vertexId)) const
 
virtual const std::vector< std::vector< SimplexId > > * getVertexTrianglesInternal ()
 
virtual bool isEdgeOnBoundaryInternal (const SimplexId &ttkNotUsed(edgeId)) const
 
virtual bool isTriangleOnBoundaryInternal (const SimplexId &ttkNotUsed(triangleId)) const
 
virtual bool isVertexOnBoundaryInternal (const SimplexId &ttkNotUsed(vertexId)) const
 
bool hasPreconditionedBoundaryEdges () const
 
bool hasPreconditionedBoundaryTriangles () const
 
bool hasPreconditionedBoundaryVertices () const
 
bool hasPreconditionedCellEdges () const
 
bool hasPreconditionedCellNeighbors () const
 
bool hasPreconditionedCellTriangles () const
 
bool hasPreconditionedEdgeLinks () const
 
bool hasPreconditionedEdgeStars () const
 
bool hasPreconditionedEdgeTriangles () const
 
bool hasPreconditionedEdges () const
 
bool hasPreconditionedTriangles () const
 
bool hasPreconditionedTriangleEdges () const
 
bool hasPreconditionedTriangleLinks () const
 
bool hasPreconditionedTriangleStars () const
 
bool hasPreconditionedVertexEdges () const
 
bool hasPreconditionedVertexLinks () const
 
bool hasPreconditionedVertexNeighbors () const
 
bool hasPreconditionedVertexStars () const
 
bool hasPreconditionedVertexTriangles () const
 
bool hasPreconditionedManifold () const
 
bool needsToAbort () override
 
virtual int preconditionBoundaryEdgesInternal ()
 
virtual int preconditionBoundaryTrianglesInternal ()
 
virtual int preconditionBoundaryVerticesInternal ()
 
virtual int preconditionCellEdgesInternal ()
 
virtual int preconditionCellNeighborsInternal ()
 
virtual int preconditionCellTrianglesInternal ()
 
virtual int preconditionEdgesInternal ()
 
virtual int preconditionEdgeLinksInternal ()
 
virtual int preconditionEdgeStarsInternal ()
 
virtual int preconditionEdgeTrianglesInternal ()
 
virtual int preconditionTrianglesInternal ()
 
virtual int preconditionTriangleEdgesInternal ()
 
virtual int preconditionTriangleLinksInternal ()
 
virtual int preconditionTriangleStarsInternal ()
 
virtual int preconditionVertexEdgesInternal ()
 
virtual int preconditionVertexLinksInternal ()
 
virtual int preconditionVertexNeighborsInternal ()
 
virtual int preconditionVertexStarsInternal ()
 
virtual int preconditionVertexTrianglesInternal ()
 
virtual int preconditionManifoldInternal ()
 
virtual int getCellVTKIDInternal (const int &ttkId, int &vtkId) const
 
template<class itemType >
size_t tableFootprint (const std::vector< itemType > &table, const std::string &tableName="", std::ostream &stream=std::cout) const
 
template<class itemType >
size_t tableTableFootprint (const std::vector< std::vector< itemType > > &table, const std::string &tableName="", std::ostream &stream=std::cout) const
 
int updateProgress (const float &ttkNotUsed(progress)) override
 
gradientCacheTypegetGradientCacheHandler () 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

bool hasPeriodicBoundaries_
 
bool hasPreconditionedBoundaryEdges_
 
bool hasPreconditionedBoundaryTriangles_
 
bool hasPreconditionedBoundaryVertices_
 
bool hasPreconditionedCellEdges_
 
bool hasPreconditionedCellNeighbors_
 
bool hasPreconditionedCellTriangles_
 
bool hasPreconditionedEdges_
 
bool hasPreconditionedEdgeLinks_
 
bool hasPreconditionedEdgeStars_
 
bool hasPreconditionedEdgeTriangles_
 
bool hasPreconditionedTriangles_
 
bool hasPreconditionedTriangleEdges_
 
bool hasPreconditionedTriangleLinks_
 
bool hasPreconditionedTriangleStars_
 
bool hasPreconditionedVertexEdges_
 
bool hasPreconditionedVertexLinks_
 
bool hasPreconditionedVertexNeighbors_
 
bool hasPreconditionedVertexStars_
 
bool hasPreconditionedVertexTriangles_
 
bool hasPreconditionedManifold_
 
bool isManifold_ {true}
 
std::array< SimplexId, 3 > gridDimensions_
 
std::vector< bool > boundaryEdges_
 
std::vector< bool > boundaryTriangles_
 
std::vector< bool > boundaryVertices_
 
std::vector< std::array< SimplexId, 6 > > tetraEdgeList_
 
std::vector< std::vector< SimplexId > > cellNeighborList_
 
std::vector< std::array< SimplexId, 4 > > tetraTriangleList_
 
std::vector< std::vector< SimplexId > > edgeLinkList_
 
std::vector< std::array< SimplexId, 2 > > edgeList_
 
std::vector< std::vector< SimplexId > > edgeStarList_
 
std::vector< std::vector< SimplexId > > edgeTriangleList_
 
std::vector< std::array< SimplexId, 3 > > triangleList_
 
std::vector< std::array< SimplexId, 3 > > triangleEdgeList_
 
std::vector< std::vector< SimplexId > > triangleLinkList_
 
std::vector< std::vector< SimplexId > > triangleStarList_
 
std::vector< std::vector< SimplexId > > vertexEdgeList_
 
std::vector< std::vector< SimplexId > > vertexLinkList_
 
std::vector< std::vector< SimplexId > > vertexNeighborList_
 
std::vector< std::vector< SimplexId > > vertexStarList_
 
std::vector< std::vector< SimplexId > > vertexTriangleList_
 
std::vector< std::vector< SimplexId > > cellEdgeVector_ {}
 
std::vector< std::vector< SimplexId > > cellTriangleVector_ {}
 
std::vector< std::vector< SimplexId > > triangleEdgeVector_ {}
 
gradientCacheType gradientCache_ {}
 
- Protected Attributes inherited from ttk::Wrapper
float processingProgress_
 
- 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_
 

Friends

class ttk::dcg::DiscreteGradient
 

Additional Inherited Members

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

Detailed Description

AbstractTriangulation is an interface class that defines an interface for efficient traversal methods on triangulations of piecewise linear manifolds.

Author
Julien Tierny julie.nosp@m.n.ti.nosp@m.erny@.nosp@m.lip6.nosp@m..fr
Date
January 2016.
See also
Triangulation

Definition at line 60 of file AbstractTriangulation.h.

Member Typedef Documentation

◆ gradIdType

Definition at line 3857 of file AbstractTriangulation.h.

◆ gradientCacheType

Definition at line 3889 of file AbstractTriangulation.h.

◆ gradientKeyType

using ttk::AbstractTriangulation::gradientKeyType = std::pair<const void *, size_t>
protected

Key type for gradientCacheType.

The key type models a scalar field buffer. The first element is a const void pointer to the beginning of the buffer and the second stores the timestamp of the last modification of the scalar field.

Definition at line 3882 of file AbstractTriangulation.h.

◆ gradientType

using ttk::AbstractTriangulation::gradientType = std::array<std::vector<gradIdType>, 6>
protected

Discrete gradient internal struct.

0: paired edge id per vertex 1: paired vertex id per edge 2: paired triangle id per edge 3: paired edge id per triangle 4: paired tetra id per triangle 5: paired triangle id per tetra Values: -1 if critical or paired to a cell of another dimension

Is used as a value type for gradientCacheType.

Definition at line 3873 of file AbstractTriangulation.h.

Constructor & Destructor Documentation

◆ AbstractTriangulation() [1/3]

AbstractTriangulation::AbstractTriangulation ( )

Definition at line 6 of file AbstractTriangulation.cpp.

◆ ~AbstractTriangulation()

AbstractTriangulation::~AbstractTriangulation ( )
overridedefault

◆ AbstractTriangulation() [2/3]

ttk::AbstractTriangulation::AbstractTriangulation ( const AbstractTriangulation )
default

◆ AbstractTriangulation() [3/3]

ttk::AbstractTriangulation::AbstractTriangulation ( AbstractTriangulation &&  )
default

Member Function Documentation

◆ clear()

int AbstractTriangulation::clear ( )

Reset the triangulation data-structures.

Returns
Returns 0 upon success, negative values otherwise.

Definition at line 14 of file AbstractTriangulation.cpp.

◆ footprint()

size_t AbstractTriangulation::footprint ( size_t  size = 0) const

Computes and displays the memory footprint of the data-structure.

Returns
Returns 0 upon success, negative values otherwise.

Definition at line 86 of file AbstractTriangulation.cpp.

◆ getCellEdge()

virtual int ttk::AbstractTriangulation::getCellEdge ( const SimplexId cellId,
const int &  localEdgeId,
SimplexId edgeId 
) const
inlinevirtual

Get the localEdgeId-th edge of the cellId-th cell.

Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).

In 1D, this function is equivalent to getCellNeighbor().

Precondition
For this function to behave correctly, preconditionCellEdges() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
cellIdInput global cell identifier.
localEdgeIdInput local edge identifier, in [0, getCellEdgeNumber()].
edgeIdOutput global edge identifier.
Returns
Returns 0 upon success, negative values otherwise.
See also
getCellEdgeNumber()
getCellNeighbor()

Reimplemented in ttk::Triangulation.

Definition at line 101 of file AbstractTriangulation.h.

◆ getCellEdgeInternal()

virtual int ttk::AbstractTriangulation::getCellEdgeInternal ( const SimplexId ttkNotUsedcellId,
const int &  ttkNotUsedlocalEdgeId,
SimplexId ttkNotUsededgeId 
) const
inlineprotectedvirtual

Definition at line 3042 of file AbstractTriangulation.h.

◆ getCellEdgeNumber()

virtual SimplexId ttk::AbstractTriangulation::getCellEdgeNumber ( const SimplexId cellId) const
inlinevirtual

Get the number of edges for the cellId-th cell.

Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).

In 1D, this function is equivalent to getCellNeighborNumber().

Precondition
For this function to behave correctly, preconditionCellEdges() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
cellIdInput global cell identifier.
Returns
Returns the number of cell edges.
See also
getCellNeighborNumber()

Reimplemented in ttk::Triangulation.

Definition at line 138 of file AbstractTriangulation.h.

◆ getCellEdgeNumberInternal()

virtual SimplexId ttk::AbstractTriangulation::getCellEdgeNumberInternal ( const SimplexId ttkNotUsedcellId) const
inlineprotectedvirtual

Definition at line 3049 of file AbstractTriangulation.h.

◆ getCellEdges()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getCellEdges ( )
inlinevirtual
Warning
YOU SHOULD NOT CALL THIS FUNCTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.

Get the list of edges for all cells.

Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).

The number of entries in this list is equal to the number of cells. Each entry is a std::vector of identifiers whose size is equal to the number of edges for the corresponding cell.

In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.

In 1D, this function is equivalent to getCellNeighbors().

Precondition
For this function to behave correctly, preconditionCellEdges() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Returns
Returns a pointer to the cell edge list.
See also
getCellNeighbors()

Reimplemented in ttk::Triangulation.

Definition at line 180 of file AbstractTriangulation.h.

◆ getCellEdgesInternal()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getCellEdgesInternal ( )
inlineprotectedvirtual

◆ getCellIncenter()

int ttk::AbstractTriangulation::getCellIncenter ( const SimplexId  cellid,
const int  dim,
float  incenter[3] 
) const
inline

Compute the geometric barycenter of a given cell.

Definition at line 2533 of file AbstractTriangulation.h.

◆ getCellNeighbor()

virtual int ttk::AbstractTriangulation::getCellNeighbor ( const SimplexId cellId,
const int &  localNeighborId,
SimplexId neighborId 
) const
inlinevirtual

Get the localNeighborId-th cell neighbor of the cellId-th cell.

Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).

Precondition
For this function to behave correctly, preconditionCellNeighbors() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
cellIdInput global cell identifier.
localNeighborIdInput local neighbor identifier, in [0, getCellNeighborNumber()].
neighborIdOutput global neighbor cell identifier.
Returns
Returns 0 upon success, negative values otherwise.
See also
getCellNeighborNumber()

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 213 of file AbstractTriangulation.h.

◆ getCellNeighborInternal()

virtual int ttk::AbstractTriangulation::getCellNeighborInternal ( const SimplexId ttkNotUsedcellId,
const int &  ttkNotUsedlocalNeighborId,
SimplexId ttkNotUsedneighborId 
) const
inlineprotectedvirtual

Definition at line 3059 of file AbstractTriangulation.h.

◆ getCellNeighborNumber()

virtual SimplexId ttk::AbstractTriangulation::getCellNeighborNumber ( const SimplexId cellId) const
inlinevirtual

Get the number of cell neighbors for the cellId-th cell.

Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).

Precondition
For this function to behave correctly, preconditionCellNeighbors() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
cellIdInput global cell identifier.
Returns
Returns the number of cell neighbors.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 242 of file AbstractTriangulation.h.

◆ getCellNeighborNumberInternal()

virtual SimplexId ttk::AbstractTriangulation::getCellNeighborNumberInternal ( const SimplexId ttkNotUsedcellId) const
inlineprotectedvirtual

Definition at line 3066 of file AbstractTriangulation.h.

◆ getCellNeighbors()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getCellNeighbors ( )
inlinevirtual
Warning
YOU SHOULD NOT CALL THIS FUNCTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.

Get the list of cell neighbors for all cells.

Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).

The number of entries in this list is equal to the number of cells. Each entry is a std::vector of identifiers whose size is equal to the number of neighbor cells for the corresponding cell.

In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.

Precondition
For this function to behave correctly, preconditionCellNeighbors() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Returns
Returns a pointer to the cell neighbor list.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 277 of file AbstractTriangulation.h.

◆ getCellNeighborsInternal()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getCellNeighborsInternal ( )
inlineprotectedvirtual

Definition at line 3071 of file AbstractTriangulation.h.

◆ getCellTriangle()

virtual int ttk::AbstractTriangulation::getCellTriangle ( const SimplexId cellId,
const int &  localTriangleId,
SimplexId triangleId 
) const
inlinevirtual

Get the localTriangleId-th triangle id of the cellId-th cell.

Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).

In 2D, this function is equivalent to getCellNeighbor().

Precondition
For this function to behave correctly, preconditionCellTriangles() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
cellIdInput global cell identifier.
localTriangleIdInput local triangle identifier, in [0, getCellTriangleNumber()].
triangleIdOutput global triangle identifier.
Returns
Returns 0 upon success, negative values otherwise.
See also
getCellTriangleNumber()
getCellNeighbor()

Reimplemented in ttk::Triangulation.

Definition at line 307 of file AbstractTriangulation.h.

◆ getCellTriangleInternal()

virtual int ttk::AbstractTriangulation::getCellTriangleInternal ( const SimplexId ttkNotUsedcellId,
const int &  ttkNotUsedlocalTriangleId,
SimplexId ttkNotUsedtriangleId 
) const
inlineprotectedvirtual

Definition at line 3076 of file AbstractTriangulation.h.

◆ getCellTriangleNumber()

virtual SimplexId ttk::AbstractTriangulation::getCellTriangleNumber ( const SimplexId cellId) const
inlinevirtual

Get the number of triangles for the cellId-th cell.

Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).

In 2D, this function is equivalent to getCellNeighborNumber().

Precondition
For this function to behave correctly, preconditionCellTriangles() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
cellIdInput global cell identifier.
Returns
Returns the number of cell triangles.
See also
getCellNeighborNumber()

Reimplemented in ttk::Triangulation.

Definition at line 344 of file AbstractTriangulation.h.

◆ getCellTriangleNumberInternal()

virtual SimplexId ttk::AbstractTriangulation::getCellTriangleNumberInternal ( const SimplexId ttkNotUsedcellId) const
inlineprotectedvirtual

Reimplemented in ttk::PeriodicImplicitTriangulation.

Definition at line 3083 of file AbstractTriangulation.h.

◆ getCellTriangles()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getCellTriangles ( )
inlinevirtual
Warning
YOU SHOULD NOT CALL THIS FUNCTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.

Get the list of triangles for all cells.

Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).

Also, the notion of triangle only makes sense if the triangulation has a dimension greater than 2 (otherwise, use the cell information).

The number of entries in this list is equal to the number of cells. Each entry is a std::vector of identifiers whose size is equal to the number of triangles for the corresponding cell.

In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.

In 2D, this function is equivalent to getCellNeighbors().

Precondition
For this function to behave correctly, preconditionCellTriangles() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Returns
Returns a pointer to the cell triangle list.
See also
getCellNeighbors()

Reimplemented in ttk::Triangulation.

Definition at line 390 of file AbstractTriangulation.h.

◆ getCellTrianglesInternal()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getCellTrianglesInternal ( )
inlineprotectedvirtual

◆ getCellVertex()

virtual int ttk::AbstractTriangulation::getCellVertex ( const SimplexId cellId,
const int &  localVertexId,
SimplexId vertexId 
) const
inlinevirtual

Get the localVertexId-th vertex identifier of the cellId-th cell.

Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).

Parameters
cellIdInput global cell identifier.
localVertexIdInput local vertex identifier, in [0, getCellVertexNumber()].
vertexIdOutput global vertex identifier.
Returns
Returns 0 upon success, negative values otherwise.
See also
getCellVertexNumber()

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 415 of file AbstractTriangulation.h.

◆ getCellVertexInternal()

virtual int ttk::AbstractTriangulation::getCellVertexInternal ( const SimplexId ttkNotUsedcellId,
const int &  ttkNotUsedlocalVertexId,
SimplexId ttkNotUsedvertexId 
) const
inlineprotectedvirtual

Definition at line 3093 of file AbstractTriangulation.h.

◆ getCellVertexNumber()

virtual SimplexId ttk::AbstractTriangulation::getCellVertexNumber ( const SimplexId cellId) const
inlinevirtual

Get the number of vertices in a cell.

Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).

Parameters
cellIdInput global cell identifier.
Returns
Number of vertices in the cell.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 429 of file AbstractTriangulation.h.

◆ getCellVertexNumberInternal()

virtual SimplexId ttk::AbstractTriangulation::getCellVertexNumberInternal ( const SimplexId ttkNotUsedcellId) const
inlineprotectedvirtual

Definition at line 3100 of file AbstractTriangulation.h.

◆ getCellVTKID()

virtual int ttk::AbstractTriangulation::getCellVTKID ( const int &  ttkId,
int &  vtkId 
) const
inlinevirtual

Reimplemented in ttk::Triangulation.

Definition at line 2553 of file AbstractTriangulation.h.

◆ getCellVTKIDInternal()

virtual int ttk::AbstractTriangulation::getCellVTKIDInternal ( const int &  ttkId,
int &  vtkId 
) const
inlineprotectedvirtual

◆ getDimensionality()

virtual int ttk::AbstractTriangulation::getDimensionality ( ) const
inlinevirtual

Get the dimensionality of the triangulation (this value is equal to the dimension of the simplex with largest dimensionality).

Returns
Returns the dimensionality of the triangulation.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 436 of file AbstractTriangulation.h.

◆ getDimensionalityInternal()

virtual int ttk::AbstractTriangulation::getDimensionalityInternal ( ) const
inlineprotectedvirtual

Definition at line 3104 of file AbstractTriangulation.h.

◆ getEdgeIncenter()

int ttk::AbstractTriangulation::getEdgeIncenter ( const SimplexId  edgeId,
float  incenter[3] 
) const
inline

Compute the barycenter of the points of the given edge identifier.

Definition at line 2447 of file AbstractTriangulation.h.

◆ getEdgeLink()

virtual int ttk::AbstractTriangulation::getEdgeLink ( const SimplexId edgeId,
const int &  localLinkId,
SimplexId linkId 
) const
inlinevirtual

Get the localLinkId-th simplex of the link of the edgeId-th edge.

The output linkId refers in 2D to a vertex identifier and in 3D to an edge identifier. It returns a negative value in 1D.

Precondition
For this function to behave correctly, preconditionEdgeLinks() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
edgeIdInput global edge identifier.
localLinkIdInput local link simplex identifier, in [0, getEdgeLinkNumber()].
linkIdOutput link simplex identifier.
Returns
Returns 0 upon success, negative values otherwise.
See also
getEdgeLinkNumber()

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulationCRTP< Derived >, ttk::ImplicitTriangulationCRTP< ImplicitNoPreconditions >, ttk::ImplicitTriangulationCRTP< ImplicitWithPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< Derived >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicNoPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicWithPreconditions >, and ttk::Triangulation.

Definition at line 494 of file AbstractTriangulation.h.

◆ getEdgeLinkInternal()

virtual int ttk::AbstractTriangulation::getEdgeLinkInternal ( const SimplexId ttkNotUsededgeId,
const int &  ttkNotUsedlocalLinkId,
SimplexId ttkNotUsedlinkId 
) const
inlineprotectedvirtual

Definition at line 3114 of file AbstractTriangulation.h.

◆ getEdgeLinkNumber()

virtual SimplexId ttk::AbstractTriangulation::getEdgeLinkNumber ( const SimplexId edgeId) const
inlinevirtual

Get the number of simplicies in the link of the edgeId-th edge.

In 2D, this will return the number of vertices in the link, in 3D the number of edges. It returns a negative value in 1D.

Precondition
For this function to behave correctly, preconditionEdgeLinks() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
edgeIdInput global edge identifier.
Returns
Returns the number of cells in the link of the edge.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 524 of file AbstractTriangulation.h.

◆ getEdgeLinkNumberInternal()

virtual SimplexId ttk::AbstractTriangulation::getEdgeLinkNumberInternal ( const SimplexId ttkNotUsededgeId) const
inlineprotectedvirtual

Definition at line 3121 of file AbstractTriangulation.h.

◆ getEdgeLinks()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getEdgeLinks ( )
inlinevirtual
Warning
YOU SHOULD NOT CALL THIS FUNCTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.

Get the list of link simplices for all edges.

The number of entries in this list is equal to the number of edges. Each entry is a std::vector of identifiers representing vertices in 2D and edges in 3D. It returns NULL in 1D.

In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.

Precondition
For this function to behave correctly, preconditionEdgeLinks() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Returns
Returns a pointer to the edge link list.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 558 of file AbstractTriangulation.h.

◆ getEdgeLinksInternal()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getEdgeLinksInternal ( )
inlineprotectedvirtual

Definition at line 3126 of file AbstractTriangulation.h.

◆ getEdges()

virtual const std::vector< std::array< SimplexId, 2 > > * ttk::AbstractTriangulation::getEdges ( )
inlinevirtual
Warning
YOU SHOULD NOT CALL THIS FUNCTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.

Get the list of edges of the triangulation.

Here the notion of edge only makes sense if the triangulation has a dimension greater than 1 (otherwise, use the cell information).

The number of entries in this list is equal to the number of edges. Each entry is a std::pair of vertex identifiers.

In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.

Precondition
For this function to behave correctly, preconditionEdges() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Returns
Returns a pointer to the edge list.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 464 of file AbstractTriangulation.h.

◆ getEdgesInternal()

virtual const std::vector< std::array< SimplexId, 2 > > * ttk::AbstractTriangulation::getEdgesInternal ( )
inlineprotectedvirtual

Definition at line 3109 of file AbstractTriangulation.h.

◆ getEdgeStar()

virtual int ttk::AbstractTriangulation::getEdgeStar ( const SimplexId edgeId,
const int &  localStarId,
SimplexId starId 
) const
inlinevirtual

Get the localStarId-th cell of the star of the edgeId-th edge.

Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).

Also, the notion of edge only makes sense if the triangulation has a dimension greater than 1 (otherwise, use the cell information).

Precondition
For this function to behave correctly, preconditionEdgeStars() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
edgeIdInput global edge identifier.
localStarIdInput local star cell identifier, in [0, getEdgeStarNumber()].
starIdOutput global star cell identifier.
Returns
Returns 0 upon success, negative values otherwise.
See also
getEdgeStarNumber()

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulationCRTP< Derived >, ttk::ImplicitTriangulationCRTP< ImplicitNoPreconditions >, ttk::ImplicitTriangulationCRTP< ImplicitWithPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< Derived >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicNoPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicWithPreconditions >, and ttk::Triangulation.

Definition at line 591 of file AbstractTriangulation.h.

◆ getEdgeStarInternal()

virtual int ttk::AbstractTriangulation::getEdgeStarInternal ( const SimplexId ttkNotUsededgeId,
const int &  ttkNotUsedlocalStarId,
SimplexId ttkNotUsedstarId 
) const
inlineprotectedvirtual

Definition at line 3131 of file AbstractTriangulation.h.

◆ getEdgeStarNumber()

virtual SimplexId ttk::AbstractTriangulation::getEdgeStarNumber ( const SimplexId edgeId) const
inlinevirtual

Get the number of star cells for the edgeId-th edge.

Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).

Also, the notion of edge only makes sense if the triangulation has a dimension greater than 1 (otherwise, use the cell information).

Precondition
For this function to behave correctly, preconditionEdgeStars() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
edgeIdInput global edge identifier
Returns
Returns the number of star cells.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulationCRTP< Derived >, ttk::ImplicitTriangulationCRTP< ImplicitNoPreconditions >, ttk::ImplicitTriangulationCRTP< ImplicitWithPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< Derived >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicNoPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicWithPreconditions >, and ttk::Triangulation.

Definition at line 625 of file AbstractTriangulation.h.

◆ getEdgeStarNumberInternal()

virtual SimplexId ttk::AbstractTriangulation::getEdgeStarNumberInternal ( const SimplexId ttkNotUsededgeId) const
inlineprotectedvirtual

Definition at line 3138 of file AbstractTriangulation.h.

◆ getEdgeStars()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getEdgeStars ( )
inlinevirtual
Warning
YOU SHOULD NOT CALL THIS FUNCTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.

Get the list of star cell identifiers for all edges.

Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).

Also, the notion of edge only makes sense if the triangulation has a dimension greater than 1 (otherwise, use the cell information).

The number of entries in this list is equal to the number of edges. Each entry is a std::vector of identifiers whose size is equal to the number of star cells for the corresponding edge.

In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.

Precondition
For this function to behave correctly, preconditionEdgeStars() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Returns
Returns a pointer to the edge star list.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 664 of file AbstractTriangulation.h.

◆ getEdgeStarsInternal()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getEdgeStarsInternal ( )
inlineprotectedvirtual

Definition at line 3143 of file AbstractTriangulation.h.

◆ getEdgeTriangle()

virtual int ttk::AbstractTriangulation::getEdgeTriangle ( const SimplexId edgeId,
const int &  localTriangleId,
SimplexId triangleId 
) const
inlinevirtual

Get the localTriangleId-th triangle id of the edgeId-th edge.

In 2D, this function is equivalent to getEdgeStar().

Precondition
For this function to behave correctly, preconditionEdgeTriangles() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
edgeIdInput global edge identifier.
localTriangleIdInput local triangle identifier, in [0, getEdgeTriangleNumber()].
triangleIdOutput global triangle identifier.
Returns
Returns 0 upon success, negative values otherwise.
See also
getEdgeTriangleNumber()
getEdgeStar()

Reimplemented in ttk::Triangulation.

Definition at line 694 of file AbstractTriangulation.h.

◆ getEdgeTriangleInternal()

virtual int ttk::AbstractTriangulation::getEdgeTriangleInternal ( const SimplexId ttkNotUsededgeId,
const int &  ttkNotUsedlocalTriangleId,
SimplexId ttkNotUsedtriangleId 
) const
inlineprotectedvirtual

Definition at line 3148 of file AbstractTriangulation.h.

◆ getEdgeTriangleNumber()

virtual SimplexId ttk::AbstractTriangulation::getEdgeTriangleNumber ( const SimplexId edgeId) const
inlinevirtual

Get the number of triangles for the edgeId-th edge.

In 2D, this function is equivalent to getEdgeStarNumber().

Precondition
For this function to behave correctly, preconditionEdgeTriangles() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
edgeIdInput global edge identifier.
Returns
Returns the number of edge triangles.
See also
getEdgeStarNumber

Reimplemented in ttk::Triangulation.

Definition at line 728 of file AbstractTriangulation.h.

◆ getEdgeTriangleNumberInternal()

virtual SimplexId ttk::AbstractTriangulation::getEdgeTriangleNumberInternal ( const SimplexId ttkNotUsededgeId) const
inlineprotectedvirtual

Definition at line 3155 of file AbstractTriangulation.h.

◆ getEdgeTriangles()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getEdgeTriangles ( )
inlinevirtual
Warning
YOU SHOULD NOT CALL THIS FUNCTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.

Get the list of triangles for all edges.

The number of entries in this list is equal to the number of edges. Each entry is a std::vector of identifiers whose size is equal to the number of triangles for the corresponding edge.

In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.

In 2D, this function is equivalent to getEdgeStars().

Precondition
For this function to behave correctly, preconditionEdgeTriangles() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Returns
Returns a pointer to the edge triangle list.
See also
getEdgeStars

Reimplemented in ttk::Triangulation.

Definition at line 769 of file AbstractTriangulation.h.

◆ getEdgeTrianglesInternal()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getEdgeTrianglesInternal ( )
inlineprotectedvirtual

◆ getEdgeVertex()

virtual int ttk::AbstractTriangulation::getEdgeVertex ( const SimplexId edgeId,
const int &  localVertexId,
SimplexId vertexId 
) const
inlinevirtual

Get the localVertexId-th vertex identifier of the edgeId-th edge.

In 1D, this function is equivalent to getCellVertex().

Precondition
For this function to behave correctly, preconditionEdges() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
edgeIdInput global edge identifier.
localVertexIdInput local vertex identifier (0 or 1).
vertexIdOutput global vertex identifier.
Returns
Returns 0 upon success, negative values otherwise.
See also
getCellVertex()

Reimplemented in ttk::Triangulation.

Definition at line 801 of file AbstractTriangulation.h.

◆ getEdgeVertexInternal()

virtual int ttk::AbstractTriangulation::getEdgeVertexInternal ( const SimplexId ttkNotUsededgeId,
const int &  ttkNotUsedlocalVertexId,
SimplexId ttkNotUsedvertexId 
) const
inlineprotectedvirtual

Definition at line 3165 of file AbstractTriangulation.h.

◆ getEdgeVertexNumber()

int ttk::AbstractTriangulation::getEdgeVertexNumber ( const SimplexId   ttkNotUsededgeId) const
inline

Get the number of vertices of a particular edge. Always returns 2.

Definition at line 819 of file AbstractTriangulation.h.

◆ getGradientCacheHandler()

gradientCacheType * ttk::AbstractTriangulation::getGradientCacheHandler ( ) const
inlineprotected

Definition at line 3896 of file AbstractTriangulation.h.

◆ getGridDimensions()

virtual const std::array< SimplexId, 3 > & ttk::AbstractTriangulation::getGridDimensions ( ) const
inlinevirtual

Get the dimensions of the grid if the current object is the implicit triangulation of a regular grid.

Parameters
dimensionsVector that will be filled with the dimensions of the grid. This std::vector has 3 entries (first: x, second: y, third: z).
Returns
Returns 0 upon success, negative values otherwise (for instance, if the object is not representing a regular grid).

Reimplemented in ttk::ImplicitTriangulation, and ttk::PeriodicImplicitTriangulation.

Definition at line 830 of file AbstractTriangulation.h.

◆ getNumberOfCells()

virtual SimplexId ttk::AbstractTriangulation::getNumberOfCells ( ) const
inlinevirtual

Get the number of cells in the triangulation.

Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).

Returns
Returns the number of cells.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 839 of file AbstractTriangulation.h.

◆ getNumberOfCellsInternal()

virtual SimplexId ttk::AbstractTriangulation::getNumberOfCellsInternal ( ) const
inlineprotectedvirtual

Definition at line 3171 of file AbstractTriangulation.h.

◆ getNumberOfEdges()

virtual SimplexId ttk::AbstractTriangulation::getNumberOfEdges ( ) const
inlinevirtual

Get the number of edges in the triangulation.

In 1D, this function is equivalent to getNumberOfCells().

Precondition
For this function to behave correctly, preconditionEdges() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Returns
Returns the number of edges.
See also
getNumberOfCells()

Reimplemented in ttk::Triangulation.

Definition at line 856 of file AbstractTriangulation.h.

◆ getNumberOfEdgesInternal()

virtual SimplexId ttk::AbstractTriangulation::getNumberOfEdgesInternal ( ) const
inlineprotectedvirtual

◆ getNumberOfTriangles()

virtual SimplexId ttk::AbstractTriangulation::getNumberOfTriangles ( ) const
inlinevirtual

Get the number of triangles in the triangulation.

In 2D, this function is equivalent to getNumberOfCells().

Precondition
For this function to behave correctly, preconditionTriangles() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Returns
Returns the number of triangles.
See also
getNumberOfCells()

Reimplemented in ttk::Triangulation.

Definition at line 880 of file AbstractTriangulation.h.

◆ getNumberOfTrianglesInternal()

virtual SimplexId ttk::AbstractTriangulation::getNumberOfTrianglesInternal ( ) const
inlineprotectedvirtual

◆ getNumberOfVertices()

virtual SimplexId ttk::AbstractTriangulation::getNumberOfVertices ( ) const
inlinevirtual

Get the number of vertices in the triangulation.

Returns
Returns the number of vertices.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 896 of file AbstractTriangulation.h.

◆ getNumberOfVerticesInternal()

virtual SimplexId ttk::AbstractTriangulation::getNumberOfVerticesInternal ( ) const
inlineprotectedvirtual

Definition at line 3183 of file AbstractTriangulation.h.

◆ getTetraIncenter()

int ttk::AbstractTriangulation::getTetraIncenter ( const SimplexId  tetraId,
float  incenter[3] 
) const
inline

Compute the barycenter of the incenters of the triangles of the given tetra identifier.

Definition at line 2507 of file AbstractTriangulation.h.

◆ getTriangleEdge()

virtual int ttk::AbstractTriangulation::getTriangleEdge ( const SimplexId triangleId,
const int &  localEdgeId,
SimplexId edgeId 
) const
inlinevirtual

Get the localEdgeId-th edge of the triangleId-th triangle.

In 2D, this function is equivalent to getCellEdge().

Precondition
For this function to behave correctly, preconditionTriangleEdges() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
triangleIdInput global triangle identifier.
localEdgeIdInput local edge identifier, in [0, getTriangleEdgeNumber()].
edgeIdOutput global edge identifier.
Returns
Returns 0 upon success, negative values otherwise.
See also
getTriangleEdgeNumber()
getCellEdge()

Reimplemented in ttk::Triangulation.

Definition at line 950 of file AbstractTriangulation.h.

◆ getTriangleEdgeInternal()

virtual int ttk::AbstractTriangulation::getTriangleEdgeInternal ( const SimplexId ttkNotUsedtriangleId,
const int &  ttkNotUsedlocalEdgeId,
SimplexId ttkNotUsededgeId 
) const
inlineprotectedvirtual

Definition at line 3193 of file AbstractTriangulation.h.

◆ getTriangleEdgeNumber()

virtual SimplexId ttk::AbstractTriangulation::getTriangleEdgeNumber ( const SimplexId triangleId) const
inlinevirtual

Get the number of edges of the triangleId-th triangle.

In 2D, this function is equivalent to getCellEdgeNumber().

Precondition
For this function to behave correctly, preconditionTriangleEdges() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
triangleIdInput global triangle identifier.
Returns
Returns the number of cells in the link of the triangle.
See also
getCellEdgeNumber()

Reimplemented in ttk::Triangulation.

Definition at line 982 of file AbstractTriangulation.h.

◆ getTriangleEdgeNumberInternal()

virtual SimplexId ttk::AbstractTriangulation::getTriangleEdgeNumberInternal ( const SimplexId ttkNotUsedtriangleId) const
inlineprotectedvirtual

Reimplemented in ttk::PeriodicImplicitTriangulation.

Definition at line 3199 of file AbstractTriangulation.h.

◆ getTriangleEdges()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getTriangleEdges ( )
inlinevirtual
Warning
YOU SHOULD NOT CALL THIS FUNCTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.

Get the list of edges for all triangles.

The number of entries in this list is equal to the number of triangles. Each entry is a std::vector of identifiers representing the edges connected to the triangle (3).

In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.

In 2D, this function is equivalent to getCellEdges().

Precondition
For this function to behave correctly, preconditionTriangleEdges() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Returns
Returns a pointer to the triangle edge list.
See also
getCellEdges()

Reimplemented in ttk::Triangulation.

Definition at line 1020 of file AbstractTriangulation.h.

◆ getTriangleEdgesInternal()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getTriangleEdgesInternal ( )
inlineprotectedvirtual

◆ getTriangleIncenter()

int ttk::AbstractTriangulation::getTriangleIncenter ( const SimplexId  triangleId,
float  incenter[3] 
) const
inline

Compute the incenter of the points of the given triangle identifier.

Definition at line 2467 of file AbstractTriangulation.h.

◆ getTriangleLink()

virtual int ttk::AbstractTriangulation::getTriangleLink ( const SimplexId triangleId,
const int &  localLinkId,
SimplexId linkId 
) const
inlinevirtual

Get the localLinkId-th simplex of the link of the triangleId-th triangle.

The notion of triangle link only makes sense in 3D, where the output linkId refers to a vertex identifier.

Precondition
For this function to behave correctly, preconditionTriangleLinks() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
triangleIdInput global triangle identifier.
localLinkIdInput local link simplex identifier, in [0, getTriangleLinkNumber()].
linkIdOutput link simplex identifier.
Returns
Returns 0 upon success, negative values otherwise.
See also
getTriangleLinkNumber()

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulationCRTP< Derived >, ttk::ImplicitTriangulationCRTP< ImplicitNoPreconditions >, ttk::ImplicitTriangulationCRTP< ImplicitWithPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< Derived >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicNoPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicWithPreconditions >, and ttk::Triangulation.

Definition at line 1051 of file AbstractTriangulation.h.

◆ getTriangleLinkInternal()

virtual int ttk::AbstractTriangulation::getTriangleLinkInternal ( const SimplexId ttkNotUsedtriangleId,
const int &  ttkNotUsedlocalLinkId,
SimplexId ttkNotUsedlinkId 
) const
inlineprotectedvirtual

Definition at line 3210 of file AbstractTriangulation.h.

◆ getTriangleLinkNumber()

virtual SimplexId ttk::AbstractTriangulation::getTriangleLinkNumber ( const SimplexId triangleId) const
inlinevirtual

Get the number of simplices in the link of the triangleId-th triangle.

The notion of triangle link only makes sense in 3D, where the number of vertices in the link will be returned.

Precondition
For this function to behave correctly, preconditionTriangleLinks() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
triangleIdInput global triangle identifier.
Returns
Returns the number of simplices in the link of the triangle.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 1083 of file AbstractTriangulation.h.

◆ getTriangleLinkNumberInternal()

virtual SimplexId ttk::AbstractTriangulation::getTriangleLinkNumberInternal ( const SimplexId ttkNotUsedtriangleId) const
inlineprotectedvirtual

Definition at line 3216 of file AbstractTriangulation.h.

◆ getTriangleLinks()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getTriangleLinks ( )
inlinevirtual
Warning
YOU SHOULD NOT CALL THIS FUNCTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.

Get the list of link simplices for all triangles.

The number of entries in this list is equal to the number of triangles. Each entry is a std::vector of identifiers representing a vertex.

The notion of triangle link only makes sense in 3D.

In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.

Precondition
For this function to behave correctly, preconditionTriangleLinks() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Returns
Returns a pointer to the triangle link list.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 1119 of file AbstractTriangulation.h.

◆ getTriangleLinksInternal()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getTriangleLinksInternal ( )
inlineprotectedvirtual

Definition at line 3222 of file AbstractTriangulation.h.

◆ getTriangles()

virtual const std::vector< std::array< SimplexId, 3 > > * ttk::AbstractTriangulation::getTriangles ( )
inlinevirtual
Warning
YOU SHOULD NOT CALL THIS FUNCTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.

Get the list of triangles of the triangulation.

Here the notion of triangle only makes sense if the triangulation has a dimension greater than 2 (otherwise, use the cell information).

The number of entries in this list is equal to the number of triangles. Each entry is a std::vector of vertex identifiers.

In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.

Precondition
For this function to behave correctly, preconditionTriangles() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Returns
Returns a pointer to the triangle list.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 924 of file AbstractTriangulation.h.

◆ getTrianglesInternal()

virtual const std::vector< std::array< SimplexId, 3 > > * ttk::AbstractTriangulation::getTrianglesInternal ( )
inlineprotectedvirtual

Definition at line 3188 of file AbstractTriangulation.h.

◆ getTriangleStar()

virtual int ttk::AbstractTriangulation::getTriangleStar ( const SimplexId triangleId,
const int &  localStarId,
SimplexId starId 
) const
inlinevirtual

Get the localStarId-th cell of the star of the triangleId-th triangle.

The notion of triangle star only makes sense in 3D, where the output starId refers to a tetrahedron identifier.

Precondition
For this function to behave correctly, preconditionTriangleStars() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
triangleIdInput global triangle identifier.
localStarIdInput local star cell identifier, in [0, getTriangleStarNumber()].
starIdOutput global star cell identifier.
Returns
Returns 0 upon success, negative values otherwise.
See also
getTriangleStarNumber()

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulationCRTP< Derived >, ttk::ImplicitTriangulationCRTP< ImplicitNoPreconditions >, ttk::ImplicitTriangulationCRTP< ImplicitWithPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< Derived >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicNoPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicWithPreconditions >, and ttk::Triangulation.

Definition at line 1150 of file AbstractTriangulation.h.

◆ getTriangleStarInternal()

virtual int ttk::AbstractTriangulation::getTriangleStarInternal ( const SimplexId ttkNotUsedtriangleId,
const int &  ttkNotUsedlocalStarId,
SimplexId ttkNotUsedstarId 
) const
inlineprotectedvirtual

Definition at line 3227 of file AbstractTriangulation.h.

◆ getTriangleStarNumber()

virtual SimplexId ttk::AbstractTriangulation::getTriangleStarNumber ( const SimplexId triangleId) const
inlinevirtual

Get the number of star cells for the triangleId-th triangle.

The notion of triangle star only makes sense in 3D, where the number of tetrahedra in the star will be returned.

Precondition
For this function to behave correctly, preconditionTriangleStars() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
triangleIdInput global triangle identifier.
Returns
Returns the number of star cells.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulationCRTP< Derived >, ttk::ImplicitTriangulationCRTP< ImplicitNoPreconditions >, ttk::ImplicitTriangulationCRTP< ImplicitWithPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< Derived >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicNoPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicWithPreconditions >, and ttk::Triangulation.

Definition at line 1181 of file AbstractTriangulation.h.

◆ getTriangleStarNumberInternal()

virtual SimplexId ttk::AbstractTriangulation::getTriangleStarNumberInternal ( const SimplexId ttkNotUsedtriangleId) const
inlineprotectedvirtual

Definition at line 3233 of file AbstractTriangulation.h.

◆ getTriangleStars()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getTriangleStars ( )
inlinevirtual
Warning
YOU SHOULD NOT CALL THIS FUNCTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.

Get the list of star cell identifiers for all triangles.

The number of entries in this list is equal to the number of triangles. Each entry is a std::vector of identifiers whose size is equal to the number of star cells for the corresponding triangle.

The notion of triangle star only makes sense in 3D.

In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.

Precondition
For this function to behave correctly, preconditionTriangleStars() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Returns
Returns a pointer to the triangle star list.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 1218 of file AbstractTriangulation.h.

◆ getTriangleStarsInternal()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getTriangleStarsInternal ( )
inlineprotectedvirtual

Definition at line 3239 of file AbstractTriangulation.h.

◆ getTriangleVertex()

virtual int ttk::AbstractTriangulation::getTriangleVertex ( const SimplexId triangleId,
const int &  localVertexId,
SimplexId vertexId 
) const
inlinevirtual

Get the localVertexId-th vertex identifier of the triangleId-th triangle.

In 2D, this function is equivalent to getCellVertex().

Precondition
For this function to behave correctly, preconditionTriangles() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
triangleIdInput global edge identifier.
localVertexIdInput local vertex identifier (in [0, 2]).
vertexIdOutput global vertex identifier.
Returns
Returns 0 upon success, negative values otherwise.
See also
getCellVertex()

Reimplemented in ttk::Triangulation.

Definition at line 1246 of file AbstractTriangulation.h.

◆ getTriangleVertexInternal()

virtual int ttk::AbstractTriangulation::getTriangleVertexInternal ( const SimplexId ttkNotUsedtriangleId,
const int &  ttkNotUsedlocalVertexId,
SimplexId ttkNotUsedvertexId 
) const
inlineprotectedvirtual

Definition at line 3244 of file AbstractTriangulation.h.

◆ getTriangleVertexNumber()

int ttk::AbstractTriangulation::getTriangleVertexNumber ( const SimplexId   ttkNotUsedtriangleId) const
inline

Get the number of vertices of a particular triangle. Always returns 3.

Definition at line 1268 of file AbstractTriangulation.h.

◆ getVertexEdge()

virtual int ttk::AbstractTriangulation::getVertexEdge ( const SimplexId vertexId,
const int &  localEdgeId,
SimplexId edgeId 
) const
inlinevirtual

Get the localEdgeId-th edge identifier connected to the vertexId-th vertex.

In 1D, this function is equivalent to getVertexStar().

Precondition
For this function to behave correctly, preconditionVertexEdges() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
vertexIdInput global vertex identifier.
localEdgeIdInput local edge identifier, in [0, getVertexEdgeNumber()].
edgeIdOutput global edge identifier.
Returns
Returns 0 upon success, negative values otherwise.
See also
getVertexEdgeNumber()
getVertexStar()

Reimplemented in ttk::Triangulation.

Definition at line 1292 of file AbstractTriangulation.h.

◆ getVertexEdgeInternal()

virtual int ttk::AbstractTriangulation::getVertexEdgeInternal ( const SimplexId ttkNotUsedvertexId,
const int &  ttkNotUsedlocalEdgeId,
SimplexId ttkNotUsededgeId 
) const
inlineprotectedvirtual

Definition at line 3251 of file AbstractTriangulation.h.

◆ getVertexEdgeNumber()

virtual SimplexId ttk::AbstractTriangulation::getVertexEdgeNumber ( const SimplexId vertexId) const
inlinevirtual

Get the number of edges connected to the vertexId-th vertex.

In 1D, this function is equivalent to getVertexStarNumber().

Precondition
For this function to behave correctly, preconditionVertexEdges() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
vertexIdInput global vertex identifier.
Returns
Returns the number of edges connected to the vertex.
See also
getVertexStarNumber()

Reimplemented in ttk::Triangulation.

Definition at line 1324 of file AbstractTriangulation.h.

◆ getVertexEdgeNumberInternal()

virtual SimplexId ttk::AbstractTriangulation::getVertexEdgeNumberInternal ( const SimplexId ttkNotUsedvertexId) const
inlineprotectedvirtual

Definition at line 3258 of file AbstractTriangulation.h.

◆ getVertexEdges()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getVertexEdges ( )
inlinevirtual
Warning
YOU SHOULD NOT CALL THIS FUNCTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.

Get the list of edge identifiers for all vertices.

The number of entries in this list is equal to the number of vertices. Each entry is a std::vector of identifiers whose size is equal to the number of edges connected to the corresponding vertex.

In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.

In 1D, this function is equivalent to getVertexStars()

Precondition
For this function to behave correctly, preconditionVertexEdges() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Returns
Returns a pointer to the vertex edge list.
See also
getVertexStars()

Reimplemented in ttk::Triangulation.

Definition at line 1361 of file AbstractTriangulation.h.

◆ getVertexEdgesInternal()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getVertexEdgesInternal ( )
inlineprotectedvirtual

◆ getVertexLink()

virtual int ttk::AbstractTriangulation::getVertexLink ( const SimplexId vertexId,
const int &  localLinkId,
SimplexId linkId 
) const
inlinevirtual

Get the localLinkId-th simplex of the link of the vertexId-th vertex.

The output linkId refers in 2D to an edge identifier and in 3D to a triangle identifier.

Precondition
For this function to behave correctly, preconditionVertexLinks() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
vertexIdInput global vertex identifier.
localLinkIdInput local link simplex identifier, in [0, getVertexLinkNumber()].
linkIdOutput link simplex identifier.
Returns
Returns 0 upon success, negative values otherwise.
See also
getVertexLinkNumber()

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulationCRTP< Derived >, ttk::ImplicitTriangulationCRTP< ImplicitNoPreconditions >, ttk::ImplicitTriangulationCRTP< ImplicitWithPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< Derived >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicNoPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicWithPreconditions >, and ttk::Triangulation.

Definition at line 1391 of file AbstractTriangulation.h.

◆ getVertexLinkInternal()

virtual int ttk::AbstractTriangulation::getVertexLinkInternal ( const SimplexId ttkNotUsedvertexId,
const int &  ttkNotUsedlocalLinkId,
SimplexId ttkNotUsedlinkId 
) const
inlineprotectedvirtual

Definition at line 3268 of file AbstractTriangulation.h.

◆ getVertexLinkNumber()

virtual SimplexId ttk::AbstractTriangulation::getVertexLinkNumber ( const SimplexId vertexId) const
inlinevirtual

Get the number of simplices in the link of the vertexId-th vertex.

In 2D, this will return the number of edges in the link, in 3D the number of triangles.

Precondition
For this function to behave correctly, preconditionVertexLinks() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
vertexIdInput global vertex identifier.
Returns
Returns the number of cells in the link of the vertex.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 1419 of file AbstractTriangulation.h.

◆ getVertexLinkNumberInternal()

virtual SimplexId ttk::AbstractTriangulation::getVertexLinkNumberInternal ( const SimplexId ttkNotUsedvertexId) const
inlineprotectedvirtual

Definition at line 3275 of file AbstractTriangulation.h.

◆ getVertexLinks()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getVertexLinks ( )
inlinevirtual
Warning
YOU SHOULD NOT CALL THIS FUNCTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.

Get the list of link simplices for all vertices.

The number of entries in this list is equal to the number of vertices. Each entry is a std::vector of identifiers representing edges in 2D and triangles in 3D.

In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.

Precondition
For this function to behave correctly, preconditionVertexLinks() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Returns
Returns a pointer to the vertex link list.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 1451 of file AbstractTriangulation.h.

◆ getVertexLinksInternal()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getVertexLinksInternal ( )
inlineprotectedvirtual

Definition at line 3280 of file AbstractTriangulation.h.

◆ getVertexNeighbor()

virtual int ttk::AbstractTriangulation::getVertexNeighbor ( const SimplexId vertexId,
const int &  localNeighborId,
SimplexId neighborId 
) const
inlinevirtual

Get the localNeighborId-th vertex neighbor of the vertexId-th vertex.

Precondition
For this function to behave correctly, preconditionVertexNeighbors() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
vertexIdInput global vertex identifier.
localNeighborIdInput local neighbor identifier, in [0, getVertexNeighborNumber()].
neighborIdOutput global neighbor vertex identifier.
Returns
Returns 0 upon success, negative values otherwise.
See also
getVertexNeighborNumber()

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulationCRTP< Derived >, ttk::ImplicitTriangulationCRTP< ImplicitNoPreconditions >, ttk::ImplicitTriangulationCRTP< ImplicitWithPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< Derived >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicNoPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicWithPreconditions >, and ttk::Triangulation.

Definition at line 1475 of file AbstractTriangulation.h.

◆ getVertexNeighborInternal()

virtual int ttk::AbstractTriangulation::getVertexNeighborInternal ( const SimplexId ttkNotUsedvertexId,
const int &  ttkNotUsedlocalNeighborId,
SimplexId ttkNotUsedneighborId 
) const
inlineprotectedvirtual

Definition at line 3285 of file AbstractTriangulation.h.

◆ getVertexNeighborNumber()

virtual SimplexId ttk::AbstractTriangulation::getVertexNeighborNumber ( const SimplexId vertexId) const
inlinevirtual

Get the number of vertex neighbors for the vertexId-th vertex.

Precondition
For this function to behave correctly, preconditionVertexNeighbors() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
vertexIdInput global vertex identifier.
Returns
Returns the number vertex neighbors.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulationCRTP< Derived >, ttk::ImplicitTriangulationCRTP< ImplicitNoPreconditions >, ttk::ImplicitTriangulationCRTP< ImplicitWithPreconditions >, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 1500 of file AbstractTriangulation.h.

◆ getVertexNeighborNumberInternal()

virtual SimplexId ttk::AbstractTriangulation::getVertexNeighborNumberInternal ( const SimplexId ttkNotUsedvertexId) const
inlineprotectedvirtual

Definition at line 3291 of file AbstractTriangulation.h.

◆ getVertexNeighbors()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getVertexNeighbors ( )
inlinevirtual
Warning
YOU SHOULD NOT CALL THIS FUNCTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.

Get the list of vertex neighbor identifiers for all vertices.

The number of entries in this list is equal to the number of vertices. Each entry is a std::vector of identifiers whose size is equal to the number of vertex neighbors for the corresponding vertex.

In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.

Precondition
For this function to behave correctly, preconditionVertexNeighbors() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Returns
Returns a pointer to the vertex neighbor list.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 1532 of file AbstractTriangulation.h.

◆ getVertexNeighborsInternal()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getVertexNeighborsInternal ( )
inlineprotectedvirtual

Definition at line 3297 of file AbstractTriangulation.h.

◆ getVertexPoint()

virtual int ttk::AbstractTriangulation::getVertexPoint ( const SimplexId vertexId,
float &  x,
float &  y,
float &  z 
) const
inlinevirtual

Get the point (3D coordinates) for the vertexId-th vertex.

Parameters
vertexIdInput global vertex identifier.
xOutput x coordinate.
yOutput y coordinate.
zOutput z coordinate.
Returns
Returns 0 upon success, negative values otherwise.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulationCRTP< Derived >, ttk::ImplicitTriangulationCRTP< ImplicitNoPreconditions >, ttk::ImplicitTriangulationCRTP< ImplicitWithPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< Derived >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicNoPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicWithPreconditions >, and ttk::Triangulation.

Definition at line 1546 of file AbstractTriangulation.h.

◆ getVertexPointInternal()

virtual int ttk::AbstractTriangulation::getVertexPointInternal ( const SimplexId ttkNotUsedvertexId,
float &  ttkNotUsedx,
float &  ttkNotUsedy,
float &  ttkNotUsed
) const
inlineprotectedvirtual

Definition at line 3302 of file AbstractTriangulation.h.

◆ getVertexStar()

virtual int ttk::AbstractTriangulation::getVertexStar ( const SimplexId vertexId,
const int &  localStarId,
SimplexId starId 
) const
inlinevirtual

Get the localStarId-th cell of the star of the vertexId-th vertex.

Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).

Precondition
For this function to behave correctly, preconditionVertexStars() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
vertexIdInput global vertex identifier.
localStarIdInput local star cell identifier, in [0, getVertexStarNumber()].
starIdOutput global star cell identifier.
Returns
Returns 0 upon success, negative values otherwise.
See also
getVertexStarNumber()

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulationCRTP< Derived >, ttk::ImplicitTriangulationCRTP< ImplicitNoPreconditions >, ttk::ImplicitTriangulationCRTP< ImplicitWithPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< Derived >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicNoPreconditions >, ttk::PeriodicImplicitTriangulationCRTP< PeriodicWithPreconditions >, and ttk::Triangulation.

Definition at line 1573 of file AbstractTriangulation.h.

◆ getVertexStarInternal()

virtual int ttk::AbstractTriangulation::getVertexStarInternal ( const SimplexId ttkNotUsedvertexId,
const int &  ttkNotUsedlocalStarId,
SimplexId ttkNotUsedstarId 
) const
inlineprotectedvirtual

Definition at line 3310 of file AbstractTriangulation.h.

◆ getVertexStarNumber()

virtual SimplexId ttk::AbstractTriangulation::getVertexStarNumber ( const SimplexId vertexId) const
inlinevirtual

Get the number of star cells for the vertexId-th vertex.

Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).

Precondition
For this function to behave correctly, preconditionVertexStars() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
vertexIdInput global vertex identifier
Returns
Returns the number of star cells.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulationCRTP< Derived >, ttk::ImplicitTriangulationCRTP< ImplicitNoPreconditions >, ttk::ImplicitTriangulationCRTP< ImplicitWithPreconditions >, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 1601 of file AbstractTriangulation.h.

◆ getVertexStarNumberInternal()

virtual SimplexId ttk::AbstractTriangulation::getVertexStarNumberInternal ( const SimplexId ttkNotUsedvertexId) const
inlineprotectedvirtual

Definition at line 3317 of file AbstractTriangulation.h.

◆ getVertexStars()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getVertexStars ( )
inlinevirtual
Warning
YOU SHOULD NOT CALL THIS FUNCTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.

Get the list of star cell identifiers for all vertices.

Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).

The number of entries in this list is equal to the number of vertices. Each entry is a std::vector of identifiers whose size is equal to the number of star cells for the corresponding vertex.

In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.

Precondition
For this function to behave correctly, preconditionVertexStars() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Returns
Returns a pointer to the vertex star list.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 1634 of file AbstractTriangulation.h.

◆ getVertexStarsInternal()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getVertexStarsInternal ( )
inlineprotectedvirtual

Definition at line 3322 of file AbstractTriangulation.h.

◆ getVertexTriangle()

virtual int ttk::AbstractTriangulation::getVertexTriangle ( const SimplexId vertexId,
const int &  localTriangleId,
SimplexId triangleId 
) const
inlinevirtual

Get the localTriangleId-th triangle id of the vertexId-th vertex.

In 2D, this function is equivalent to getVertexStar().

Precondition
For this function to behave correctly, preconditionVertexTriangles() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
vertexIdInput global vertex identifier.
localTriangleIdInput local triangle identifier, in [0, getVertexTriangleNumber()].
triangleIdOutput global triangle identifier.
Returns
Returns 0 upon success, negative values otherwise.
See also
getVertexTriangleNumber()
getVertexStar()

Reimplemented in ttk::Triangulation.

Definition at line 1662 of file AbstractTriangulation.h.

◆ getVertexTriangleInternal()

virtual int ttk::AbstractTriangulation::getVertexTriangleInternal ( const SimplexId ttkNotUsedvertexId,
const int &  ttkNotUsedlocalTriangleId,
SimplexId ttkNotUsedtriangleId 
) const
inlineprotectedvirtual

Definition at line 3327 of file AbstractTriangulation.h.

◆ getVertexTriangleNumber()

virtual SimplexId ttk::AbstractTriangulation::getVertexTriangleNumber ( const SimplexId vertexId) const
inlinevirtual

Get the number of triangles for the vertexId-th vertex.

In 2D, this function is equivalent to getVertexStarNumber().

Precondition
For this function to behave correctly, preconditionVertexTriangles() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
vertexIdInput global vertex identifier.
Returns
Returns the number of vertex triangles.
See also
getVertexStarNumber()

Reimplemented in ttk::Triangulation.

Definition at line 1696 of file AbstractTriangulation.h.

◆ getVertexTriangleNumberInternal()

virtual SimplexId ttk::AbstractTriangulation::getVertexTriangleNumberInternal ( const SimplexId ttkNotUsedvertexId) const
inlineprotectedvirtual

Definition at line 3333 of file AbstractTriangulation.h.

◆ getVertexTriangles()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getVertexTriangles ( )
inlinevirtual
Warning
YOU SHOULD NOT CALL THIS FUNCTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.

Get the list of triangles for all vertices.

The number of entries in this list is equal to the number of vertices. Each entry is a std::vector of identifiers whose size is equal to the number of triangles for the corresponding vertex.

In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.

In 2D, this function is equivalent to getVertexStars().

Precondition
For this function to behave correctly, preconditionVertexTriangles() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Returns
Returns a pointer to the vertex triangle list.
See also
getVertexStars()

Reimplemented in ttk::Triangulation.

Definition at line 1737 of file AbstractTriangulation.h.

◆ getVertexTrianglesInternal()

virtual const std::vector< std::vector< SimplexId > > * ttk::AbstractTriangulation::getVertexTrianglesInternal ( )
inlineprotectedvirtual

◆ hasPeriodicBoundaries()

bool ttk::AbstractTriangulation::hasPeriodicBoundaries ( ) const
inline

Returns true if the grid uses period boundary conditions.

Definition at line 1752 of file AbstractTriangulation.h.

◆ hasPreconditionedBoundaryEdges()

bool ttk::AbstractTriangulation::hasPreconditionedBoundaryEdges ( ) const
inlineprotected

Definition at line 3358 of file AbstractTriangulation.h.

◆ hasPreconditionedBoundaryTriangles()

bool ttk::AbstractTriangulation::hasPreconditionedBoundaryTriangles ( ) const
inlineprotected

Definition at line 3373 of file AbstractTriangulation.h.

◆ hasPreconditionedBoundaryVertices()

bool ttk::AbstractTriangulation::hasPreconditionedBoundaryVertices ( ) const
inlineprotected

Definition at line 3387 of file AbstractTriangulation.h.

◆ hasPreconditionedCellEdges()

bool ttk::AbstractTriangulation::hasPreconditionedCellEdges ( ) const
inlineprotected

Definition at line 3400 of file AbstractTriangulation.h.

◆ hasPreconditionedCellNeighbors()

bool ttk::AbstractTriangulation::hasPreconditionedCellNeighbors ( ) const
inlineprotected

Definition at line 3416 of file AbstractTriangulation.h.

◆ hasPreconditionedCellTriangles()

bool ttk::AbstractTriangulation::hasPreconditionedCellTriangles ( ) const
inlineprotected

Definition at line 3429 of file AbstractTriangulation.h.

◆ hasPreconditionedEdgeLinks()

bool ttk::AbstractTriangulation::hasPreconditionedEdgeLinks ( ) const
inlineprotected

Definition at line 3446 of file AbstractTriangulation.h.

◆ hasPreconditionedEdges()

bool ttk::AbstractTriangulation::hasPreconditionedEdges ( ) const
inlineprotected

Definition at line 3489 of file AbstractTriangulation.h.

◆ hasPreconditionedEdgeStars()

bool ttk::AbstractTriangulation::hasPreconditionedEdgeStars ( ) const
inlineprotected

Definition at line 3459 of file AbstractTriangulation.h.

◆ hasPreconditionedEdgeTriangles()

bool ttk::AbstractTriangulation::hasPreconditionedEdgeTriangles ( ) const
inlineprotected

Definition at line 3472 of file AbstractTriangulation.h.

◆ hasPreconditionedManifold()

bool ttk::AbstractTriangulation::hasPreconditionedManifold ( ) const
inlineprotected

Definition at line 3634 of file AbstractTriangulation.h.

◆ hasPreconditionedTriangleEdges()

bool ttk::AbstractTriangulation::hasPreconditionedTriangleEdges ( ) const
inlineprotected

Definition at line 3519 of file AbstractTriangulation.h.

◆ hasPreconditionedTriangleLinks()

bool ttk::AbstractTriangulation::hasPreconditionedTriangleLinks ( ) const
inlineprotected

Definition at line 3536 of file AbstractTriangulation.h.

◆ hasPreconditionedTriangles()

bool ttk::AbstractTriangulation::hasPreconditionedTriangles ( ) const
inlineprotected

Definition at line 3504 of file AbstractTriangulation.h.

◆ hasPreconditionedTriangleStars()

bool ttk::AbstractTriangulation::hasPreconditionedTriangleStars ( ) const
inlineprotected

Definition at line 3549 of file AbstractTriangulation.h.

◆ hasPreconditionedVertexEdges()

bool ttk::AbstractTriangulation::hasPreconditionedVertexEdges ( ) const
inlineprotected

Definition at line 3562 of file AbstractTriangulation.h.

◆ hasPreconditionedVertexLinks()

bool ttk::AbstractTriangulation::hasPreconditionedVertexLinks ( ) const
inlineprotected

Definition at line 3578 of file AbstractTriangulation.h.

◆ hasPreconditionedVertexNeighbors()

bool ttk::AbstractTriangulation::hasPreconditionedVertexNeighbors ( ) const
inlineprotected

Definition at line 3591 of file AbstractTriangulation.h.

◆ hasPreconditionedVertexStars()

bool ttk::AbstractTriangulation::hasPreconditionedVertexStars ( ) const
inlineprotected

Definition at line 3604 of file AbstractTriangulation.h.

◆ hasPreconditionedVertexTriangles()

bool ttk::AbstractTriangulation::hasPreconditionedVertexTriangles ( ) const
inlineprotected

Definition at line 3617 of file AbstractTriangulation.h.

◆ isEdgeOnBoundary()

virtual bool ttk::AbstractTriangulation::isEdgeOnBoundary ( const SimplexId edgeId) const
inlinevirtual

Check if the edge with global identifier edgeId is on the boundary of the domain.

For 2D triangulations, this function will return true if the edge is a boundary edge. For 3D triangulations, this function will return true if the edge belongs to a boundary triangle.

Here the notion of edge only makes sense if the triangulation has a dimension greater than 1 (otherwise, use the cell information).

Precondition
For this function to behave correctly, preconditionBoundaryEdges() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
edgeIdInput global edge identifier.
Returns
Returns true if the edge is on the boundary, false otherwise.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulationCRTP< Derived >, ttk::ImplicitTriangulationCRTP< ImplicitNoPreconditions >, ttk::ImplicitTriangulationCRTP< ImplicitWithPreconditions >, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 1775 of file AbstractTriangulation.h.

◆ isEdgeOnBoundaryInternal()

virtual bool ttk::AbstractTriangulation::isEdgeOnBoundaryInternal ( const SimplexId ttkNotUsededgeId) const
inlineprotectedvirtual

Definition at line 3344 of file AbstractTriangulation.h.

◆ isEmpty()

virtual bool ttk::AbstractTriangulation::isEmpty ( ) const
inlinevirtual

Check if the data structure is empty or not.

Returns
Returns true if empty, false otherwise.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 1785 of file AbstractTriangulation.h.

◆ isManifold()

virtual bool ttk::AbstractTriangulation::isManifold ( ) const
inlinevirtual

If the triangulation is manifold or not (Rips Complexes are not manifold)

Returns
True if the triangulation is manifold

Reimplemented in ttk::Triangulation.

Definition at line 1792 of file AbstractTriangulation.h.

◆ isTriangleOnBoundary()

virtual bool ttk::AbstractTriangulation::isTriangleOnBoundary ( const SimplexId triangleId) const
inlinevirtual

Check if the triangle with global identifier triangleId is on the boundary of the domain.

Here the notion of triangle only makes sense if the triangulation has a dimension greater than 2 (otherwise, use the cell information).

For 2D triangulations, this function will return false all the time. For 3D triangulations, this function will return true if the triangle is a boundary triangle.

Precondition
For this function to behave correctly, preconditionBoundaryTriangles() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
triangleIdInput global triangle identifier.
Returns
Returns true if the triangle is on the boundary, false otherwise.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulation, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 1850 of file AbstractTriangulation.h.

◆ isTriangleOnBoundaryInternal()

virtual bool ttk::AbstractTriangulation::isTriangleOnBoundaryInternal ( const SimplexId ttkNotUsedtriangleId) const
inlineprotectedvirtual

Definition at line 3348 of file AbstractTriangulation.h.

◆ isVertexOnBoundary()

virtual bool ttk::AbstractTriangulation::isVertexOnBoundary ( const SimplexId vertexId) const
inlinevirtual

Check if the vertex with global identifier vertexId is on the boundary of the domain.

For 2D triangulations, this function will return true if the vertex belongs to a boundary edge. For 3D triangulations, this function will return true if the vertex belongs to a boundary triangle.

Precondition
For this function to behave correctly, preconditionBoundaryVertices() needs to be called on this object prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude such a preconditioning step from any time performance measurement.
Parameters
vertexIdInput global vertex identifier.
Returns
Returns true if the vertex is on the boundary, false otherwise.

Reimplemented in ttk::CompactTriangulation, ttk::ExplicitTriangulation, ttk::ImplicitTriangulationCRTP< Derived >, ttk::ImplicitTriangulationCRTP< ImplicitNoPreconditions >, ttk::ImplicitTriangulationCRTP< ImplicitWithPreconditions >, ttk::PeriodicImplicitTriangulation, and ttk::Triangulation.

Definition at line 1875 of file AbstractTriangulation.h.

◆ isVertexOnBoundaryInternal()

virtual bool ttk::AbstractTriangulation::isVertexOnBoundaryInternal ( const SimplexId ttkNotUsedvertexId) const
inlineprotectedvirtual

Definition at line 3354 of file AbstractTriangulation.h.

◆ needsToAbort()

bool ttk::AbstractTriangulation::needsToAbort ( )
inlineoverrideprotectedvirtual

Implements ttk::Wrapper.

Definition at line 3647 of file AbstractTriangulation.h.

◆ operator=() [1/2]

AbstractTriangulation & ttk::AbstractTriangulation::operator= ( AbstractTriangulation &&  )
default

◆ operator=() [2/2]

AbstractTriangulation & ttk::AbstractTriangulation::operator= ( const AbstractTriangulation )
default

◆ preconditionBoundaryEdges()

virtual int ttk::AbstractTriangulation::preconditionBoundaryEdges ( )
inlinevirtual

Pre-process the boundary edges.

This function should ONLY be called as a pre-condition to the following function(s):

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
isEdgeOnBoundary()

Reimplemented in ttk::Triangulation.

Definition at line 1896 of file AbstractTriangulation.h.

◆ preconditionBoundaryEdgesInternal()

virtual int ttk::AbstractTriangulation::preconditionBoundaryEdgesInternal ( )
inlineprotectedvirtual

Reimplemented in ttk::CompactTriangulation, and ttk::ExplicitTriangulation.

Definition at line 3651 of file AbstractTriangulation.h.

◆ preconditionBoundaryTriangles()

virtual int ttk::AbstractTriangulation::preconditionBoundaryTriangles ( )
inlinevirtual

Pre-process the boundary triangles.

This function should ONLY be called as a pre-condition to the following function(s):

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
isTriangleOnBoundary()

Reimplemented in ttk::Triangulation.

Definition at line 1919 of file AbstractTriangulation.h.

◆ preconditionBoundaryTrianglesInternal()

virtual int ttk::AbstractTriangulation::preconditionBoundaryTrianglesInternal ( )
inlineprotectedvirtual

Reimplemented in ttk::CompactTriangulation, and ttk::ExplicitTriangulation.

Definition at line 3655 of file AbstractTriangulation.h.

◆ preconditionBoundaryVertices()

virtual int ttk::AbstractTriangulation::preconditionBoundaryVertices ( )
inlinevirtual

Pre-process the boundary vertices.

This function should ONLY be called as a pre-condition to the following function(s):

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
isVertexOnBoundary()

Reimplemented in ttk::Triangulation.

Definition at line 1942 of file AbstractTriangulation.h.

◆ preconditionBoundaryVerticesInternal()

virtual int ttk::AbstractTriangulation::preconditionBoundaryVerticesInternal ( )
inlineprotectedvirtual

Reimplemented in ttk::CompactTriangulation, and ttk::ExplicitTriangulation.

Definition at line 3659 of file AbstractTriangulation.h.

◆ preconditionCellEdges()

virtual int ttk::AbstractTriangulation::preconditionCellEdges ( )
inlinevirtual

Pre-process the cell edges.

This function should ONLY be called as a pre-condition to the following functions:

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
getCellEdge()
getCellEdgeNumber()

Reimplemented in ttk::Triangulation.

Definition at line 1966 of file AbstractTriangulation.h.

◆ preconditionCellEdgesInternal()

virtual int ttk::AbstractTriangulation::preconditionCellEdgesInternal ( )
inlineprotectedvirtual

Reimplemented in ttk::CompactTriangulation, and ttk::ExplicitTriangulation.

Definition at line 3663 of file AbstractTriangulation.h.

◆ preconditionCellNeighbors()

virtual int ttk::AbstractTriangulation::preconditionCellNeighbors ( )
inlinevirtual

Pre-process the cell neighbors.

This function should ONLY be called as a pre-condition to the following functions:

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
getCellNeighbor()
getCellNeighbors()
getCellNeighborNumber()

Reimplemented in ttk::Triangulation.

Definition at line 1996 of file AbstractTriangulation.h.

◆ preconditionCellNeighborsInternal()

virtual int ttk::AbstractTriangulation::preconditionCellNeighborsInternal ( )
inlineprotectedvirtual

Reimplemented in ttk::CompactTriangulation, and ttk::ExplicitTriangulation.

Definition at line 3667 of file AbstractTriangulation.h.

◆ preconditionCellTriangles()

virtual int ttk::AbstractTriangulation::preconditionCellTriangles ( )
inlinevirtual

Pre-process the cell triangles.

This function should ONLY be called as a pre-condition to the following functions:

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
getCellTriangle()
getCellTriangles()
getCellTriangleNumber()

Reimplemented in ttk::Triangulation.

Definition at line 2022 of file AbstractTriangulation.h.

◆ preconditionCellTrianglesInternal()

virtual int ttk::AbstractTriangulation::preconditionCellTrianglesInternal ( )
inlineprotectedvirtual

Reimplemented in ttk::CompactTriangulation, and ttk::ExplicitTriangulation.

Definition at line 3671 of file AbstractTriangulation.h.

◆ preconditionEdgeLinks()

virtual int ttk::AbstractTriangulation::preconditionEdgeLinks ( )
inlinevirtual

Pre-process the edge links.

This function should ONLY be called as a pre-condition to the following functions:

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
getEdgeLink()
getEdgeLinks()
getEdgeLinkNumber()

Reimplemented in ttk::Triangulation.

Definition at line 2083 of file AbstractTriangulation.h.

◆ preconditionEdgeLinksInternal()

virtual int ttk::AbstractTriangulation::preconditionEdgeLinksInternal ( )
inlineprotectedvirtual

Reimplemented in ttk::CompactTriangulation, and ttk::ExplicitTriangulation.

Definition at line 3679 of file AbstractTriangulation.h.

◆ preconditionEdges()

virtual int ttk::AbstractTriangulation::preconditionEdges ( )
inlinevirtual

Pre-process the edges.

This function should ONLY be called as a pre-condition to the following functions:

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
getEdges()
getEdgeVertex()
getNumberOfEdges()

Reimplemented in ttk::Triangulation.

Definition at line 2057 of file AbstractTriangulation.h.

◆ preconditionEdgesInternal()

virtual int ttk::AbstractTriangulation::preconditionEdgesInternal ( )
inlineprotectedvirtual

◆ preconditionEdgeStars()

virtual int ttk::AbstractTriangulation::preconditionEdgeStars ( )
inlinevirtual

Pre-process the edge stars.

This function should ONLY be called as a pre-condition to the following functions:

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
getEdgeStar()
getEdgeStars()
getEdgeStarNumber()

Reimplemented in ttk::Triangulation.

Definition at line 2114 of file AbstractTriangulation.h.

◆ preconditionEdgeStarsInternal()

virtual int ttk::AbstractTriangulation::preconditionEdgeStarsInternal ( )
inlineprotectedvirtual

Reimplemented in ttk::CompactTriangulation, and ttk::ExplicitTriangulation.

Definition at line 3683 of file AbstractTriangulation.h.

◆ preconditionEdgeTriangles()

virtual int ttk::AbstractTriangulation::preconditionEdgeTriangles ( )
inlinevirtual

Pre-process the edge triangles.

This function should ONLY be called as a pre-condition to the following functions:

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
getEdgeTriangle()
getEdgeTriangles()
getEdgeTriangleNumber()

Reimplemented in ttk::Triangulation.

Definition at line 2145 of file AbstractTriangulation.h.

◆ preconditionEdgeTrianglesInternal()

virtual int ttk::AbstractTriangulation::preconditionEdgeTrianglesInternal ( )
inlineprotectedvirtual

Reimplemented in ttk::CompactTriangulation, and ttk::ExplicitTriangulation.

Definition at line 3687 of file AbstractTriangulation.h.

◆ preconditionManifold()

virtual int ttk::AbstractTriangulation::preconditionManifold ( )
inlinevirtual

Check if the triangulation is manifold or not.

ttk::ExplicitTriangulation (and maybe ttk::CompactTriangulation too) can be generated from non-manifold datasets (such as a Rips Complex). Some TTK modules may be valid only for manifold triangulations, other may have alternatives for non-manifold data-sets (

See also
ttk::PersistenceDiagram::checkManifold).

This function should ONLY be called as a pre-condition to the following function(s):

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
isManifold()

Reimplemented in ttk::Triangulation.

Definition at line 1820 of file AbstractTriangulation.h.

◆ preconditionManifoldInternal()

virtual int ttk::AbstractTriangulation::preconditionManifoldInternal ( )
inlineprotectedvirtual

Reimplemented in ttk::ExplicitTriangulation.

Definition at line 3727 of file AbstractTriangulation.h.

◆ preconditionTriangleEdges()

virtual int ttk::AbstractTriangulation::preconditionTriangleEdges ( )
inlinevirtual

Pre-process the triangle edges.

This function should ONLY be called as a pre-condition to the following functions:

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
getTriangleEdge()
getTriangleEdges()
getTriangleEdgeNumber()

Reimplemented in ttk::Triangulation.

Definition at line 2218 of file AbstractTriangulation.h.

◆ preconditionTriangleEdgesInternal()

virtual int ttk::AbstractTriangulation::preconditionTriangleEdgesInternal ( )
inlineprotectedvirtual

Reimplemented in ttk::CompactTriangulation, and ttk::ExplicitTriangulation.

Definition at line 3695 of file AbstractTriangulation.h.

◆ preconditionTriangleLinks()

virtual int ttk::AbstractTriangulation::preconditionTriangleLinks ( )
inlinevirtual

Pre-process the triangle links.

This function should ONLY be called as a pre-condition to the following functions:

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
getTriangleLink()
getTriangleLinks()
getTriangleLinkNumber()

Reimplemented in ttk::Triangulation.

Definition at line 2254 of file AbstractTriangulation.h.

◆ preconditionTriangleLinksInternal()

virtual int ttk::AbstractTriangulation::preconditionTriangleLinksInternal ( )
inlineprotectedvirtual

Reimplemented in ttk::CompactTriangulation, and ttk::ExplicitTriangulation.

Definition at line 3699 of file AbstractTriangulation.h.

◆ preconditionTriangles()

virtual int ttk::AbstractTriangulation::preconditionTriangles ( )
inlinevirtual

Pre-process the triangles.

This function should ONLY be called as a pre-condition to the following functions:

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
getNumberOfTriangles()
getTriangles()
getTriangleVertex()

Reimplemented in ttk::Triangulation.

Definition at line 2183 of file AbstractTriangulation.h.

◆ preconditionTrianglesInternal()

virtual int ttk::AbstractTriangulation::preconditionTrianglesInternal ( )
inlineprotectedvirtual

◆ preconditionTriangleStars()

virtual int ttk::AbstractTriangulation::preconditionTriangleStars ( )
inlinevirtual

Pre-process the triangle stars.

This function should ONLY be called as a pre-condition to the following functions:

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
getTriangleStar()
getTriangleStars()
getTriangleStarNumber()

Reimplemented in ttk::Triangulation.

Definition at line 2285 of file AbstractTriangulation.h.

◆ preconditionTriangleStarsInternal()

virtual int ttk::AbstractTriangulation::preconditionTriangleStarsInternal ( )
inlineprotectedvirtual

Reimplemented in ttk::CompactTriangulation, and ttk::ExplicitTriangulation.

Definition at line 3703 of file AbstractTriangulation.h.

◆ preconditionVertexEdges()

virtual int ttk::AbstractTriangulation::preconditionVertexEdges ( )
inlinevirtual

Pre-process the vertex edges.

This function should ONLY be called as a pre-condition to the following functions:

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
getVertexEdge()
getVertexEdges()
getVertexEdgeNumber()

Reimplemented in ttk::Triangulation.

Definition at line 2316 of file AbstractTriangulation.h.

◆ preconditionVertexEdgesInternal()

virtual int ttk::AbstractTriangulation::preconditionVertexEdgesInternal ( )
inlineprotectedvirtual

Reimplemented in ttk::CompactTriangulation, and ttk::ExplicitTriangulation.

Definition at line 3707 of file AbstractTriangulation.h.

◆ preconditionVertexLinks()

virtual int ttk::AbstractTriangulation::preconditionVertexLinks ( )
inlinevirtual

Pre-process the vertex links.

This function should ONLY be called as a pre-condition to the following functions:

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
getVertexLink()
getVertexLinks()
getVertexLinkNumber()

Reimplemented in ttk::Triangulation.

Definition at line 2347 of file AbstractTriangulation.h.

◆ preconditionVertexLinksInternal()

virtual int ttk::AbstractTriangulation::preconditionVertexLinksInternal ( )
inlineprotectedvirtual

Reimplemented in ttk::CompactTriangulation, and ttk::ExplicitTriangulation.

Definition at line 3711 of file AbstractTriangulation.h.

◆ preconditionVertexNeighbors()

virtual int ttk::AbstractTriangulation::preconditionVertexNeighbors ( )
inlinevirtual

Pre-process the vertex neighbors.

This function should ONLY be called as a pre-condition to the following functions:

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
getVertexNeighbor()
getVertexNeighbors()
getVertexNeighborNumber()

Reimplemented in ttk::Triangulation.

Definition at line 2373 of file AbstractTriangulation.h.

◆ preconditionVertexNeighborsInternal()

virtual int ttk::AbstractTriangulation::preconditionVertexNeighborsInternal ( )
inlineprotectedvirtual

◆ preconditionVertexStars()

virtual int ttk::AbstractTriangulation::preconditionVertexStars ( )
inlinevirtual

Pre-process the vertex stars.

This function should ONLY be called as a pre-condition to the following functions:

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
getVertexStar()
getVertexStars()
getVertexStarNumber()

Reimplemented in ttk::Triangulation.

Definition at line 2399 of file AbstractTriangulation.h.

◆ preconditionVertexStarsInternal()

virtual int ttk::AbstractTriangulation::preconditionVertexStarsInternal ( )
inlineprotectedvirtual

Reimplemented in ttk::CompactTriangulation, and ttk::ExplicitTriangulation.

Definition at line 3719 of file AbstractTriangulation.h.

◆ preconditionVertexTriangles()

virtual int ttk::AbstractTriangulation::preconditionVertexTriangles ( )
inlinevirtual

Pre-process the vertex triangles.

This function should ONLY be called as a pre-condition to the following functions:

Precondition
This function should be called prior to any traversal, in a clearly distinct pre-processing step that involves no traversal at all. An error will be returned otherwise.
Note
It is recommended to exclude this preconditioning function from any time performance measurement.
Returns
Returns 0 upon success, negative values otherwise.
See also
getVertexTriangle()
getVertexTriangles()
getVertexTriangleNumber()

Reimplemented in ttk::Triangulation.

Definition at line 2425 of file AbstractTriangulation.h.

◆ preconditionVertexTrianglesInternal()

virtual int ttk::AbstractTriangulation::preconditionVertexTrianglesInternal ( )
inlineprotectedvirtual

Reimplemented in ttk::CompactTriangulation, and ttk::ExplicitTriangulation.

Definition at line 3723 of file AbstractTriangulation.h.

◆ tableFootprint()

template<class itemType >
size_t ttk::AbstractTriangulation::tableFootprint ( const std::vector< itemType > &  table,
const std::string &  tableName = "",
std::ostream &  stream = std::cout 
) const
inlineprotected

Definition at line 3743 of file AbstractTriangulation.h.

◆ tableTableFootprint() [1/2]

template<class itemType >
size_t ttk::AbstractTriangulation::tableTableFootprint ( const std::vector< std::vector< itemType > > &  table,
const std::string &  tableName = "",
std::ostream &  stream = std::cout 
) const
protected

◆ tableTableFootprint() [2/2]

template<class itemType >
size_t ttk::AbstractTriangulation::tableTableFootprint ( const vector< vector< itemType > > &  table,
const string &  tableName,
ostream &  stream 
) const

Definition at line 66 of file AbstractTriangulation.cpp.

◆ updateProgress()

int ttk::AbstractTriangulation::updateProgress ( const float &  ttkNotUsedprogress)
inlineoverrideprotected

Definition at line 3762 of file AbstractTriangulation.h.

Friends And Related Function Documentation

◆ ttk::dcg::DiscreteGradient

friend class ttk::dcg::DiscreteGradient
friend

Definition at line 3850 of file AbstractTriangulation.h.

Member Data Documentation

◆ boundaryEdges_

std::vector<bool> ttk::AbstractTriangulation::boundaryEdges_
protected

Definition at line 3782 of file AbstractTriangulation.h.

◆ boundaryTriangles_

std::vector<bool> ttk::AbstractTriangulation::boundaryTriangles_
protected

Definition at line 3782 of file AbstractTriangulation.h.

◆ boundaryVertices_

std::vector<bool> ttk::AbstractTriangulation::boundaryVertices_
protected

Definition at line 3782 of file AbstractTriangulation.h.

◆ cellEdgeVector_

std::vector<std::vector<SimplexId> > ttk::AbstractTriangulation::cellEdgeVector_ {}
protected

Definition at line 3802 of file AbstractTriangulation.h.

◆ cellNeighborList_

std::vector<std::vector<SimplexId> > ttk::AbstractTriangulation::cellNeighborList_
protected

Definition at line 3784 of file AbstractTriangulation.h.

◆ cellTriangleVector_

std::vector<std::vector<SimplexId> > ttk::AbstractTriangulation::cellTriangleVector_ {}
protected

Definition at line 3803 of file AbstractTriangulation.h.

◆ edgeLinkList_

std::vector<std::vector<SimplexId> > ttk::AbstractTriangulation::edgeLinkList_
protected

Definition at line 3786 of file AbstractTriangulation.h.

◆ edgeList_

std::vector<std::array<SimplexId, 2> > ttk::AbstractTriangulation::edgeList_
protected

Definition at line 3787 of file AbstractTriangulation.h.

◆ edgeStarList_

std::vector<std::vector<SimplexId> > ttk::AbstractTriangulation::edgeStarList_
protected

Definition at line 3788 of file AbstractTriangulation.h.

◆ edgeTriangleList_

std::vector<std::vector<SimplexId> > ttk::AbstractTriangulation::edgeTriangleList_
protected

Definition at line 3789 of file AbstractTriangulation.h.

◆ gradientCache_

gradientCacheType ttk::AbstractTriangulation::gradientCache_ {}
mutableprotected

Definition at line 3902 of file AbstractTriangulation.h.

◆ gridDimensions_

std::array<SimplexId, 3> ttk::AbstractTriangulation::gridDimensions_
protected

Definition at line 3780 of file AbstractTriangulation.h.

◆ hasPeriodicBoundaries_

bool ttk::AbstractTriangulation::hasPeriodicBoundaries_
protected

Definition at line 3766 of file AbstractTriangulation.h.

◆ hasPreconditionedBoundaryEdges_

bool ttk::AbstractTriangulation::hasPreconditionedBoundaryEdges_
protected

Definition at line 3766 of file AbstractTriangulation.h.

◆ hasPreconditionedBoundaryTriangles_

bool ttk::AbstractTriangulation::hasPreconditionedBoundaryTriangles_
protected

Definition at line 3767 of file AbstractTriangulation.h.

◆ hasPreconditionedBoundaryVertices_

bool ttk::AbstractTriangulation::hasPreconditionedBoundaryVertices_
protected

Definition at line 3767 of file AbstractTriangulation.h.

◆ hasPreconditionedCellEdges_

bool ttk::AbstractTriangulation::hasPreconditionedCellEdges_
protected

Definition at line 3768 of file AbstractTriangulation.h.

◆ hasPreconditionedCellNeighbors_

bool ttk::AbstractTriangulation::hasPreconditionedCellNeighbors_
protected

Definition at line 3768 of file AbstractTriangulation.h.

◆ hasPreconditionedCellTriangles_

bool ttk::AbstractTriangulation::hasPreconditionedCellTriangles_
protected

Definition at line 3769 of file AbstractTriangulation.h.

◆ hasPreconditionedEdgeLinks_

bool ttk::AbstractTriangulation::hasPreconditionedEdgeLinks_
protected

Definition at line 3770 of file AbstractTriangulation.h.

◆ hasPreconditionedEdges_

bool ttk::AbstractTriangulation::hasPreconditionedEdges_
protected

Definition at line 3769 of file AbstractTriangulation.h.

◆ hasPreconditionedEdgeStars_

bool ttk::AbstractTriangulation::hasPreconditionedEdgeStars_
protected

Definition at line 3770 of file AbstractTriangulation.h.

◆ hasPreconditionedEdgeTriangles_

bool ttk::AbstractTriangulation::hasPreconditionedEdgeTriangles_
protected

Definition at line 3771 of file AbstractTriangulation.h.

◆ hasPreconditionedManifold_

bool ttk::AbstractTriangulation::hasPreconditionedManifold_
protected

Definition at line 3776 of file AbstractTriangulation.h.

◆ hasPreconditionedTriangleEdges_

bool ttk::AbstractTriangulation::hasPreconditionedTriangleEdges_
protected

Definition at line 3772 of file AbstractTriangulation.h.

◆ hasPreconditionedTriangleLinks_

bool ttk::AbstractTriangulation::hasPreconditionedTriangleLinks_
protected

Definition at line 3772 of file AbstractTriangulation.h.

◆ hasPreconditionedTriangles_

bool ttk::AbstractTriangulation::hasPreconditionedTriangles_
protected

Definition at line 3771 of file AbstractTriangulation.h.

◆ hasPreconditionedTriangleStars_

bool ttk::AbstractTriangulation::hasPreconditionedTriangleStars_
protected

Definition at line 3773 of file AbstractTriangulation.h.

◆ hasPreconditionedVertexEdges_

bool ttk::AbstractTriangulation::hasPreconditionedVertexEdges_
protected

Definition at line 3773 of file AbstractTriangulation.h.

◆ hasPreconditionedVertexLinks_

bool ttk::AbstractTriangulation::hasPreconditionedVertexLinks_
protected

Definition at line 3774 of file AbstractTriangulation.h.

◆ hasPreconditionedVertexNeighbors_

bool ttk::AbstractTriangulation::hasPreconditionedVertexNeighbors_
protected

Definition at line 3774 of file AbstractTriangulation.h.

◆ hasPreconditionedVertexStars_

bool ttk::AbstractTriangulation::hasPreconditionedVertexStars_
protected

Definition at line 3775 of file AbstractTriangulation.h.

◆ hasPreconditionedVertexTriangles_

bool ttk::AbstractTriangulation::hasPreconditionedVertexTriangles_
protected

Definition at line 3775 of file AbstractTriangulation.h.

◆ isManifold_

bool ttk::AbstractTriangulation::isManifold_ {true}
protected

Definition at line 3778 of file AbstractTriangulation.h.

◆ tetraEdgeList_

std::vector<std::array<SimplexId, 6> > ttk::AbstractTriangulation::tetraEdgeList_
protected

Definition at line 3783 of file AbstractTriangulation.h.

◆ tetraTriangleList_

std::vector<std::array<SimplexId, 4> > ttk::AbstractTriangulation::tetraTriangleList_
protected

Definition at line 3785 of file AbstractTriangulation.h.

◆ triangleEdgeList_

std::vector<std::array<SimplexId, 3> > ttk::AbstractTriangulation::triangleEdgeList_
protected

Definition at line 3791 of file AbstractTriangulation.h.

◆ triangleEdgeVector_

std::vector<std::vector<SimplexId> > ttk::AbstractTriangulation::triangleEdgeVector_ {}
protected

Definition at line 3804 of file AbstractTriangulation.h.

◆ triangleLinkList_

std::vector<std::vector<SimplexId> > ttk::AbstractTriangulation::triangleLinkList_
protected

Definition at line 3792 of file AbstractTriangulation.h.

◆ triangleList_

std::vector<std::array<SimplexId, 3> > ttk::AbstractTriangulation::triangleList_
protected

Definition at line 3790 of file AbstractTriangulation.h.

◆ triangleStarList_

std::vector<std::vector<SimplexId> > ttk::AbstractTriangulation::triangleStarList_
protected

Definition at line 3793 of file AbstractTriangulation.h.

◆ vertexEdgeList_

std::vector<std::vector<SimplexId> > ttk::AbstractTriangulation::vertexEdgeList_
protected

Definition at line 3794 of file AbstractTriangulation.h.

◆ vertexLinkList_

std::vector<std::vector<SimplexId> > ttk::AbstractTriangulation::vertexLinkList_
protected

Definition at line 3795 of file AbstractTriangulation.h.

◆ vertexNeighborList_

std::vector<std::vector<SimplexId> > ttk::AbstractTriangulation::vertexNeighborList_
protected

Definition at line 3796 of file AbstractTriangulation.h.

◆ vertexStarList_

std::vector<std::vector<SimplexId> > ttk::AbstractTriangulation::vertexStarList_
protected

Definition at line 3797 of file AbstractTriangulation.h.

◆ vertexTriangleList_

std::vector<std::vector<SimplexId> > ttk::AbstractTriangulation::vertexTriangleList_
protected

Definition at line 3798 of file AbstractTriangulation.h.


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