1#ifndef _UnstructuredGridCoordless_
2#define _UnstructuredGridCoordless_
11 #pragma warning(disable : 4661 4251)
27 const int *vertexOnFace,
const int *faceOnVertex,
const int *faceOnFace,
29 size_t maxVertexPerFace,
size_t maxFacePerVertex,
long nodeOffset,
long cellOffset)
30 :
UnstructuredGrid(vertexDims, faceDims, edgeDims, bs, blks, topology_dimension, vertexOnFace, faceOnVertex, faceOnFace, location, maxVertexPerFace, maxFacePerVertex, nodeOffset, cellOffset)
33 UnstructuredGridCoordless(
const std::vector<size_t> &vertexDims,
const std::vector<size_t> &faceDims,
const std::vector<size_t> &edgeDims,
const std::vector<size_t> &bs,
34 const std::vector<float *> &blks,
size_t topology_dimension,
const int *vertexOnFace,
const int *faceOnVertex,
const int *faceOnFace,
36 size_t maxVertexPerFace,
size_t maxFacePerVertex,
long nodeOffset,
long cellOffset)
37 :
UnstructuredGrid(vertexDims, faceDims, edgeDims, bs, blks, topology_dimension, vertexOnFace, faceOnVertex, faceOnFace, location, maxVertexPerFace, maxFacePerVertex, nodeOffset, cellOffset)
46 static std::string
GetClassType() {
return (
"UnstructuredCoordless"); }
47 std::string
GetType()
const override {
return (GetClassType()); }
51 minu = {0.0, 0.0, 0.0};
52 maxu = {0.0, 0.0, 0.0};
84 virtual void next(
const long &offset) {}
86 virtual const void *
address()
const {
return this; };
88 virtual bool equal(
const void *rhs)
const {
return (
true); }
90 virtual std::unique_ptr<ConstCoordItrAbstract>
clone()
const {
return std::unique_ptr<ConstCoordItrAbstract>(
new ConstCoordItrUCoordless(*
this)); };
104 minu = {0.0, 0.0, 0.0};
105 maxu = {0.0, 0.0, 0.0};
const CoordType ConstCoordType
ConstCoordItrUCoordless(const UnstructuredGridCoordless *ug, bool begin)
virtual ConstCoordType & deref() const
virtual bool equal(const void *rhs) const
virtual std::unique_ptr< ConstCoordItrAbstract > clone() const
virtual ~ConstCoordItrUCoordless()
virtual void next(const long &offset)
virtual const void * address() const
ConstCoordItrUCoordless(const ConstCoordItrUCoordless &rhs)
ConstCoordItrUCoordless()
class for a 2D unstructured grid.
virtual DimsType GetCoordDimensions(size_t dim) const override
std::string GetType() const override
UnstructuredGridCoordless(const DimsType &vertexDims, const DimsType &faceDims, const DimsType &edgeDims, const DimsType &bs, const std::vector< float * > &blks, size_t topology_dimension, const int *vertexOnFace, const int *faceOnVertex, const int *faceOnFace, Location location, size_t maxVertexPerFace, size_t maxFacePerVertex, long nodeOffset, long cellOffset)
bool InsideGrid(const CoordType &coords) const override
virtual void GetUserCoordinates(const DimsType &indices, CoordType &coords) const override
float GetValueLinear(const CoordType &coords) const override
float GetValueNearestNeighbor(const CoordType &coords) const override
UnstructuredGridCoordless()=default
virtual void GetBoundingBox(const DimsType &min, const DimsType &max, CoordType &minu, CoordType &maxu) const override
virtual size_t GetGeometryDim() const override
virtual ~UnstructuredGridCoordless()=default
bool GetEnclosingRegion(const CoordType &minu, const CoordType &maxu, DimsType &min, DimsType &max) const override
virtual ConstCoordItr ConstCoordBegin() const override
Return constant grid coordinate iterator.
virtual ConstCoordItr ConstCoordEnd() const override
static std::string GetClassType()
UnstructuredGridCoordless(const std::vector< size_t > &vertexDims, const std::vector< size_t > &faceDims, const std::vector< size_t > &edgeDims, const std::vector< size_t > &bs, const std::vector< float * > &blks, size_t topology_dimension, const int *vertexOnFace, const int *faceOnVertex, const int *faceOnFace, Location location, size_t maxVertexPerFace, size_t maxFacePerVertex, long nodeOffset, long cellOffset)
bool GetIndicesCell(const CoordType &, DimsType &) const override
VDF_API friend std::ostream & operator<<(std::ostream &o, const UnstructuredGridCoordless &sg)
virtual void GetUserExtentsHelper(CoordType &minu, CoordType &maxu) const override
Abstract base class for a 2D or 3D unstructured grid.
std::array< double, 3 > CoordType
Type for specifying floating point coordinates.
std::array< size_t, 3 > DimsType
Type for specifying integer indices.