TTK
Loading...
Searching...
No Matches
ttk::ExplicitTriangulation Class Referencefinal

ExplicitTriangulation is a class that provides time efficient traversal methods on triangulations of piecewise linear manifolds. More...

#include <ExplicitTriangulation.h>

Inheritance diagram for ttk::ExplicitTriangulation:
ttk::AbstractTriangulation ttk::Wrapper ttk::Debug ttk::BaseClass

Public Member Functions

 ExplicitTriangulation ()
 ~ExplicitTriangulation () override
 ExplicitTriangulation (const ExplicitTriangulation &)=default
 ExplicitTriangulation (ExplicitTriangulation &&)=default
ExplicitTriangulationoperator= (const ExplicitTriangulation &)=default
ExplicitTriangulationoperator= (ExplicitTriangulation &&)=default
int clear ()
size_t footprint (size_t size=0) const
int getCellEdgeInternal (const SimplexId &cellId, const int &localEdgeId, SimplexId &edgeId) const override
SimplexId getCellEdgeNumberInternal (const SimplexId &cellId) const override
template<std::size_t N>
void convertToVector (const std::vector< std::array< SimplexId, N > > &table, std::vector< std::vector< SimplexId > > &vec)
const std::vector< std::vector< SimplexId > > * getCellEdgesInternal () override
int TTK_TRIANGULATION_INTERNAL getCellNeighbor (const SimplexId &cellId, const int &localNeighborId, SimplexId &neighborId) const override
SimplexId TTK_TRIANGULATION_INTERNAL getCellNeighborNumber (const SimplexId &cellId) const override
const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL getCellNeighbors () override
int getCellTriangleInternal (const SimplexId &cellId, const int &localTriangleId, SimplexId &triangleId) const override
SimplexId getCellTriangleNumberInternal (const SimplexId &cellId) const override
const std::vector< std::vector< SimplexId > > * getCellTrianglesInternal () override
int TTK_TRIANGULATION_INTERNAL getCellVertex (const SimplexId &cellId, const int &localVertexId, SimplexId &vertexId) const override
SimplexId TTK_TRIANGULATION_INTERNAL getCellVertexNumber (const SimplexId &cellId) const override
int TTK_TRIANGULATION_INTERNAL getDimensionality () const override
const std::vector< std::array< SimplexId, 2 > > *TTK_TRIANGULATION_INTERNAL getEdges () override
int TTK_TRIANGULATION_INTERNAL getEdgeLink (const SimplexId &edgeId, const int &localLinkId, SimplexId &linkId) const override
SimplexId TTK_TRIANGULATION_INTERNAL getEdgeLinkNumber (const SimplexId &edgeId) const override
const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL getEdgeLinks () override
int TTK_TRIANGULATION_INTERNAL getEdgeStar (const SimplexId &edgeId, const int &localStarId, SimplexId &starId) const override
SimplexId TTK_TRIANGULATION_INTERNAL getEdgeStarNumber (const SimplexId &edgeId) const override
const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL getEdgeStars () override
int getEdgeTriangleInternal (const SimplexId &edgeId, const int &localTriangleId, SimplexId &triangleId) const override
SimplexId getEdgeTriangleNumberInternal (const SimplexId &edgeId) const override
const std::vector< std::vector< SimplexId > > * getEdgeTrianglesInternal () override
int getEdgeVertexInternal (const SimplexId &edgeId, const int &localVertexId, SimplexId &vertexId) const override
SimplexId TTK_TRIANGULATION_INTERNAL getNumberOfCells () const override
SimplexId getNumberOfEdgesInternal () const override
SimplexId getNumberOfTrianglesInternal () const override
SimplexId TTK_TRIANGULATION_INTERNAL getNumberOfVertices () const override
const std::vector< std::array< SimplexId, 3 > > *TTK_TRIANGULATION_INTERNAL getTriangles () override
int getTriangleEdgeInternal (const SimplexId &triangleId, const int &localEdgeId, SimplexId &edgeId) const override
SimplexId getTriangleEdgeNumberInternal (const SimplexId &triangleId) const override
const std::vector< std::vector< SimplexId > > * getTriangleEdgesInternal () override
int TTK_TRIANGULATION_INTERNAL getTriangleLink (const SimplexId &triangleId, const int &localLinkId, SimplexId &linkId) const override
SimplexId TTK_TRIANGULATION_INTERNAL getTriangleLinkNumber (const SimplexId &triangleId) const override
const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL getTriangleLinks () override
int TTK_TRIANGULATION_INTERNAL getTriangleStar (const SimplexId &triangleId, const int &localStarId, SimplexId &starId) const override
SimplexId TTK_TRIANGULATION_INTERNAL getTriangleStarNumber (const SimplexId &triangleId) const override
const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL getTriangleStars () override
int getTriangleVertexInternal (const SimplexId &triangleId, const int &localVertexId, SimplexId &vertexId) const override
int getVertexEdgeInternal (const SimplexId &vertexId, const int &localEdgeId, SimplexId &edgeId) const override
SimplexId getVertexEdgeNumberInternal (const SimplexId &vertexId) const override
const std::vector< std::vector< SimplexId > > * getVertexEdgesInternal () override
int TTK_TRIANGULATION_INTERNAL getVertexLink (const SimplexId &vertexId, const int &localLinkId, SimplexId &linkId) const override
SimplexId TTK_TRIANGULATION_INTERNAL getVertexLinkNumber (const SimplexId &vertexId) const override
const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL getVertexLinks () override
int TTK_TRIANGULATION_INTERNAL getVertexNeighbor (const SimplexId &vertexId, const int &localNeighborId, SimplexId &neighborId) const override
SimplexId TTK_TRIANGULATION_INTERNAL getVertexNeighborNumber (const SimplexId &vertexId) const override
const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL getVertexNeighbors () override
int TTK_TRIANGULATION_INTERNAL getVertexPoint (const SimplexId &vertexId, float &x, float &y, float &z) const override
int TTK_TRIANGULATION_INTERNAL getVertexStar (const SimplexId &vertexId, const int &localStarId, SimplexId &starId) const override
SimplexId TTK_TRIANGULATION_INTERNAL getVertexStarNumber (const SimplexId &vertexId) const override
const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL getVertexStars () override
int getVertexTriangleInternal (const SimplexId &vertexId, const int &localTriangleId, SimplexId &triangleId) const override
SimplexId getVertexTriangleNumberInternal (const SimplexId &vertexId) const override
const std::vector< std::vector< SimplexId > > * getVertexTrianglesInternal () override
bool TTK_TRIANGULATION_INTERNAL isEdgeOnBoundary (const SimplexId &edgeId) const override
bool isEmpty () const override
bool TTK_TRIANGULATION_INTERNAL isTriangleOnBoundary (const SimplexId &triangleId) const override
bool TTK_TRIANGULATION_INTERNAL isVertexOnBoundary (const SimplexId &vertexId) const override
int preconditionBoundaryEdgesInternal () override
int preconditionBoundaryTrianglesInternal () override
int preconditionBoundaryVerticesInternal () override
int preconditionCellEdgesInternal () override
int preconditionCellNeighborsInternal () override
int preconditionCellTrianglesInternal () override
int preconditionEdgesInternal () override
int preconditionEdgeLinksInternal () override
int preconditionEdgeStarsInternal () override
int preconditionEdgeTrianglesInternal () override
int preconditionTrianglesInternal () override
int preconditionTriangleEdgesInternal () override
int preconditionTriangleLinksInternal () override
int preconditionTriangleStarsInternal () override
int preconditionVertexEdgesInternal () override
int preconditionVertexLinksInternal () override
int preconditionVertexNeighborsInternal () override
int preconditionVertexStarsInternal () override
int preconditionVertexTrianglesInternal () override
int preconditionManifoldInternal () override
int setInputCells (const SimplexId &cellNumber, const LongSimplexId *cellArray)
int setInputPoints (const SimplexId &pointNumber, const void *pointSet, const bool &doublePrecision=false)
int writeToFile (std::ofstream &stream) const
 Write internal state to disk.
