8#include <vapor/QuadTreeRectangle.hpp>
12 #pragma warning(disable : 4661 4251)
27 const int *faceOnVertex,
const int *faceOnFace,
32 UnstructuredGrid3D(
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,
33 const int *vertexOnFace,
const int *faceOnVertex,
const int *faceOnFace,
46 std::string
GetType()
const override {
return (GetClassType()); }
73 virtual void next()
override;
74 virtual void next(
const long &offset)
override;
76 virtual const void *
address()
const override {
return this; };
78 virtual bool equal(
const void *rhs)
const override
82 return (_xCoordItr == itrptr->_xCoordItr && _yCoordItr == itrptr->_yCoordItr && _zCoordItr == itrptr->_zCoordItr);
85 virtual std::unique_ptr<ConstCoordItrAbstract>
clone()
const override {
return std::unique_ptr<ConstCoordItrAbstract>(
new ConstCoordItrU3D(*
this)); };
110 bool _insideGrid(
const CoordType &coords,
DimsType &cindices, std::vector<size_t> &nodes2D, std::vector<double> &lambda,
float zwgt[2])
const;
const CoordType ConstCoordType
ConstCoordItrU3D(const ConstCoordItrU3D &rhs)
virtual std::unique_ptr< ConstCoordItrAbstract > clone() const override
virtual ConstCoordType & deref() const override
virtual const void * address() const override
virtual void next() override
virtual ~ConstCoordItrU3D()
virtual void next(const long &offset) override
virtual bool equal(const void *rhs) const override
ConstCoordItrU3D(const UnstructuredGrid3D *ug, bool begin)
class for a Layered unstructured grid.
bool GetIndicesCell(const CoordType &coords, DimsType &indices) const override
virtual ConstCoordItr ConstCoordBegin() const override
Return constant grid coordinate iterator.
VDF_API friend std::ostream & operator<<(std::ostream &o, const UnstructuredGrid3D &sg)
static std::string GetClassType()
virtual ConstCoordItr ConstCoordEnd() const override
float GetValueNearestNeighbor(const CoordType &coords) const override
UnstructuredGrid3D(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, const int *vertexOnFace, const int *faceOnVertex, const int *faceOnFace, Location location, size_t maxVertexPerFace, size_t maxFacePerVertex, long nodeOffset, long cellOffset, const UnstructuredGridCoordless &xug, const UnstructuredGridCoordless &yug, const UnstructuredGridCoordless &zug)
std::string GetType() const override
virtual void GetUserExtentsHelper(CoordType &minu, CoordType &maxu) const override
virtual size_t GetGeometryDim() const override
UnstructuredGrid3D(const DimsType &vertexDims, const DimsType &faceDims, const DimsType &edgeDims, const DimsType &bs, const std::vector< float * > &blks, const int *vertexOnFace, const int *faceOnVertex, const int *faceOnFace, Location location, size_t maxVertexPerFace, size_t maxFacePerVertex, long nodeOffset, long cellOffset, const UnstructuredGridCoordless &xug, const UnstructuredGridCoordless &yug, const UnstructuredGridCoordless &zug)
UnstructuredGrid3D()=default
bool GetEnclosingRegion(const CoordType &minu, const CoordType &maxu, DimsType &min, DimsType &max) const override
virtual void GetUserCoordinates(const DimsType &indices, CoordType &coords) const override
virtual void GetBoundingBox(const DimsType &min, const DimsType &max, CoordType &minu, CoordType &maxu) const override
float GetValueLinear(const CoordType &coords) const override
virtual DimsType GetCoordDimensions(size_t dim) const override
virtual ~UnstructuredGrid3D()=default
bool InsideGrid(const CoordType &coords) const override
class for a 2D unstructured grid.
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.