|
__hostdev__ void | moveTo (const Coord &ijk) |
| Initialize the stencil buffer with the values of voxel (i, j, k) and its neighbors.
|
|
__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.
|
|
template<typename IterType > |
__hostdev__ void | moveTo (const IterType &iter) |
| Initialize the stencil buffer with the values of voxel (x, y, z) and its neighbors.
|
|
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.
|
|
__hostdev__ const ValueType & | getValue (unsigned int pos=0) const |
| Return the value from the stencil buffer with linear offset pos.
|
|
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.
|
|
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.
|
|
__hostdev__ ValueType | mean () const |
| Return the mean value of the current stencil.
|
|
__hostdev__ ValueType | min () const |
| Return the smallest value in the stencil buffer.
|
|
__hostdev__ ValueType | max () const |
| Return the largest value in the stencil buffer.
|
|
__hostdev__ const Coord & | getCenterCoord () const |
| Return the coordinates of the center point of the stencil.
|
|
__hostdev__ const ValueType & | getCenterValue () const |
| Return the value at the center of the stencil.
|
|
__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.
|
|
__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.
|
|
__hostdev__ const GridType & | grid () const |
| Return a const reference to the grid from which this stencil was constructed.
|
|
__hostdev__ const AccessorType & | accessor () const |
| Return a const reference to the ValueAccessor associated with this Stencil.
|
|
template<typename DerivedType , int SIZE, typename GridT >
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).
template<typename DerivedType , int SIZE, typename GridT >
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.
- Parameters
-
ijk | Index coordinates of stencil center |
centerValue | Value of the center element of the stencil |
template<typename DerivedType , int SIZE, typename GridT >
template<typename IterType >
Initialize the stencil buffer with the values of voxel (x, y, z) and its neighbors.
- Note
- This version is slightly faster than the one above, since the center voxel's value is read directly from the iterator.
template<typename DerivedType , int SIZE, typename GridT >
template<typename RealType >
Initialize the stencil buffer with the values of voxel (x, y, z) and its neighbors.
- Parameters
-
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.