int writeToFileASCII (std::ofstream &stream) const
 Write internal state to disk using an ASCII format.
int readFromFile (std::ifstream &stream)
 Read from disk into internal state.
Public Member Functions inherited from ttk::AbstractTriangulation
 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 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 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 getNumberOfEdges () const
virtual SimplexId getNumberOfTriangles () const
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 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 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 isManifold () const
virtual int preconditionManifold ()
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 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)

Additional Inherited Members

Protected Types inherited from ttk::AbstractTriangulation
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 inherited from ttk::AbstractTriangulation
virtual int getCellEdgeInternal (const SimplexId &ttkNotUsed(cellId), const int &ttkNotUsed(localEdgeId), SimplexId &ttkNotUsed(edgeId)) const
virtual SimplexId getCellEdgeNumberInternal (const SimplexId &ttkNotUsed(cellId)) const
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 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 int getEdgeVertexInternal (const SimplexId &ttkNotUsed(edgeId), const int &ttkNotUsed(localVertexId), SimplexId &ttkNotUsed(vertexId)) const
virtual SimplexId getNumberOfCellsInternal () 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 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 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 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 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 inherited from ttk::AbstractTriangulation
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_
Static Protected Attributes inherited from ttk::Debug
static COMMON_EXPORTS debug::LineMode lastLineMode = ttk::debug::LineMode::NEW

