OpenVDB
11.0.0
|
#include <nanovdb/util/Stencils.h>
Inherits BaseStencil< CurvatureStencil< GridT >, 19, GridT >.
Public Types | |
using | GridType = GridT |
using | TreeType = typename GridT::TreeType |
using | ValueType = typename GridT::ValueType |
using | AccessorType = typename GridT::AccessorType |
Public Member Functions | |
__hostdev__ | CurvatureStencil (const GridType &grid) |
__hostdev__ | CurvatureStencil (const GridType &grid, double dx) |
__hostdev__ ValueType | meanCurvature () const |
Return the mean curvature at the previously buffered location. More... | |
__hostdev__ ValueType | gaussianCurvature () const |
Return the Gaussian curvature at the previously buffered location. More... | |
__hostdev__ void | curvatures (ValueType &mean, ValueType &gauss) const |
Return both the mean and the Gaussian curvature at the previously buffered location. More... | |
__hostdev__ ValueType | meanCurvatureNormGrad () const |
__hostdev__ ValueType | gaussianCurvatureNormGrad () const |
__hostdev__ void | curvaturesNormGrad (ValueType &mean, ValueType &gauss) const |
Return both the mean and the Gaussian curvature at the previously buffered location. More... | |
__hostdev__ void | principalCurvatures (ValueType &min, ValueType &max) const |
Computes the minimum and maximum principal curvature at the previously buffered location. More... | |
__hostdev__ ValueType | laplacian () const |
__hostdev__ Vec3< ValueType > | gradient () const |
template<int i, int j, int k> | |
__hostdev__ unsigned int | pos () const |
Return linear offset for the specified stencil point relative to its center. More... | |
__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... | |
__hostdev__ void | moveTo (const IterType &iter) |
Initialize the stencil buffer with the values of voxel (x, y, z) and its neighbors. More... | |
__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... | |
__hostdev__ const ValueType & | getValue () const |
Return the value at the specified location relative to the center of the stencil. More... | |
__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... | |
Static Public Attributes | |
static constexpr int | SIZE = 19 |
Protected Attributes | |
const GridType * | mGrid |
AccessorType | mAcc |
ValueType | mValues [SIZE] |
Coord | mCenter |
Friends | |
template<typename , int , typename > | |
class | BaseStencil |
|
inherited |
using GridType = GridT |
using TreeType = typename GridT::TreeType |
using ValueType = typename GridT::ValueType |
|
inline |
|
inline |
|
inlineinherited |
Return a const reference to the ValueAccessor associated with this Stencil.
|
inline |
Return both the mean and the Gaussian curvature at the previously buffered location.
|
inline |
Return both the mean and the Gaussian curvature at the previously buffered location.
|
inline |
Return the Gaussian curvature at the previously buffered location.
|
inline |
Return the mean Gaussian multiplied by the norm of the central-difference gradient.
|
inlineinherited |
Return the coordinates of the center point of the stencil.
|
inlineinherited |
Return the value at the center of the stencil.
|
inlineinherited |
Return the value from the stencil buffer with linear offset pos.
|
inlineinherited |
Return the value at the specified location relative to the center of the stencil.
|
inline |
Return the gradient computed at the previously buffered location by second-order central differencing.
|
inlineinherited |
Return a const reference to the grid from which this stencil was constructed.
|
inlineinherited |
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).
|
inlineinherited |
Return true if the center of the stencil intersects the iso-contour specified by the isoValue.
|
inline |
Return the Laplacian computed at the previously buffered location by second-order central differencing.
|
inlineinherited |
Return the largest value in the stencil buffer.
|
inlineinherited |
Return the mean value of the current stencil.
|
inline |
Return the mean curvature at the previously buffered location.
|
inline |
Return the mean curvature multiplied by the norm of the central-difference gradient. This method is very useful for mean-curvature flow of level sets!
|
inlineinherited |
Return the smallest value in the stencil buffer.
|
inlineinherited |
Initialize the stencil buffer with the values of voxel (i, j, k) and its neighbors.
ijk | Index coordinates of stencil center |
|
inlineinherited |
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 |
|
inlineinherited |
Initialize the stencil buffer with the values of voxel (x, y, z) and its neighbors.
|
inlineinherited |
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.
|
inline |
Return linear offset for the specified stencil point relative to its center.
|
inline |
Computes the minimum and maximum principal curvature at the previously buffered location.
|
inlineinherited |
Set the value at the specified location relative to the center of the stencil.
|
inlinestaticinherited |
Return the size of the stencil buffer.
|
friend |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
static |