TTK
|
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>
Public Member Functions | |
ImplicitTriangulation () | |
~ImplicitTriangulation () override | |
ImplicitTriangulation (const ImplicitTriangulation &)=default | |
ImplicitTriangulation (ImplicitTriangulation &&)=default | |
ImplicitTriangulation & | operator= (const ImplicitTriangulation &)=default |
ImplicitTriangulation & | operator= (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 |
![]() | |
RegularGridTriangulation () | |
~RegularGridTriangulation () override=default | |
RegularGridTriangulation (const RegularGridTriangulation &)=default | |
RegularGridTriangulation (RegularGridTriangulation &&)=default | |
RegularGridTriangulation & | operator= (const RegularGridTriangulation &)=default |
RegularGridTriangulation & | operator= (RegularGridTriangulation &&)=default |
![]() | |
AbstractTriangulation () | |
~AbstractTriangulation () override | |
AbstractTriangulation (const AbstractTriangulation &)=default | |
AbstractTriangulation (AbstractTriangulation &&)=default | |
AbstractTriangulation & | operator= (const AbstractTriangulation &)=default |
AbstractTriangulation & | operator= (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 |
![]() | |
Wrapper () | |
~Wrapper () override=default | |
virtual int | updateProgress (const float &progress)=0 |
![]() | |
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) |
![]() | |
BaseClass () | |
virtual | ~BaseClass ()=default |
int | getThreadNumber () const |
virtual int | setThreadNumber (const int threadNumber) |
Protected Member Functions | |
int | checkAcceleration () |
bool | isPowerOfTwo (unsigned long long int v, unsigned long long int &r) |
![]() | |
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 |
![]() | |
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 |
gradientCacheType * | getGradientCacheHandler () const |
![]() | |
int | printMsgInternal (const std::string &msg, const std::string &right, const std::string &filler, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
int | printMsgInternal (const std::string &msg, const debug::Priority &priority, const debug::LineMode &lineMode, std::ostream &stream=std::cout) const |
int | welcomeMsg (std::ostream &stream) |
Additional Inherited Members | |
![]() | |
static COMMON_EXPORTS debug::LineMode | lastLineMode = ttk::debug::LineMode::NEW |
ImplicitTriangulation is a class that provides time and memory efficient traversal methods on triangulations of piecewise linear manifolds represented by regular grids.
Definition at line 20 of file ImplicitTriangulation.h.
|
strongprotected |
Definition at line 385 of file ImplicitTriangulation.h.
|
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.
|
strongprotected |
Definition at line 270 of file ImplicitTriangulation.h.
ImplicitTriangulation::ImplicitTriangulation | ( | ) |
Definition at line 59 of file ImplicitTriangulation.cpp.
|
overridedefault |
|
default |
|
default |
|
protected |
Definition at line 235 of file ImplicitTriangulation.cpp.
|
override |
Definition at line 2484 of file ImplicitTriangulation.cpp.
|
override |
Definition at line 2474 of file ImplicitTriangulation.cpp.
|
overridevirtual |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2497 of file ImplicitTriangulation.cpp.
|
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).
cellId | Input global cell identifier. |
localNeighborId | Input local neighbor identifier, in [0, getCellNeighborNumber()]. |
neighborId | Output global neighbor cell identifier. |
Reimplemented from ttk::AbstractTriangulation.
|
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).
cellId | Input global cell identifier. |
Reimplemented from ttk::AbstractTriangulation.
|
overridevirtual |
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.
Reimplemented from ttk::AbstractTriangulation.
|
override |
Definition at line 2513 of file ImplicitTriangulation.cpp.
|
inlineoverride |
Definition at line 58 of file ImplicitTriangulation.h.
|
overridevirtual |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2524 of file ImplicitTriangulation.cpp.
|
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).
cellId | Input global cell identifier. |
localVertexId | Input local vertex identifier, in [0, getCellVertexNumber()]. |
vertexId | Output global vertex identifier. |
Reimplemented from ttk::AbstractTriangulation.
|
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).
cellId | Input global cell identifier. |
Reimplemented from ttk::AbstractTriangulation.
|
inlineoverridevirtual |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 234 of file ImplicitTriangulation.h.
|
inlineoverridevirtual |
Get the dimensionality of the triangulation (this value is equal to the dimension of the simplex with largest dimensionality).
Reimplemented from ttk::AbstractTriangulation.
Definition at line 76 of file ImplicitTriangulation.h.
|
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.
edgeId | Input global edge identifier. |
Reimplemented from ttk::AbstractTriangulation.
|
overridevirtual |
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.
Reimplemented from ttk::AbstractTriangulation.
|
overridevirtual |
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.
Reimplemented from ttk::AbstractTriangulation.
|
overridevirtual |
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.
Reimplemented from ttk::AbstractTriangulation.
|
overridevirtual |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1461 of file ImplicitTriangulation.cpp.
|
inlineoverridevirtual |
Get the dimensions of the grid if the current object is the implicit triangulation of a regular grid.
dimensions | Vector that will be filled with the dimensions of the grid. This std::vector has 3 entries (first: x, second: y, third: z). |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 31 of file ImplicitTriangulation.h.
|
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).
Reimplemented from ttk::AbstractTriangulation.
Definition at line 95 of file ImplicitTriangulation.h.
|
inlineoverridevirtual |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 99 of file ImplicitTriangulation.h.
|
inlineoverridevirtual |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 103 of file ImplicitTriangulation.h.
|
inlineoverridevirtual |
Get the number of vertices in the triangulation.
Reimplemented from ttk::AbstractTriangulation.
Definition at line 107 of file ImplicitTriangulation.h.
int ImplicitTriangulation::getTetrahedronEdges | ( | std::vector< std::vector< SimplexId > > & | edges | ) | const |
Definition at line 2263 of file ImplicitTriangulation.cpp.
int ImplicitTriangulation::getTetrahedronNeighbors | ( | std::vector< std::vector< SimplexId > > & | neighbors | ) |
Definition at line 2442 of file ImplicitTriangulation.cpp.
int ImplicitTriangulation::getTetrahedronTriangles | ( | std::vector< std::vector< SimplexId > > & | triangles | ) | const |
Definition at line 2319 of file ImplicitTriangulation.cpp.
|
inlineoverride |
Definition at line 137 of file ImplicitTriangulation.h.
|
overridevirtual |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1863 of file ImplicitTriangulation.cpp.
int ImplicitTriangulation::getTriangleEdgesInternal | ( | std::vector< std::vector< SimplexId > > & | edges | ) | const |
Definition at line 1851 of file ImplicitTriangulation.cpp.
|
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.
triangleId | Input global triangle identifier. |
Reimplemented from ttk::AbstractTriangulation.
|
overridevirtual |
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.
Reimplemented from ttk::AbstractTriangulation.
int ImplicitTriangulation::getTriangleNeighbors | ( | std::vector< std::vector< SimplexId > > & | neighbors | ) |
Definition at line 2169 of file ImplicitTriangulation.cpp.
|
overridevirtual |
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.
Reimplemented from ttk::AbstractTriangulation.
|
overridevirtual |
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.
Reimplemented from ttk::AbstractTriangulation.
|
override |
Definition at line 378 of file ImplicitTriangulation.cpp.
|
overridevirtual |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 535 of file ImplicitTriangulation.cpp.
|
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.
vertexId | Input global vertex identifier. |
Reimplemented from ttk::AbstractTriangulation.
|
overridevirtual |
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.
Reimplemented from ttk::AbstractTriangulation.
|
overridevirtual |
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.
Reimplemented from ttk::AbstractTriangulation.
|
overridevirtual |
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.
Reimplemented from ttk::AbstractTriangulation.
|
overridevirtual |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 706 of file ImplicitTriangulation.cpp.
|
inlineoverridevirtual |
Check if the data structure is empty or not.
Reimplemented from ttk::AbstractTriangulation.
Definition at line 192 of file ImplicitTriangulation.h.
|
protected |
Definition at line 271 of file ImplicitTriangulation.cpp.
|
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.
triangleId | Input global triangle identifier. |
Reimplemented from ttk::AbstractTriangulation.
|
default |
|
default |
|
inline |
Definition at line 215 of file ImplicitTriangulation.h.
|
overridepure virtual |
Reimplemented from ttk::AbstractTriangulation.
Implemented in ttk::ImplicitWithPreconditions, and ttk::ImplicitNoPreconditions.
|
pure virtual |
Implemented in ttk::ImplicitWithPreconditions, and ttk::ImplicitNoPreconditions.
|
overridepure virtual |
Reimplemented from ttk::AbstractTriangulation.
Implemented in ttk::ImplicitWithPreconditions, and ttk::ImplicitNoPreconditions.
|
overridevirtual |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2589 of file ImplicitTriangulation.cpp.
|
inline |
Definition at line 225 of file ImplicitTriangulation.h.
|
pure virtual |
Implemented in ttk::ImplicitWithPreconditions, and ttk::ImplicitNoPreconditions.
|
overridevirtual |
Implements ttk::RegularGridTriangulation.
Definition at line 71 of file ImplicitTriangulation.cpp.
|
protected |
Definition at line 497 of file ImplicitTriangulation.h.
|
protected |
Definition at line 504 of file ImplicitTriangulation.h.
|
protected |
Definition at line 510 of file ImplicitTriangulation.h.
|
protected |
Definition at line 505 of file ImplicitTriangulation.h.
|
protected |
Definition at line 499 of file ImplicitTriangulation.h.
|
protected |
Definition at line 485 of file ImplicitTriangulation.h.
|
protected |
Definition at line 486 of file ImplicitTriangulation.h.
|
protected |
Definition at line 487 of file ImplicitTriangulation.h.
|
protected |
Definition at line 477 of file ImplicitTriangulation.h.
|
protected |
Definition at line 508 of file ImplicitTriangulation.h.
|
protected |
Definition at line 509 of file ImplicitTriangulation.h.
|
protected |
Definition at line 479 of file ImplicitTriangulation.h.
|
protected |
Definition at line 501 of file ImplicitTriangulation.h.
|
protected |
Definition at line 495 of file ImplicitTriangulation.h.
|
protected |
Definition at line 500 of file ImplicitTriangulation.h.
|
protected |
Definition at line 490 of file ImplicitTriangulation.h.
|
protected |
Definition at line 491 of file ImplicitTriangulation.h.
|
protected |
Definition at line 492 of file ImplicitTriangulation.h.
|
protected |
Definition at line 382 of file ImplicitTriangulation.h.
|
protected |
Definition at line 376 of file ImplicitTriangulation.h.
|
protected |
Definition at line 375 of file ImplicitTriangulation.h.
|
protected |
Definition at line 378 of file ImplicitTriangulation.h.
|
protected |
Definition at line 380 of file ImplicitTriangulation.h.
|
protected |
Definition at line 379 of file ImplicitTriangulation.h.
|
protected |
Definition at line 381 of file ImplicitTriangulation.h.
|
protected |
Definition at line 377 of file ImplicitTriangulation.h.
|
protected |
Definition at line 383 of file ImplicitTriangulation.h.
|
protected |
Definition at line 368 of file ImplicitTriangulation.h.
|
protected |
Definition at line 351 of file ImplicitTriangulation.h.
|
protected |
Definition at line 344 of file ImplicitTriangulation.h.
|
protected |
Definition at line 342 of file ImplicitTriangulation.h.
|
protected |
Definition at line 363 of file ImplicitTriangulation.h.
|
protected |
Definition at line 364 of file ImplicitTriangulation.h.
|
protected |
Definition at line 346 of file ImplicitTriangulation.h.
|
protected |
Definition at line 348 of file ImplicitTriangulation.h.
|
protected |
Definition at line 358 of file ImplicitTriangulation.h.
|
protected |
Definition at line 352 of file ImplicitTriangulation.h.
|
protected |
Definition at line 356 of file ImplicitTriangulation.h.
|
protected |
Definition at line 349 of file ImplicitTriangulation.h.
|
protected |
Definition at line 369 of file ImplicitTriangulation.h.
|
protected |
Definition at line 362 of file ImplicitTriangulation.h.
|
protected |
Definition at line 355 of file ImplicitTriangulation.h.
|
protected |
Definition at line 370 of file ImplicitTriangulation.h.
|
protected |
Definition at line 366 of file ImplicitTriangulation.h.
|
protected |
Definition at line 371 of file ImplicitTriangulation.h.
|
protected |
Definition at line 361 of file ImplicitTriangulation.h.
|
protected |
Definition at line 345 of file ImplicitTriangulation.h.
|
protected |
Definition at line 354 of file ImplicitTriangulation.h.
|
protected |
Definition at line 372 of file ImplicitTriangulation.h.
|
protected |
Definition at line 365 of file ImplicitTriangulation.h.
|
protected |
Definition at line 359 of file ImplicitTriangulation.h.
|
protected |
Definition at line 353 of file ImplicitTriangulation.h.
|
protected |
Definition at line 347 of file ImplicitTriangulation.h.
|
protected |
Definition at line 373 of file ImplicitTriangulation.h.
|
protected |
Definition at line 498 of file ImplicitTriangulation.h.
|
protected |
Definition at line 482 of file ImplicitTriangulation.h.