Detailed Description

ExplicitTriangulation is a class that provides time 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 21 of file ExplicitTriangulation.h.

Constructor & Destructor Documentation

◆ ExplicitTriangulation() [1/3]

ExplicitTriangulation::ExplicitTriangulation ( )

Definition at line 13 of file ExplicitTriangulation.cpp.

◆ ~ExplicitTriangulation()

ExplicitTriangulation::~ExplicitTriangulation ( )
overridedefault

◆ ExplicitTriangulation() [2/3]

ttk::ExplicitTriangulation::ExplicitTriangulation ( const ExplicitTriangulation & )
default

◆ ExplicitTriangulation() [3/3]

ttk::ExplicitTriangulation::ExplicitTriangulation ( ExplicitTriangulation && )
default

Member Function Documentation

◆ clear()

int ExplicitTriangulation::clear ( )

Definition at line 22 of file ExplicitTriangulation.cpp.

◆ convertToVector()

template<std::size_t N>
void ttk::ExplicitTriangulation::convertToVector ( const std::vector< std::array< SimplexId, N > > & table,
std::vector< std::vector< SimplexId > > & vec )
inline

Definition at line 63 of file ExplicitTriangulation.h.

◆ footprint()

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

Definition at line 32 of file ExplicitTriangulation.cpp.

◆ getCellEdgeInternal()

int ttk::ExplicitTriangulation::getCellEdgeInternal ( const SimplexId & cellId,
const int & localEdgeId,
SimplexId & edgeId ) const
inlineoverride

Definition at line 37 of file ExplicitTriangulation.h.

◆ getCellEdgeNumberInternal()

SimplexId ttk::ExplicitTriangulation::getCellEdgeNumberInternal ( const SimplexId & cellId) const
inlineoverride

Definition at line 53 of file ExplicitTriangulation.h.

◆ getCellEdgesInternal()

const std::vector< std::vector< SimplexId > > * ttk::ExplicitTriangulation::getCellEdgesInternal ( )
inlineoverridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 71 of file ExplicitTriangulation.h.

◆ getCellNeighbor()

int TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getCellNeighbor ( const SimplexId & cellId,
const int & localNeighborId,
SimplexId & neighborId ) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 77 of file ExplicitTriangulation.h.

◆ getCellNeighborNumber()

SimplexId TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getCellNeighborNumber ( const SimplexId & cellId) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 86 of file ExplicitTriangulation.h.

◆ getCellNeighbors()

