|
| struct | BaseBBox |
| class | BaseStencil |
| struct | BBox |
| struct | BBox< CoordT, false > |
| | Partial template specialization for integer coordinate types. More...
|
| struct | BBox< Vec3T, true > |
| | Partial template specialization for floating point coordinate types. More...
|
| class | BoxStencil |
| class | Coord |
| | Signed (i, j, k) 32-bit integer coordinate class, similar to openvdb::math::Coord. More...
|
| class | Coord2 |
| | Signed (i, j) 32-bit integer coordinate class, similar to openvdb::math::Coord. More...
|
| class | CurvatureStencil |
| class | DDA |
| | A Digital Differential Analyzer. Unlike HDDA (defined above) this DDA uses a fixed step-size defined by the template parameter Dim! More...
|
| struct | Delta |
| | Delta for small floating-point offsets. More...
|
| struct | Delta< double > |
| struct | Delta< float > |
| class | DitherLUT |
| class | GradStencil |
| class | HDDA |
| | A Digital Differential Analyzer specialized for OpenVDB grids. More...
|
| class | Mat2 |
| class | Mat2x3 |
| class | Mat3 |
| class | Mat3x2 |
| class | Mat4 |
| class | MatBase |
| struct | Maximum |
| | Maximum floating-point values. More...
|
| class | PointTreeMarcher |
| | A Tree Marcher for Point Grids. More...
|
| class | Ray |
| class | Rgba8 |
| | 8-bit red, green, blue, alpha packed into 32 bit unsigned int More...
|
| class | SampleFromVoxels |
| class | SampleFromVoxels< TreeOrAccT, 0, false > |
| | Nearest neighbor, i.e. zero order, interpolator without caching. More...
|
| class | SampleFromVoxels< TreeOrAccT, 0, true > |
| | Nearest neighbor, i.e. zero order, interpolator with caching. More...
|
| class | SampleFromVoxels< TreeOrAccT, 1, false > |
| | Template specialization that does not use caching of stencil points. More...
|
| class | SampleFromVoxels< TreeOrAccT, 1, true > |
| | Template specialization with caching of stencil values. More...
|
| class | SampleFromVoxels< TreeOrAccT, 2, false > |
| | Template specialization that does not use caching of stencil points. More...
|
| class | SampleFromVoxels< TreeOrAccT, 2, true > |
| | Template specialization with caching of stencil values. More...
|
| class | SampleFromVoxels< TreeOrAccT, 3, false > |
| class | SampleFromVoxels< TreeOrAccT, 3, true > |
| struct | Tolerance |
| | Tolerance for floating-point comparison. More...
|
| struct | Tolerance< double > |
| struct | Tolerance< float > |
| class | TreeMarcher |
| | A Tree Marcher for Generic Grids. More...
|
| class | TricubicSampler |
| | Tri-cubic sampler, i.e. third order, interpolator. More...
|
| class | TrilinearSampler |
| | Tri-linear sampler, i.e. first order, interpolator. More...
|
| class | TriquadraticSampler |
| | Tri-quadratic sampler, i.e. second order, interpolator. More...
|
| class | Vec2 |
| | A simple vector class with three components, similar to openvdb::math::Vec3. More...
|
| class | Vec3 |
| | A simple vector class with three components, similar to openvdb::math::Vec3. More...
|
| class | Vec4 |
| | A simple vector class with four components, similar to openvdb::math::Vec4. More...
|
| class | WenoStencil |
| | This is a special 19-point stencil that supports optimal fifth-order WENO upwinding, second-order central differencing, Laplacian, and zero-crossing test. More...
|
|
| template<typename RayT, typename AccT> |
| __hostdev__ bool | zeroCrossing (RayT &ray, AccT &acc, Coord &ijk, typename AccT::ValueType &v, float &t) |
| | returns true if the ray intersects a zero-crossing at the voxel level of the grid in the accessor The empty-space ray-marching is performed at all levels of the tree using an HDDA. If an intersection is detected, then ijk is updated with the index coordinate of the closest voxel after the intersection point, v contains the grid values at ijk, and t is set to the time of the intersection along the ray.
|
| template<typename RayT, typename AccT> |
| __hostdev__ bool | ZeroCrossing (RayT &ray, AccT &acc, Coord &ijk, typename AccT::ValueType &v, float &t) |
| template<typename RayT, typename AccT> |
| __hostdev__ bool | isoCrossing (RayT &ray, AccT &acc, Coord &ijk, typename AccT::ValueType &v, float &t, const typename AccT::ValueType &iso=0.0f) |
| template<typename RayT, typename NodeT> |
| __hostdev__ bool | zeroCrossingNode (RayT &ray, const NodeT &node, float v0, nanovdb::math::Coord &ijk, float &v, float &t) |
| template<typename RayT, typename NodeT> |
| __hostdev__ bool | ZeroCrossingNode (RayT &ray, const NodeT &node, float v0, nanovdb::math::Coord &ijk, float &v, float &t) |
| template<typename RayT, typename AccT> |
| __hostdev__ bool | firstActive (RayT &ray, AccT &acc, Coord &ijk, float &t) |
| | returns true if the ray intersects an active value at any level of the grid in the accessor. The empty-space ray-marching is performed at all levels of the tree using an HDDA. If an intersection is detected, then ijk is updated with the index coordinate of the first active voxel or tile, and t is set to the time of its intersection along the ray.
|
| template<typename T> |
| __hostdev__ constexpr T | pi () |
| | Pi constant taken from Boost to match old behaviour.
|
| template<> |
| __hostdev__ constexpr float | pi () |
| template<> |
| __hostdev__ constexpr double | pi () |
| template<> |
| __hostdev__ constexpr long double | pi () |
| template<typename Type> |
| __hostdev__ bool | isApproxZero (const Type &x) |
| template<typename Type> |
| __hostdev__ Type | Min (Type a, Type b) |
| __hostdev__ int32_t | Min (int32_t a, int32_t b) |
| __hostdev__ uint32_t | Min (uint32_t a, uint32_t b) |
| __hostdev__ float | Min (float a, float b) |
| __hostdev__ double | Min (double a, double b) |
| template<typename Type> |
| __hostdev__ Type | Max (Type a, Type b) |
| __hostdev__ int32_t | Max (int32_t a, int32_t b) |
| __hostdev__ uint32_t | Max (uint32_t a, uint32_t b) |
| __hostdev__ float | Max (float a, float b) |
| __hostdev__ double | Max (double a, double b) |
| __hostdev__ float | Clamp (float x, float a, float b) |
| __hostdev__ double | Clamp (double x, double a, double b) |
| __hostdev__ float | Fract (float x) |
| __hostdev__ double | Fract (double x) |
| __hostdev__ int32_t | Floor (float x) |
| __hostdev__ int32_t | Floor (double x) |
| __hostdev__ int32_t | Ceil (float x) |
| __hostdev__ int32_t | Ceil (double x) |
| template<typename T> |
| __hostdev__ T | Pow2 (T x) |
| template<typename T> |
| __hostdev__ T | Pow3 (T x) |
| template<typename T> |
| __hostdev__ T | Pow4 (T x) |
| template<typename T> |
| __hostdev__ T | Abs (T x) |
| template<> |
| __hostdev__ float | Abs (float x) |
| template<> |
| __hostdev__ double | Abs (double x) |
| template<> |
| __hostdev__ int | Abs (int x) |
| template<typename CoordT, typename RealT, template< typename > class Vec3T> |
| __hostdev__ CoordT | Round (const Vec3T< RealT > &xyz) |
| template<typename CoordT, template< typename > class Vec3T> |
| __hostdev__ CoordT | Round (const Vec3T< float > &xyz) |
| template<typename CoordT, template< typename > class Vec3T> |
| __hostdev__ CoordT | Round (const Vec3T< double > &xyz) |
| template<typename CoordT, typename RealT, template< typename > class Vec3T> |
| __hostdev__ CoordT | RoundDown (const Vec3T< RealT > &xyz) |
| __hostdev__ float | Sqrt (float x) |
| | Return the square root of a floating-point value.
|
| __hostdev__ double | Sqrt (double x) |
| template<typename T> |
| __hostdev__ T | Sign (const T &x) |
| | Return the sign of the given value as an integer (either -1, 0 or 1).
|
| template<typename Vec3T> |
| __hostdev__ int | MinIndex (const Vec3T &v) |
| template<typename Vec3T> |
| __hostdev__ int | MaxIndex (const Vec3T &v) |
| template<uint64_t wordSize> |
| __hostdev__ uint64_t | AlignUp (uint64_t byteCount) |
| | round up byteSize to the nearest wordSize, e.g. to align to machine word: AlignUp<sizeof(size_t)(n)
|
| template<typename T1, typename T2> |
| __hostdev__ Vec2< T2 > | operator* (T1 scalar, const Vec2< T2 > &vec) |
| template<typename T1, typename T2> |
| __hostdev__ Vec2< T2 > | operator/ (T1 scalar, const Vec2< T2 > &vec) |
| template<typename T> |
| __hostdev__ Mat2< T > | operator* (const T &s, const Mat2< T > &m) |
| | Multiply a scalar by a 2x2 matrix, result is a 2x2 matrix.
|
| template<typename T> |
| __hostdev__ Mat2< T > | operator* (const Mat2x3< T > &lhs, const Mat3x2< T > &rhs) |
| | Multiply a 2x3 matrix by a 3x2 matrix, result is a 2x2 matrix.
|
| template<typename T> |
| __hostdev__ Mat2x3< T > | operator* (const Mat3< T > &lhs, const Mat2x3< T > &rhs) |
| | Multiply a 3x3 matrix by a 2x3 matrix, result is a 2x3 matrix.
|
| template<typename T> |
| __hostdev__ Mat2x3< T > | operator* (const Mat2x3< T > &lhs, const Mat3< T > &rhs) |
| | Multiply a 2x3 matrix by a 3x3 matrix, result is a 2x3 matrix.
|
| template<typename T> |
| __hostdev__ Mat3x2< T > | operator* (const Mat3x2< T > &lhs, const Mat2< T > &rhs) |
| | Multiply a 3x2 matrix by a 2x2 matrix, result is a 3x2 matrix.
|
| template<typename T> |
| __hostdev__ Mat2x3< T > | operator* (const Mat2< T > &lhs, const Mat2x3< T > &rhs) |
| | Multiply a 2x2 matrix by a 2x3 matrix, result is a 2x3 matrix.
|
| template<typename T> |
| __hostdev__ Mat3< T > | operator* (const Mat3x2< T > &lhs, const Mat2x3< T > &rhs) |
| | Multiply a 3x2 matrix by a 2x3 matrix, result is a 3x3 matrix.
|
| template<typename T1, typename T2> |
| __hostdev__ Vec3< T2 > | operator* (T1 scalar, const Vec3< T2 > &vec) |
| template<typename T1, typename T2> |
| __hostdev__ Vec3< T2 > | operator/ (T1 scalar, const Vec3< T2 > &vec) |
| template<typename T1, typename T2> |
| __hostdev__ Vec4< T2 > | operator* (T1 scalar, const Vec4< T2 > &vec) |
| template<typename T1, typename T2> |
| __hostdev__ Vec4< T2 > | operator/ (T1 scalar, const Vec4< T2 > &vec) |
| template<typename T> |
| __hostdev__ Vec4< T > | operator* (const Mat4< T > &m, const Vec4< T > &v) |
| | Return the matrix vector product of a 4x4 matrix and a 4d vector.
|
| template<typename Vec3T> |
| __hostdev__ Vec3T | matMult (const float *mat, const Vec3T &xyz) |
| | Multiply a 3x3 matrix and a 3d vector using 32bit floating point arithmetics.
|
| template<typename Vec3T> |
| __hostdev__ Vec3T | matMult (const double *mat, const Vec3T &xyz) |
| | Multiply a 3x3 matrix and a 3d vector using 64bit floating point arithmetics.
|
| template<typename Vec3T> |
| __hostdev__ Vec3T | matMult (const float *mat, const float *vec, const Vec3T &xyz) |
| | Multiply a 3x3 matrix to a 3d vector and add another 3d vector using 32bit floating point arithmetics.
|
| template<typename Vec3T> |
| __hostdev__ Vec3T | matMult (const double *mat, const double *vec, const Vec3T &xyz) |
| | Multiply a 3x3 matrix to a 3d vector and add another 3d vector using 64bit floating point arithmetics.
|
| template<typename Vec3T> |
| __hostdev__ Vec3T | matMultT (const float *mat, const Vec3T &xyz) |
| | Multiply the transposed of a 3x3 matrix and a 3d vector using 32bit floating point arithmetics.
|
| template<typename Vec3T> |
| __hostdev__ Vec3T | matMultT (const double *mat, const Vec3T &xyz) |
| | Multiply the transposed of a 3x3 matrix and a 3d vector using 64bit floating point arithmetics.
|
| template<typename Vec3T> |
| __hostdev__ Vec3T | matMultT (const float *mat, const float *vec, const Vec3T &xyz) |
| template<typename Vec3T> |
| __hostdev__ Vec3T | matMultT (const double *mat, const double *vec, const Vec3T &xyz) |
| template<typename Vec3T> |
| __hostdev__ Vec3T | closestPointOnSegmentToPoint (const Vec3T &v0, const Vec3T &v1, const Vec3T &p) |
| | Returns the closest point on the line segment [v0,v1] to p.
|
| template<typename Vec3T> |
| __hostdev__ Vec3T | closestPointOnTriangleToPoint (const Vec3T &v0, const Vec3T &v1, const Vec3T &v2, const Vec3T &p, typename Vec3T::ValueType &t0, typename Vec3T::ValueType &t1) |
| | Returns the closest point on triangle [v0,v1,v2] to p, and (via t0, t1) the barycentric coordinates of that point: closest = v0 + t0*(v1-v0) + t1*(v2-v0).
|
| template<typename Vec3T> |
| __hostdev__ Vec3T::ValueType | pointToTriangleDistSqr (const Vec3T &v0, const Vec3T &v1, const Vec3T &v2, const Vec3T &p) |
| | Returns the squared distance from p to the closest point on triangle [v0,v1,v2].
|
| template<int Order, typename TreeOrAccT, bool UseCache = true> |
| SampleFromVoxels< TreeOrAccT, Order, UseCache > | createSampler (const TreeOrAccT &acc) |
| | Factory free-function for a sampler of specific polynomial orders.
|
| template<typename CoordT, typename RealT, template< typename > class Vec3T> |
| CoordT | Floor (Vec3T< RealT > &xyz) |
| | Utility function that returns the Coord of the round-down of xyz and redefined (x, y, z) as the fractional part, ie xyz-in = return-value + xyz-out.
|
| template<typename CoordT, template< typename > class Vec3T> |
| CoordT | Floor (Vec3T< float > &xyz) |
| | Template specialization of Floor for Vec3<float>
|
| template<typename CoordT, template< typename > class Vec3T> |
| CoordT | Floor (Vec3T< double > &xyz) |
| | Template specialization of Floor for Vec3<float>
|
| 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) |