TTK
|
TTK triangulation class for grids with periodic boundary conditions implemented in all directions. More...
#include <PeriodicImplicitTriangulation.h>
Public Member Functions | |
PeriodicImplicitTriangulation () | |
~PeriodicImplicitTriangulation () override | |
PeriodicImplicitTriangulation (const PeriodicImplicitTriangulation &)=default | |
PeriodicImplicitTriangulation (PeriodicImplicitTriangulation &&)=default | |
PeriodicImplicitTriangulation & | operator= (const PeriodicImplicitTriangulation &)=default |
PeriodicImplicitTriangulation & | operator= (PeriodicImplicitTriangulation &&)=default |
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 &ttkNotUsed(cellId)) const override |
const std::vector< std::vector< SimplexId > > * | getCellTrianglesInternal () override |
int TTK_TRIANGULATION_INTERNAL() | getCellVertex (const SimplexId &cellId, const int &localVertexId, SimplexId &vertexId) const override |
SimplexId TTK_TRIANGULATION_INTERNAL() | getCellVertexNumber (const SimplexId &cellId) const override |
int TTK_TRIANGULATION_INTERNAL() | getDimensionality () const override |
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 |
SimplexId | getTetrahedronNeighborNumber (const SimplexId &tetId) const |
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 &ttkNotUsed(triangleId)) 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 |
SimplexId | getTriangleNeighborNumber (const SimplexId &triangleId) const |
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 |
SimplexId TTK_TRIANGULATION_INTERNAL() | getVertexNeighborNumber (const SimplexId &vertexId) const override |
const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL() | getVertexNeighbors () override |
SimplexId TTK_TRIANGULATION_INTERNAL() | getVertexStarNumber (const SimplexId &vertexId) const override |
const std::vector< std::vector< SimplexId > > *TTK_TRIANGULATION_INTERNAL() | getVertexStars () override |
SimplexId | getVertexTriangleNumberInternal (const SimplexId &vertexId) const override |
const std::vector< std::vector< SimplexId > > * | getVertexTrianglesInternal () override |
bool TTK_TRIANGULATION_INTERNAL() | isEdgeOnBoundary (const SimplexId &edgeId) const override |
bool | isEmpty () const override |
bool TTK_TRIANGULATION_INTERNAL() | isTriangleOnBoundary (const SimplexId &triangleId) const override |
bool TTK_TRIANGULATION_INTERNAL() | isVertexOnBoundary (const SimplexId &vertexId) const override |
int | 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 |
const std::array< ttk::SimplexId, 3 > & | getGridDimensions () const override |
virtual int | preconditionVerticesInternal ()=0 |
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 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 int | getVertexTriangle (const SimplexId &vertexId, const int &localTriangleId, SimplexId &triangleId) const |
virtual SimplexId | getVertexTriangleNumber (const SimplexId &vertexId) const |
virtual const std::vector< std::vector< SimplexId > > * | getVertexTriangles () |
bool | hasPeriodicBoundaries () const |
Returns true if the grid uses period boundary conditions. | |
virtual bool | isManifold () const |
virtual int | preconditionManifold () |
virtual int | preconditionBoundaryEdges () |
virtual int | preconditionBoundaryTriangles () |
virtual int | preconditionBoundaryVertices () |
virtual int | preconditionCellEdges () |
virtual int | preconditionCellNeighbors () |
virtual int | preconditionCellTriangles () |
virtual int | preconditionEdges () |
virtual int | preconditionEdgeLinks () |
virtual int | preconditionEdgeStars () |
virtual int | preconditionEdgeTriangles () |
virtual int | preconditionTriangles () |
virtual int | preconditionTriangleEdges () |
virtual int | preconditionTriangleLinks () |
virtual int | preconditionTriangleStars () |
virtual int | preconditionVertexEdges () |
virtual int | preconditionVertexLinks () |
virtual int | preconditionVertexNeighbors () |
virtual int | preconditionVertexStars () |
virtual int | preconditionVertexTriangles () |
int | getEdgeIncenter (const SimplexId edgeId, float incenter[3]) const |
int | getTriangleIncenter (const SimplexId triangleId, float incenter[3]) const |
int | getTetraIncenter (const SimplexId tetraId, float incenter[3]) const |
int | getCellIncenter (const SimplexId cellid, const int dim, float incenter[3]) const |
virtual int | getCellVTKID (const int &ttkId, int &vtkId) const |
template<class itemType > | |
size_t | tableTableFootprint (const vector< vector< itemType > > &table, const string &tableName, ostream &stream) const |
![]() | |
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 Types | |
enum class | EdgePosition : char { L_3D , H_3D , P_3D , D1_3D , D2_3D , D3_3D , D4_3D , L_2D , H_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 } |
![]() | |
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) |
![]() | |
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 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 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 | preconditionVertexNeighborsInternal () |
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 |
TTK triangulation class for grids with periodic boundary conditions implemented in all directions.
Definition at line 23 of file PeriodicImplicitTriangulation.h.
|
strongprotected |
Enumerator | |
---|---|
L_3D | |
H_3D | |
P_3D | |
D1_3D | |
D2_3D | |
D3_3D | |
D4_3D | |
L_2D | |
H_2D | |
D1_2D | |
FIRST_EDGE_1D | |
LAST_EDGE_1D | |
CENTER_1D |
Definition at line 302 of file PeriodicImplicitTriangulation.h.
|
strongprotected |
Enumerator | |
---|---|
F_3D | |
C_3D | |
H_3D | |
D1_3D | |
D2_3D | |
D3_3D | |
TOP_2D | |
BOTTOM_2D |
Definition at line 339 of file PeriodicImplicitTriangulation.h.
PeriodicImplicitTriangulation::PeriodicImplicitTriangulation | ( | ) |
Definition at line 5 of file PeriodicImplicitTriangulation.cpp.
|
overridedefault |
|
default |
|
default |
|
protected |
Definition at line 185 of file PeriodicImplicitTriangulation.cpp.
|
override |
Definition at line 1945 of file PeriodicImplicitTriangulation.cpp.
|
override |
Definition at line 1935 of file PeriodicImplicitTriangulation.cpp.
|
overridevirtual |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1958 of file PeriodicImplicitTriangulation.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 1974 of file PeriodicImplicitTriangulation.cpp.
|
inlineoverridevirtual |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 61 of file PeriodicImplicitTriangulation.h.
|
overridevirtual |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1985 of file PeriodicImplicitTriangulation.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 254 of file PeriodicImplicitTriangulation.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 79 of file PeriodicImplicitTriangulation.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 1051 of file PeriodicImplicitTriangulation.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 226 of file PeriodicImplicitTriangulation.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 98 of file PeriodicImplicitTriangulation.h.
|
inlineoverridevirtual |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 102 of file PeriodicImplicitTriangulation.h.
|
inlineoverridevirtual |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 106 of file PeriodicImplicitTriangulation.h.
|
inlineoverridevirtual |
Get the number of vertices in the triangulation.
Reimplemented from ttk::AbstractTriangulation.
Definition at line 110 of file PeriodicImplicitTriangulation.h.
int PeriodicImplicitTriangulation::getTetrahedronEdges | ( | std::vector< std::vector< SimplexId > > & | edges | ) | const |
Definition at line 1772 of file PeriodicImplicitTriangulation.cpp.
SimplexId PeriodicImplicitTriangulation::getTetrahedronNeighborNumber | ( | const SimplexId & | tetId | ) | const |
Definition at line 1839 of file PeriodicImplicitTriangulation.cpp.
int PeriodicImplicitTriangulation::getTetrahedronNeighbors | ( | std::vector< std::vector< SimplexId > > & | neighbors | ) |
Definition at line 1902 of file PeriodicImplicitTriangulation.cpp.
int PeriodicImplicitTriangulation::getTetrahedronTriangles | ( | std::vector< std::vector< SimplexId > > & | triangles | ) | const |
Definition at line 1827 of file PeriodicImplicitTriangulation.cpp.
|
inlineoverridevirtual |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 139 of file PeriodicImplicitTriangulation.h.
|
overridevirtual |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1391 of file PeriodicImplicitTriangulation.cpp.
int PeriodicImplicitTriangulation::getTriangleEdgesInternal | ( | std::vector< std::vector< SimplexId > > & | edges | ) | const |
Definition at line 1379 of file PeriodicImplicitTriangulation.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.
SimplexId PeriodicImplicitTriangulation::getTriangleNeighborNumber | ( | const SimplexId & | triangleId | ) | const |
Definition at line 1564 of file PeriodicImplicitTriangulation.cpp.
int PeriodicImplicitTriangulation::getTriangleNeighbors | ( | std::vector< std::vector< SimplexId > > & | neighbors | ) |
Definition at line 1680 of file PeriodicImplicitTriangulation.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 348 of file PeriodicImplicitTriangulation.cpp.
|
overridevirtual |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 385 of file PeriodicImplicitTriangulation.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 number of vertex neighbors for the vertexId-th
vertex.
vertexId | Input global vertex identifier. |
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 number of star cells for the vertexId-th
vertex.
Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).
vertexId | Input global vertex identifier |
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.
|
override |
Definition at line 403 of file PeriodicImplicitTriangulation.cpp.
|
overridevirtual |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 441 of file PeriodicImplicitTriangulation.cpp.
|
overridevirtual |
Check if the edge with global identifier edgeId
is on the boundary of the domain.
For 2D triangulations, this function will return true if the edge is a boundary edge. For 3D triangulations, this function will return true if the edge belongs to a boundary triangle.
Here the notion of edge only makes sense if the triangulation has a dimension greater than 1 (otherwise, use the cell information).
edgeId | Input global edge identifier. |
Reimplemented from ttk::AbstractTriangulation.
|
inlineoverridevirtual |
Check if the data structure is empty or not.
Reimplemented from ttk::AbstractTriangulation.
Definition at line 205 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 221 of file PeriodicImplicitTriangulation.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.
|
overridevirtual |
Check if the vertex with global identifier vertexId
is on the boundary of the domain.
For 2D triangulations, this function will return true if the vertex belongs to a boundary edge. For 3D triangulations, this function will return true if the vertex belongs to a boundary triangle.
vertexId | Input global vertex identifier. |
Reimplemented from ttk::AbstractTriangulation.
|
default |
|
default |
|
inline |
Definition at line 235 of file PeriodicImplicitTriangulation.h.
|
overridepure virtual |
Reimplemented from ttk::AbstractTriangulation.
Implemented in ttk::PeriodicWithPreconditions, and ttk::PeriodicNoPreconditions.
|
pure virtual |
Implemented in ttk::PeriodicWithPreconditions, and ttk::PeriodicNoPreconditions.
|
overridepure virtual |
Reimplemented from ttk::AbstractTriangulation.
Implemented in ttk::PeriodicWithPreconditions, and ttk::PeriodicNoPreconditions.
|
inline |
Definition at line 245 of file PeriodicImplicitTriangulation.h.
|
pure virtual |
Implemented in ttk::PeriodicWithPreconditions, and ttk::PeriodicNoPreconditions.
|
overridevirtual |
Implements ttk::RegularGridTriangulation.
Definition at line 14 of file PeriodicImplicitTriangulation.cpp.
|
protected |
Definition at line 287 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 294 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 267 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 300 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 295 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 289 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 275 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 276 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 277 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 360 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 298 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 299 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 268 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 291 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 285 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 290 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 280 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 281 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 282 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 288 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 272 of file PeriodicImplicitTriangulation.h.
|
protected |
Definition at line 269 of file PeriodicImplicitTriangulation.h.