|
| GradStencil (const GridType &grid) |
|
| GradStencil (const GridType &grid, double dx) |
|
ValueType | normSqGrad () const |
| Return the norm square of the single-sided upwind gradient (computed via Godunov's scheme) at the previously buffered location. More...
|
|
Vec3< ValueType > | gradient () const |
| Return the gradient computed at the previously buffered location by second order central differencing. More...
|
|
Vec3< ValueType > | gradient (const Vec3< ValueType > &V) const |
| Return the first-order upwind gradient corresponding to the direction V. More...
|
|
ValueType | laplacian () const |
|
bool | zeroCrossing () const |
|
Vec3< ValueType > | cpt () |
| Compute the closest-point transform to a level set. More...
|
|
template<int i, int j, int k> |
unsigned int | pos () const |
| Return linear offset for the specified stencil point relative to its center. More...
|
|
void | moveTo (const Coord &ijk) |
| Initialize the stencil buffer with the values of voxel (i, j, k) and its neighbors. More...
|
|
void | moveTo (const Coord &ijk, const ValueType ¢erValue) |
| Initialize the stencil buffer with the values of voxel (i, j, k) and its neighbors. The method also takes a value of the center element of the stencil, assuming it is already known. More...
|
|
void | moveTo (const IterType &iter) |
| Initialize the stencil buffer with the values of voxel (x, y, z) and its neighbors. More...
|
|
void | moveTo (const Vec3< RealType > &xyz) |
| Initialize the stencil buffer with the values of voxel (x, y, z) and its neighbors. More...
|
|
const ValueType & | getValue (unsigned int pos=0) const |
| Return the value from the stencil buffer with linear offset pos. More...
|
|
const ValueType & | getValue () const |
| Return the value at the specified location relative to the center of the stencil. More...
|
|
void | setValue (const ValueType &value) |
| Set the value at the specified location relative to the center of the stencil. More...
|
|
ValueType | mean () const |
| Return the mean value of the current stencil. More...
|
|
ValueType | min () const |
| Return the smallest value in the stencil buffer. More...
|
|
ValueType | max () const |
| Return the largest value in the stencil buffer. More...
|
|
const Coord & | getCenterCoord () const |
| Return the coordinates of the center point of the stencil. More...
|
|
const ValueType & | getCenterValue () const |
| Return the value at the center of the stencil. More...
|
|
bool | intersects (const ValueType &isoValue=ValueType(0)) const |
| Return true if the center of the stencil intersects the iso-contour specified by the isoValue. More...
|
|
Mask | intersectionMask (ValueType isoValue=ValueType(0)) const |
| Return true a bit-mask where the 6 lower bits indicates if the center of the stencil intersects the iso-contour specified by the isoValue. More...
|
|
const GridType & | grid () const |
| Return a const reference to the grid from which this stencil was constructed. More...
|
|
const AccessorType & | accessor () const |
| Return a const reference to the ValueAccessor associated with this Stencil. More...
|
|
template<typename GridT>
class nanovdb::GradStencil< GridT >
This is a simple 7-point nearest neighbor stencil that supports gradient by second-order central differencing, first-order upwinding, Laplacian, closest-point transform and zero-crossing test.
- Note
- For optimal random access performance this class includes its own grid accessor.
Return true a bit-mask where the 6 lower bits indicates if the center of the stencil intersects the iso-contour specified by the isoValue.
- Note
- There are 2^6 = 64 different possible cases, including no intersections!
The ordering of bit mask is ( -x, +x, -y, +y, -z, +z ), so to check if there is an intersection in -y use (mask & (1u<<2)) where mask is ther return value from this function. To check if there are any intersections use mask!=0u, and for no intersections use mask==0u. To count the number of intersections use __builtin_popcount(mask).