52 static std::string
GetClassType() {
return (
"ArbitrarilyOrientedRegular"); }
53 std::string
GetType()
const override {
return (GetClassType()); }
60 virtual void GetUserCoordinates (
size_t i,
size_t j,
size_t k,
double &x,
double &y,
double &z) =
delete;
72 std::vector<glm::tvec2<double, glm::highp>> _rectangle2D;
74 glm::tvec3<double, glm::highp> _normal, _origin, _axis1, _axis2;
77 void _makeEmptyGrid();
84 void _getMinimumAreaRectangle(
85 const std::vector<glm::tvec3<double, glm::highp>>& vertices
91 std::vector<glm::tvec3<double, glm::highp>> &vertices
94 glm::tvec3<double, glm::highp> _getOrthogonal(
95 const glm::tvec3<double, glm::highp>& u
virtual bool InsideGrid(const CoordType &coords)=delete
virtual ~ArbitrarilyOrientedRegularGrid()
virtual void GetUserCoordinates(size_t i, size_t j, size_t k, double &x, double &y, double &z)=delete
virtual void GetUserExtents(CoordType &minu, CoordType &maxu)=delete
static std::pair< float, float > GetOffsetRange(const planeDescription &pd)
virtual void ClampCoord(const CoordType &coords, CoordType &cCoords)=delete
static std::string GetClassType()
virtual bool GetEnclosingRegion(const CoordType &minu, const CoordType &maxu, DimsType &min, DimsType &max)=delete
virtual bool GetIndicesCell(const CoordType &coords, DimsType &indices)=delete
std::string GetType() const override
static glm::vec3 GetNormalFromRotations(const std::vector< double > &rotations)
ArbitrarilyOrientedRegularGrid()=default
virtual void GetUserCoordinates(const DimsType &indices, CoordType &coords) const override
ArbitrarilyOrientedRegularGrid(const VAPoR::Grid *grid3d, planeDescription &pd, const DimsType &dims)
virtual void GetBoundingBox(const DimsType &min, const DimsType &max, CoordType &minu, CoordType &maxu)=delete
Abstract base class for a 2D or 3D structured or unstructured grid.
This class implements a 2D or 3D regular grid.
std::array< double, 3 > CoordType
Type for specifying floating point coordinates.
std::array< size_t, 3 > DimsType
Type for specifying integer indices.
std::vector< double > origin
std::vector< double > normal