const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getCellNeighbors ( )
inlineoverridevirtual
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 from ttk::AbstractTriangulation.

Definition at line 92 of file ExplicitTriangulation.h.

◆ getCellTriangleInternal()

int ttk::ExplicitTriangulation::getCellTriangleInternal ( const SimplexId & cellId,
const int & localTriangleId,
SimplexId & triangleId ) const
inlineoverride

Definition at line 97 of file ExplicitTriangulation.h.

◆ getCellTriangleNumberInternal()

SimplexId ttk::ExplicitTriangulation::getCellTriangleNumberInternal ( const SimplexId & cellId) const
inlineoverride

Definition at line 114 of file ExplicitTriangulation.h.

◆ getCellTrianglesInternal()

const std::vector< std::vector< SimplexId > > * ttk::ExplicitTriangulation::getCellTrianglesInternal ( )
inlineoverridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 125 of file ExplicitTriangulation.h.

◆ getCellVertex()

int TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getCellVertex ( const SimplexId & cellId,
const int & localVertexId,
SimplexId & vertexId ) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 131 of file ExplicitTriangulation.h.

◆ getCellVertexNumber()

SimplexId TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getCellVertexNumber ( const SimplexId & cellId) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 143 of file ExplicitTriangulation.h.

◆ getDimensionality()

int TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getDimensionality ( ) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 152 of file ExplicitTriangulation.h.

◆ getEdgeLink()

int TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getEdgeLink ( const SimplexId & edgeId,
const int & localLinkId,
SimplexId & linkId ) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 161 of file ExplicitTriangulation.h.

◆ getEdgeLinkNumber()

SimplexId TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getEdgeLinkNumber ( const SimplexId & edgeId) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 170 of file ExplicitTriangulation.h.

◆ getEdgeLinks()

const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getEdgeLinks ( )
inlineoverridevirtual
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 from ttk::AbstractTriangulation.

Definition at line 176 of file ExplicitTriangulation.h.

◆ getEdges()

const std::vector< std::array< SimplexId, 2 > > *TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getEdges ( )
inlineoverridevirtual
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 from ttk::AbstractTriangulation.

Definition at line 157 of file ExplicitTriangulation.h.

◆ getEdgeStar()

int TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getEdgeStar ( const SimplexId & edgeId,
const int & localStarId,
SimplexId & starId ) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 181 of file ExplicitTriangulation.h.

◆ getEdgeStarNumber()

SimplexId TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getEdgeStarNumber ( const SimplexId & edgeId) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 190 of file ExplicitTriangulation.h.

◆ getEdgeStars()

const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getEdgeStars ( )
inlineoverridevirtual
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 from ttk::AbstractTriangulation.

Definition at line 196 of file ExplicitTriangulation.h.

◆ getEdgeTriangleInternal()

int ttk::ExplicitTriangulation::getEdgeTriangleInternal ( const SimplexId & edgeId,
const int & localTriangleId,
SimplexId & triangleId ) const
inlineoverride

Definition at line 201 of file ExplicitTriangulation.h.

◆ getEdgeTriangleNumberInternal()

SimplexId ttk::ExplicitTriangulation::getEdgeTriangleNumberInternal ( const SimplexId & edgeId) const
inlineoverride

Definition at line 209 of file ExplicitTriangulation.h.

◆ getEdgeTrianglesInternal()

const std::vector< std::vector< SimplexId > > * ttk::ExplicitTriangulation::getEdgeTrianglesInternal ( )
inlineoverridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 214 of file ExplicitTriangulation.h.

◆ getEdgeVertexInternal()

int ttk::ExplicitTriangulation::getEdgeVertexInternal ( const SimplexId & edgeId,
const int & localVertexId,
SimplexId & vertexId ) const
inlineoverride

Definition at line 219 of file ExplicitTriangulation.h.

◆ getNumberOfCells()

SimplexId TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getNumberOfCells ( ) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 236 of file ExplicitTriangulation.h.

◆ getNumberOfEdgesInternal()

