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

ImplicitTriangulation is a class that provides time and memory efficient traversal methods on triangulations of piecewise linear manifolds represented by regular grids. More...

#include <ImplicitTriangulation.h>

Inheritance diagram for ttk::ImplicitTriangulation:
ttk::RegularGridTriangulation ttk::AbstractTriangulation ttk::Wrapper ttk::Debug ttk::BaseClass ttk::ImplicitTriangulationCRTP< ImplicitNoPreconditions > ttk::ImplicitTriangulationCRTP< ImplicitWithPreconditions > ttk::ImplicitTriangulationCRTP< Derived > ttk::ImplicitNoPreconditions ttk::ImplicitWithPreconditions

Public Member Functions

 ImplicitTriangulation ()
 
 ~ImplicitTriangulation () override
 
 ImplicitTriangulation (const ImplicitTriangulation &)=default
 
 ImplicitTriangulation (ImplicitTriangulation &&)=default
 
ImplicitTriangulationoperator= (const ImplicitTriangulation &)=default
 
ImplicitTriangulationoperator= (ImplicitTriangulation &&)=default
 
const std::array< SimplexId, 3 > & getGridDimensions () const override
 
int getCellEdgeInternal (const SimplexId &cellId, const int &id, SimplexId &edgeId) const override
 
SimplexId getCellEdgeNumberInternal (const SimplexId &cellId) const override
 
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 &id, SimplexId &triangleId) const override
 
SimplexId getCellTriangleNumberInternal (const SimplexId &) 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
 
SimplexId TTK_TRIANGULATION_INTERNAL() getEdgeLinkNumber (const SimplexId &edgeId) const override
 
const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL() getEdgeLinks () override
 
const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL() getEdgeStars () override
 
const std::vector< std::vector< SimplexId > > * getEdgeTrianglesInternal () override
 
const std::vector< std::array< SimplexId, 2 > > *TTK_TRIANGULATION_INTERNAL() getEdges () override
 
SimplexId TTK_TRIANGULATION_INTERNAL() getNumberOfCells () const override
 
SimplexId getNumberOfEdgesInternal () const override
 
SimplexId getNumberOfTrianglesInternal () const override
 
SimplexId TTK_TRIANGULATION_INTERNAL() getNumberOfVertices () const override
 
virtual int getTetrahedronEdge (const SimplexId &tetId, const int &id, SimplexId &edgeId) const =0
 
int getTetrahedronEdges (std::vector< std::vector< SimplexId > > &edges) const
 
virtual int getTetrahedronTriangle (const SimplexId &tetId, const int &id, SimplexId &triangleId) const =0
 
int getTetrahedronTriangles (std::vector< std::vector< SimplexId > > &triangles) const
 
virtual int getTetrahedronNeighbor (const SimplexId &tetId, const int &localNeighborId, SimplexId &neighborId) const =0
 
virtual SimplexId getTetrahedronNeighborNumber (const SimplexId &tetId) const =0
 
int getTetrahedronNeighbors (std::vector< std::vector< SimplexId > > &neighbors)
 
virtual int getTetrahedronVertex (const SimplexId &tetId, const int &localVertexId, SimplexId &vertexId) const =0
 
SimplexId getTriangleEdgeNumberInternal (const SimplexId &) const override
 
const std::vector< std::vector< SimplexId > > * getTriangleEdgesInternal () override
 
int getTriangleEdgesInternal (std::vector< std::vector< SimplexId > > &edges) const
 
SimplexId TTK_TRIANGULATION_INTERNAL() getTriangleLinkNumber (const SimplexId &triangleId) const override
 
const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL() getTriangleLinks () override
 
virtual int getTriangleNeighbor (const SimplexId &triangleId, const int &localNeighborId, SimplexId &neighborId) const =0
 
virtual SimplexId getTriangleNeighborNumber (const SimplexId &triangleId) const =0
 
int getTriangleNeighbors (std::vector< std::vector< SimplexId > > &neighbors)
 
const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL() getTriangleStars () override
 
const std::vector< std::array< SimplexId, 3 > > *TTK_TRIANGULATION_INTERNAL() getTriangles () override
 
SimplexId getVertexEdgeNumberInternal (const SimplexId &vertexId) const override
 
const std::vector< std::vector< SimplexId > > * getVertexEdgesInternal () override
 
SimplexId TTK_TRIANGULATION_INTERNAL() getVertexLinkNumber (const SimplexId &vertexId) const override
 
const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL() getVertexLinks () override
 
const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL() getVertexNeighbors () override
 
const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL() getVertexStars () override
 
const std::vector< std::vector< SimplexId > > * getVertexTrianglesInternal () override
 
bool isEmpty () const override
 
bool TTK_TRIANGULATION_INTERNAL() isTriangleOnBoundary (const SimplexId &triangleId) const override
 
int setInputGrid (const float &xOrigin, const float &yOrigin, const float &zOrigin, const float &xSpacing, const float &ySpacing, const float &zSpacing, const SimplexId &xDim, const SimplexId &yDim, const SimplexId &zDim) override
 
virtual int preconditionVerticesInternal ()=0
 
int preconditionVertexNeighborsInternal () override
 
int preconditionEdgesInternal () override=0
 
int preconditionTrianglesInternal () override=0
 
virtual int preconditionTetrahedronsInternal ()=0
 
