1 #ifndef _SphericalGrid_
2 #define _SphericalGrid_
4 #include <vapor/common.h>
7 #pragma warning(disable : 4251 4100)
72 const double extents[6],
73 const size_t permutation[3],
74 const bool periodic[3],
94 const double extents[6],
95 const size_t permutation[3],
96 const bool periodic[3],
104 float GetValue(
double x,
double y,
double z)
const;
111 for (
int i=0; i<6; i++) extents[i] = _extentsC[i];
117 virtual void GetBoundingBox(
125 virtual void GetEnclosingRegion(
126 const double minu[3],
const double maxu[3],
127 size_t min[3],
size_t max[3]
132 int GetUserCoordinates(
133 size_t i,
size_t j,
size_t k,
134 double *x,
double *y,
double *z
140 double x,
double y,
double z,
141 size_t *i,
size_t *j,
size_t *k
146 void GetIJKIndexFloor(
147 double x,
double y,
double z,
148 size_t *i,
size_t *j,
size_t *k
154 const bool periodic[3]
168 bool InsideGrid(
double x,
double y,
double z)
const;
174 static inline void CartToSph(
175 double x,
double y,
double z,
double *phi,
double *theta,
double *r
178 static inline void SphToCart(
179 double phi,
double theta,
double r,
180 double *x,
double *y,
double *z
185 std::vector <long> _permutation;
187 void _GetUserExtents(
double extents[6])
const;
190 const std::vector<long>& permutation,
191 double result[3],
double x,
double y,
double z
virtual void GetUserExtents(double extents[6]) const