SimplexId ttk::ExplicitTriangulation::getNumberOfEdgesInternal ( ) const
inlineoverridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 240 of file ExplicitTriangulation.h.

◆ getNumberOfTrianglesInternal()

SimplexId ttk::ExplicitTriangulation::getNumberOfTrianglesInternal ( ) const
inlineoverridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 244 of file ExplicitTriangulation.h.

◆ getNumberOfVertices()

SimplexId TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getNumberOfVertices ( ) const
inlineoverridevirtual

Get the number of vertices in the triangulation.

Returns
Returns the number of vertices.

Reimplemented from ttk::AbstractTriangulation.

Definition at line 249 of file ExplicitTriangulation.h.

◆ getTriangleEdgeInternal()

int ttk::ExplicitTriangulation::getTriangleEdgeInternal ( const SimplexId & triangleId,
const int & localEdgeId,
SimplexId & edgeId ) const
inlineoverride

Definition at line 258 of file ExplicitTriangulation.h.

◆ getTriangleEdgeNumberInternal()

SimplexId ttk::ExplicitTriangulation::getTriangleEdgeNumberInternal ( const SimplexId & triangleId) const
inlineoverride

Definition at line 275 of file ExplicitTriangulation.h.

◆ getTriangleEdgesInternal()

const std::vector< std::vector< SimplexId > > * ttk::ExplicitTriangulation::getTriangleEdgesInternal ( )
inlineoverridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 288 of file ExplicitTriangulation.h.

◆ getTriangleLink()

int TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getTriangleLink ( const SimplexId & triangleId,
const int & localLinkId,
SimplexId & linkId ) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 294 of file ExplicitTriangulation.h.

◆ getTriangleLinkNumber()

SimplexId TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getTriangleLinkNumber ( const SimplexId & triangleId) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 303 of file ExplicitTriangulation.h.

◆ getTriangleLinks()

const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getTriangleLinks ( )
inlineoverridevirtual
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 from ttk::AbstractTriangulation.

Definition at line 309 of file ExplicitTriangulation.h.

◆ getTriangles()

const std::vector< std::array< SimplexId, 3 > > *TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getTriangles ( )
inlineoverridevirtual
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 from ttk::AbstractTriangulation.

Definition at line 254 of file ExplicitTriangulation.h.

◆ getTriangleStar()

int TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getTriangleStar ( const SimplexId & triangleId,
const int & localStarId,
SimplexId & starId ) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 314 of file ExplicitTriangulation.h.

◆ getTriangleStarNumber()

SimplexId TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getTriangleStarNumber ( const SimplexId & triangleId) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 322 of file ExplicitTriangulation.h.

◆ getTriangleStars()

const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getTriangleStars ( )
inlineoverridevirtual
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 from ttk::AbstractTriangulation.

Definition at line 328 of file ExplicitTriangulation.h.

◆ getTriangleVertexInternal()

int ttk::ExplicitTriangulation::getTriangleVertexInternal ( const SimplexId & triangleId,
const int & localVertexId,
SimplexId & vertexId ) const
inlineoverride

Definition at line 333 of file ExplicitTriangulation.h.

◆ getVertexEdgeInternal()

int ttk::ExplicitTriangulation::getVertexEdgeInternal ( const SimplexId & vertexId,
const int & localEdgeId,
SimplexId & edgeId ) const
inlineoverride

Definition at line 347 of file ExplicitTriangulation.h.

◆ getVertexEdgeNumberInternal()

SimplexId ttk::ExplicitTriangulation::getVertexEdgeNumberInternal ( const SimplexId & vertexId) const
inlineoverride

Definition at line 355 of file ExplicitTriangulation.h.

◆ getVertexEdgesInternal()

const std::vector< std::vector< SimplexId > > * ttk::ExplicitTriangulation::getVertexEdgesInternal ( )
inlineoverridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 360 of file ExplicitTriangulation.h.

◆ getVertexLink()

int TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getVertexLink ( const SimplexId & vertexId,
const int & localLinkId,
SimplexId & linkId ) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 365 of file ExplicitTriangulation.h.