int preconditionCellsInternal ()
 
int preconditionVerticesAndCells ()
 
int getCellVTKIDInternal (const int &ttkId, int &vtkId) const override
 
- Public Member Functions inherited from ttk::RegularGridTriangulation
 RegularGridTriangulation ()
 
 ~RegularGridTriangulation () override=default
 
 RegularGridTriangulation (const RegularGridTriangulation &)=default
 
 RegularGridTriangulation (RegularGridTriangulation &&)=default
 
RegularGridTriangulationoperator= (const RegularGridTriangulation &)=default
 
RegularGridTriangulationoperator= (RegularGridTriangulation &&)=default
 
- 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 getEdgeLink (const SimplexId &edgeId, const int &localLinkId, SimplexId &linkId) const
 
virtual int getEdgeStar (const SimplexId &edgeId, const int &localStarId, SimplexId &starId) const
 
virtual SimplexId getEdgeStarNumber (const SimplexId &edgeId) const
 
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 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 getTriangleLink (const SimplexId &triangleId, const int &localLinkId, SimplexId &linkId) const
 
virtual int getTriangleStar (const SimplexId &triangleId, const int &localStarId, SimplexId &starId) const
 
virtual SimplexId getTriangleStarNumber (const SimplexId &triangleId) const
 
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 int getVertexNeighbor (const SimplexId &vertexId, const int &localNeighborId, SimplexId &neighborId) const
 
virtual SimplexId getVertexNeighborNumber (const SimplexId &vertexId) const
 
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 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 isManifold () const
 
virtual int preconditionManifold ()
 
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 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)
 

Protected Types

enum class  VertexPosition : char {
  LEFT_CORNER_1D , RIGHT_CORNER_1D , CENTER_1D , TOP_LEFT_CORNER_2D ,
  TOP_RIGHT_CORNER_2D , BOTTOM_LEFT_CORNER_2D , BOTTOM_RIGHT_CORNER_2D , TOP_EDGE_2D ,
  BOTTOM_EDGE_2D , LEFT_EDGE_2D , RIGHT_EDGE_2D , CENTER_2D ,
  TOP_LEFT_FRONT_CORNER_3D , TOP_RIGHT_FRONT_CORNER_3D , BOTTOM_LEFT_FRONT_CORNER_3D , BOTTOM_RIGHT_FRONT_CORNER_3D ,
  TOP_LEFT_BACK_CORNER_3D , TOP_RIGHT_BACK_CORNER_3D , BOTTOM_LEFT_BACK_CORNER_3D , BOTTOM_RIGHT_BACK_CORNER_3D ,
  TOP_FRONT_EDGE_3D , BOTTOM_FRONT_EDGE_3D , LEFT_FRONT_EDGE_3D , RIGHT_FRONT_EDGE_3D ,
  TOP_BACK_EDGE_3D , BOTTOM_BACK_EDGE_3D , LEFT_BACK_EDGE_3D , RIGHT_BACK_EDGE_3D ,
  TOP_LEFT_EDGE_3D , TOP_RIGHT_EDGE_3D , BOTTOM_LEFT_EDGE_3D , BOTTOM_RIGHT_EDGE_3D ,
  FRONT_FACE_3D , BACK_FACE_3D , TOP_FACE_3D , BOTTOM_FACE_3D ,
  LEFT_FACE_3D , RIGHT_FACE_3D , CENTER_3D
}
 
enum class  EdgePosition : char {
  L_xnn_3D , L_xn0_3D , L_xnN_3D , L_x0n_3D ,
  L_x00_3D , L_x0N_3D , L_xNn_3D , L_xN0_3D ,
  L_xNN_3D , H_nyn_3D , H_ny0_3D , H_nyN_3D ,
  H_0yn_3D , H_0y0_3D , H_0yN_3D , H_Nyn_3D ,
  H_Ny0_3D , H_NyN_3D , P_nnz_3D , P_n0z_3D ,
  P_nNz_3D , P_0nz_3D , P_00z_3D , P_0Nz_3D ,
  P_Nnz_3D , P_N0z_3D , P_NNz_3D , D1_xyn_3D ,
  D1_xy0_3D , D1_xyN_3D , D2_nyz_3D , D2_0yz_3D ,
  D2_Nyz_3D , D3_xnz_3D , D3_x0z_3D , D3_xNz_3D ,
  D4_3D , L_xn_2D , L_x0_2D , L_xN_2D ,
  H_ny_2D , H_0y_2D , H_Ny_2D , D1_2D ,
  FIRST_EDGE_1D , LAST_EDGE_1D , CENTER_1D
}
 
enum class  TrianglePosition : char {
  F_3D , C_3D , H_3D , D1_3D ,
  D2_3D , D3_3D , TOP_2D , BOTTOM_2D
}
 
- 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

int checkAcceleration ()
 
bool isPowerOfTwo (unsigned long long int v, unsigned long long int &r)
 
- Protected Member Functions inherited from ttk::RegularGridTriangulation
virtual void vertexToPosition2d (const SimplexId vertex, SimplexId p[2]) const =0
 
virtual void vertexToPosition (const SimplexId vertex, SimplexId p[3]) const =0
 
virtual void triangleToPosition2d (const SimplexId triangle, SimplexId p[2]) const =0
 
