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;
80 int getEdgeRankInternal(
const SimplexId lvid)
const override;
81 int getTriangleRankInternal(
const SimplexId lvid)
const override;
106 virtual std::array<SimplexId, 3>
107 getVertGlobalCoords(
const SimplexId lvid)
const = 0;
108 virtual std::array<SimplexId, 3>
109 getVertLocalCoords(
const SimplexId gvid)
const = 0;
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.
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
TTK base package defining the standard types.
int SimplexId
Identifier type for simplices of any dimension.