◆ getVertexLinkNumber()

SimplexId TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getVertexLinkNumber ( const SimplexId & vertexId) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 374 of file ExplicitTriangulation.h.

◆ getVertexLinks()

const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getVertexLinks ( )
inlineoverridevirtual
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 from ttk::AbstractTriangulation.

Definition at line 380 of file ExplicitTriangulation.h.

◆ getVertexNeighbor()

int TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getVertexNeighbor ( const SimplexId & vertexId,
const int & localNeighborId,
SimplexId & neighborId ) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 385 of file ExplicitTriangulation.h.

◆ getVertexNeighborNumber()

SimplexId TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getVertexNeighborNumber ( const SimplexId & vertexId) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 394 of file ExplicitTriangulation.h.

◆ getVertexNeighbors()

const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getVertexNeighbors ( )
inlineoverridevirtual
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 from ttk::AbstractTriangulation.

Definition at line 400 of file ExplicitTriangulation.h.

◆ getVertexPoint()

int TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getVertexPoint ( const SimplexId & vertexId,
float & x,
float & y,
float & z ) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 405 of file ExplicitTriangulation.h.

◆ getVertexStar()

int TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getVertexStar ( const SimplexId & vertexId,
const int & localStarId,
SimplexId & starId ) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 425 of file ExplicitTriangulation.h.

◆ getVertexStarNumber()

SimplexId TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getVertexStarNumber ( const SimplexId & vertexId) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 433 of file ExplicitTriangulation.h.

◆ getVertexStars()

const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::getVertexStars ( )
inlineoverridevirtual
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 from ttk::AbstractTriangulation.

Definition at line 439 of file ExplicitTriangulation.h.

◆ getVertexTriangleInternal()

int ttk::ExplicitTriangulation::getVertexTriangleInternal ( const SimplexId & vertexId,
const int & localTriangleId,
SimplexId & triangleId ) const
inlineoverride

Definition at line 444 of file ExplicitTriangulation.h.

◆ getVertexTriangleNumberInternal()

SimplexId ttk::ExplicitTriangulation::getVertexTriangleNumberInternal ( const SimplexId & vertexId) const
inlineoverride

Definition at line 451 of file ExplicitTriangulation.h.

◆ getVertexTrianglesInternal()

const std::vector< std::vector< SimplexId > > * ttk::ExplicitTriangulation::getVertexTrianglesInternal ( )
inlineoverridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 457 of file ExplicitTriangulation.h.

◆ isEdgeOnBoundary()

bool TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::isEdgeOnBoundary ( const SimplexId & edgeId) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 462 of file ExplicitTriangulation.h.

◆ isEmpty()

bool ttk::ExplicitTriangulation::isEmpty ( ) const
inlineoverridevirtual

Check if the data structure is empty or not.

Returns
Returns true if empty, false otherwise.

Reimplemented from ttk::AbstractTriangulation.

Definition at line 471 of file ExplicitTriangulation.h.

◆ isTriangleOnBoundary()

bool TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::isTriangleOnBoundary ( const SimplexId & triangleId) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 475 of file ExplicitTriangulation.h.

◆ isVertexOnBoundary()

bool TTK_TRIANGULATION_INTERNAL ttk::ExplicitTriangulation::isVertexOnBoundary ( const SimplexId & vertexId) const
inlineoverridevirtual

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 from ttk::AbstractTriangulation.

Definition at line 485 of file ExplicitTriangulation.h.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ preconditionBoundaryEdgesInternal()

int ExplicitTriangulation::preconditionBoundaryEdgesInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 58 of file ExplicitTriangulation.cpp.

◆ preconditionBoundaryTrianglesInternal()

int ExplicitTriangulation::preconditionBoundaryTrianglesInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 208 of file ExplicitTriangulation.cpp.

◆ preconditionBoundaryVerticesInternal()

int ExplicitTriangulation::preconditionBoundaryVerticesInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 271 of file ExplicitTriangulation.cpp.