virtual void triangleToPosition (const SimplexId triangle, const int k, SimplexId p[3]) const =0
 
virtual void tetrahedronToPosition (const SimplexId tetrahedron, SimplexId p[3]) const =0
 
SimplexId findEdgeFromVertices (const SimplexId v0, const SimplexId v1) const
 
SimplexId findTriangleFromVertices (std::array< SimplexId, 3 > &verts) const
 
- 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 preconditionBoundaryEdgesInternal ()
 
virtual int preconditionBoundaryTrianglesInternal ()
 
virtual int preconditionBoundaryVerticesInternal ()
 
virtual int preconditionCellEdgesInternal ()
 
virtual int preconditionCellNeighborsInternal ()
 
virtual int preconditionCellTrianglesInternal ()
 
virtual int preconditionEdgeLinksInternal ()
 
virtual int preconditionEdgeStarsInternal ()
 
virtual int preconditionEdgeTrianglesInternal ()
 
virtual int preconditionTriangleEdgesInternal ()
 
virtual int preconditionTriangleLinksInternal ()
 
virtual int preconditionTriangleStarsInternal ()
 
virtual int preconditionVertexEdgesInternal ()
 
virtual int preconditionVertexLinksInternal ()
 
virtual int preconditionVertexStarsInternal ()
 
virtual int preconditionVertexTrianglesInternal ()
 
virtual int preconditionManifoldInternal ()
 
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

std::array< SimplexId, 14 > vertexNeighborABCDEFGH_ {}
 
std::array< SimplexId, 10 > vertexNeighborABCD_ {}
 
std::array< SimplexId, 10 > vertexNeighborEFGH_ {}
 
std::array< SimplexId, 10 > vertexNeighborAEFB_ {}
 
std::array< SimplexId, 10 > vertexNeighborGHDC_ {}
 
std::array< SimplexId, 10 > vertexNeighborAEGC_ {}
 
std::array< SimplexId, 10 > vertexNeighborBFHD_ {}
 
std::array< SimplexId, 8 > vertexNeighborAB_ {}
 
std::array< SimplexId, 8 > vertexNeighborBD_ {}
 
std::array< SimplexId, 8 > vertexNeighborGH_ {}
 
std::array< SimplexId, 8 > vertexNeighborEG_ {}
 
std::array< SimplexId, 8 > vertexNeighborCG_ {}
 
std::array< SimplexId, 8 > vertexNeighborBF_ {}
 
std::array< SimplexId, 7 > vertexNeighborB_ {}
 
std::array< SimplexId, 7 > vertexNeighborG_ {}
 
std::array< SimplexId, 6 > vertexNeighborEF_ {}
 
std::array< SimplexId, 6 > vertexNeighborCD_ {}
 
std::array< SimplexId, 6 > vertexNeighborAC_ {}
 
std::array< SimplexId, 6 > vertexNeighborAE_ {}
 
std::array< SimplexId, 6 > vertexNeighborFH_ {}
 
std::array< SimplexId, 6 > vertexNeighborDH_ {}
 
std::array< SimplexId, 4 > vertexNeighborA_ {}
 
std::array< SimplexId, 4 > vertexNeighborC_ {}
 
std::array< SimplexId, 4 > vertexNeighborD_ {}
 
std::array< SimplexId, 4 > vertexNeighborE_ {}
 
std::array< SimplexId, 4 > vertexNeighborF_ {}
 
std::array< SimplexId, 4 > vertexNeighborH_ {}
 
std::array< SimplexId, 6 > vertexNeighbor2dABCD_ {}
 
std::array< SimplexId, 4 > vertexNeighbor2dAB_ {}
 
std::array< SimplexId, 4 > vertexNeighbor2dCD_ {}
 
std::array< SimplexId, 4 > vertexNeighbor2dAC_ {}
 
std::array< SimplexId, 4 > vertexNeighbor2dBD_ {}
 
std::array< SimplexId, 3 > vertexNeighbor2dB_ {}
 
std::array< SimplexId, 3 > vertexNeighbor2dC_ {}
 
std::array< SimplexId, 2 > vertexNeighbor2dA_ {}
 
std::array< SimplexId, 2 > vertexNeighbor2dD_ {}
 
bool hasPreconditionedVerticesAndCells_ {false}
 
SimplexId nbvoxels_ [3]
 
SimplexId vshift_ [2]
 
SimplexId esetdims_ [7]
 
SimplexId esetshift_ [7]
 
SimplexId eshift_ [14]
 
SimplexId tsetdims_ [6]
 
SimplexId tsetshift_ [6]
 
SimplexId tshift_ [12]
 
SimplexId tetshift_ [2]
 
SimplexId cellNumber_
 
SimplexId vertexNumber_
 
SimplexId edgeNumber_
 
SimplexId triangleNumber_
 
SimplexId tetrahedronNumber_
 
SimplexId Di_
 
SimplexId Dj_
 
bool isAccelerated_
 
SimplexId mod_ [2]
 
SimplexId div_ [2]
 
- Protected Attributes inherited from ttk::RegularGridTriangulation
std::array< SimplexId, 3 > dimensions_
 
int dimensionality_
 
float origin_ [3]
 
float spacing_ [3]
 
- 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_
 

Additional Inherited Members

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

Detailed Description

ImplicitTriangulation is a class that provides time and memory efficient traversal methods on triangulations of piecewise linear manifolds represented by regular grids.

