|
| | StructuredGrid (const std::vector< size_t > &dims, const std::vector< size_t > &bs, const std::vector< float * > &blks) |
| |
| | StructuredGrid (const DimsType &dims, const DimsType &bs, const std::vector< float * > &blks) |
| |
| | StructuredGrid ()=default |
| |
| virtual | ~StructuredGrid ()=default |
| |
| std::string | GetType () const override |
| |
| const DimsType & | GetNodeDimensions () const override |
| |
| const size_t | GetNumNodeDimensions () const override |
| |
| const DimsType & | GetCellDimensions () const override |
| |
| const size_t | GetNumCellDimensions () const override |
| |
| virtual bool | GetCellNodes (const DimsType &cindices, std::vector< DimsType > &nodes) const override |
| |
| virtual bool | GetCellNeighbors (const DimsType &cindices, std::vector< DimsType > &cells) const override |
| |
| virtual bool | GetNodeCells (const DimsType &cindices, std::vector< DimsType > &cells) const override |
| |
| virtual bool | GetEnclosingRegion (const CoordType &minu, const CoordType &maxu, DimsType &min, DimsType &max) const override |
| |
| size_t | GetMaxVertexPerFace () const override |
| |
| size_t | GetMaxVertexPerCell () const override |
| |
| virtual void | ClampCoord (const CoordType &coords, CoordType &cCoords) const override |
| |
| virtual void | ClampCoord (const double coords[3], double cCoords[3]) const override |
| |
| virtual bool | HasInvertedCoordinateSystemHandiness () const override |
| |
| virtual bool | GetCellNodes (const DimsType &cindices, std::vector< DimsType > &nodes) const=0 |
| |
| virtual bool | GetCellNodes (const size_t cindices[], std::vector< DimsType > &nodes) const |
| |
| | Grid (const std::vector< size_t > &dims, const std::vector< size_t > &bs, const std::vector< float * > &blks, size_t topology_dimension) |
| |
| | Grid (const DimsType &dims, const DimsType &bs, const std::vector< float * > &blks, size_t topology_dimension) |
| |
| | Grid () |
| |
| virtual | ~Grid ()=default |
| |
| const DimsType & | GetDimensions () const |
| |
| size_t | GetNumDimensions () const |
| |
| virtual DimsType | GetCoordDimensions (size_t dim) const =0 |
| |
| virtual std::string | GetType () const =0 |
| |
| virtual size_t | GetGeometryDim () const =0 |
| |
| virtual const DimsType & | GetNodeDimensions () const =0 |
| |
| virtual const size_t | GetNumNodeDimensions () const =0 |
| |
| virtual const DimsType & | GetCellDimensions () const =0 |
| |
| virtual const size_t | GetNumCellDimensions () const =0 |
| |
| const std::vector< size_t > | GetDimensionInBlks () const |
| |
| const std::vector< size_t > & | GetBlockSize () const |
| |
| const std::vector< float * > & | GetBlks () const |
| |
| virtual float | GetValueAtIndex (const DimsType &indices) const |
| |
| virtual float | GetValueAtIndex (const std::vector< size_t > &indices) const |
| |
| virtual void | SetValue (const DimsType &indices, float value) |
| |
| virtual void | SetValue (const size_t indices[3], float value) |
| |
| virtual float | AccessIJK (size_t i, size_t j=0, size_t k=0) const |
| |
| void | SetValueIJK (size_t i, size_t j, size_t k, float v) |
| |
| void | SetValueIJK (size_t i, size_t j, float v) |
| |
| void | SetValueIJK (size_t i, float v) |
| |
| virtual float | GetValue (const CoordType &coords) const |
| |
| virtual float | GetValue (const std::vector< double > &coords) const |
| |
| virtual float | GetValue (const double coords[]) const |
| |
| virtual float | GetValue (double x, double y) const |
| |
| virtual float | GetValue (double x, double y, double z) const |
| |
| virtual void | GetUserExtents (CoordType &minu, CoordType &maxu) const |
| |
| virtual void | GetUserExtents (double minu[3], double maxu[3]) const |
| |
| virtual void | GetUserExtents (std::vector< double > &minu, std::vector< double > &maxu) const |
| |
| virtual void | GetBoundingBox (const DimsType &min, const DimsType &max, CoordType &minu, CoordType &maxu) const =0 |
| |
| virtual void | GetBoundingBox (const std::vector< size_t > &min, const std::vector< size_t > &max, std::vector< double > &minu, std::vector< double > &maxu) const |
| |
| virtual bool | GetEnclosingRegion (const CoordType &minu, const CoordType &maxu, DimsType &min, DimsType &max) const =0 |
| |
| virtual float | GetMissingValue () const |
| |
| void | SetMissingValue (float missing_value) |
| |
| void | SetHasMissingValues (bool flag) |
| |
| bool | HasMissingData () const |
| |
| virtual bool | HasInvertedCoordinateSystemHandiness () const |
| |
| virtual int | GetInterpolationOrder () const |
| |
| virtual void | SetInterpolationOrder (int order) |
| |
| virtual void | GetUserCoordinates (const DimsType &indices, CoordType &coords) const =0 |
| |
| virtual void | GetUserCoordinates (const size_t indices[], double coords[]) const |
| |
| virtual void | GetUserCoordinates (const std::vector< size_t > &indices, std::vector< double > &coords) const |
| |
| virtual void | GetUserCoordinates (size_t i, double &x, double &y, double &z) const |
| |
| virtual void | GetUserCoordinates (size_t i, size_t j, double &x, double &y, double &z) const |
| |
| virtual void | GetUserCoordinates (size_t i, size_t j, size_t k, double &x, double &y, double &z) const |
| |
| virtual bool | GetIndicesCell (const CoordType &coords, DimsType &indices) const =0 |
| |
| virtual bool | GetIndicesCell (const double coords[3], size_t indices[3]) const |
| |
| virtual bool | GetIndicesCell (const std::vector< double > &coords, std::vector< size_t > &indices) const |
| |
| virtual void | GetRange (float range[2]) const |
| |
| virtual void | GetRange (const DimsType &min, const DimsType &max, float range[2]) const |
| |
| virtual void | GetRange (std::vector< size_t > min, std::vector< size_t > max, float range[2]) const |
| |
| virtual bool | InsideGrid (const CoordType &coords) const =0 |
| |
| virtual bool | InsideGrid (const double coords[3]) const |
| |
| virtual bool | InsideGrid (const std::vector< double > &coords) const |
| |
| virtual bool | GetCellNodes (const DimsType &cindices, std::vector< DimsType > &nodes) const =0 |
| |
| virtual bool | GetCellNodes (const size_t cindices[], std::vector< DimsType > &nodes) const |
| |
| virtual bool | GetCellNeighbors (const DimsType &cindices, std::vector< DimsType > &cells) const =0 |
| |
| virtual bool | GetNodeCells (const DimsType &indices, std::vector< DimsType > &cells) const =0 |
| |
| virtual size_t | GetMaxVertexPerFace () const =0 |
| |
| virtual size_t | GetMaxVertexPerCell () const =0 |
| |
| virtual void | ClampCoord (const CoordType &coords, CoordType &cCoords) const =0 |
| |
| virtual void | ClampCoord (const double coords[3], double cCoords[3]) const |
| |
| virtual void | ClampIndex (const DimsType &indices, DimsType &cIndices) const |
| |
| virtual void | ClampCellIndex (const DimsType &indices, DimsType &cIndices) const |
| |
| virtual void | SetPeriodic (const std::vector< bool > &periodic) |
| |
| virtual const std::vector< bool > & | GetPeriodic () const |
| |
| virtual size_t | GetTopologyDim () const |
| |
| virtual long | GetNodeOffset () const |
| |
| virtual void | SetNodeOffset (long offset) |
| |
| virtual long | GetCellOffset () const |
| |
| virtual void | SetCellOffset (long offset) |
| |
| virtual DimsType | GetMinAbs () const |
| |
| virtual void | SetMinAbs (const DimsType &minAbs) |
| |
| virtual ConstCoordItr | ConstCoordBegin () const =0 |
| | Return constant grid coordinate iterator.
|
| |
| virtual ConstCoordItr | ConstCoordEnd () const =0 |
| |
| virtual ConstNodeIterator | ConstNodeBegin () const |
| |
| virtual ConstNodeIterator | ConstNodeBegin (const CoordType &minu, const CoordType &maxu) const |
| |
| virtual ConstNodeIterator | ConstNodeBegin (const std::vector< double > &minu, const std::vector< double > &maxu) const |
| |
| virtual ConstNodeIterator | ConstNodeEnd () const |
| |
| virtual ConstCellIterator | ConstCellBegin () const |
| |
| virtual ConstCellIterator | ConstCellBegin (const CoordType &minu, const CoordType &maxu) const |
| |
| virtual ConstCellIterator | ConstCellBegin (const std::vector< double > &minu, const std::vector< double > &maxu) const |
| |
| virtual ConstCellIterator | ConstCellEnd () const |
| |
| Iterator | begin (const CoordType &minu, const CoordType &maxu) |
| |
| Iterator | begin (const std::vector< double > &minu, const std::vector< double > &maxu) |
| |
| Iterator | begin () |
| |
| Iterator | end () |
| |
| ConstIterator | cbegin (const CoordType &minu, const CoordType &maxu) const |
| |
| ConstIterator | cbegin (const std::vector< double > &minu, const std::vector< double > &maxu) |
| |
| ConstIterator | cbegin () const |
| |
| ConstIterator | cend () const |
| |
Abstract base class for a 2D or 3D structured grid.
- Author
- John Clyne
This abstract base class defines a 2D or 3D structured grid: a tessellation of Euculidean space by quadrilaterals (2D) or hexahdrons (3D). Each grid point can be addressed by an index(i,j,k), where i, j and k range from 0 to dim - 1, where dim is the dimension of the I, J, or K axis, respectively. Moreover, each grid point has a coordinate in a user-defined coordinate system.
The structured grid samples a scalar function at each grid point. The scalar function samples are stored as an array decomposed into equal-sized blocks.
Because grid samples are repesented internally as arrays, when accessing multiple grid points better performance is achieved by using unit stride. The I axis varies fastest (has unit stride), followed by J, then K. Best performance is achieved when using the class iterator: Grid::Iterator.
For methods that allow the specification of grid indecies or coordinates as a single parameter tuple (e.g. vector <double> coordinate) the first element of the tuple corresponds to the I axis, etc.
- Note
- Throughout this class grid vertex offsets are specified as i, j, k, where i, j, k are integers. User coordinates are real values denoted x, y, z, and are given by functions X(i,j,k), Y(i,j,k), Z(i,j,k).
Definition at line 48 of file StructuredGrid.h.