◆ preconditionCellEdgesInternal()

int ExplicitTriangulation::preconditionCellEdgesInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 351 of file ExplicitTriangulation.cpp.

◆ preconditionCellNeighborsInternal()

int ExplicitTriangulation::preconditionCellNeighborsInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 369 of file ExplicitTriangulation.cpp.

◆ preconditionCellTrianglesInternal()

int ExplicitTriangulation::preconditionCellTrianglesInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 397 of file ExplicitTriangulation.cpp.

◆ preconditionEdgeLinksInternal()

int ExplicitTriangulation::preconditionEdgeLinksInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 484 of file ExplicitTriangulation.cpp.

◆ preconditionEdgesInternal()

int ExplicitTriangulation::preconditionEdgesInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 443 of file ExplicitTriangulation.cpp.

◆ preconditionEdgeStarsInternal()

int ExplicitTriangulation::preconditionEdgeStarsInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 523 of file ExplicitTriangulation.cpp.

◆ preconditionEdgeTrianglesInternal()

int ExplicitTriangulation::preconditionEdgeTrianglesInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 539 of file ExplicitTriangulation.cpp.

◆ preconditionManifoldInternal()

int ttk::ExplicitTriangulation::preconditionManifoldInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 788 of file ExplicitTriangulation.cpp.

◆ preconditionTriangleEdgesInternal()

int ExplicitTriangulation::preconditionTriangleEdgesInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 589 of file ExplicitTriangulation.cpp.

◆ preconditionTriangleLinksInternal()

int ExplicitTriangulation::preconditionTriangleLinksInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 619 of file ExplicitTriangulation.cpp.

◆ preconditionTrianglesInternal()

int ExplicitTriangulation::preconditionTrianglesInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 563 of file ExplicitTriangulation.cpp.

◆ preconditionTriangleStarsInternal()

int ExplicitTriangulation::preconditionTriangleStarsInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 642 of file ExplicitTriangulation.cpp.

◆ preconditionVertexEdgesInternal()

int ExplicitTriangulation::preconditionVertexEdgesInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 663 of file ExplicitTriangulation.cpp.

◆ preconditionVertexLinksInternal()

int ExplicitTriangulation::preconditionVertexLinksInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 687 of file ExplicitTriangulation.cpp.

◆ preconditionVertexNeighborsInternal()

int ExplicitTriangulation::preconditionVertexNeighborsInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 724 of file ExplicitTriangulation.cpp.

◆ preconditionVertexStarsInternal()

int ExplicitTriangulation::preconditionVertexStarsInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 744 of file ExplicitTriangulation.cpp.

◆ preconditionVertexTrianglesInternal()

int ExplicitTriangulation::preconditionVertexTrianglesInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 764 of file ExplicitTriangulation.cpp.

◆ readFromFile()

int ExplicitTriangulation::readFromFile ( std::ifstream & stream)

Read from disk into internal state.

Use a custom binary format for fast loading

Definition at line 1755 of file ExplicitTriangulation.cpp.

◆ setInputCells()

int ttk::ExplicitTriangulation::setInputCells ( const SimplexId & cellNumber,
const LongSimplexId * cellArray )
inline

Definition at line 576 of file ExplicitTriangulation.h.

◆ setInputPoints()

int ttk::ExplicitTriangulation::setInputPoints ( const SimplexId & pointNumber,
const void * pointSet,
const bool & doublePrecision = false )
inline

Definition at line 593 of file ExplicitTriangulation.h.

◆ writeToFile()

int ExplicitTriangulation::writeToFile ( std::ofstream & stream) const

Write internal state to disk.

Use a custom binary format for fast loading

Definition at line 1533 of file ExplicitTriangulation.cpp.

◆ writeToFileASCII()

int ExplicitTriangulation::writeToFileASCII ( std::ofstream & stream) const

Write internal state to disk using an ASCII format.

Definition at line 1655 of file ExplicitTriangulation.cpp.


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