Author
Guillaume Favelier guill.nosp@m.aume.nosp@m..fave.nosp@m.lier.nosp@m.@lip6.nosp@m..fr
Date
January 2016.
See also
Triangulation

Definition at line 20 of file ImplicitTriangulation.h.

Member Enumeration Documentation

◆ EdgePosition

enum class ttk::ImplicitTriangulation::EdgePosition : char
strongprotected
Enumerator
L_xnn_3D 
L_xn0_3D 
L_xnN_3D 
L_x0n_3D 
L_x00_3D 
L_x0N_3D 
L_xNn_3D 
L_xN0_3D 
L_xNN_3D 
H_nyn_3D 
H_ny0_3D 
H_nyN_3D 
H_0yn_3D 
H_0y0_3D 
H_0yN_3D 
H_Nyn_3D 
H_Ny0_3D 
H_NyN_3D 
P_nnz_3D 
P_n0z_3D 
P_nNz_3D 
P_0nz_3D 
P_00z_3D 
P_0Nz_3D 
P_Nnz_3D 
P_N0z_3D 
P_NNz_3D 
D1_xyn_3D 
D1_xy0_3D 
D1_xyN_3D 
D2_nyz_3D 
D2_0yz_3D 
D2_Nyz_3D 
D3_xnz_3D 
D3_x0z_3D 
D3_xNz_3D 
D4_3D 
L_xn_2D 
L_x0_2D 
L_xN_2D 
H_ny_2D 
H_0y_2D 
H_Ny_2D 
D1_2D 
FIRST_EDGE_1D 
LAST_EDGE_1D 
CENTER_1D 

Definition at line 385 of file ImplicitTriangulation.h.

◆ TrianglePosition

enum class ttk::ImplicitTriangulation::TrianglePosition : char
strongprotected
Enumerator
F_3D 
C_3D 
H_3D 
D1_3D 
D2_3D 
D3_3D 
TOP_2D 
BOTTOM_2D 

Definition at line 456 of file ImplicitTriangulation.h.

◆ VertexPosition

enum class ttk::ImplicitTriangulation::VertexPosition : char
strongprotected
Enumerator
LEFT_CORNER_1D 
RIGHT_CORNER_1D 
CENTER_1D 
TOP_LEFT_CORNER_2D 
TOP_RIGHT_CORNER_2D 
BOTTOM_LEFT_CORNER_2D 
BOTTOM_RIGHT_CORNER_2D 
TOP_EDGE_2D 
BOTTOM_EDGE_2D 
LEFT_EDGE_2D 
RIGHT_EDGE_2D 
CENTER_2D 
TOP_LEFT_FRONT_CORNER_3D 
TOP_RIGHT_FRONT_CORNER_3D 
BOTTOM_LEFT_FRONT_CORNER_3D 
BOTTOM_RIGHT_FRONT_CORNER_3D 
TOP_LEFT_BACK_CORNER_3D 
TOP_RIGHT_BACK_CORNER_3D 
BOTTOM_LEFT_BACK_CORNER_3D 
BOTTOM_RIGHT_BACK_CORNER_3D 
TOP_FRONT_EDGE_3D 
BOTTOM_FRONT_EDGE_3D 
LEFT_FRONT_EDGE_3D 
RIGHT_FRONT_EDGE_3D 
TOP_BACK_EDGE_3D 
BOTTOM_BACK_EDGE_3D 
LEFT_BACK_EDGE_3D 
RIGHT_BACK_EDGE_3D 
TOP_LEFT_EDGE_3D 
TOP_RIGHT_EDGE_3D 
BOTTOM_LEFT_EDGE_3D 
BOTTOM_RIGHT_EDGE_3D 
FRONT_FACE_3D 
BACK_FACE_3D 
TOP_FACE_3D 
BOTTOM_FACE_3D 
LEFT_FACE_3D 
RIGHT_FACE_3D 
CENTER_3D 

Definition at line 270 of file ImplicitTriangulation.h.

Constructor & Destructor Documentation

◆ ImplicitTriangulation() [1/3]

ImplicitTriangulation::ImplicitTriangulation ( )

Definition at line 59 of file ImplicitTriangulation.cpp.

◆ ~ImplicitTriangulation()

ImplicitTriangulation::~ImplicitTriangulation ( )
overridedefault

◆ ImplicitTriangulation() [2/3]

ttk::ImplicitTriangulation::ImplicitTriangulation ( const ImplicitTriangulation )
default

◆ ImplicitTriangulation() [3/3]

ttk::ImplicitTriangulation::ImplicitTriangulation ( ImplicitTriangulation &&  )
default

Member Function Documentation

◆ checkAcceleration()

int ImplicitTriangulation::checkAcceleration ( )
protected

Definition at line 235 of file ImplicitTriangulation.cpp.

◆ getCellEdgeInternal()

int ImplicitTriangulation::getCellEdgeInternal ( const SimplexId cellId,
const int &  id,
SimplexId edgeId 
) const
override

Definition at line 2484 of file ImplicitTriangulation.cpp.

◆ getCellEdgeNumberInternal()

SimplexId ImplicitTriangulation::getCellEdgeNumberInternal ( const SimplexId cellId) const
override

Definition at line 2474 of file ImplicitTriangulation.cpp.

◆ getCellEdgesInternal()

