OpenVDB 11.0.0
Loading...
Searching...
No Matches
Stencils.h File Reference

Defines various finite-difference stencils that allow for the computation of gradients of order 1 to 5, mean curvatures, gaussian curvatures, principal curvatures, tri-linear interpolation, zero-crossing, laplacian, and closest point transform. More...

#include <nanovdb/NanoVDB.h>

Go to the source code of this file.

Classes

class  BaseStencil< DerivedType, SIZE, GridT >
 
struct  BaseStencil< DerivedType, SIZE, GridT >::Mask
 
class  BoxStencil< GridT >
 
class  GradStencil< GridT >
 
class  WenoStencil< GridT, RealT >
 This is a special 19-point stencil that supports optimal fifth-order WENO upwinding, second-order central differencing, Laplacian, and zero-crossing test. More...
 
class  CurvatureStencil< GridT, RealT >
 

Namespaces

namespace  nanovdb
 

Functions

template<typename ValueType , typename RealT = ValueType>
__hostdev__ ValueType WENO5 (const ValueType &v1, const ValueType &v2, const ValueType &v3, const ValueType &v4, const ValueType &v5, RealT scale2=1.0)
 Implementation of nominally fifth-order finite-difference WENO.
 
template<typename RealT >
__hostdev__ RealT GodunovsNormSqrd (bool isOutside, RealT dP_xm, RealT dP_xp, RealT dP_ym, RealT dP_yp, RealT dP_zm, RealT dP_zp)
 
template<typename RealT >
__hostdev__ RealT GodunovsNormSqrd (bool isOutside, const Vec3< RealT > &gradient_m, const Vec3< RealT > &gradient_p)
 

Detailed Description

Defines various finite-difference stencils that allow for the computation of gradients of order 1 to 5, mean curvatures, gaussian curvatures, principal curvatures, tri-linear interpolation, zero-crossing, laplacian, and closest point transform.

Author
Ken Museth
Date
April 9, 2021