27 class ImplicitTriangulation;
28 class PeriodicImplicitTriangulation;
47 const float &xSpacing,
48 const float &ySpacing,
49 const float &zSpacing,
57 int preconditionDistributedVertices()
override;
59 std::array<SimplexId, 3> localGridOffset_{};
60 std::shared_ptr<RegularGridTriangulation> metaGrid_;
62 int preconditionExchangeGhostCells()
override;
63 int preconditionExchangeGhostVertices()
override;
65 virtual void createMetaGrid(
const double *
const bounds) = 0;
79 int getVertexRankInternal(
const SimplexId lvid)
const override;
103 virtual std::array<SimplexId, 3>
104 getVertGlobalCoords(
const SimplexId lvid)
const = 0;
105 virtual std::array<SimplexId, 3>
106 getVertLocalCoords(
const SimplexId gvid)
const = 0;
AbstractTriangulation is an interface class that defines an interface for efficient traversal methods...
ImplicitTriangulation is a class that provides time and memory efficient traversal methods on triangu...
TTK triangulation class for grids with periodic boundary conditions implemented in all directions.
RegularGridTriangulation is an abstract subclass of ttk::AbstractTriangulation that exposes a common ...
SimplexId findEdgeFromVertices(const SimplexId v0, const SimplexId v1) const
virtual void tetrahedronToPosition(const SimplexId tetrahedron, SimplexId p[3]) const =0
virtual void vertexToPosition(const SimplexId vertex, SimplexId p[3]) const =0
SimplexId findTriangleFromVertices(std::array< SimplexId, 3 > &verts) const
~RegularGridTriangulation() override=default
virtual void triangleToPosition2d(const SimplexId triangle, SimplexId p[2]) const =0
std::array< SimplexId, 3 > dimensions_
RegularGridTriangulation(const RegularGridTriangulation &)=default
virtual void vertexToPosition2d(const SimplexId vertex, SimplexId p[2]) const =0
RegularGridTriangulation & operator=(const RegularGridTriangulation &)=default
virtual 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)=0
RegularGridTriangulation & operator=(RegularGridTriangulation &&)=default
RegularGridTriangulation(RegularGridTriangulation &&)=default
RegularGridTriangulation()
virtual void triangleToPosition(const SimplexId triangle, const int k, SimplexId p[3]) const =0
int SimplexId
Identifier type for simplices of any dimension.