const vector< vector< SimplexId > > * ImplicitTriangulation::getCellEdgesInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 2497 of file ImplicitTriangulation.cpp.

◆ getCellNeighbor()

int TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::getCellNeighbor ( const SimplexId cellId,
const int &  localNeighborId,
SimplexId neighborId 
) const
overridevirtual

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.

◆ getCellNeighborNumber()

SimplexId TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::getCellNeighborNumber ( const SimplexId cellId) const
overridevirtual

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.

◆ getCellNeighbors()

const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::getCellNeighbors ( )
overridevirtual
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.

◆ getCellTriangleInternal()

int ImplicitTriangulation::getCellTriangleInternal ( const SimplexId cellId,
const int &  id,
SimplexId triangleId 
) const
override

Definition at line 2513 of file ImplicitTriangulation.cpp.

◆ getCellTriangleNumberInternal()

SimplexId ttk::ImplicitTriangulation::getCellTriangleNumberInternal ( const SimplexId ) const
inlineoverride

Definition at line 58 of file ImplicitTriangulation.h.

◆ getCellTrianglesInternal()

const vector< vector< SimplexId > > * ImplicitTriangulation::getCellTrianglesInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 2524 of file ImplicitTriangulation.cpp.

◆ getCellVertex()

int TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::getCellVertex ( const SimplexId cellId,
const int &  localVertexId,
SimplexId vertexId 
) const
overridevirtual

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.

◆ getCellVertexNumber()

SimplexId TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::getCellVertexNumber ( const SimplexId cellId) const
overridevirtual

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.

◆ getCellVTKIDInternal()

int ttk::ImplicitTriangulation::getCellVTKIDInternal ( const int &  ttkId,
int &  vtkId 
) const
inlineoverridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 234 of file ImplicitTriangulation.h.

◆ getDimensionality()

int TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::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 76 of file ImplicitTriangulation.h.

◆ getEdgeLinkNumber()

SimplexId TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::getEdgeLinkNumber ( const SimplexId edgeId) const
overridevirtual

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.

◆ getEdgeLinks()

const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::getEdgeLinks ( )
overridevirtual
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.

◆ getEdges()

const std::vector< std::array< SimplexId, 2 > > *TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::getEdges ( )
overridevirtual
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.

◆ getEdgeStars()

const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::getEdgeStars ( )
overridevirtual
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.

◆ getEdgeTrianglesInternal()

const vector< vector< SimplexId > > * ImplicitTriangulation::getEdgeTrianglesInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 1461 of file ImplicitTriangulation.cpp.

◆ getGridDimensions()

const std::array< SimplexId, 3 > & ttk::ImplicitTriangulation::getGridDimensions ( ) const
inlineoverridevirtual

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

Definition at line 31 of file ImplicitTriangulation.h.

◆ getNumberOfCells()

SimplexId TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::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 95 of file ImplicitTriangulation.h.

◆ getNumberOfEdgesInternal()

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

Reimplemented from ttk::AbstractTriangulation.

Definition at line 99 of file ImplicitTriangulation.h.

◆ getNumberOfTrianglesInternal()

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

Reimplemented from ttk::AbstractTriangulation.

Definition at line 103 of file ImplicitTriangulation.h.

◆ getNumberOfVertices()

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

Get the number of vertices in the triangulation.

Returns
Returns the number of vertices.

Reimplemented from ttk::AbstractTriangulation.

Definition at line 107 of file ImplicitTriangulation.h.

◆ getTetrahedronEdge()

virtual int ttk::ImplicitTriangulation::getTetrahedronEdge ( const SimplexId tetId,
const int &  id,
SimplexId edgeId 
) const
pure virtual

◆ getTetrahedronEdges()

int ImplicitTriangulation::getTetrahedronEdges ( std::vector< std::vector< SimplexId > > &  edges) const

Definition at line 2263 of file ImplicitTriangulation.cpp.

◆ getTetrahedronNeighbor()

virtual int ttk::ImplicitTriangulation::getTetrahedronNeighbor ( const SimplexId tetId,
const int &  localNeighborId,
SimplexId neighborId 
) const
pure virtual

◆ getTetrahedronNeighborNumber()

virtual SimplexId ttk::ImplicitTriangulation::getTetrahedronNeighborNumber ( const SimplexId tetId) const
pure virtual

◆ getTetrahedronNeighbors()

int ImplicitTriangulation::getTetrahedronNeighbors ( std::vector< std::vector< SimplexId > > &  neighbors)

Definition at line 2442 of file ImplicitTriangulation.cpp.

◆ getTetrahedronTriangle()

virtual int ttk::ImplicitTriangulation::getTetrahedronTriangle ( const SimplexId tetId,
const int &  id,
SimplexId triangleId 
) const
pure virtual

◆ getTetrahedronTriangles()

int ImplicitTriangulation::getTetrahedronTriangles ( std::vector< std::vector< SimplexId > > &  triangles) const

Definition at line 2319 of file ImplicitTriangulation.cpp.

◆ getTetrahedronVertex()

virtual int ttk::ImplicitTriangulation::getTetrahedronVertex ( const SimplexId tetId,
const int &  localVertexId,
SimplexId vertexId 
) const
pure virtual

◆ getTriangleEdgeNumberInternal()

