TTK
|
Triangulation is a class that provides time and memory efficient traversal methods on triangulations of piecewise linear manifolds. It provides the following features: More...
#include <Triangulation.h>
Public Types | |
enum class | Type { EXPLICIT , IMPLICIT , HYBRID_IMPLICIT , PERIODIC , HYBRID_PERIODIC , COMPACT } |
enum class | STRATEGY { DEFAULT = 0 , WITH_PRECONDITIONS = 1 , NO_PRECONDITIONS = 2 } |
Public Member Functions | |
Triangulation () | |
Triangulation (const Triangulation &) | |
Triangulation (Triangulation &&) noexcept | |
Triangulation & | operator= (const Triangulation &) |
Triangulation & | operator= (Triangulation &&) noexcept |
~Triangulation () override | |
int | clear () |
size_t | footprint () const |
int | getCellEdge (const SimplexId &cellId, const int &localEdgeId, SimplexId &edgeId) const override |
SimplexId | getCellEdgeNumber (const SimplexId &cellId) const override |
const std::vector< std::vector< SimplexId > > * | getCellEdges () override |
int | getCellIncenter (SimplexId cellId, int dim, float incenter[3]) const |
int | getCellNeighbor (const SimplexId &cellId, const int &localNeighborId, SimplexId &neighborId) const override |
SimplexId | getCellNeighborNumber (const SimplexId &cellId) const override |
const std::vector< std::vector< SimplexId > > * | getCellNeighbors () override |
int | getCellTriangle (const SimplexId &cellId, const int &localTriangleId, SimplexId &triangleId) const override |
SimplexId | getCellTriangleNumber (const SimplexId &cellId) const override |
const std::vector< std::vector< SimplexId > > * | getCellTriangles () override |
int | getCellVertex (const SimplexId &cellId, const int &localVertexId, SimplexId &vertexId) const override |
SimplexId | getCellVertexNumber (const SimplexId &cellId) const override |
int | getDimensionality () const override |
const std::vector< std::array< SimplexId, 2 > > * | getEdges () override |
int | getEdgeIncenter (SimplexId edgeId, float incenter[3]) const |
int | getTriangleIncenter (SimplexId triangleId, float incenter[3]) const |
int | getEdgeLink (const SimplexId &edgeId, const int &localLinkId, SimplexId &linkId) const override |
SimplexId | getEdgeLinkNumber (const SimplexId &edgeId) const override |
const std::vector< std::vector< SimplexId > > * | getEdgeLinks () override |
int | getEdgeStar (const SimplexId &edgeId, const int &localStarId, SimplexId &starId) const override |
SimplexId | getEdgeStarNumber (const SimplexId &edgeId) const override |
const std::vector< std::vector< SimplexId > > * | getEdgeStars () override |
int | getEdgeTriangle (const SimplexId &edgeId, const int &localTriangleId, SimplexId &triangleId) const override |
SimplexId | getEdgeTriangleNumber (const SimplexId &edgeId) const override |
const std::vector< std::vector< SimplexId > > * | getEdgeTriangles () override |
int | getEdgeVertex (const SimplexId &edgeId, const int &localVertexId, SimplexId &vertexId) const override |
AbstractTriangulation * | getData () |
SimplexId | getNumberOfCells () const override |
SimplexId | getNumberOfEdges () const override |
SimplexId | getNumberOfTriangles () const override |
SimplexId | getNumberOfVertices () const override |
int | getTetraIncenter (SimplexId tetraId, float incenter[3]) const |
const std::vector< std::array< SimplexId, 3 > > * | getTriangles () override |
int | getTriangleEdge (const SimplexId &triangleId, const int &localEdgeId, SimplexId &edgeId) const override |
SimplexId | getTriangleEdgeNumber (const SimplexId &triangleId) const override |
const std::vector< std::vector< SimplexId > > * | getTriangleEdges () override |
int | getTriangleLink (const SimplexId &triangleId, const int &localLinkId, SimplexId &linkId) const override |
SimplexId | getTriangleLinkNumber (const SimplexId &triangleId) const override |
const std::vector< std::vector< SimplexId > > * | getTriangleLinks () override |
int | getTriangleStar (const SimplexId &triangleId, const int &localStarId, SimplexId &starId) const override |
SimplexId | getTriangleStarNumber (const SimplexId &triangleId) const override |
const std::vector< std::vector< SimplexId > > * | getTriangleStars () override |
int | getTriangleVertex (const SimplexId &triangleId, const int &localVertexId, SimplexId &vertexId) const override |
Triangulation::Type | getType () const |
int | getVertexEdge (const SimplexId &vertexId, const int &localEdgeId, SimplexId &edgeId) const override |
SimplexId | getVertexEdgeNumber (const SimplexId &vertexId) const override |
const std::vector< std::vector< SimplexId > > * | getVertexEdges () override |
int | getVertexLink (const SimplexId &vertexId, const int &localLinkId, SimplexId &linkId) const override |
SimplexId | getVertexLinkNumber (const SimplexId &vertexId) const override |
const std::vector< std::vector< SimplexId > > * | getVertexLinks () override |
int | getVertexNeighbor (const SimplexId &vertexId, const int &localNeighborId, SimplexId &neighborId) const override |
SimplexId | getVertexNeighborNumber (const SimplexId &vertexId) const override |
const std::vector< std::vector< SimplexId > > * | getVertexNeighbors () override |
int | getVertexPoint (const SimplexId &vertexId, float &x, float &y, float &z) const override |
int | getVertexStar (const SimplexId &vertexId, const int &localStarId, SimplexId &starId) const override |
SimplexId | getVertexStarNumber (const SimplexId &vertexId) const override |
const std::vector< std::vector< SimplexId > > * | getVertexStars () override |
int | getVertexTriangle (const SimplexId &vertexId, const int &localTriangleId, SimplexId &triangleId) const override |
SimplexId | getVertexTriangleNumber (const SimplexId &vertexId) const override |
const std::vector< std::vector< SimplexId > > * | getVertexTriangles () override |
bool | isEdgeOnBoundary (const SimplexId &edgeId) const override |
bool | isEmpty () const override |
bool | isManifold () const override |
int | preconditionManifold () override |
bool | isTriangleOnBoundary (const SimplexId &triangleId) const override |
bool | isVertexOnBoundary (const SimplexId &vertexId) const override |
int | preconditionBoundaryEdges () override |
int | preconditionBoundaryTriangles () override |
int | preconditionBoundaryVertices () override |
int | preconditionCellEdges () override |
int | preconditionCellNeighbors () override |
int | preconditionCellTriangles () override |
int | preconditionEdges () override |
int | preconditionEdgeLinks () override |
int | preconditionEdgeStars () override |
int | preconditionEdgeTriangles () override |
int | preconditionTriangles () override |
int | preconditionTriangleEdges () override |
int | preconditionTriangleLinks () override |
int | preconditionTriangleStars () override |
int | preconditionVertexEdges () override |
int | getCellVTKID (const int &ttkId, int &vtkId) const override |
int | preconditionVertexLinks () override |
int | preconditionVertexNeighbors () override |
int | preconditionVertexStars () override |
int | preconditionVertexTriangles () override |
int | setDebugLevel (const int &debugLevel) override |
Tune the debug level (default: 0) | |
int | setCacheSize (const float &ratio) |
int | setInputCells (const SimplexId &cellNumber, const LongSimplexId *cellArray) |
int | setStellarInputCells (const SimplexId &cellNumber, const LongSimplexId *cellArray) |
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) |
void | setPeriodicBoundaryConditions (const bool &usePeriodicBoundaries) |
void | setImplicitPreconditions (const STRATEGY strategy) |
Set the input grid preconditioning strategy. | |
int | setInputPoints (const SimplexId &pointNumber, const void *pointSet, const bool &doublePrecision=false) |
int | setStellarInputPoints (const SimplexId &pointNumber, const void *pointSet, const int *indexArray, const bool &doublePrecision=false) |
int | setThreadNumber (const ThreadId threadNumber) override |
Tune the number of active threads (default: number of logical cores) | |
int | setWrapper (const Wrapper *wrapper) override |
bool | hasImplicitPreconditions () const |
Returns true if the grid uses preconditions. | |
Public Member Functions inherited from ttk::AbstractTriangulation | |
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 |
int | getEdgeVertexNumber (const SimplexId ttkNotUsed(edgeId)) const |
virtual const std::array< SimplexId, 3 > & | getGridDimensions () const |
int | getTriangleVertexNumber (const SimplexId ttkNotUsed(triangleId)) const |
bool | hasPeriodicBoundaries () const |
Returns true if the grid uses period boundary conditions. | |
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 |
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 | |
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 |
Protected Member Functions | |
bool | isEmptyCheck () const |
bool | processImplicitStrategy (const STRATEGY strategy=STRATEGY::DEFAULT) const |
Should we precondition the implicit/periodic triangulations? | |
void | switchGrid (const bool usePeriodic, const bool usePreconditions) |
Switch regular grid triangulation type. | |
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 const std::vector< std::vector< SimplexId > > * | getCellEdgesInternal () |
virtual int | getCellNeighborInternal (const SimplexId &ttkNotUsed(cellId), const int &ttkNotUsed(localNeighborId), SimplexId &ttkNotUsed(neighborId)) const |
virtual SimplexId | getCellNeighborNumberInternal (const SimplexId &ttkNotUsed(cellId)) const |
virtual const std::vector< std::vector< SimplexId > > * | getCellNeighborsInternal () |
virtual int | getCellTriangleInternal (const SimplexId &ttkNotUsed(cellId), const int &ttkNotUsed(localTriangleId), SimplexId &ttkNotUsed(triangleId)) const |
virtual SimplexId | getCellTriangleNumberInternal (const SimplexId &ttkNotUsed(cellId)) const |
virtual const std::vector< std::vector< SimplexId > > * | getCellTrianglesInternal () |
virtual int | getCellVertexInternal (const SimplexId &ttkNotUsed(cellId), const int &ttkNotUsed(localVertexId), SimplexId &ttkNotUsed(vertexId)) const |
virtual SimplexId | getCellVertexNumberInternal (const SimplexId &ttkNotUsed(cellId)) const |
virtual int | getDimensionalityInternal () const |
virtual const std::vector< std::array< SimplexId, 2 > > * | getEdgesInternal () |
virtual int | getEdgeLinkInternal (const SimplexId &ttkNotUsed(edgeId), const int &ttkNotUsed(localLinkId), SimplexId &ttkNotUsed(linkId)) const |
virtual SimplexId | getEdgeLinkNumberInternal (const SimplexId &ttkNotUsed(edgeId)) const |
virtual const std::vector< std::vector< SimplexId > > * | getEdgeLinksInternal () |
virtual int | getEdgeStarInternal (const SimplexId &ttkNotUsed(edgeId), const int &ttkNotUsed(localStarId), SimplexId &ttkNotUsed(starId)) const |
virtual SimplexId | getEdgeStarNumberInternal (const SimplexId &ttkNotUsed(edgeId)) const |
virtual const std::vector< std::vector< SimplexId > > * | getEdgeStarsInternal () |
virtual int | getEdgeTriangleInternal (const SimplexId &ttkNotUsed(edgeId), const int &ttkNotUsed(localTriangleId), SimplexId &ttkNotUsed(triangleId)) const |
virtual SimplexId | getEdgeTriangleNumberInternal (const SimplexId &ttkNotUsed(edgeId)) const |
virtual const std::vector< std::vector< SimplexId > > * | getEdgeTrianglesInternal () |
virtual int | getEdgeVertexInternal (const SimplexId &ttkNotUsed(edgeId), const int &ttkNotUsed(localVertexId), SimplexId &ttkNotUsed(vertexId)) const |
virtual SimplexId | getNumberOfCellsInternal () const |
virtual SimplexId | getNumberOfEdgesInternal () const |
virtual SimplexId | getNumberOfTrianglesInternal () const |
virtual SimplexId | getNumberOfVerticesInternal () const |
virtual const std::vector< std::array< SimplexId, 3 > > * | getTrianglesInternal () |
virtual int | getTriangleEdgeInternal (const SimplexId &ttkNotUsed(triangleId), const int &ttkNotUsed(localEdgeId), SimplexId &ttkNotUsed(edgeId)) const |
virtual SimplexId | getTriangleEdgeNumberInternal (const SimplexId &ttkNotUsed(triangleId)) const |
virtual const std::vector< std::vector< SimplexId > > * | getTriangleEdgesInternal () |
virtual int | getTriangleLinkInternal (const SimplexId &ttkNotUsed(triangleId), const int &ttkNotUsed(localLinkId), SimplexId &ttkNotUsed(linkId)) const |
virtual SimplexId | getTriangleLinkNumberInternal (const SimplexId &ttkNotUsed(triangleId)) const |
virtual const std::vector< std::vector< SimplexId > > * | getTriangleLinksInternal () |
virtual int | getTriangleStarInternal (const SimplexId &ttkNotUsed(triangleId), const int &ttkNotUsed(localStarId), SimplexId &ttkNotUsed(starId)) const |
virtual SimplexId | getTriangleStarNumberInternal (const SimplexId &ttkNotUsed(triangleId)) const |
virtual const std::vector< std::vector< SimplexId > > * | getTriangleStarsInternal () |
virtual int | getTriangleVertexInternal (const SimplexId &ttkNotUsed(triangleId), const int &ttkNotUsed(localVertexId), SimplexId &ttkNotUsed(vertexId)) const |
virtual int | getVertexEdgeInternal (const SimplexId &ttkNotUsed(vertexId), const int &ttkNotUsed(localEdgeId), SimplexId &ttkNotUsed(edgeId)) const |
virtual SimplexId | getVertexEdgeNumberInternal (const SimplexId &ttkNotUsed(vertexId)) const |
virtual const std::vector< std::vector< SimplexId > > * | getVertexEdgesInternal () |
virtual int | getVertexLinkInternal (const SimplexId &ttkNotUsed(vertexId), const int &ttkNotUsed(localLinkId), SimplexId &ttkNotUsed(linkId)) const |
virtual SimplexId | getVertexLinkNumberInternal (const SimplexId &ttkNotUsed(vertexId)) const |
virtual const std::vector< std::vector< SimplexId > > * | getVertexLinksInternal () |
virtual int | getVertexNeighborInternal (const SimplexId &ttkNotUsed(vertexId), const int &ttkNotUsed(localNeighborId), SimplexId &ttkNotUsed(neighborId)) const |
virtual SimplexId | getVertexNeighborNumberInternal (const SimplexId &ttkNotUsed(vertexId)) const |
virtual const std::vector< std::vector< SimplexId > > * | getVertexNeighborsInternal () |
virtual int | getVertexPointInternal (const SimplexId &ttkNotUsed(vertexId), float &ttkNotUsed(x), float &ttkNotUsed(y), float &ttkNotUsed(z)) const |
virtual int | getVertexStarInternal (const SimplexId &ttkNotUsed(vertexId), const int &ttkNotUsed(localStarId), SimplexId &ttkNotUsed(starId)) const |
virtual SimplexId | getVertexStarNumberInternal (const SimplexId &ttkNotUsed(vertexId)) const |
virtual const std::vector< std::vector< SimplexId > > * | getVertexStarsInternal () |
virtual int | getVertexTriangleInternal (const SimplexId &ttkNotUsed(vertexId), const int &ttkNotUsed(localTriangleId), SimplexId &ttkNotUsed(triangleId)) const |
virtual SimplexId | getVertexTriangleNumberInternal (const SimplexId &ttkNotUsed(vertexId)) const |
virtual const std::vector< std::vector< SimplexId > > * | getVertexTrianglesInternal () |
virtual bool | isEdgeOnBoundaryInternal (const SimplexId &ttkNotUsed(edgeId)) const |
virtual bool | isTriangleOnBoundaryInternal (const SimplexId &ttkNotUsed(triangleId)) const |
virtual bool | isVertexOnBoundaryInternal (const SimplexId &ttkNotUsed(vertexId)) const |
bool | hasPreconditionedBoundaryEdges () const |
bool | hasPreconditionedBoundaryTriangles () const |
bool | hasPreconditionedBoundaryVertices () const |
bool | hasPreconditionedCellEdges () const |
bool | hasPreconditionedCellNeighbors () const |
bool | hasPreconditionedCellTriangles () const |
bool | hasPreconditionedEdgeLinks () const |
bool | hasPreconditionedEdgeStars () const |
bool | hasPreconditionedEdgeTriangles () const |
bool | hasPreconditionedEdges () const |
bool | hasPreconditionedTriangles () const |
bool | hasPreconditionedTriangleEdges () const |
bool | hasPreconditionedTriangleLinks () const |
bool | hasPreconditionedTriangleStars () const |
bool | hasPreconditionedVertexEdges () const |
bool | hasPreconditionedVertexLinks () const |
bool | hasPreconditionedVertexNeighbors () const |
bool | hasPreconditionedVertexStars () const |
bool | hasPreconditionedVertexTriangles () const |
bool | hasPreconditionedManifold () const |
bool | needsToAbort () override |
virtual int | preconditionBoundaryEdgesInternal () |
virtual int | preconditionBoundaryTrianglesInternal () |
virtual int | preconditionBoundaryVerticesInternal () |
virtual int | preconditionCellEdgesInternal () |
virtual int | preconditionCellNeighborsInternal () |
virtual int | preconditionCellTrianglesInternal () |
virtual int | preconditionEdgesInternal () |
virtual int | preconditionEdgeLinksInternal () |
virtual int | preconditionEdgeStarsInternal () |
virtual int | preconditionEdgeTrianglesInternal () |
virtual int | preconditionTrianglesInternal () |
virtual int | preconditionTriangleEdgesInternal () |
virtual int | preconditionTriangleLinksInternal () |
virtual int | preconditionTriangleStarsInternal () |
virtual int | preconditionVertexEdgesInternal () |
virtual int | preconditionVertexLinksInternal () |
virtual int | preconditionVertexNeighborsInternal () |
virtual int | preconditionVertexStarsInternal () |
virtual int | preconditionVertexTrianglesInternal () |
virtual int | preconditionManifoldInternal () |
virtual int | getCellVTKIDInternal (const int &ttkId, int &vtkId) const |
template<class itemType > | |
size_t | tableFootprint (const std::vector< itemType > &table, const std::string &tableName="", std::ostream &stream=std::cout) const |
template<class itemType > | |
size_t | tableTableFootprint (const std::vector< std::vector< itemType > > &table, const std::string &tableName="", std::ostream &stream=std::cout) const |
int | updateProgress (const float &ttkNotUsed(progress)) override |
gradientCacheType * | getGradientCacheHandler () 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) |
Additional Inherited Members | |
Protected Types inherited from ttk::AbstractTriangulation | |
using | gradIdType = SimplexId |
using | gradientType = std::array< std::vector< gradIdType >, 6 > |
Discrete gradient internal struct. | |
using | gradientKeyType = std::pair< const void *, size_t > |
Key type for gradientCacheType. | |
using | gradientCacheType = LRUCache< gradientKeyType, gradientType > |
Static Protected Attributes inherited from ttk::Debug | |
static COMMON_EXPORTS debug::LineMode | lastLineMode = ttk::debug::LineMode::NEW |
Triangulation is a class that provides time and memory efficient traversal methods on triangulations of piecewise linear manifolds. It provides the following features:
Triangulation supports both explicit and implicit triangulations:
Apart from preconditions, Triangulation requires no memory overhead in addition to the input data.
Definition at line 48 of file Triangulation.h.
|
strong |
Strategies for implicit & periodic triangulations preconditioning
Definition at line 70 of file Triangulation.h.
|
strong |
Enumerator | |
---|---|
EXPLICIT | |
IMPLICIT | |
HYBRID_IMPLICIT | |
PERIODIC | |
HYBRID_PERIODIC | |
COMPACT |
Definition at line 58 of file Triangulation.h.
Triangulation::Triangulation | ( | ) |
Definition at line 6 of file Triangulation.cpp.
Triangulation::Triangulation | ( | const Triangulation & | rhs | ) |
Definition at line 12 of file Triangulation.cpp.
|
noexcept |
Definition at line 44 of file Triangulation.cpp.
|
overridedefault |
|
inline |
Reset the triangulation data-structures.
Definition at line 83 of file Triangulation.h.
|
inline |
Computes and displays the memory footprint of the data-structure.
Definition at line 94 of file Triangulation.h.
|
inlineoverridevirtual |
Get the localEdgeId-th
edge of the cellId-th
cell.
Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).
In 1D, this function is equivalent to getCellNeighbor().
cellId | Input global cell identifier. |
localEdgeId | Input local edge identifier, in [0, getCellEdgeNumber()]. |
edgeId | Output global edge identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 124 of file Triangulation.h.
|
inlineoverridevirtual |
Get the number of edges for the cellId-th
cell.
Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).
In 1D, this function is equivalent to getCellNeighborNumber().
cellId | Input global cell identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 155 of file Triangulation.h.
|
inlineoverridevirtual |
Get the list of edges for all cells.
Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).
The number of entries in this list is equal to the number of cells. Each entry is a std::vector of identifiers whose size is equal to the number of edges for the corresponding cell.
In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.
In 1D, this function is equivalent to getCellNeighbors().
Reimplemented from ttk::AbstractTriangulation.
Definition at line 191 of file Triangulation.h.
|
inline |
Definition at line 200 of file Triangulation.h.
|
inlineoverridevirtual |
Get the localNeighborId-th
cell neighbor of the cellId-th
cell.
Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).
cellId | Input global cell identifier. |
localNeighborId | Input local neighbor identifier, in [0, getCellNeighborNumber()]. |
neighborId | Output global neighbor cell identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 227 of file Triangulation.h.
|
inlineoverridevirtual |
Get the number of cell neighbors for the cellId-th
cell.
Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).
cellId | Input global cell identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 256 of file Triangulation.h.
|
inlineoverridevirtual |
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.
Definition at line 291 of file Triangulation.h.
|
inlineoverridevirtual |
Get the localTriangleId-th
triangle id of the cellId-th
cell.
Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).
In 2D, this function is equivalent to getCellNeighbor().
cellId | Input global cell identifier. |
localTriangleId | Input local triangle identifier, in [0, getCellTriangleNumber()]. |
triangleId | Output global triangle identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 321 of file Triangulation.h.
|
inlineoverridevirtual |
Get the number of triangles for the cellId-th
cell.
Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).
In 2D, this function is equivalent to getCellNeighborNumber().
cellId | Input global cell identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 354 of file Triangulation.h.
|
inlineoverridevirtual |
Get the list of triangles for all cells.
Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).
Also, the notion of triangle only makes sense if the triangulation has a dimension greater than 2 (otherwise, use the cell information).
The number of entries in this list is equal to the number of cells. Each entry is a std::vector of identifiers whose size is equal to the number of triangles for the corresponding cell.
In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.
In 2D, this function is equivalent to getCellNeighbors().
Reimplemented from ttk::AbstractTriangulation.
Definition at line 394 of file Triangulation.h.
|
inlineoverridevirtual |
Get the localVertexId-th
vertex identifier of the cellId-th
cell.
Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).
cellId | Input global cell identifier. |
localVertexId | Input local vertex identifier, in [0, getCellVertexNumber()]. |
vertexId | Output global vertex identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 413 of file Triangulation.h.
|
inlineoverridevirtual |
Get the number of vertices in a cell.
Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).
cellId | Input global cell identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 436 of file Triangulation.h.
|
inlineoverridevirtual |
ttkId | TTK cell id |
vtkId | Output VTK cell id |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2425 of file Triangulation.h.
|
inline |
Get the internal abstract triangulation object.
Definition at line 832 of file Triangulation.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 448 of file Triangulation.h.
|
inline |
Compute the barycenter of the points of the given edge identifier.
edgeId | Input global edge identifier. |
incenter | Output barycenter. |
Definition at line 499 of file Triangulation.h.
|
inlineoverridevirtual |
Get the localLinkId-th
simplex of the link of the edgeId-th
edge.
The output linkId
refers in 2D to a vertex identifier and in 3D to an edge identifier. It returns a negative value in 1D.
edgeId | Input global edge identifier. |
localLinkId | Input local link simplex identifier, in [0, getEdgeLinkNumber()]. |
linkId | Output link simplex identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 546 of file Triangulation.h.
|
inlineoverridevirtual |
Get the number of simplicies in the link of the edgeId-th
edge.
In 2D, this will return the number of vertices in the link, in 3D the number of edges. It returns a negative value in 1D.
edgeId | Input global edge identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 573 of file Triangulation.h.
|
inlineoverridevirtual |
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.
Definition at line 604 of file Triangulation.h.
|
inlineoverridevirtual |
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.
Definition at line 480 of file Triangulation.h.
|
inlineoverridevirtual |
Get the localStarId-th
cell of the star of the edgeId-th
edge.
Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).
Also, the notion of edge only makes sense if the triangulation has a dimension greater than 1 (otherwise, use the cell information).
edgeId | Input global edge identifier. |
localStarId | Input local star cell identifier, in [0, getEdgeStarNumber()]. |
starId | Output global star cell identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 634 of file Triangulation.h.
|
inlineoverridevirtual |
Get the number of star cells for the edgeId-th
edge.
Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).
Also, the notion of edge only makes sense if the triangulation has a dimension greater than 1 (otherwise, use the cell information).
edgeId | Input global edge identifier |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 664 of file Triangulation.h.
|
inlineoverridevirtual |
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.
Definition at line 700 of file Triangulation.h.
|
inlineoverridevirtual |
Get the localTriangleId-th
triangle id of the edgeId-th
edge.
In 2D, this function is equivalent to getEdgeStar().
edgeId | Input global edge identifier. |
localTriangleId | Input local triangle identifier, in [0, getEdgeTriangleNumber()]. |
triangleId | Output global triangle identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 727 of file Triangulation.h.
|
inlineoverridevirtual |
Get the number of triangles for the edgeId-th
edge.
In 2D, this function is equivalent to getEdgeStarNumber().
edgeId | Input global edge identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 757 of file Triangulation.h.
|
inlineoverridevirtual |
Get the list of triangles for all edges.
The number of entries in this list is equal to the number of edges. Each entry is a std::vector of identifiers whose size is equal to the number of triangles for the corresponding edge.
In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.
In 2D, this function is equivalent to getEdgeStars().
Reimplemented from ttk::AbstractTriangulation.
Definition at line 791 of file Triangulation.h.
|
inlineoverridevirtual |
Get the localVertexId-th
vertex identifier of the edgeId-th
edge.
In 1D, this function is equivalent to getCellVertex().
edgeId | Input global edge identifier. |
localVertexId | Input local vertex identifier (0 or 1). |
vertexId | Output global vertex identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 816 of file Triangulation.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 841 of file Triangulation.h.
|
inlineoverridevirtual |
Get the number of edges in the triangulation.
In 1D, this function is equivalent to getNumberOfCells().
Reimplemented from ttk::AbstractTriangulation.
Definition at line 864 of file Triangulation.h.
|
inlineoverridevirtual |
Get the number of triangles in the triangulation.
In 2D, this function is equivalent to getNumberOfCells().
Reimplemented from ttk::AbstractTriangulation.
Definition at line 885 of file Triangulation.h.
|
inlineoverridevirtual |
Get the number of vertices in the triangulation.
Reimplemented from ttk::AbstractTriangulation.
Definition at line 896 of file Triangulation.h.
|
inline |
Compute the barycenter of the points of the given tet identifier.
tetraId | Input global tet identifier. |
incenter | Output barycenter. |
Definition at line 911 of file Triangulation.h.
|
inlineoverridevirtual |
Get the localEdgeId-th
edge of the triangleId-th
triangle.
In 2D, this function is equivalent to getCellEdge().
triangleId | Input global triangle identifier. |
localEdgeId | Input local edge identifier, in [0, getTriangleEdgeNumber()]. |
edgeId | Output global edge identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 970 of file Triangulation.h.
|
inlineoverridevirtual |
Get the number of edges of the triangleId-th
triangle.
In 2D, this function is equivalent to getCellEdgeNumber().
triangleId | Input global triangle identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 999 of file Triangulation.h.
|
inlineoverridevirtual |
Get the list of edges for all triangles.
The number of entries in this list is equal to the number of triangles. Each entry is a std::vector of identifiers representing the edges connected to the triangle (3).
In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.
In 2D, this function is equivalent to getCellEdges().
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1033 of file Triangulation.h.
|
inline |
Compute the barycenter of the points of the given triangle identifier.
triangleId | Input global triangle identifier. |
incenter | Output barycenter. |
Definition at line 518 of file Triangulation.h.
|
inlineoverridevirtual |
Get the localLinkId-th
simplex of the link of the triangleId-th
triangle.
The notion of triangle link only makes sense in 3D, where the output linkId
refers to a vertex identifier.
triangleId | Input global triangle identifier. |
localLinkId | Input local link simplex identifier, in [0, getTriangleLinkNumber()]. |
linkId | Output link simplex identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1060 of file Triangulation.h.
|
inlineoverridevirtual |
Get the number of simplices in the link of the triangleId-th
triangle.
The notion of triangle link only makes sense in 3D, where the number of vertices in the link will be returned.
triangleId | Input global triangle identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1090 of file Triangulation.h.
|
inlineoverridevirtual |
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.
Definition at line 1123 of file Triangulation.h.
|
inlineoverridevirtual |
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.
Definition at line 944 of file Triangulation.h.
|
inlineoverridevirtual |
Get the localStarId-th
cell of the star of the triangleId-th
triangle.
The notion of triangle star only makes sense in 3D, where the output starId
refers to a tetrahedron identifier.
triangleId | Input global triangle identifier. |
localStarId | Input local star cell identifier, in [0, getTriangleStarNumber()]. |
starId | Output global star cell identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1151 of file Triangulation.h.
|
inlineoverridevirtual |
Get the number of star cells for the triangleId-th
triangle.
The notion of triangle star only makes sense in 3D, where the number of tetrahedra in the star will be returned.
triangleId | Input global triangle identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1180 of file Triangulation.h.
|
inlineoverridevirtual |
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.
Definition at line 1214 of file Triangulation.h.
|
inlineoverridevirtual |
Get the localVertexId-th
vertex identifier of the triangleId-th
triangle.
In 2D, this function is equivalent to getCellVertex().
triangleId | Input global edge identifier. |
localVertexId | Input local vertex identifier (in [0, 2]). |
vertexId | Output global vertex identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1239 of file Triangulation.h.
|
inline |
Get the type of internal representation for the triangulation (explicit, implicit, periodic).
Definition at line 1259 of file Triangulation.h.
|
inlineoverridevirtual |
Get the localEdgeId-th
edge identifier connected to the vertexId-th
vertex.
In 1D, this function is equivalent to getVertexStar().
vertexId | Input global vertex identifier. |
localEdgeId | Input local edge identifier, in [0, getVertexEdgeNumber()]. |
edgeId | Output global edge identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1294 of file Triangulation.h.
|
inlineoverridevirtual |
Get the number of edges connected to the vertexId-th
vertex.
In 1D, this function is equivalent to getVertexStarNumber().
vertexId | Input global vertex identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1324 of file Triangulation.h.
|
inlineoverridevirtual |
Get the list of edge identifiers for all vertices.
The number of entries in this list is equal to the number of vertices. Each entry is a std::vector of identifiers whose size is equal to the number of edges connected to the corresponding vertex.
In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.
In 1D, this function is equivalent to getVertexStars()
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1359 of file Triangulation.h.
|
inlineoverridevirtual |
Get the localLinkId-th
simplex of the link of the vertexId-th
vertex.
The output linkId
refers in 2D to an edge identifier and in 3D to a triangle identifier.
vertexId | Input global vertex identifier. |
localLinkId | Input local link simplex identifier, in [0, getVertexLinkNumber()]. |
linkId | Output link simplex identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1544 of file Triangulation.h.
|
inlineoverridevirtual |
Get the number of simplices in the link of the vertexId-th
vertex.
In 2D, this will return the number of edges in the link, in 3D the number of triangles.
vertexId | Input global vertex identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1574 of file Triangulation.h.
|
inlineoverridevirtual |
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.
Definition at line 1608 of file Triangulation.h.
|
inlineoverridevirtual |
Get the localNeighborId-th
vertex neighbor of the vertexId-th
vertex.
vertexId | Input global vertex identifier. |
localNeighborId | Input local neighbor identifier, in [0, getVertexNeighborNumber()]. |
neighborId | Output global neighbor vertex identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1633 of file Triangulation.h.
|
inlineoverridevirtual |
Get the number of vertex neighbors for the vertexId-th
vertex.
vertexId | Input global vertex identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1660 of file Triangulation.h.
|
inlineoverridevirtual |
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.
Definition at line 1693 of file Triangulation.h.
|
inlineoverridevirtual |
Get the point (3D coordinates) for the vertexId-th
vertex.
vertexId | Input global vertex identifier. |
x | Output x coordinate. |
y | Output y coordinate. |
z | Output z coordinate. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1707 of file Triangulation.h.
|
inlineoverridevirtual |
Get the localStarId-th
cell of the star of the vertexId-th
vertex.
Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).
vertexId | Input global vertex identifier. |
localStarId | Input local star cell identifier, in [0, getVertexStarNumber()]. |
starId | Output global star cell identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1744 of file Triangulation.h.
|
inlineoverridevirtual |
Get the number of star cells for the vertexId-th
vertex.
Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).
vertexId | Input global vertex identifier |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1774 of file Triangulation.h.
|
inlineoverridevirtual |
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.
Definition at line 1808 of file Triangulation.h.
|
inlineoverridevirtual |
Get the localTriangleId-th
triangle id of the vertexId-th
vertex.
In 2D, this function is equivalent to getVertexStar().
vertexId | Input global vertex identifier. |
localTriangleId | Input local triangle identifier, in [0, getVertexTriangleNumber()]. |
triangleId | Output global triangle identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1836 of file Triangulation.h.
|
inlineoverridevirtual |
Get the number of triangles for the vertexId-th
vertex.
In 2D, this function is equivalent to getVertexStarNumber().
vertexId | Input global vertex identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1866 of file Triangulation.h.
|
inlineoverridevirtual |
Get the list of triangles for all vertices.
The number of entries in this list is equal to the number of vertices. Each entry is a std::vector of identifiers whose size is equal to the number of triangles for the corresponding vertex.
In implicit mode, this function will force the creation of such a list (which will be time and memory consuming). THIS IS USUALLY A BAD IDEA.
In 2D, this function is equivalent to getVertexStars().
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1901 of file Triangulation.h.
|
inline |
Returns true if the grid uses preconditions.
Definition at line 2944 of file Triangulation.h.
|
inlineoverridevirtual |
Check if the edge with global identifier edgeId
is on the boundary of the domain.
For 2D triangulations, this function will return true if the edge is a boundary edge. For 3D triangulations, this function will return true if the edge belongs to a boundary triangle.
Here the notion of edge only makes sense if the triangulation has a dimension greater than 1 (otherwise, use the cell information).
edgeId | Input global edge identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1929 of file Triangulation.h.
|
inlineoverridevirtual |
Check if the data structure is empty or not.
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1939 of file Triangulation.h.
|
inlineprotected |
Definition at line 2982 of file Triangulation.h.
|
inlineoverridevirtual |
Check if the triangulation is manifold or not (Rips Complexes are not manifold)
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1946 of file Triangulation.h.
|
inlineoverridevirtual |
Check if the triangle with global identifier triangleId
is on the boundary of the domain.
Here the notion of triangle only makes sense if the triangulation has a dimension greater than 2 (otherwise, use the cell information).
For 2D triangulations, this function will return false all the time. For 3D triangulations, this function will return true if the triangle is a boundary triangle.
triangleId | Input global triangle identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2004 of file Triangulation.h.
|
inlineoverridevirtual |
Check if the vertex with global identifier vertexId
is on the boundary of the domain.
For 2D triangulations, this function will return true if the vertex belongs to a boundary edge. For 3D triangulations, this function will return true if the vertex belongs to a boundary triangle.
vertexId | Input global vertex identifier. |
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2029 of file Triangulation.h.
Triangulation & Triangulation::operator= | ( | const Triangulation & | rhs | ) |
Definition at line 80 of file Triangulation.cpp.
|
noexcept |
Definition at line 117 of file Triangulation.cpp.
|
inlineoverridevirtual |
Pre-process the boundary edges.
This function should ONLY be called as a pre-condition to the following function(s):
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2050 of file Triangulation.h.
|
inlineoverridevirtual |
Pre-process the boundary triangles.
This function should ONLY be called as a pre-condition to the following function(s):
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2071 of file Triangulation.h.
|
inlineoverridevirtual |
Pre-process the boundary vertices.
This function should ONLY be called as a pre-condition to the following function(s):
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2093 of file Triangulation.h.
|
inlineoverridevirtual |
Pre-process the cell edges.
This function should ONLY be called as a pre-condition to the following functions:
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2116 of file Triangulation.h.
|
inlineoverridevirtual |
Pre-process the cell neighbors.
This function should ONLY be called as a pre-condition to the following functions:
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2142 of file Triangulation.h.
|
inlineoverridevirtual |
Pre-process the cell triangles.
This function should ONLY be called as a pre-condition to the following functions:
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2168 of file Triangulation.h.
|
inlineoverridevirtual |
Pre-process the edge links.
This function should ONLY be called as a pre-condition to the following functions:
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2221 of file Triangulation.h.
|
inlineoverridevirtual |
Pre-process the edges.
This function should ONLY be called as a pre-condition to the following functions:
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2194 of file Triangulation.h.
|
inlineoverridevirtual |
Pre-process the edge stars.
This function should ONLY be called as a pre-condition to the following functions:
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2247 of file Triangulation.h.
|
inlineoverridevirtual |
Pre-process the edge triangles.
This function should ONLY be called as a pre-condition to the following functions:
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2273 of file Triangulation.h.
|
inlineoverridevirtual |
Check if the triangulation is manifold or not.
ttk::ExplicitTriangulation (and maybe ttk::CompactTriangulation too) can be generated from non-manifold datasets (such as a Rips Complex). Some TTK modules may be valid only for manifold triangulations, other may have alternatives for non-manifold data-sets (
This function should ONLY be called as a pre-condition to the following function(s):
Reimplemented from ttk::AbstractTriangulation.
Definition at line 1975 of file Triangulation.h.
|
inlineoverridevirtual |
Pre-process the triangle edges.
This function should ONLY be called as a pre-condition to the following functions:
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2326 of file Triangulation.h.
|
inlineoverridevirtual |
Pre-process the triangle links.
This function should ONLY be called as a pre-condition to the following functions:
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2352 of file Triangulation.h.
|
inlineoverridevirtual |
Pre-process the triangles.
This function should ONLY be called as a pre-condition to the following functions:
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2300 of file Triangulation.h.
|
inlineoverridevirtual |
Pre-process the triangle stars.
This function should ONLY be called as a pre-condition to the following functions:
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2378 of file Triangulation.h.
|
inlineoverridevirtual |
Pre-process the vertex edges.
This function should ONLY be called as a pre-condition to the following functions:
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2405 of file Triangulation.h.
|
inlineoverridevirtual |
Pre-process the vertex links.
This function should ONLY be called as a pre-condition to the following functions:
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2592 of file Triangulation.h.
|
inlineoverridevirtual |
Pre-process the vertex neighbors.
This function should ONLY be called as a pre-condition to the following functions:
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2619 of file Triangulation.h.
|
inlineoverridevirtual |
Pre-process the vertex stars.
This function should ONLY be called as a pre-condition to the following functions:
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2645 of file Triangulation.h.
|
inlineoverridevirtual |
Pre-process the vertex triangles.
This function should ONLY be called as a pre-condition to the following functions:
Reimplemented from ttk::AbstractTriangulation.
Definition at line 2672 of file Triangulation.h.
|
protected |
Should we precondition the implicit/periodic triangulations?
[in] | strategy | The strategy to follow |
Definition at line 194 of file Triangulation.cpp.
|
inline |
Definition at line 2694 of file Triangulation.h.
|
inlineoverridevirtual |
Tune the debug level (default: 0)
Reimplemented from ttk::Debug.
Definition at line 2682 of file Triangulation.h.
|
inline |
Set the input grid preconditioning strategy.
[in] | strategy | Strategy to implement. |
Definition at line 2857 of file Triangulation.h.
|
inline |
Set the input cells for the triangulation.
Here the notion of cell refers to the simplicices of maximal dimension (3D: tetrahedra, 2D: triangles, 1D: edges).
cellNumber | Number of input cells. |
cellArray | Pointer to the input cells. This pointer should point to an array of long long int where cells are stored one after the other. In particular, each cell starts by the number of vertices in it, followed by the identifiers of its vertices. This corresponds to the default cell array representation in VTK < 9. |
Definition at line 2759 of file Triangulation.h.
|
inline |
Set the specifications of the input grid to implicitly represent as a triangulation.
xOrigin | Input x coordinate of the grid origin. |
yOrigin | Input y coordinate of the grid origin. |
zOrigin | Input z coordinate of the grid origin. |
xSpacing | Input spacing along the x dimension. |
ySpacing | Input spacing along the y dimension. |
zSpacing | Input spacing along the z dimension. |
xDim | Input number of vertices along the x dimension. |
yDim | Input number of vertices along the y dimension. |
zDim | Input number of vertices along the z dimension. |
Definition at line 2795 of file Triangulation.h.
|
inline |
Set the input 3D points of the triangulation.
pointNumber | Number of input vertices. |
pointSet | Pointer to the 3D points. This pointer should point to an array of float where points are stored one after the other. In particular, each point is represented by X-Y-Z coordinates (one after the other). This corresponds to the default point set representation in VTK. |
doublePrecision | Should we use double precision or stay with simple? |
Definition at line 2898 of file Triangulation.h.
|
inline |
Set the input grid to use period boundary conditions.
usePeriodicBoundaries | If this set to true then a triangulation with periodic boundaries will be used. |
Definition at line 2833 of file Triangulation.h.
|
inline |
Definition at line 2766 of file Triangulation.h.
|
inline |
Definition at line 2908 of file Triangulation.h.
|
inlineoverridevirtual |
Tune the number of active threads (default: number of logical cores)
Reimplemented from ttk::BaseClass.
Definition at line 2920 of file Triangulation.h.
|
inlineoverridevirtual |
Internal usage. Pass the execution context (debug level, number of threads, etc.) to the implementing classes.
Reimplemented from ttk::Debug.
Definition at line 2933 of file Triangulation.h.
|
protected |
Switch regular grid triangulation type.
[in] | usePeriodic | Use a periodic triangulation |
[in] | usePreconditions | Perform triangulation preconditions |
Definition at line 158 of file Triangulation.cpp.
|
protected |
Definition at line 3007 of file Triangulation.h.
|
protected |
Definition at line 3013 of file Triangulation.h.
|
protected |
Definition at line 3008 of file Triangulation.h.
|
protected |
Definition at line 3010 of file Triangulation.h.
|
protected |
Definition at line 3009 of file Triangulation.h.
|
protected |
Definition at line 3011 of file Triangulation.h.
|
protected |
Definition at line 3012 of file Triangulation.h.