HDK
|
#include <Stencils.h>
Classes | |
struct | Mask |
Public Types | |
using | ValueType = typename GridT::ValueType |
using | GridType = GridT |
using | TreeType = typename GridT::TreeType |
using | AccessorType = typename GridT::AccessorType |
Public Member Functions | |
__hostdev__ void | moveTo (const Coord &ijk) |
Initialize the stencil buffer with the values of voxel (i, j, k) and its neighbors. More... | |
__hostdev__ 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... | |
template<typename IterType > | |
__hostdev__ void | moveTo (const IterType &iter) |
Initialize the stencil buffer with the values of voxel (x, y, z) and its neighbors. More... | |
template<typename RealType > | |
__hostdev__ void | moveTo (const Vec3< RealType > &xyz) |
Initialize the stencil buffer with the values of voxel (x, y, z) and its neighbors. More... | |
__hostdev__ const ValueType & | getValue (unsigned int pos=0) const |
Return the value from the stencil buffer with linear offset pos. More... | |
template<int i, int j, int k> | |
__hostdev__ const ValueType & | getValue () const |
Return the value at the specified location relative to the center of the stencil. More... | |
template<int i, int j, int k> | |
__hostdev__ void | setValue (const ValueType &value) |
Set the value at the specified location relative to the center of the stencil. More... | |
__hostdev__ ValueType | mean () const |
Return the mean value of the current stencil. More... | |
__hostdev__ ValueType | min () const |
Return the smallest value in the stencil buffer. More... | |
__hostdev__ ValueType | max () const |
Return the largest value in the stencil buffer. More... | |
__hostdev__ const Coord & | getCenterCoord () const |
Return the coordinates of the center point of the stencil. More... | |
__hostdev__ const ValueType & | getCenterValue () const |
Return the value at the center of the stencil. More... | |
__hostdev__ 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... | |
__hostdev__ 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... | |
__hostdev__ const GridType & | grid () const |
Return a const reference to the grid from which this stencil was constructed. More... | |
__hostdev__ const AccessorType & | accessor () const |
Return a const reference to the ValueAccessor associated with this Stencil. More... | |
Static Public Member Functions | |
static __hostdev__ int | size () |
Return the size of the stencil buffer. More... | |
Protected Member Functions | |
__hostdev__ | BaseStencil (const GridType &grid) |
Protected Attributes | |
const GridType * | mGrid |
AccessorType | mAcc |
ValueType | mValues [SIZE] |
Coord | mCenter |
Definition at line 96 of file Stencils.h.
using nanovdb::BaseStencil< DerivedType, SIZE, GridT >::AccessorType = typename GridT::AccessorType |
Definition at line 102 of file Stencils.h.
using nanovdb::BaseStencil< DerivedType, SIZE, GridT >::GridType = GridT |
Definition at line 100 of file Stencils.h.
using nanovdb::BaseStencil< DerivedType, SIZE, GridT >::TreeType = typename GridT::TreeType |
Definition at line 101 of file Stencils.h.
using nanovdb::BaseStencil< DerivedType, SIZE, GridT >::ValueType = typename GridT::ValueType |
Definition at line 99 of file Stencils.h.
|
inlineprotected |
Definition at line 270 of file Stencils.h.
|
inline |
Return a const reference to the ValueAccessor associated with this Stencil.
Definition at line 266 of file Stencils.h.
|
inline |
Return the coordinates of the center point of the stencil.
Definition at line 209 of file Stencils.h.
|
inline |
Return the value at the center of the stencil.
Definition at line 212 of file Stencils.h.
|
inline |
Return the value from the stencil buffer with linear offset pos.
Definition at line 157 of file Stencils.h.
|
inline |
Return the value at the specified location relative to the center of the stencil.
Definition at line 165 of file Stencils.h.
|
inline |
Return a const reference to the grid from which this stencil was constructed.
Definition at line 262 of file Stencils.h.
|
inline |
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.
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).
Definition at line 247 of file Stencils.h.
|
inline |
Return true if the center of the stencil intersects the iso-contour specified by the isoValue.
Definition at line 216 of file Stencils.h.
|
inline |
Return the largest value in the stencil buffer.
Definition at line 199 of file Stencils.h.
|
inline |
Return the mean value of the current stencil.
Definition at line 181 of file Stencils.h.
|
inline |
Return the smallest value in the stencil buffer.
Definition at line 189 of file Stencils.h.
|
inline |
Initialize the stencil buffer with the values of voxel (i, j, k) and its neighbors.
ijk | Index coordinates of stencil center |
Definition at line 107 of file Stencils.h.
|
inline |
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.
ijk | Index coordinates of stencil center |
centerValue | Value of the center element of the stencil |
Definition at line 119 of file Stencils.h.
|
inline |
Initialize the stencil buffer with the values of voxel (x, y, z) and its neighbors.
Definition at line 132 of file Stencils.h.
|
inline |
Initialize the stencil buffer with the values of voxel (x, y, z) and its neighbors.
xyz | Floating point voxel coordinates of stencil center |
This method will check to see if it is necessary to update the stencil based on the cached index coordinates of the center point.
Definition at line 146 of file Stencils.h.
|
inline |
Set the value at the specified location relative to the center of the stencil.
Definition at line 172 of file Stencils.h.
|
inlinestatic |
Return the size of the stencil buffer.
Definition at line 178 of file Stencils.h.
|
protected |
Definition at line 278 of file Stencils.h.
|
protected |
Definition at line 280 of file Stencils.h.
|
protected |
Definition at line 277 of file Stencils.h.
|
protected |
Definition at line 279 of file Stencils.h.