SimplexId ttk::ImplicitTriangulation::getTriangleEdgeNumberInternal ( const SimplexId ) const
inlineoverride

Definition at line 137 of file ImplicitTriangulation.h.

◆ getTriangleEdgesInternal() [1/2]

const vector< vector< SimplexId > > * ImplicitTriangulation::getTriangleEdgesInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 1863 of file ImplicitTriangulation.cpp.

◆ getTriangleEdgesInternal() [2/2]

int ImplicitTriangulation::getTriangleEdgesInternal ( std::vector< std::vector< SimplexId > > &  edges) const

Definition at line 1851 of file ImplicitTriangulation.cpp.

◆ getTriangleLinkNumber()

SimplexId TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::getTriangleLinkNumber ( const SimplexId triangleId) const
overridevirtual

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.

◆ getTriangleLinks()

const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::getTriangleLinks ( )
overridevirtual
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.

◆ getTriangleNeighbor()

virtual int ttk::ImplicitTriangulation::getTriangleNeighbor ( const SimplexId triangleId,
const int &  localNeighborId,
SimplexId neighborId 
) const
pure virtual

◆ getTriangleNeighborNumber()

virtual SimplexId ttk::ImplicitTriangulation::getTriangleNeighborNumber ( const SimplexId triangleId) const
pure virtual

◆ getTriangleNeighbors()

int ImplicitTriangulation::getTriangleNeighbors ( std::vector< std::vector< SimplexId > > &  neighbors)

Definition at line 2169 of file ImplicitTriangulation.cpp.

◆ getTriangles()

const std::vector< std::array< SimplexId, 3 > > *TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::getTriangles ( )
overridevirtual
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.

◆ getTriangleStars()

const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::getTriangleStars ( )
overridevirtual
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.

◆ getVertexEdgeNumberInternal()

SimplexId ImplicitTriangulation::getVertexEdgeNumberInternal ( const SimplexId vertexId) const
override

Definition at line 378 of file ImplicitTriangulation.cpp.

◆ getVertexEdgesInternal()

const vector< vector< SimplexId > > * ImplicitTriangulation::getVertexEdgesInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 535 of file ImplicitTriangulation.cpp.

◆ getVertexLinkNumber()

SimplexId TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::getVertexLinkNumber ( const SimplexId vertexId) const
overridevirtual

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.

◆ getVertexLinks()

const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::getVertexLinks ( )
overridevirtual
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.

◆ getVertexNeighbors()

const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::getVertexNeighbors ( )
overridevirtual
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.

◆ getVertexStars()

const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::getVertexStars ( )
overridevirtual
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.

◆ getVertexTrianglesInternal()

const vector< vector< SimplexId > > * ImplicitTriangulation::getVertexTrianglesInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 706 of file ImplicitTriangulation.cpp.

◆ isEmpty()

bool ttk::ImplicitTriangulation::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 192 of file ImplicitTriangulation.h.

◆ isPowerOfTwo()

bool ImplicitTriangulation::isPowerOfTwo ( unsigned long long int  v,
unsigned long long int &  r 
)
protected

Definition at line 271 of file ImplicitTriangulation.cpp.

◆ isTriangleOnBoundary()

bool TTK_TRIANGULATION_INTERNAL() ttk::ImplicitTriangulation::isTriangleOnBoundary ( const SimplexId triangleId) const
overridevirtual

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.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ preconditionCellsInternal()

int ttk::ImplicitTriangulation::preconditionCellsInternal ( )
inline

Definition at line 215 of file ImplicitTriangulation.h.

◆ preconditionEdgesInternal()

int ttk::ImplicitTriangulation::preconditionEdgesInternal ( )
overridepure virtual

◆ preconditionTetrahedronsInternal()

virtual int ttk::ImplicitTriangulation::preconditionTetrahedronsInternal ( )
pure virtual

◆ preconditionTrianglesInternal()

int ttk::ImplicitTriangulation::preconditionTrianglesInternal ( )
overridepure virtual

◆ preconditionVertexNeighborsInternal()

int ImplicitTriangulation::preconditionVertexNeighborsInternal ( )
overridevirtual

Reimplemented from ttk::AbstractTriangulation.

Definition at line 2589 of file ImplicitTriangulation.cpp.

◆ preconditionVerticesAndCells()

int ttk::ImplicitTriangulation::preconditionVerticesAndCells ( )
inline

Definition at line 225 of file ImplicitTriangulation.h.

◆ preconditionVerticesInternal()

virtual int ttk::ImplicitTriangulation::preconditionVerticesInternal ( )
pure virtual

◆ setInputGrid()

int ImplicitTriangulation::setInputGrid ( const float &  xOrigin,
const float &  yOrigin,
const float &  zOrigin,
const float &  xSpacing,
const float &  ySpacing,
const float &  zSpacing,
const SimplexId xDim,
const SimplexId yDim,
const SimplexId zDim 
)
overridevirtual

Implements ttk::RegularGridTriangulation.

Definition at line 71 of file ImplicitTriangulation.cpp.

Member Data Documentation

◆ cellNumber_

SimplexId ttk::ImplicitTriangulation::cellNumber_
protected

Definition at line 497 of file ImplicitTriangulation.h.

◆ Di_

SimplexId ttk::ImplicitTriangulation::Di_
protected

Definition at line 504 of file ImplicitTriangulation.h.

