44 RegularGrid(
const std::vector<size_t> &dims,
const std::vector<size_t> &bs,
const std::vector<float *> &blks,
const std::vector<double> &minu,
const std::vector<double> &maxu);
54 std::string
GetType()
const override {
return (GetClassType()); }
67 using Grid::GetUserCoordinates;
86 virtual void next(
const long &offset);
88 virtual const void *
address()
const {
return this; };
90 virtual bool equal(
const void *rhs)
const
94 return (_index == itrptr->_index);
97 virtual std::unique_ptr<ConstCoordItrAbstract>
clone()
const {
return std::unique_ptr<ConstCoordItrAbstract>(
new ConstCoordItrRG(*
this)); };
125 CoordType _maxu = {{0.0, 0.0, 0.0}};
const CoordType ConstCoordType
virtual const void * address() const
virtual bool equal(const void *rhs) const
virtual ~ConstCoordItrRG()
ConstCoordItrRG(const ConstCoordItrRG &rhs)
virtual std::unique_ptr< ConstCoordItrAbstract > clone() const
virtual void next(const long &offset)
virtual ConstCoordType & deref() const
ConstCoordItrRG(const RegularGrid *rg, bool begin)
This class implements a 2D or 3D regular grid.
static std::string GetClassType()
virtual ConstCoordItr ConstCoordBegin() const override
Return constant grid coordinate iterator.
virtual void GetUserExtentsHelper(CoordType &minu, CoordType &maxu) const override
virtual ~RegularGrid()=default
virtual float GetValueLinear(const CoordType &coords) const override
virtual size_t GetGeometryDim() const override
virtual bool InsideGrid(const CoordType &coords) const override
VDF_API friend std::ostream & operator<<(std::ostream &o, const RegularGrid &rg)
virtual ConstCoordItr ConstCoordEnd() const override
virtual bool GetIndicesCell(const CoordType &coords, DimsType &indices) const override
RegularGrid(const std::vector< size_t > &dims, const std::vector< size_t > &bs, const std::vector< float * > &blks, const std::vector< double > &minu, const std::vector< double > &maxu)
std::string GetType() const override
virtual void GetBoundingBox(const DimsType &min, const DimsType &max, CoordType &minu, CoordType &maxu) const override
RegularGrid(const DimsType &dims, const DimsType &bs, const std::vector< float * > &blks, const CoordType &minu, const CoordType &maxu)
virtual void GetUserCoordinates(const DimsType &indices, CoordType &coords) const override
virtual DimsType GetCoordDimensions(size_t dim) const override
virtual float GetValueNearestNeighbor(const CoordType &coords) const override
Abstract base class for a 2D or 3D structured grid.
std::array< double, 3 > CoordType
Type for specifying floating point coordinates.
std::array< size_t, 3 > DimsType
Type for specifying integer indices.