◆ div_

SimplexId ttk::ImplicitTriangulation::div_[2]
protected

Definition at line 510 of file ImplicitTriangulation.h.

◆ Dj_

SimplexId ttk::ImplicitTriangulation::Dj_
protected

Definition at line 505 of file ImplicitTriangulation.h.

◆ edgeNumber_

SimplexId ttk::ImplicitTriangulation::edgeNumber_
protected

Definition at line 499 of file ImplicitTriangulation.h.

◆ esetdims_

SimplexId ttk::ImplicitTriangulation::esetdims_[7]
protected

Definition at line 485 of file ImplicitTriangulation.h.

◆ esetshift_

SimplexId ttk::ImplicitTriangulation::esetshift_[7]
protected

Definition at line 486 of file ImplicitTriangulation.h.

◆ eshift_

SimplexId ttk::ImplicitTriangulation::eshift_[14]
protected

Definition at line 487 of file ImplicitTriangulation.h.

◆ hasPreconditionedVerticesAndCells_

bool ttk::ImplicitTriangulation::hasPreconditionedVerticesAndCells_ {false}
protected

Definition at line 477 of file ImplicitTriangulation.h.

◆ isAccelerated_

bool ttk::ImplicitTriangulation::isAccelerated_
protected

Definition at line 508 of file ImplicitTriangulation.h.

◆ mod_

SimplexId ttk::ImplicitTriangulation::mod_[2]
protected

Definition at line 509 of file ImplicitTriangulation.h.

◆ nbvoxels_

SimplexId ttk::ImplicitTriangulation::nbvoxels_[3]
protected

Definition at line 479 of file ImplicitTriangulation.h.

◆ tetrahedronNumber_

SimplexId ttk::ImplicitTriangulation::tetrahedronNumber_
protected

Definition at line 501 of file ImplicitTriangulation.h.

◆ tetshift_

SimplexId ttk::ImplicitTriangulation::tetshift_[2]
protected

Definition at line 495 of file ImplicitTriangulation.h.

◆ triangleNumber_

SimplexId ttk::ImplicitTriangulation::triangleNumber_
protected

Definition at line 500 of file ImplicitTriangulation.h.

◆ tsetdims_

SimplexId ttk::ImplicitTriangulation::tsetdims_[6]
protected

Definition at line 490 of file ImplicitTriangulation.h.

◆ tsetshift_

SimplexId ttk::ImplicitTriangulation::tsetshift_[6]
protected

Definition at line 491 of file ImplicitTriangulation.h.

◆ tshift_

SimplexId ttk::ImplicitTriangulation::tshift_[12]
protected

Definition at line 492 of file ImplicitTriangulation.h.

◆ vertexNeighbor2dA_

std::array<SimplexId, 2> ttk::ImplicitTriangulation::vertexNeighbor2dA_ {}
protected

Definition at line 382 of file ImplicitTriangulation.h.

◆ vertexNeighbor2dAB_

std::array<SimplexId, 4> ttk::ImplicitTriangulation::vertexNeighbor2dAB_ {}
protected

Definition at line 376 of file ImplicitTriangulation.h.

◆ vertexNeighbor2dABCD_

std::array<SimplexId, 6> ttk::ImplicitTriangulation::vertexNeighbor2dABCD_ {}
protected

Definition at line 375 of file ImplicitTriangulation.h.

◆ vertexNeighbor2dAC_

std::array<SimplexId, 4> ttk::ImplicitTriangulation::vertexNeighbor2dAC_ {}
protected

Definition at line 378 of file ImplicitTriangulation.h.

◆ vertexNeighbor2dB_

std::array<SimplexId, 3> ttk::ImplicitTriangulation::vertexNeighbor2dB_ {}
protected

Definition at line 380 of file ImplicitTriangulation.h.

◆ vertexNeighbor2dBD_

std::array<SimplexId, 4> ttk::ImplicitTriangulation::vertexNeighbor2dBD_ {}
protected

Definition at line 379 of file ImplicitTriangulation.h.

◆ vertexNeighbor2dC_

std::array<SimplexId, 3> ttk::ImplicitTriangulation::vertexNeighbor2dC_ {}
protected

Definition at line 381 of file ImplicitTriangulation.h.

◆ vertexNeighbor2dCD_

std::array<SimplexId, 4> ttk::ImplicitTriangulation::vertexNeighbor2dCD_ {}
protected

Definition at line 377 of file ImplicitTriangulation.h.

◆ vertexNeighbor2dD_

std::array<SimplexId, 2> ttk::ImplicitTriangulation::vertexNeighbor2dD_ {}
protected

Definition at line 383 of file ImplicitTriangulation.h.

◆ vertexNeighborA_

std::array<SimplexId, 4> ttk::ImplicitTriangulation::vertexNeighborA_ {}
protected

Definition at line 368 of file ImplicitTriangulation.h.

◆ vertexNeighborAB_

std::array<SimplexId, 8> ttk::ImplicitTriangulation::vertexNeighborAB_ {}
protected

Definition at line 351 of file ImplicitTriangulation.h.

◆ vertexNeighborABCD_

std::array<SimplexId, 10> ttk::ImplicitTriangulation::vertexNeighborABCD_ {}
protected

Definition at line 344 of file ImplicitTriangulation.h.

◆ vertexNeighborABCDEFGH_

std::array<SimplexId, 14> ttk::ImplicitTriangulation::vertexNeighborABCDEFGH_ {}
protected

Definition at line 342 of file ImplicitTriangulation.h.

◆ vertexNeighborAC_

std::array<SimplexId, 6> ttk::ImplicitTriangulation::vertexNeighborAC_ {}
protected

Definition at line 363 of file ImplicitTriangulation.h.

◆ vertexNeighborAE_

std::array<SimplexId, 6> ttk::ImplicitTriangulation::vertexNeighborAE_ {}
protected

Definition at line 364 of file ImplicitTriangulation.h.

◆ vertexNeighborAEFB_

std::array<SimplexId, 10> ttk::ImplicitTriangulation::vertexNeighborAEFB_ {}
protected

Definition at line 346 of file ImplicitTriangulation.h.

◆ vertexNeighborAEGC_

std::array<SimplexId, 10> ttk::ImplicitTriangulation::vertexNeighborAEGC_ {}
protected

Definition at line 348 of file ImplicitTriangulation.h.

◆ vertexNeighborB_

std::array<SimplexId, 7> ttk::ImplicitTriangulation::vertexNeighborB_ {}
protected

Definition at line 358 of file ImplicitTriangulation.h.

◆ vertexNeighborBD_

std::array<SimplexId, 8> ttk::ImplicitTriangulation::vertexNeighborBD_ {}
protected

Definition at line 352 of file ImplicitTriangulation.h.

◆ vertexNeighborBF_

std::array<SimplexId, 8> ttk::ImplicitTriangulation::vertexNeighborBF_ {}
protected

Definition at line 356 of file ImplicitTriangulation.h.

◆ vertexNeighborBFHD_

std::array<SimplexId, 10> ttk::ImplicitTriangulation::vertexNeighborBFHD_ {}
protected

Definition at line 349 of file ImplicitTriangulation.h.

◆ vertexNeighborC_

std::array<SimplexId, 4> ttk::ImplicitTriangulation::vertexNeighborC_ {}
protected

Definition at line 369 of file ImplicitTriangulation.h.

◆ vertexNeighborCD_

std::array<SimplexId, 6> ttk::ImplicitTriangulation::vertexNeighborCD_ {}
protected

Definition at line 362 of file ImplicitTriangulation.h.

◆ vertexNeighborCG_

std::array<SimplexId, 8> ttk::ImplicitTriangulation::vertexNeighborCG_ {}
protected

Definition at line 355 of file ImplicitTriangulation.h.

◆ vertexNeighborD_

std::array<SimplexId, 4> ttk::ImplicitTriangulation::vertexNeighborD_ {}
protected

Definition at line 370 of file ImplicitTriangulation.h.

◆ vertexNeighborDH_

std::array<SimplexId, 6> ttk::ImplicitTriangulation::vertexNeighborDH_ {}
protected

Definition at line 366 of file ImplicitTriangulation.h.

◆ vertexNeighborE_

std::array<SimplexId, 4> ttk::ImplicitTriangulation::vertexNeighborE_ {}
protected

Definition at line 371 of file ImplicitTriangulation.h.

◆ vertexNeighborEF_

std::array<SimplexId, 6> ttk::ImplicitTriangulation::vertexNeighborEF_ {}
protected

Definition at line 361 of file ImplicitTriangulation.h.

◆ vertexNeighborEFGH_

std::array<SimplexId, 10> ttk::ImplicitTriangulation::vertexNeighborEFGH_ {}
protected

Definition at line 345 of file ImplicitTriangulation.h.

◆ vertexNeighborEG_

std::array<SimplexId, 8> ttk::ImplicitTriangulation::vertexNeighborEG_ {}
protected

Definition at line 354 of file ImplicitTriangulation.h.

◆ vertexNeighborF_

std::array<SimplexId, 4> ttk::ImplicitTriangulation::vertexNeighborF_ {}
protected

Definition at line 372 of file ImplicitTriangulation.h.

◆ vertexNeighborFH_

std::array<SimplexId, 6> ttk::ImplicitTriangulation::vertexNeighborFH_ {}
protected

Definition at line 365 of file ImplicitTriangulation.h.

◆ vertexNeighborG_

std::array<SimplexId, 7> ttk::ImplicitTriangulation::vertexNeighborG_ {}
protected

Definition at line 359 of file ImplicitTriangulation.h.

◆ vertexNeighborGH_

std::array<SimplexId, 8> ttk::ImplicitTriangulation::vertexNeighborGH_ {}
protected

Definition at line 353 of file ImplicitTriangulation.h.

◆ vertexNeighborGHDC_

std::array<SimplexId, 10> ttk::ImplicitTriangulation::vertexNeighborGHDC_ {}
protected

Definition at line 347 of file ImplicitTriangulation.h.

◆ vertexNeighborH_

std::array<SimplexId, 4> ttk::ImplicitTriangulation::vertexNeighborH_ {}
protected

Definition at line 373 of file ImplicitTriangulation.h.

◆ vertexNumber_

SimplexId ttk::ImplicitTriangulation::vertexNumber_
protected

Definition at line 498 of file ImplicitTriangulation.h.

◆ vshift_

SimplexId ttk::ImplicitTriangulation::vshift_[2]
protected

Definition at line 482 of file ImplicitTriangulation.h.


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