HDK
|
Namespaces | |
build | |
crc32 | |
io | |
Classes | |
class | OclDeviceBuffer |
struct | BufferTraits< OclDeviceBuffer > |
class | ValueIndex |
Dummy type for a voxel whose value equals an offset into an external value array. More... | |
class | ValueOnIndex |
Dummy type for a voxel whose value equals an offset into an external value array of active values. More... | |
class | ValueIndexMask |
Like ValueIndex but with a mutable mask. More... | |
class | ValueOnIndexMask |
Like ValueOnIndex but with a mutable mask. More... | |
class | ValueMask |
Dummy type for a voxel whose value equals its binary active state. More... | |
class | Half |
Dummy type for a 16 bit floating point values (placeholder for IEEE 754 Half) More... | |
class | Fp4 |
Dummy type for a 4bit quantization of float point values. More... | |
class | Fp8 |
Dummy type for a 8bit quantization of float point values. More... | |
class | Fp16 |
Dummy type for a 16bit quantization of float point values. More... | |
class | FpN |
Dummy type for a variable bit quantization of floating point values. More... | |
class | Point |
Dummy type for indexing points into voxels. More... | |
struct | is_same |
C++11 implementation of std::is_same. More... | |
struct | is_same< T0, T1 > |
struct | is_same< T, T > |
struct | is_floating_point |
C++11 implementation of std::is_floating_point. More... | |
struct | BuildTraits |
Define static boolean tests for template build types. More... | |
struct | enable_if |
C++11 implementation of std::enable_if. More... | |
struct | enable_if< true, T > |
struct | disable_if |
struct | disable_if< true, T > |
struct | is_const |
struct | is_const< const T > |
struct | is_pointer |
Trait used to identify template parameter that are pointers. More... | |
struct | is_pointer< T * > |
Template specialization of non-const pointers. More... | |
struct | is_pointer< const T * > |
Template specialization of const pointers. More... | |
struct | remove_const |
Trait use to const from type. Default implementation is just a pass-through. More... | |
struct | remove_const< const T > |
Template specialization of trait class use to remove const qualifier type from a type. More... | |
struct | remove_reference |
Trait use to remove reference, i.e. "&", qualifier from a type. Default implementation is just a pass-through. More... | |
struct | remove_reference< T & > |
Template specialization of trait class use to remove reference, i.e. "&", qualifier from a type. More... | |
struct | remove_pointer |
Trait use to remove pointer, i.e. "*", qualifier from a type. Default implementation is just a pass-through. More... | |
struct | remove_pointer< T * > |
Template specialization of trait class use to to remove pointer, i.e. "*", qualifier from a type. More... | |
struct | match_const |
Trait used to transfer the const-ness of a reference type to another type. More... | |
struct | match_const< T, const ReferenceT > |
Template specialization used to transfer the const-ness of a reference type to another type. More... | |
struct | is_specialization |
Metafunction used to determine if the first template parameter is a specialization of the class template given in the second template parameter. More... | |
struct | is_specialization< TemplateType< Args...>, TemplateType > |
struct | BuildToValueMap |
Maps one type (e.g. the build types above) to other (actual) types. More... | |
struct | BuildToValueMap< ValueIndex > |
struct | BuildToValueMap< ValueOnIndex > |
struct | BuildToValueMap< ValueIndexMask > |
struct | BuildToValueMap< ValueOnIndexMask > |
struct | BuildToValueMap< ValueMask > |
struct | BuildToValueMap< Half > |
struct | BuildToValueMap< Fp4 > |
struct | BuildToValueMap< Fp8 > |
struct | BuildToValueMap< Fp16 > |
struct | BuildToValueMap< FpN > |
struct | BuildToValueMap< Point > |
class | Version |
Bit-compacted representation of all three version numbers. More... | |
struct | Tolerance |
Tolerance for floating-point comparison. More... | |
struct | Tolerance< float > |
struct | Tolerance< double > |
struct | Delta |
Delta for small floating-point offsets. More... | |
struct | Delta< float > |
struct | Delta< double > |
struct | Maximum |
Maximum floating-point values. More... | |
class | Vec3 |
A simple vector class with three components, similar to openvdb::math::Vec3. More... | |
class | Coord |
Signed (i, j, k) 32-bit integer coordinate class, similar to openvdb::math::Coord. More... | |
class | Vec4 |
A simple vector class with four components, similar to openvdb::math::Vec4. More... | |
class | Rgba8 |
8-bit red, green, blue, alpha packed into 32 bit unsigned int More... | |
struct | TensorTraits |
struct | TensorTraits< T, 0 > |
struct | TensorTraits< T, 1 > |
struct | FloatTraits |
struct | FloatTraits< T, 8 > |
struct | FloatTraits< bool, 1 > |
struct | FloatTraits< ValueIndex, 1 > |
struct | FloatTraits< ValueIndexMask, 1 > |
struct | FloatTraits< ValueOnIndex, 1 > |
struct | FloatTraits< ValueOnIndexMask, 1 > |
struct | FloatTraits< ValueMask, 1 > |
struct | FloatTraits< Point, 1 > |
struct | BaseBBox |
struct | BBox |
struct | BBox< Vec3T, true > |
Partial template specialization for floating point coordinate types. More... | |
struct | BBox< CoordT, false > |
Partial template specialization for integer coordinate types. More... | |
struct | BitArray |
struct | BitArray< 8 > |
struct | BitArray< 16 > |
struct | BitArray< 32 > |
struct | BitArray< 64 > |
class | BitFlags |
class | Mask |
Bit-mask to encode active states and facilitate sequential iterators and a fast codec for I/O compression. More... | |
struct | Map |
Defines an affine transform and its inverse represented as a 3x3 matrix and a vec3 translation. More... | |
struct | NodeTrait |
Struct to derive node type from its level in a given grid, tree or root while preserving constness. More... | |
struct | NodeTrait< GridOrTreeOrRootT, 0 > |
struct | NodeTrait< const GridOrTreeOrRootT, 0 > |
struct | NodeTrait< GridOrTreeOrRootT, 1 > |
struct | NodeTrait< const GridOrTreeOrRootT, 1 > |
struct | NodeTrait< GridOrTreeOrRootT, 2 > |
struct | NodeTrait< const GridOrTreeOrRootT, 2 > |
struct | NodeTrait< GridOrTreeOrRootT, 3 > |
struct | NodeTrait< const GridOrTreeOrRootT, 3 > |
struct | GetValue |
Implements Tree::getValue(Coord), i.e. return the value associated with a specific coordinate ijk . More... | |
struct | SetValue |
struct | SetVoxel |
struct | GetState |
Implements Tree::isActive(Coord) More... | |
struct | GetDim |
Implements Tree::getDim(Coord) More... | |
struct | GetLeaf |
Return the pointer to the leaf node that contains Coord. Implements Tree::probeLeaf(Coord) More... | |
struct | ProbeValue |
Implements Tree::probeLeaf(Coord) More... | |
struct | GetNodeInfo |
Implements Tree::getNodeInfo(Coord) More... | |
class | ReadAccessor |
class | Grid |
Highest level of the data structure. Contains a tree and a world->index transform (that currently only supports uniform scaling and translation). More... | |
struct | GridTree |
defines a tree type from a grid type while preserving constness More... | |
struct | GridTree< const GridT > |
class | Tree |
VDB Tree, which is a thin wrapper around a RootNode. More... | |
class | RootNode |
Top-most node of the VDB tree structure. More... | |
class | InternalNode |
Internal nodes of a VDB treedim(),. More... | |
class | LeafNode |
Leaf nodes of the VDB tree. (defaults to 8x8x8 = 512 voxels) More... | |
struct | NanoNode |
Trait to map from LEVEL to node type. More... | |
struct | NanoNode< BuildT, 0 > |
struct | NanoNode< BuildT, 1 > |
struct | NanoNode< BuildT, 2 > |
struct | NanoNode< BuildT, 3 > |
class | ReadAccessor< BuildT,-1,-1,-1 > |
A read-only value accessor with three levels of node caching. This allows for inverse tree traversal during lookup, which is on average significantly faster than calling the equivalent method on the tree (i.e. top-down traversal). More... | |
class | ReadAccessor< BuildT, LEVEL0,-1,-1 > |
Node caching at a single tree level. More... | |
class | ReadAccessor< BuildT, LEVEL0, LEVEL1,-1 > |
class | ReadAccessor< BuildT, 0, 1, 2 > |
Node caching at all (three) tree levels. More... | |
class | GridMetaData |
This is a convenient class that allows for access to grid meta-data that are independent of the value type of a grid. That is, this class can be used to get information about a grid without actually knowing its ValueType. More... | |
class | PointAccessor |
Class to access points at a specific voxel location. More... | |
class | PointAccessor< AttT, Point > |
class | ChannelAccessor |
Class to access values in channels at a specific voxel location. More... | |
struct | GetLower |
Return point to the lower internal node where Coord maps to one of its values, i.e. terminates. More... | |
struct | GetUpper |
Return point to the upper internal node where Coord maps to one of its values, i.e. terminates. More... | |
class | CpuTimer |
class | CreateNanoGrid |
Creates any nanovdb Grid from any source grid (certain combinations are obviously not allowed) More... | |
struct | MapToNano |
Trait that maps any type to the corresponding nanovdb type. More... | |
class | AbsDiff |
Compression oracle based on absolute difference. More... | |
class | RelDiff |
Compression oracle based on relative difference. More... | |
class | NodeAccessor |
The NodeAccessor provides a uniform API for accessing nodes got NanoVDB, OpenVDB and build Grids. More... | |
class | NodeAccessor< NanoGrid< BuildT > > |
Template specialization for nanovdb::Grid which is special since its NodeManage uses a handle in order to support node access on the GPU! More... | |
class | CudaDeviceBuffer |
Simple memory buffer using un-managed pinned host memory when compiled with NVCC. Obviously this class is making explicit used of CUDA so replace it with your own memory allocator if you are not using CUDA. More... | |
struct | BufferTraits< CudaDeviceBuffer > |
class | GpuTimer |
class | DitherLUT |
class | GridChecksum |
Class that encapsulates two CRC32 checksums, one for the Grid, Tree and Root node meta data and one for the remaining grid nodes. More... | |
struct | GridHandleMetaData |
class | GridHandle |
This class serves to manage a buffer containing one or more NanoVDB Grids. More... | |
class | Extrema |
class | Extrema< ValueT, 0 > |
Template specialization of Extrema on scalar value types, i.e. rank = 0. More... | |
class | Extrema< VecT, 1 > |
Template specialization of Extrema on vector value types, i.e. rank = 1. More... | |
class | Stats |
class | Stats< ValueT, 0 > |
This class computes statistics (minimum value, maximum value, mean, variance and standard deviation) of a population of floating-point values. More... | |
class | Stats< ValueT, 1 > |
This class computes statistics (minimum value, maximum value, mean, variance and standard deviation) of a population of floating-point values. More... | |
struct | NoopStats |
No-op Stats class. More... | |
class | GridStats |
Allows for the construction of NanoVDB grids without any dependency. More... | |
class | GridValidator |
Allows for the construction of NanoVDB grids without any dependecy. More... | |
class | HDDA |
A Digital Differential Analyzer specialized for OpenVDB grids. More... | |
class | DDA |
A Digital Differential Analyzer. Unlike HDDA (defined above) this DDA uses a fixed step-size defined by the template parameter Dim! More... | |
class | TreeMarcher |
A Tree Marcher for Generic Grids. More... | |
class | PointTreeMarcher |
A Tree Marcher for Point Grids. More... | |
struct | BufferTraits |
class | HostBuffer |
This is a buffer that contains a shared or private pool to either externally or internally managed host memory. More... | |
class | NanoToOpenVDB |
This class will serialize an OpenVDB grid into a NanoVDB grid managed by a GridHandle. More... | |
class | NodeManager |
NodeManager allows for sequential access to nodes. More... | |
class | NodeManagerHandle |
NodeManagerHandle manages the memory of a NodeManager. More... | |
struct | NodeManagerData |
class | Split |
class | Range |
class | Range< 1, T > |
class | Range< 2, T > |
class | Range< 3, T > |
class | Ray |
class | SampleFromVoxels |
class | SampleFromVoxels< TreeOrAccT, 0, true > |
Nearest neighbor, i.e. zero order, interpolator with caching. More... | |
class | SampleFromVoxels< TreeOrAccT, 0, false > |
Nearest neighbor, i.e. zero order, interpolator without caching. More... | |
class | TrilinearSampler |
Tri-linear sampler, i.e. first order, interpolator. 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 | TriquadraticSampler |
Tri-quadratic sampler, i.e. second order, interpolator. 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 | TricubicSampler |
Tri-cubic sampler, i.e. third order, interpolator. More... | |
class | SampleFromVoxels< TreeOrAccT, 3, true > |
class | SampleFromVoxels< TreeOrAccT, 3, false > |
class | BaseStencil |
class | BoxStencil |
class | GradStencil |
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... | |
class | CurvatureStencil |
Typedefs | |
using | Vec3d = Vec3< double > |
using | Vec3f = Vec3< float > |
using | Vec3i = Vec3< int32_t > |
using | Vec3u = Vec3< uint32_t > |
using | Vec3u8 = Vec3< uint8_t > |
using | Vec3u16 = Vec3< uint16_t > |
using | Vec4R = Vec4< double > |
using | Vec4d = Vec4< double > |
using | Vec4f = Vec4< float > |
using | Vec4i = Vec4< int > |
using | PackedRGBA8 = Rgba8 |
using | CoordBBox = BBox< Coord > |
using | BBoxR = BBox< Vec3d > |
template<typename BuildT > | |
using | DefaultReadAccessor = ReadAccessor< BuildT, 0, 1, 2 > |
using | BaseT = LeafFnBase< CoordT, MaskT, LOG2DIM > |
using | BuildType = Fp4 |
using | ArrayType = uint8_t |
using | ValueType = bool |
using | FloatType = bool |
template<typename BuildT > | |
using | NanoLeaf = LeafNode< BuildT, Coord, Mask, 3 > |
Template specializations to the default configuration used in OpenVDB: Root -> 32^3 -> 16^3 -> 8^3. More... | |
template<typename BuildT > | |
using | NanoLower = InternalNode< NanoLeaf< BuildT >, 4 > |
template<typename BuildT > | |
using | NanoUpper = InternalNode< NanoLower< BuildT >, 5 > |
template<typename BuildT > | |
using | NanoRoot = RootNode< NanoUpper< BuildT >> |
template<typename BuildT > | |
using | NanoTree = Tree< NanoRoot< BuildT >> |
template<typename BuildT > | |
using | NanoGrid = Grid< NanoTree< BuildT >> |
using | FloatTree = NanoTree< float > |
using | Fp4Tree = NanoTree< Fp4 > |
using | Fp8Tree = NanoTree< Fp8 > |
using | Fp16Tree = NanoTree< Fp16 > |
using | FpNTree = NanoTree< FpN > |
using | DoubleTree = NanoTree< double > |
using | Int32Tree = NanoTree< int32_t > |
using | UInt32Tree = NanoTree< uint32_t > |
using | Int64Tree = NanoTree< int64_t > |
using | Vec3fTree = NanoTree< Vec3f > |
using | Vec3dTree = NanoTree< Vec3d > |
using | Vec4fTree = NanoTree< Vec4f > |
using | Vec4dTree = NanoTree< Vec4d > |
using | Vec3ITree = NanoTree< Vec3i > |
using | MaskTree = NanoTree< ValueMask > |
using | BoolTree = NanoTree< bool > |
using | IndexTree = NanoTree< ValueIndex > |
using | OnIndexTree = NanoTree< ValueOnIndex > |
using | IndexMaskTree = NanoTree< ValueIndexMask > |
using | OnIndexMaskTree = NanoTree< ValueOnIndexMask > |
using | FloatGrid = Grid< FloatTree > |
using | Fp4Grid = Grid< Fp4Tree > |
using | Fp8Grid = Grid< Fp8Tree > |
using | Fp16Grid = Grid< Fp16Tree > |
using | FpNGrid = Grid< FpNTree > |
using | DoubleGrid = Grid< DoubleTree > |
using | Int32Grid = Grid< Int32Tree > |
using | UInt32Grid = Grid< UInt32Tree > |
using | Int64Grid = Grid< Int64Tree > |
using | Vec3fGrid = Grid< Vec3fTree > |
using | Vec3dGrid = Grid< Vec3dTree > |
using | Vec4fGrid = Grid< Vec4fTree > |
using | Vec4dGrid = Grid< Vec4dTree > |
using | Vec3IGrid = Grid< Vec3ITree > |
using | MaskGrid = Grid< MaskTree > |
using | BoolGrid = Grid< BoolTree > |
using | PointGrid = Grid< Point > |
using | IndexGrid = Grid< IndexTree > |
using | OnIndexGrid = Grid< OnIndexTree > |
using | IndexMaskGrid = Grid< IndexMaskTree > |
using | OnIndexMaskGrid = Grid< OnIndexMaskTree > |
using | Range1D = Range< 1, size_t > |
using | Range2D = Range< 2, size_t > |
using | Range3D = Range< 3, size_t > |
Functions | |
const char * | toStr (GridType gridType) |
Maps a GridType to a c-string. More... | |
const char * | toStr (GridClass gridClass) |
Retuns a c-string used to describe a GridClass. More... | |
const char * | toStr (GridFlags gridFlags) |
Retuns a c-string used to describe a GridFlags. More... | |
__hostdev__ bool | isFloatingPoint (GridType gridType) |
return true if the GridType maps to a floating point type More... | |
__hostdev__ bool | isFloatingPointVector (GridType gridType) |
return true if the GridType maps to a floating point vec3. More... | |
__hostdev__ bool | isInteger (GridType gridType) |
Return true if the GridType maps to a POD integer type. More... | |
__hostdev__ bool | isIndex (GridType gridType) |
Return true if the GridType maps to a special index type (not a POD integer type). More... | |
__hostdev__ bool | isValid (GridType gridType, GridClass gridClass) |
return true if the combination of GridType and GridClass is valid. More... | |
__hostdev__ bool | isValid (const GridBlindDataClass &blindClass, const GridBlindDataSemantic &blindSemantics, const GridType &blindType) |
return true if the combination of GridBlindDataClass, GridBlindDataSemantic and GridType is valid. More... | |
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) |
template<typename T > | |
__hostdev__ T | Sign (const T &x) |
Return the sign of the given value as an integer (either -1, 0 or 1). More... | |
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) More... | |
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 BuildT > | |
__hostdev__ GridType | mapToGridType () |
Maps from a templated build type to a GridType enum. More... | |
template<typename BuildT > | |
__hostdev__ GridClass | mapToGridClass (GridClass defaultClass=GridClass::Unknown) |
Maps from a templated build type to a GridClass enum. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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) |
NANOVDB_HOSTDEV_DISABLE_WARNING __hostdev__ uint32_t | CountOn (uint64_t v) |
struct | NANOVDB_ALIGN (NANOVDB_DATA_ALIGNMENT) GridData |
Struct with all the member data of the Grid (useful during serialization of an openvdb grid) More... | |
__hostdev__ float | getValue (uint32_t i) const |
LeafData ()=delete | |
This class cannot be constructed or deleted. More... | |
LeafData (const LeafData &)=delete | |
LeafData & | operator= (const LeafData &)=delete |
~LeafData ()=delete | |
__hostdev__ bool | getMin () const |
__hostdev__ bool | getMax () const |
__hostdev__ bool | getAvg () const |
__hostdev__ bool | getDev () const |
__hostdev__ void | setValue (uint32_t offset, bool v) |
__hostdev__ void | setOn (uint32_t offset) |
__hostdev__ void | setMin (const bool &) |
__hostdev__ void | setMax (const bool &) |
__hostdev__ void | setAvg (const bool &) |
__hostdev__ void | setDev (const bool &) |
template<typename T > | |
__hostdev__ void | setOrigin (const T &ijk) |
__hostdev__ uint64_t | lastOffset () const |
__hostdev__ bool | isMaskOn (uint32_t offset) const |
__hostdev__ void | setMask (uint32_t offset, bool v) |
__hostdev__ uint64_t | offset () const |
__hostdev__ uint64_t | pointCount () const |
__hostdev__ uint64_t | first (uint32_t i) const |
__hostdev__ uint64_t | last (uint32_t i) const |
__hostdev__ void | setValueOnly (uint32_t offset, uint16_t value) |
__hostdev__ void | setValue (uint32_t offset, uint16_t value) |
template<int LEVEL0 = -1, int LEVEL1 = -1, int LEVEL2 = -1, typename ValueT = float> | |
ReadAccessor< ValueT, LEVEL0, LEVEL1, LEVEL2 > | createAccessor (const NanoGrid< ValueT > &grid) |
Free-standing function for convenient creation of a ReadAccessor with optional and customizable node caching. More... | |
template<int LEVEL0 = -1, int LEVEL1 = -1, int LEVEL2 = -1, typename ValueT = float> | |
ReadAccessor< ValueT, LEVEL0, LEVEL1, LEVEL2 > | createAccessor (const NanoTree< ValueT > &tree) |
template<int LEVEL0 = -1, int LEVEL1 = -1, int LEVEL2 = -1, typename ValueT = float> | |
ReadAccessor< ValueT, LEVEL0, LEVEL1, LEVEL2 > | createAccessor (const NanoRoot< ValueT > &root) |
template<typename SrcGridT , typename DstBuildT = typename MapToNano<typename SrcGridT::BuildType>::type, typename BufferT = HostBuffer> | |
disable_if< BuildTraits < DstBuildT >::is_index||BuildTraits < DstBuildT >::is_Fp, GridHandle< BufferT > >::type | createNanoGrid (const SrcGridT &srcGrid, StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, int verbose=0, const BufferT &buffer=BufferT()) |
Freestanding function that creates a NanoGrid<T> from any source grid. More... | |
template<typename SrcGridT , typename DstBuildT = typename MapToNano<typename SrcGridT::BuildType>::type, typename BufferT = HostBuffer> | |
enable_if< BuildTraits < DstBuildT >::is_index, GridHandle< BufferT > >::type | createNanoGrid (const SrcGridT &srcGrid, uint32_t channels=0u, bool includeStats=true, bool includeTiles=true, int verbose=0, const BufferT &buffer=BufferT()) |
Freestanding function that creates a NanoGrid<ValueIndex> or NanoGrid<ValueOnIndex> from any source grid. More... | |
template<typename SrcGridT , typename DstBuildT = typename MapToNano<typename SrcGridT::BuildType>::type, typename OracleT = AbsDiff, typename BufferT = HostBuffer> | |
enable_if< is_same< FpN, DstBuildT >::value, GridHandle < BufferT > >::type | createNanoGrid (const SrcGridT &srcGrid, StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, bool ditherOn=false, int verbose=0, const OracleT &oracle=OracleT(), const BufferT &buffer=BufferT()) |
Freestanding function to create a NanoGrid<FpN> from any source grid. More... | |
template<typename SrcGridT , typename DstBuildT = typename MapToNano<typename SrcGridT::BuildType>::type, typename BufferT = HostBuffer> | |
enable_if< BuildTraits < DstBuildT >::is_FpX, GridHandle< BufferT > >::type | createNanoGrid (const SrcGridT &srcGrid, StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, bool ditherOn=false, int verbose=0, const BufferT &buffer=BufferT()) |
Freestanding function to create a NanoGrid<FpX> from any source grid, X=4,8,16. More... | |
std::ostream & | operator<< (std::ostream &os, const AbsDiff &diff) |
std::ostream & | operator<< (std::ostream &os, const RelDiff &diff) |
template<typename RangeT , typename FuncT > | |
void | forEach (RangeT range, const FuncT &func) |
simple wrapper for tbb::parallel_for with a naive std fallback More... | |
template<typename FuncT > | |
void | forEach (size_t begin, size_t end, size_t grainSize, const FuncT &func) |
Simple wrapper for the function defined above. More... | |
template<template< typename...> class ContainerT, typename... T, typename FuncT > | |
void | forEach (const ContainerT< T...> &c, const FuncT &func) |
Simple wrapper for the function defined above, which works with std::containers. More... | |
template<template< typename...> class ContainerT, typename... T, typename FuncT > | |
void | forEach (const ContainerT< T...> &c, size_t grainSize, const FuncT &func) |
Simple wrapper for the function defined above, which works with std::containers. More... | |
template<typename BuildT > | |
uint64_t | checksum (const NanoGrid< BuildT > &grid, ChecksumMode mode=ChecksumMode::Default) |
Return the (2 x CRC32) checksum of the specified grid. More... | |
template<typename BuildT > | |
bool | validateChecksum (const NanoGrid< BuildT > &grid, ChecksumMode mode=ChecksumMode::Default) |
Return true if the checksum of the grid matches the expected value already encoded into the grid's meta data. More... | |
template<typename BuildT > | |
void | updateChecksum (NanoGrid< BuildT > &grid, ChecksumMode mode=ChecksumMode::Default) |
Updates the checksum of a grid. More... | |
template<typename ValueT > | |
uint64_t | checksum (const NanoGrid< ValueT > &grid, ChecksumMode mode) |
template<typename ValueT > | |
bool | validateChecksum (const NanoGrid< ValueT > &grid, ChecksumMode mode) |
template<typename ValueT > | |
void | updateChecksum (NanoGrid< ValueT > &grid, ChecksumMode mode) |
bool | updateChecksum (GridData &gridData, ChecksumMode mode) |
bool | updateChecksum (GridData *data) |
Preserve the existing mode of the checksum and update it if it's not disabled. More... | |
bool | updateGridCount (GridData *data, uint32_t gridIndex, uint32_t gridCount) |
Updates the ground index and count, as well as the partial checksum if needed. More... | |
template<typename BufferT , template< class, class...> class VectorT = std::vector> | |
VectorT< GridHandle< BufferT > > | splitGrids (const GridHandle< BufferT > &handle, const BufferT *other=nullptr) |
Split all grids in a single GridHandle into a vector of multiple GridHandles each with a single grid. More... | |
template<typename BufferT , template< class, class...> class VectorT> | |
GridHandle< BufferT > | mergeGrids (const VectorT< GridHandle< BufferT >> &handles, const BufferT *pool=nullptr) |
Combines (or merges) multiple GridHandles into a single GridHandle containing all grids. More... | |
template<typename BuildT > | |
void | gridStats (NanoGrid< BuildT > &grid, StatsMode mode=StatsMode::Default) |
Re-computes the min/max, stats and bbox information for an existing NanoVDB Grid. More... | |
template<typename BuildT > | |
Extrema< typename NanoGrid < BuildT >::ValueType > | getExtrema (const NanoGrid< BuildT > &grid, const CoordBBox &bbox) |
return the extrema of all the values in a grid that intersects the specified bounding box. More... | |
template<typename ValueT > | |
bool | isValid (const NanoGrid< ValueT > &grid, bool detailed=true, bool verbose=false) |
Return true if the specified grid passes several validation tests. 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. More... | |
template<typename RayT , typename NodeT > | |
__hostdev__ bool | ZeroCrossingNode (RayT &ray, const NodeT &node, float v0, nanovdb::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. More... | |
template<typename Func , typename... Rest> | |
int | invoke (const Func &taskFunc1, Rest...taskFuncN) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &os, const BBox< Vec3< T >> &b) |
std::ostream & | operator<< (std::ostream &os, const CoordBBox &b) |
std::ostream & | operator<< (std::ostream &os, const Coord &ijk) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &os, const Vec3< T > &v) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &os, const Vec4< T > &v) |
template<typename NanoBuildT > | |
openvdb::Grid< typename openvdb::tree::Tree4< typename ConvertTrait< NanoBuildT > ::Type >::Type >::Ptr | nanoToOpenVDB (const NanoGrid< NanoBuildT > &grid, int verbose=0) |
Forward declaration of free-standing function that de-serializes a typed NanoVDB grid into an OpenVDB Grid. More... | |
template<typename BufferT > | |
openvdb::GridBase::Ptr | nanoToOpenVDB (const GridHandle< BufferT > &handle, int verbose=0, uint32_t n=0) |
Forward declaration of free-standing function that de-serializes a NanoVDB GridHandle into an OpenVDB GridBase. More... | |
template<typename BuildT , typename BufferT = HostBuffer> | |
NodeManagerHandle< BufferT > | createNodeManager (const NanoGrid< BuildT > &grid, const BufferT &buffer=BufferT()) |
brief Construct a NodeManager and return its handle More... | |
template<typename T , typename OpT = std::plus<T>> | |
T | prefixSum (std::vector< T > &vec, bool threaded=true, OpT op=OpT()) |
Computes inclusive prefix sum of a vector. More... | |
template<typename T , typename Op > | |
void | inclusiveScan (T *array, size_t size, const T &identity, bool threaded, Op op) |
An inclusive scan includes in[i] when computing out[i]. More... | |
template<typename BuildT = float, typename BufferT = HostBuffer> | |
enable_if< is_same< float, BuildT >::value||is_same < double, BuildT >::value, GridHandle< BufferT > >::type | createLevelSetSphere (double radius=100.0, const Vec3d ¢er=Vec3d(0), double voxelSize=1.0, double halfWidth=3.0, const Vec3d &origin=Vec3d(0), const std::string &name="sphere_ls", StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, const BufferT &buffer=BufferT()) |
Returns a handle to a narrow-band level set of a sphere. More... | |
template<typename BuildT , typename BufferT = HostBuffer> | |
enable_if< is_same< Fp4, BuildT >::value||is_same< Fp8, BuildT >::value||is_same< Fp16, BuildT >::value, GridHandle < BufferT > >::type | createLevelSetSphere (double radius=100.0, const Vec3d ¢er=Vec3d(0), double voxelSize=1.0, double halfWidth=3.0, const Vec3d &origin=Vec3d(0), const std::string &name="sphere_ls", StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, bool ditherOn=false, const BufferT &buffer=BufferT()) |
template<typename BuildT , typename BufferT = HostBuffer> | |
enable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createLevelSetSphere (double radius=100.0, const Vec3d ¢er=Vec3d(0), double voxelSize=1.0, double halfWidth=3.0, const Vec3d &origin=Vec3d(0), const std::string &name="sphere_ls_FpN", StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, float tolerance=-1.0f, bool ditherOn=false, const BufferT &buffer=BufferT()) |
template<typename BuildT = float, typename BufferT = HostBuffer> | |
disable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createFogVolumeSphere (double radius=100.0, const Vec3d ¢er=Vec3d(0.0), double voxelSize=1.0, double halfWidth=3.0, const Vec3d &origin=Vec3d(0.0), const std::string &name="sphere_fog", StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, const BufferT &buffer=BufferT()) |
Returns a handle to a sparse fog volume of a sphere such that the exterior is 0 and inactive, the interior is active with values varying smoothly from 0 at the surface of the sphere to 1 at the halfWidth and interior of the sphere. More... | |
template<typename BuildT , typename BufferT = HostBuffer> | |
enable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createFogVolumeSphere (double radius=100.0, const Vec3d ¢er=Vec3d(0.0), double voxelSize=1.0, double halfWidth=3.0, const Vec3d &origin=Vec3d(0.0), const std::string &name="sphere_fog", StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, float tolerance=-1.0f, bool ditherOn=false, const BufferT &buffer=BufferT()) |
template<typename BuildT = float, typename BufferT = HostBuffer> | |
disable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createPointSphere (int pointsPerVoxel=1, double radius=100.0, const Vec3d ¢er=Vec3d(0.0), double voxelSize=1.0, const Vec3d &origin=Vec3d(0.0), const std::string &name="sphere_points", ChecksumMode mode=ChecksumMode::Default, const BufferT &buffer=BufferT()) |
Returns a handle to a PointDataGrid containing points scattered on the surface of a sphere. More... | |
template<typename BuildT = float, typename BufferT = HostBuffer> | |
disable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createLevelSetTorus (double majorRadius=100.0, double minorRadius=50.0, const Vec3d ¢er=Vec3d(0.0), double voxelSize=1.0, double halfWidth=3.0, const Vec3d &origin=Vec3d(0.0), const std::string &name="torus_ls", StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, const BufferT &buffer=BufferT()) |
Returns a handle to a narrow-band level set of a torus in the xz-plane. More... | |
template<typename BuildT , typename BufferT = HostBuffer> | |
enable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createLevelSetTorus (double majorRadius=100.0, double minorRadius=50.0, const Vec3d ¢er=Vec3d(0.0), double voxelSize=1.0, double halfWidth=3.0, const Vec3d &origin=Vec3d(0.0), const std::string &name="torus_ls", StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, float tolerance=-1.0f, bool ditherOn=false, const BufferT &buffer=BufferT()) |
template<typename BuildT = float, typename BufferT = HostBuffer> | |
disable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createFogVolumeTorus (double majorRadius=100.0, double minorRadius=50.0, const Vec3d ¢er=Vec3d(0.0), double voxelSize=1.0, double halfWidth=3.0, const Vec3d &origin=Vec3d(0.0), const std::string &name="torus_fog", StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, const BufferT &buffer=BufferT()) |
Returns a handle to a sparse fog volume of a torus in the xz-plane such that the exterior is 0 and inactive, the interior is active with values varying smoothly from 0 at the surface of the torus to 1 at the halfWidth and interior of the torus. More... | |
template<typename BuildT , typename BufferT = HostBuffer> | |
enable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createFogVolumeTorus (double majorRadius=100.0, double minorRadius=50.0, const Vec3d ¢er=Vec3d(0.0), double voxelSize=1.0, double halfWidth=3.0, const Vec3d &origin=Vec3d(0.0), const std::string &name="torus_fog_FpN", StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, float tolerance=-1.0f, bool ditherOn=false, const BufferT &buffer=BufferT()) |
template<typename BuildT = float, typename BufferT = HostBuffer> | |
disable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createPointTorus (int pointsPerVoxel=1, double majorRadius=100.0, double minorRadius=50.0, const Vec3d ¢er=Vec3d(0.0), double voxelSize=1.0, const Vec3d &origin=Vec3d(0.0f), const std::string &name="torus_points", ChecksumMode cMode=ChecksumMode::Default, const BufferT &buffer=BufferT()) |
Returns a handle to a PointDataGrid containing points scattered on the surface of a torus. More... | |
template<typename BuildT = float, typename BufferT = HostBuffer> | |
disable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createLevelSetBox (double width=40.0, double height=60.0, double depth=100.0, const Vec3d ¢er=Vec3d(0.0), double voxelSize=1.0, double halfWidth=3.0, const Vec3d &origin=Vec3d(0.0), const std::string &name="box_ls", StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, const BufferT &buffer=BufferT()) |
Returns a handle to a narrow-band level set of a box. More... | |
template<typename BuildT , typename BufferT = HostBuffer> | |
enable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createLevelSetBox (double width=40.0, double height=60.0, double depth=100.0, const Vec3d ¢er=Vec3d(0.0), double voxelSize=1.0, double halfWidth=3.0, const Vec3d &origin=Vec3d(0.0), const std::string &name="box_ls_FpN", StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, float tolerance=-1.0f, bool ditherOn=false, const BufferT &buffer=BufferT()) |
template<typename BuildT = float, typename BufferT = HostBuffer> | |
disable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createFogVolumeBox (double width=40.0, double height=60.0, double depth=100.0, const Vec3d ¢er=Vec3d(0.0), double voxelSize=1.0, double halfWidth=3.0, const Vec3d &origin=Vec3d(0.0), const std::string &name="box_fog", StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, const BufferT &buffer=BufferT()) |
Returns a handle to a sparse fog volume of a box such that the exterior is 0 and inactive, the interior is active with values varying smoothly from 0 at the surface of the box to 1 at the halfWidth and interior of the box. More... | |
template<typename BuildT , typename BufferT = HostBuffer> | |
enable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createFogVolumeBox (double width=40.0, double height=60.0, double depth=100.0, const Vec3d ¢er=Vec3d(0.0), double voxelSize=1.0, double halfWidth=3.0, const Vec3d &origin=Vec3d(0.0), const std::string &name="box_fog_FpN", StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, float tolerance=-1.0f, bool ditherOn=false, const BufferT &buffer=BufferT()) |
template<typename BuildT = float, typename BufferT = HostBuffer> | |
disable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createLevelSetOctahedron (double scale=100.0, const Vec3d ¢er=Vec3d(0.0), double voxelSize=1.0, double halfWidth=3.0, const Vec3d &origin=Vec3d(0.0), const std::string &name="octadedron_ls", StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, const BufferT &buffer=BufferT()) |
Returns a handle to a narrow-band level set of a octahedron. More... | |
template<typename BuildT , typename BufferT = HostBuffer> | |
enable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createLevelSetOctahedron (double scale=100.0, const Vec3d ¢er=Vec3d(0.0), double voxelSize=1.0, double halfWidth=3.0, const Vec3d &origin=Vec3d(0.0), const std::string &name="octadedron_ls_FpN", StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, float tolerance=-1.0f, bool ditherOn=false, const BufferT &buffer=BufferT()) |
template<typename BuildT = float, typename BufferT = HostBuffer> | |
disable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createFogVolumeOctahedron (double scale=100.0, const Vec3d ¢er=Vec3d(0.0), double voxelSize=1.0, double halfWidth=3.0, const Vec3d &origin=Vec3d(0.0), const std::string &name="octadedron_fog", StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, const BufferT &buffer=BufferT()) |
Returns a handle to a sparse fog volume of an octahedron such that the exterior is 0 and inactive, the interior is active with values varying smoothly from 0 at the surface of the octahedron to 1 at the halfWidth and interior of the octahedron. More... | |
template<typename BuildT , typename BufferT = HostBuffer> | |
enable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createFogVolumeOctahedron (double scale=100.0, const Vec3d ¢er=Vec3d(0.0), double voxelSize=1.0, double halfWidth=3.0, const Vec3d &origin=Vec3d(0.0), const std::string &name="octadedron_fog_FpN", StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, float tolerance=-1.0f, bool ditherOn=false, const BufferT &buffer=BufferT()) |
template<typename BuildT = float, typename BufferT = HostBuffer> | |
disable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createLevelSetBBox (double width=40.0, double height=60.0, double depth=100.0, double thickness=10.0, const Vec3d ¢er=Vec3d(0.0), double voxelSize=1.0, double halfWidth=3.0, const Vec3d &origin=Vec3d(0.0), const std::string &name="bbox_ls", StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, const BufferT &buffer=BufferT()) |
Returns a handle to a narrow-band level set of a bounding-box (= wireframe of a box) More... | |
template<typename BuildT , typename BufferT = HostBuffer> | |
enable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createLevelSetBBox (double width=40.0, double height=60.0, double depth=100.0, double thickness=10.0, const Vec3d ¢er=Vec3d(0.0), double voxelSize=1.0, double halfWidth=3.0, const Vec3d &origin=Vec3d(0.0), const std::string &name="bbox_ls_FpN", StatsMode sMode=StatsMode::Default, ChecksumMode cMode=ChecksumMode::Default, float tolerance=-1.0f, bool ditherOn=false, const BufferT &buffer=BufferT()) |
template<typename BuildT = float, typename BufferT = HostBuffer> | |
disable_if< is_same< FpN, BuildT >::value, GridHandle < BufferT > >::type | createPointBox (int pointsPerVoxel=1, double width=40.0, double height=60.0, double depth=100.0, const Vec3d ¢er=Vec3d(0.0), double voxelSize=1.0, const Vec3d &origin=Vec3d(0.0), const std::string &name="box_points", ChecksumMode mode=ChecksumMode::Default, const BufferT &buffer=BufferT()) |
Returns a handle to a PointDataGrid containing points scattered on the surface of a box. More... | |
template<typename SrcBuildT = float, typename BufferT = HostBuffer> | |
GridHandle< BufferT > | createPointScatter (const NanoGrid< SrcBuildT > &srcGrid, int pointsPerVoxel=1, const std::string &name="point_scatter", ChecksumMode mode=ChecksumMode::Default, const BufferT &buffer=BufferT()) |
Given an input NanoVDB voxel grid this methods returns a GridHandle to another NanoVDB PointDataGrid with points scattered in the active leaf voxels of in input grid. Note, the coordinates of the points are encoded as blind data in world-space. More... | |
template<typename RangeT , typename T , typename FuncT , typename JoinT > | |
T | reduce (RangeT range, const T &identity, const FuncT &func, const JoinT &join) |
template<typename T , typename FuncT , typename JoinT > | |
T | reduce (size_t begin, size_t end, size_t grainSize, const T &identity, const FuncT &func, const JoinT &join) |
Simple wrapper to the function defined above. More... | |
template<template< typename...> class ContainerT, typename... ArgT, typename T , typename FuncT , typename JoinT > | |
T | reduce (const ContainerT< ArgT...> &c, const T &identity, const FuncT &func, const JoinT &join) |
Simple wrapper that works with std::containers. More... | |
template<template< typename...> class ContainerT, typename... ArgT, typename T , typename FuncT , typename JoinT > | |
T | reduce (const ContainerT< ArgT...> &c, size_t grainSize, const T &identity, const FuncT &func, const JoinT &join) |
Simple wrapper that works with std::containers. More... | |
template<int Order, typename TreeOrAccT , bool UseCache = true> | |
__hostdev__ SampleFromVoxels < TreeOrAccT, Order, UseCache > | createSampler (const TreeOrAccT &acc) |
Factory free-function for a sampler of specific polynomial orders. More... | |
template<typename CoordT , typename RealT , template< typename > class Vec3T> | |
__hostdev__ CoordT | Floor (Vec3T< RealT > &xyz) |
Utility function that returns the Coord of the round-down of xyz and redefined as the fractional part, ie xyz-in = return-value + xyz-out. More... | |
template<typename CoordT , template< typename > class Vec3T> | |
__hostdev__ CoordT | Floor (Vec3T< float > &xyz) |
Template specialization of Floor for Vec3<float> More... | |
template<typename CoordT , template< typename > class Vec3T> | |
__hostdev__ CoordT | Floor (Vec3T< double > &xyz) |
Template specialization of Floor for Vec3<float> More... | |
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. More... | |
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) |
template<typename T > | |
__hostdev__ constexpr T | pi () |
Pi constant taken from Boost to match old behaviour. More... | |
template<> | |
__hostdev__ constexpr float | pi () |
Pi constant taken from Boost to match old behaviour. More... | |
template<> | |
__hostdev__ constexpr double | pi () |
Pi constant taken from Boost to match old behaviour. More... | |
template<> | |
__hostdev__ constexpr long double | pi () |
Pi constant taken from Boost to match old behaviour. More... | |
__hostdev__ float | Sqrt (float x) |
Return the square root of a floating-point value. More... | |
__hostdev__ double | Sqrt (double x) |
Return the square root of a floating-point value. More... | |
Variables | |
uint8_t | mCode [1u<< (3 *LOG2DIM-1)] |
CoordT | mBBoxMin |
uint8_t | mBBoxDif [3] |
uint8_t | mFlags |
MaskT< LOG2DIM > | mValueMask |
MaskT< LOG2DIM > | mValues |
uint64_t | mPadding [2] |
MaskT< LOG2DIM > | mMask |
uint64_t | mOffset |
uint64_t | mPointCount |
typedef uint16_t nanovdb::ArrayType |
using nanovdb::BaseT = typedef LeafFnBase<CoordT, MaskT, LOG2DIM> |
using nanovdb::BBoxR = typedef BBox<Vec3d> |
using nanovdb::BoolGrid = typedef Grid<BoolTree> |
using nanovdb::BoolTree = typedef NanoTree<bool> |
typedef Point nanovdb::BuildType |
using nanovdb::CoordBBox = typedef BBox<Coord> |
using nanovdb::DefaultReadAccessor = typedef ReadAccessor<BuildT, 0, 1, 2> |
using nanovdb::DoubleGrid = typedef Grid<DoubleTree> |
using nanovdb::DoubleTree = typedef NanoTree<double> |
using nanovdb::FloatGrid = typedef Grid<FloatTree> |
using nanovdb::FloatTree = typedef NanoTree<float> |
typedef typename FloatTraits< ValueType >::FloatType nanovdb::FloatType |
using nanovdb::Fp16Grid = typedef Grid<Fp16Tree> |
using nanovdb::Fp16Tree = typedef NanoTree<Fp16> |
using nanovdb::Fp4Grid = typedef Grid<Fp4Tree> |
using nanovdb::Fp4Tree = typedef NanoTree<Fp4> |
using nanovdb::Fp8Grid = typedef Grid<Fp8Tree> |
using nanovdb::Fp8Tree = typedef NanoTree<Fp8> |
using nanovdb::FpNGrid = typedef Grid<FpNTree> |
using nanovdb::FpNTree = typedef NanoTree<FpN> |
using nanovdb::IndexGrid = typedef Grid<IndexTree> |
using nanovdb::IndexMaskGrid = typedef Grid<IndexMaskTree> |
using nanovdb::IndexMaskTree = typedef NanoTree<ValueIndexMask> |
using nanovdb::IndexTree = typedef NanoTree<ValueIndex> |
using nanovdb::Int32Grid = typedef Grid<Int32Tree> |
using nanovdb::Int32Tree = typedef NanoTree<int32_t> |
using nanovdb::Int64Grid = typedef Grid<Int64Tree> |
using nanovdb::Int64Tree = typedef NanoTree<int64_t> |
using nanovdb::MaskGrid = typedef Grid<MaskTree> |
using nanovdb::MaskTree = typedef NanoTree<ValueMask> |
using nanovdb::NanoGrid = typedef Grid<NanoTree<BuildT>> |
using nanovdb::NanoLeaf = typedef LeafNode<BuildT, Coord, Mask, 3> |
using nanovdb::NanoLower = typedef InternalNode<NanoLeaf<BuildT>, 4> |
using nanovdb::NanoRoot = typedef RootNode<NanoUpper<BuildT>> |
using nanovdb::NanoTree = typedef Tree<NanoRoot<BuildT>> |
using nanovdb::NanoUpper = typedef InternalNode<NanoLower<BuildT>, 5> |
using nanovdb::OnIndexGrid = typedef Grid<OnIndexTree> |
using nanovdb::OnIndexMaskGrid = typedef Grid<OnIndexMaskTree> |
using nanovdb::OnIndexMaskTree = typedef NanoTree<ValueOnIndexMask> |
using nanovdb::OnIndexTree = typedef NanoTree<ValueOnIndex> |
using nanovdb::PackedRGBA8 = typedef Rgba8 |
using nanovdb::PointGrid = typedef Grid<Point> |
using nanovdb::Range1D = typedef Range<1, size_t> |
using nanovdb::Range2D = typedef Range<2, size_t> |
using nanovdb::Range3D = typedef Range<3, size_t> |
using nanovdb::UInt32Grid = typedef Grid<UInt32Tree> |
using nanovdb::UInt32Tree = typedef NanoTree<uint32_t> |
typedef uint64_t nanovdb::ValueType |
using nanovdb::Vec3d = typedef Vec3<double> |
using nanovdb::Vec3dGrid = typedef Grid<Vec3dTree> |
using nanovdb::Vec3dTree = typedef NanoTree<Vec3d> |
using nanovdb::Vec3f = typedef Vec3<float> |
using nanovdb::Vec3fGrid = typedef Grid<Vec3fTree> |
using nanovdb::Vec3fTree = typedef NanoTree<Vec3f> |
using nanovdb::Vec3i = typedef Vec3<int32_t> |
using nanovdb::Vec3IGrid = typedef Grid<Vec3ITree> |
using nanovdb::Vec3ITree = typedef NanoTree<Vec3i> |
using nanovdb::Vec3u = typedef Vec3<uint32_t> |
using nanovdb::Vec3u16 = typedef Vec3<uint16_t> |
using nanovdb::Vec3u8 = typedef Vec3<uint8_t> |
using nanovdb::Vec4d = typedef Vec4<double> |
using nanovdb::Vec4dGrid = typedef Grid<Vec4dTree> |
using nanovdb::Vec4dTree = typedef NanoTree<Vec4d> |
using nanovdb::Vec4f = typedef Vec4<float> |
using nanovdb::Vec4fGrid = typedef Grid<Vec4fTree> |
using nanovdb::Vec4fTree = typedef NanoTree<Vec4f> |
using nanovdb::Vec4i = typedef Vec4<int> |
using nanovdb::Vec4R = typedef Vec4<double> |
|
strong |
List of different modes for computing for a checksum.
Enumerator | |
---|---|
Disable | |
Partial | |
Full | |
Default | |
End |
Definition at line 38 of file GridChecksum.h.
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
List of types that are currently supported by NanoVDB.
Enumerator | |
---|---|
Unknown | |
Float | |
Double | |
Int16 | |
Int32 | |
Int64 | |
Vec3f | |
Vec3d | |
Mask | |
Half | |
UInt32 | |
Boolean | |
RGBA8 | |
Fp4 | |
Fp8 | |
Fp16 | |
FpN | |
Vec4f | |
Vec4d | |
Index | |
OnIndex | |
IndexMask | |
OnIndexMask | |
PointIndex | |
Vec3u8 | |
Vec3u16 | |
End |
|
strong |
Grid flags which indicate what extra information is present in the grid buffer.
Enumerator | |
---|---|
Disable | |
BBox | |
MinMax | |
All | |
Default | |
End |
Definition at line 38 of file GridStats.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
uint64_t nanovdb::checksum | ( | const NanoGrid< BuildT > & | grid, |
ChecksumMode | mode = ChecksumMode::Default |
||
) |
Return the (2 x CRC32) checksum of the specified grid.
BuildT | Template parameter used to build NanoVDB grid. |
grid | Grid from which the checksum is computed. |
mode | Defines the mode of computation for the checksum. |
uint64_t nanovdb::checksum | ( | const NanoGrid< ValueT > & | grid, |
ChecksumMode | mode | ||
) |
Definition at line 327 of file GridChecksum.h.
|
inline |
|
inline |
|
inline |
ReadAccessor<ValueT, LEVEL0, LEVEL1, LEVEL2> nanovdb::createAccessor | ( | const NanoGrid< ValueT > & | grid | ) |
Free-standing function for convenient creation of a ReadAccessor with optional and customizable node caching.
createAccessor<>(grid): No caching of nodes and hence it's thread-safe but slow createAccessor<0>(grid): Caching of leaf nodes only createAccessor<1>(grid): Caching of lower internal nodes only createAccessor<2>(grid): Caching of upper internal nodes only createAccessor<0,1>(grid): Caching of leaf and lower internal nodes createAccessor<0,2>(grid): Caching of leaf and upper internal nodes createAccessor<1,2>(grid): Caching of lower and upper internal nodes createAccessor<0,1,2>(grid): Caching of all nodes at all tree levels
ReadAccessor<ValueT, LEVEL0, LEVEL1, LEVEL2> nanovdb::createAccessor | ( | const NanoTree< ValueT > & | tree | ) |
ReadAccessor<ValueT, LEVEL0, LEVEL1, LEVEL2> nanovdb::createAccessor | ( | const NanoRoot< ValueT > & | root | ) |
disable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createFogVolumeBox | ( | double | width = 40.0 , |
double | height = 60.0 , |
||
double | depth = 100.0 , |
||
const Vec3d & | center = Vec3d(0.0) , |
||
double | voxelSize = 1.0 , |
||
double | halfWidth = 3.0 , |
||
const Vec3d & | origin = Vec3d(0.0) , |
||
const std::string & | name = "box_fog" , |
||
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
const BufferT & | buffer = BufferT() |
||
) |
Returns a handle to a sparse fog volume of a box such that the exterior is 0 and inactive, the interior is active with values varying smoothly from 0 at the surface of the box to 1 at the halfWidth and interior of the box.
width | Width of box in world units |
height | Height of box in world units |
depth | Depth of box in world units |
center | Center of box in world units |
voxelSize | Size of a voxel in world units |
halfWidth | Half-width of narrow band in voxel units |
origin | Origin of grid in world units |
name | Name of the grid |
sMode | Mode of computation for the statistics. |
cMode | Mode of computation for the checksum. |
tolerance | Global error tolerance use when VoxelT = FpN |
ditherOn | If true dithering will be applied when VoxelT = {Fp4,Fp8,Fp16,FpN} |
buffer | Buffer used for memory allocation by the handle |
The BuildT
template parameter must be one of the following: float (default), double, Fp4, Fp8, Fp16 or FpN. The tolerance
argument is only used when BuildT is set to FpN.
Definition at line 1522 of file Primitives.h.
enable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createFogVolumeBox | ( | double | width = 40.0 , |
double | height = 60.0 , |
||
double | depth = 100.0 , |
||
const Vec3d & | center = Vec3d(0.0) , |
||
double | voxelSize = 1.0 , |
||
double | halfWidth = 3.0 , |
||
const Vec3d & | origin = Vec3d(0.0) , |
||
const std::string & | name = "box_fog_FpN" , |
||
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
float | tolerance = -1.0f , |
||
bool | ditherOn = false , |
||
const BufferT & | buffer = BufferT() |
||
) |
Definition at line 1552 of file Primitives.h.
disable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createFogVolumeOctahedron | ( | double | scale = 100.0 , |
const Vec3d & | center = Vec3d(0.0) , |
||
double | voxelSize = 1.0 , |
||
double | halfWidth = 3.0 , |
||
const Vec3d & | origin = Vec3d(0.0) , |
||
const std::string & | name = "octadedron_fog" , |
||
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
const BufferT & | buffer = BufferT() |
||
) |
Returns a handle to a sparse fog volume of an octahedron such that the exterior is 0 and inactive, the interior is active with values varying smoothly from 0 at the surface of the octahedron to 1 at the halfWidth and interior of the octahedron.
scale | Scale of octahedron in world units |
center | Center of box in world units |
voxelSize | Size of a voxel in world units |
halfWidth | Half-width of narrow band in voxel units |
origin | Origin of grid in world units |
name | Name of the grid |
sMode | Mode of computation for the statistics. |
cMode | Mode of computation for the checksum. |
tolerance | Global error tolerance use when VoxelT = FpN |
ditherOn | If true dithering will be applied when VoxelT = {Fp4,Fp8,Fp16,FpN} |
buffer | Buffer used for memory allocation by the handle |
The BuildT
template parameter must be one of the following: float (default), double, Fp4, Fp8, Fp16 or FpN. The tolerance
argument is only used when BuildT is set to FpN.
Definition at line 1586 of file Primitives.h.
enable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createFogVolumeOctahedron | ( | double | scale = 100.0 , |
const Vec3d & | center = Vec3d(0.0) , |
||
double | voxelSize = 1.0 , |
||
double | halfWidth = 3.0 , |
||
const Vec3d & | origin = Vec3d(0.0) , |
||
const std::string & | name = "octadedron_fog_FpN" , |
||
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
float | tolerance = -1.0f , |
||
bool | ditherOn = false , |
||
const BufferT & | buffer = BufferT() |
||
) |
Definition at line 1614 of file Primitives.h.
disable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createFogVolumeSphere | ( | double | radius = 100.0 , |
const Vec3d & | center = Vec3d(0.0) , |
||
double | voxelSize = 1.0 , |
||
double | halfWidth = 3.0 , |
||
const Vec3d & | origin = Vec3d(0.0) , |
||
const std::string & | name = "sphere_fog" , |
||
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
const BufferT & | buffer = BufferT() |
||
) |
Returns a handle to a sparse fog volume of a sphere such that the exterior is 0 and inactive, the interior is active with values varying smoothly from 0 at the surface of the sphere to 1 at the halfWidth and interior of the sphere.
radius | Radius of sphere in world units |
center | Center of sphere in world units |
voxelSize | Size of a voxel in world units |
halfWidth | Half-width of narrow band in voxel units |
origin | Origin of grid in world units |
name | Name of the grid |
sMode | Mode of computation for the statistics. |
cMode | Mode of computation for the checksum. |
tolerance | Global error tolerance use when VoxelT = FpN |
ditherOn | If true dithering will be applied when BuildT = {Fp4,Fp8,Fp16,FpN} |
buffer | Buffer used for memory allocation by the handle |
The BuildT
template parameter must be one of the following: float (default), double, Fp4, Fp8, Fp16 or FpN. The tolerance
argument is only used when BuildT is set to FpN.
Definition at line 1109 of file Primitives.h.
enable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createFogVolumeSphere | ( | double | radius = 100.0 , |
const Vec3d & | center = Vec3d(0.0) , |
||
double | voxelSize = 1.0 , |
||
double | halfWidth = 3.0 , |
||
const Vec3d & | origin = Vec3d(0.0) , |
||
const std::string & | name = "sphere_fog" , |
||
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
float | tolerance = -1.0f , |
||
bool | ditherOn = false , |
||
const BufferT & | buffer = BufferT() |
||
) |
Definition at line 1137 of file Primitives.h.
disable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createFogVolumeTorus | ( | double | majorRadius = 100.0 , |
double | minorRadius = 50.0 , |
||
const Vec3d & | center = Vec3d(0.0) , |
||
double | voxelSize = 1.0 , |
||
double | halfWidth = 3.0 , |
||
const Vec3d & | origin = Vec3d(0.0) , |
||
const std::string & | name = "torus_fog" , |
||
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
const BufferT & | buffer = BufferT() |
||
) |
Returns a handle to a sparse fog volume of a torus in the xz-plane such that the exterior is 0 and inactive, the interior is active with values varying smoothly from 0 at the surface of the torus to 1 at the halfWidth and interior of the torus.
majorRadius | Major radius of torus in world units |
minorRadius | Minor radius of torus in world units |
center | Center of torus in world units |
voxelSize | Size of a voxel in world units |
halfWidth | Half-width of narrow band in voxel units |
origin | Origin of grid in world units |
name | Name of the grid |
sMode | Mode of computation for the statistics. |
cMode | Mode of computation for the checksum. |
tolerance | Global error tolerance use when VoxelT = FpN |
ditherOn | If true dithering will be applied when VoxelT = {Fp4,Fp8,Fp16,FpN} |
buffer | Buffer used for memory allocation by the handle |
The BuildT
template parameter must be one of the following: float (default), double, Fp4, Fp8, Fp16 or FpN. The tolerance
argument is only used when BuildT is set to FpN.
Definition at line 1252 of file Primitives.h.
enable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createFogVolumeTorus | ( | double | majorRadius = 100.0 , |
double | minorRadius = 50.0 , |
||
const Vec3d & | center = Vec3d(0.0) , |
||
double | voxelSize = 1.0 , |
||
double | halfWidth = 3.0 , |
||
const Vec3d & | origin = Vec3d(0.0) , |
||
const std::string & | name = "torus_fog_FpN" , |
||
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
float | tolerance = -1.0f , |
||
bool | ditherOn = false , |
||
const BufferT & | buffer = BufferT() |
||
) |
Definition at line 1281 of file Primitives.h.
disable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createLevelSetBBox | ( | double | width = 40.0 , |
double | height = 60.0 , |
||
double | depth = 100.0 , |
||
double | thickness = 10.0 , |
||
const Vec3d & | center = Vec3d(0.0) , |
||
double | voxelSize = 1.0 , |
||
double | halfWidth = 3.0 , |
||
const Vec3d & | origin = Vec3d(0.0) , |
||
const std::string & | name = "bbox_ls" , |
||
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
const BufferT & | buffer = BufferT() |
||
) |
Returns a handle to a narrow-band level set of a bounding-box (= wireframe of a box)
width | Width of box in world units |
height | Height of box in world units |
depth | Depth of box in world units |
thickness | Thickness of the wire in world units |
center | Center of bbox in world units |
voxelSize | Size of a voxel in world units |
halfWidth | Half-width of narrow band in voxel units |
origin | Origin of grid in world units |
name | Name of the grid |
sMode | Mode of computation for the statistics. |
cMode | Mode of computation for the checksum. |
tolerance | Global error tolerance use when VoxelT = FpN |
ditherOn | If true dithering will be applied when VoxelT = {Fp4,Fp8,Fp16,FpN} |
buffer | Buffer used for memory allocation by the handle |
The BuildT
template parameter must be one of the following: float (default), double, Fp4, Fp8, Fp16 or FpN. The tolerance
argument is only used when BuildT is set to FpN.
Definition at line 1458 of file Primitives.h.
enable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createLevelSetBBox | ( | double | width = 40.0 , |
double | height = 60.0 , |
||
double | depth = 100.0 , |
||
double | thickness = 10.0 , |
||
const Vec3d & | center = Vec3d(0.0) , |
||
double | voxelSize = 1.0 , |
||
double | halfWidth = 3.0 , |
||
const Vec3d & | origin = Vec3d(0.0) , |
||
const std::string & | name = "bbox_ls_FpN" , |
||
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
float | tolerance = -1.0f , |
||
bool | ditherOn = false , |
||
const BufferT & | buffer = BufferT() |
||
) |
Definition at line 1488 of file Primitives.h.
disable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createLevelSetBox | ( | double | width = 40.0 , |
double | height = 60.0 , |
||
double | depth = 100.0 , |
||
const Vec3d & | center = Vec3d(0.0) , |
||
double | voxelSize = 1.0 , |
||
double | halfWidth = 3.0 , |
||
const Vec3d & | origin = Vec3d(0.0) , |
||
const std::string & | name = "box_ls" , |
||
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
const BufferT & | buffer = BufferT() |
||
) |
Returns a handle to a narrow-band level set of a box.
width | Width of box in world units |
height | Height of box in world units |
depth | Depth of box in world units |
center | Center of box in world units |
voxelSize | Size of a voxel in world units |
halfWidth | Half-width of narrow band in voxel units |
origin | Origin of grid in world units |
name | Name of the grid |
sMode | Mode of computation for the statistics. |
cMode | Mode of computation for the checksum. |
tolerance | Global error tolerance use when VoxelT = FpN |
ditherOn | If true dithering will be applied when VoxelT = {Fp4,Fp8,Fp16,FpN} |
buffer | Buffer used for memory allocation by the handle |
The BuildT
template parameter must be one of the following: float (default), double, Fp4, Fp8, Fp16 or FpN. The tolerance
argument is only used when BuildT is set to FpN.
Definition at line 1338 of file Primitives.h.
enable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createLevelSetBox | ( | double | width = 40.0 , |
double | height = 60.0 , |
||
double | depth = 100.0 , |
||
const Vec3d & | center = Vec3d(0.0) , |
||
double | voxelSize = 1.0 , |
||
double | halfWidth = 3.0 , |
||
const Vec3d & | origin = Vec3d(0.0) , |
||
const std::string & | name = "box_ls_FpN" , |
||
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
float | tolerance = -1.0f , |
||
bool | ditherOn = false , |
||
const BufferT & | buffer = BufferT() |
||
) |
Definition at line 1367 of file Primitives.h.
disable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createLevelSetOctahedron | ( | double | scale = 100.0 , |
const Vec3d & | center = Vec3d(0.0) , |
||
double | voxelSize = 1.0 , |
||
double | halfWidth = 3.0 , |
||
const Vec3d & | origin = Vec3d(0.0) , |
||
const std::string & | name = "octadedron_ls" , |
||
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
const BufferT & | buffer = BufferT() |
||
) |
Returns a handle to a narrow-band level set of a octahedron.
scale | Scale of octahedron in world units |
center | Center of octahedron in world units |
voxelSize | Size of a voxel in world units |
halfWidth | Half-width of narrow band in voxel units |
origin | Origin of grid in world units |
name | Name of the grid |
sMode | Mode of computation for the statistics. |
cMode | Mode of computation for the checksum. |
tolerance | Global error tolerance use when VoxelT = FpN |
ditherOn | If true dithering will be applied when VoxelT = {Fp4,Fp8,Fp16,FpN} |
buffer | Buffer used for memory allocation by the handle |
The BuildT
template parameter must be one of the following: float (default), double, Fp4, Fp8, Fp16 or FpN. The tolerance
argument is only used when BuildT is set to FpN.
Definition at line 1400 of file Primitives.h.
enable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createLevelSetOctahedron | ( | double | scale = 100.0 , |
const Vec3d & | center = Vec3d(0.0) , |
||
double | voxelSize = 1.0 , |
||
double | halfWidth = 3.0 , |
||
const Vec3d & | origin = Vec3d(0.0) , |
||
const std::string & | name = "octadedron_ls_FpN" , |
||
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
float | tolerance = -1.0f , |
||
bool | ditherOn = false , |
||
const BufferT & | buffer = BufferT() |
||
) |
Definition at line 1427 of file Primitives.h.
enable_if< is_same< float, BuildT >::value||is_same< double, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createLevelSetSphere | ( | double | radius = 100.0 , |
const Vec3d & | center = Vec3d(0) , |
||
double | voxelSize = 1.0 , |
||
double | halfWidth = 3.0 , |
||
const Vec3d & | origin = Vec3d(0) , |
||
const std::string & | name = "sphere_ls" , |
||
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
const BufferT & | buffer = BufferT() |
||
) |
Returns a handle to a narrow-band level set of a sphere.
radius | Radius of sphere in world units |
center | Center of sphere in world units |
voxelSize | Size of a voxel in world units |
halfWidth | Half-width of narrow band in voxel units |
origin | Origin of grid in world units |
name | Name of the grid |
sMode | Mode of computation for the statistics. |
cMode | Mode of computation for the checksum. |
tolerance | Global error tolerance use when VoxelT = FpN |
ditherOn | If true dithering will be applied when VoxelT = {Fp4,Fp8,Fp16,FpN} |
buffer | Buffer used for memory allocation by the handle |
The BuildT
template parameter must be one of the following: float (default), double, Fp4, Fp8, Fp16 or FpN. The tolerance
argument is only used when BuildT is set to FpN.
Definition at line 1020 of file Primitives.h.
enable_if< is_same< Fp4, BuildT >::value||is_same< Fp8, BuildT >::value||is_same< Fp16, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createLevelSetSphere | ( | double | radius = 100.0 , |
const Vec3d & | center = Vec3d(0) , |
||
double | voxelSize = 1.0 , |
||
double | halfWidth = 3.0 , |
||
const Vec3d & | origin = Vec3d(0) , |
||
const std::string & | name = "sphere_ls" , |
||
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
bool | ditherOn = false , |
||
const BufferT & | buffer = BufferT() |
||
) |
Definition at line 1049 of file Primitives.h.
enable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createLevelSetSphere | ( | double | radius = 100.0 , |
const Vec3d & | center = Vec3d(0) , |
||
double | voxelSize = 1.0 , |
||
double | halfWidth = 3.0 , |
||
const Vec3d & | origin = Vec3d(0) , |
||
const std::string & | name = "sphere_ls_FpN" , |
||
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
float | tolerance = -1.0f , |
||
bool | ditherOn = false , |
||
const BufferT & | buffer = BufferT() |
||
) |
Definition at line 1078 of file Primitives.h.
disable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createLevelSetTorus | ( | double | majorRadius = 100.0 , |
double | minorRadius = 50.0 , |
||
const Vec3d & | center = Vec3d(0.0) , |
||
double | voxelSize = 1.0 , |
||
double | halfWidth = 3.0 , |
||
const Vec3d & | origin = Vec3d(0.0) , |
||
const std::string & | name = "torus_ls" , |
||
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
const BufferT & | buffer = BufferT() |
||
) |
Returns a handle to a narrow-band level set of a torus in the xz-plane.
majorRadius | Major radius of torus in world units |
minorRadius | Minor radius of torus in world units |
center | Center of torus in world units |
voxelSize | Size of a voxel in world units |
halfWidth | Half-width of narrow band in voxel units |
origin | Origin of grid in world units |
name | Name of the grid |
sMode | Mode of computation for the statistics. |
cMode | Mode of computation for the checksum. |
tolerance | Global error tolerance use when VoxelT = FpN |
ditherOn | If true dithering will be applied when VoxelT = {Fp4,Fp8,Fp16,FpN} |
buffer | Buffer used for memory allocation by the handle |
The BuildT
template parameter must be one of the following: float (default), double, Fp4, Fp8, Fp16 or FpN. The tolerance
argument is only used when BuildT is set to FpN.
Definition at line 1192 of file Primitives.h.
enable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createLevelSetTorus | ( | double | majorRadius = 100.0 , |
double | minorRadius = 50.0 , |
||
const Vec3d & | center = Vec3d(0.0) , |
||
double | voxelSize = 1.0 , |
||
double | halfWidth = 3.0 , |
||
const Vec3d & | origin = Vec3d(0.0) , |
||
const std::string & | name = "torus_ls" , |
||
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
float | tolerance = -1.0f , |
||
bool | ditherOn = false , |
||
const BufferT & | buffer = BufferT() |
||
) |
Definition at line 1220 of file Primitives.h.
disable_if< BuildTraits< DstBuildT >::is_index||BuildTraits< DstBuildT >::is_Fp, GridHandle< BufferT > >::type nanovdb::createNanoGrid | ( | const SrcGridT & | srcGrid, |
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
int | verbose = 0 , |
||
const BufferT & | buffer = BufferT() |
||
) |
Freestanding function that creates a NanoGrid<T> from any source grid.
SrcGridT | Type of in input (source) grid, e.g. openvdb::Grid or nanovdb::Grid |
DstBuildT | Type of values in the output (destination) nanovdb Grid, e.g. float or nanovdb::Fp16 |
BufferT | Type of the buffer used ti allocate the destination grid |
srcGrid | Input (source) grid to be converted |
sMode | Mode for computing statistics of the destination grid |
cMode | Mode for computing checksums of the destination grid |
verbose | Mode of verbosity |
buffer | Instance of a buffer used for allocation |
Definition at line 1946 of file CreateNanoGrid.h.
enable_if< BuildTraits< DstBuildT >::is_index, GridHandle< BufferT > >::type nanovdb::createNanoGrid | ( | const SrcGridT & | srcGrid, |
uint32_t | channels = 0u , |
||
bool | includeStats = true , |
||
bool | includeTiles = true , |
||
int | verbose = 0 , |
||
const BufferT & | buffer = BufferT() |
||
) |
Freestanding function that creates a NanoGrid<ValueIndex> or NanoGrid<ValueOnIndex> from any source grid.
SrcGridT | Type of in input (source) grid, e.g. openvdb::Grid or nanovdb::Grid |
DstBuildT | If ValueIndex all (active and inactive) values are indexed and if it is ValueOnIndex only active values are indexed. |
BufferT | BufferT Type of the buffer used ti allocate the destination grid |
channels | If non-zero the values (active or all) in srcGrid are encoded as blind data in the output index grid. channels indicates the number of copies of these blind data |
includeStats | If true all tree nodes will includes indices for stats, i.e. min/max/avg/std-div |
includeTiles | If false on values in leaf nodes are indexed |
verbose | Mode of verbosity |
buffer | Instance of a buffer used for allocation |
Definition at line 1963 of file CreateNanoGrid.h.
enable_if< is_same< FpN, DstBuildT >::value, GridHandle< BufferT > >::type nanovdb::createNanoGrid | ( | const SrcGridT & | srcGrid, |
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
bool | ditherOn = false , |
||
int | verbose = 0 , |
||
const OracleT & | oracle = OracleT() , |
||
const BufferT & | buffer = BufferT() |
||
) |
Freestanding function to create a NanoGrid<FpN> from any source grid.
SrcGridT | Type of in input (source) grid, e.g. openvdb::Grid or nanovdb::Grid |
DstBuildT | = FpN, i.e. variable bit-width of the output grid |
OracleT | Type of the oracle used to determine the local bit-width, i.e. N in FpN |
BufferT | Type of the buffer used to allocate the destination grid |
srcGrid | Input (source) grid to be converted |
ditherOn | switch to enable or disable dithering of quantization error |
sMode | Mode for computing statistics of the destination grid |
cMode | Mode for computing checksums of the destination grid |
verbose | Mode of verbosity |
oracle | Instance of a oracle used to determine the local bit-width, i.e. N in FpN |
buffer | Instance of a buffer used for allocation |
Definition at line 1979 of file CreateNanoGrid.h.
enable_if< BuildTraits< DstBuildT >::is_FpX, GridHandle< BufferT > >::type nanovdb::createNanoGrid | ( | const SrcGridT & | srcGrid, |
StatsMode | sMode = StatsMode::Default , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
bool | ditherOn = false , |
||
int | verbose = 0 , |
||
const BufferT & | buffer = BufferT() |
||
) |
Freestanding function to create a NanoGrid<FpX> from any source grid, X=4,8,16.
SrcGridT | Type of in input (source) grid, e.g. openvdb::Grid or nanovdb::Grid |
DstBuildT | = Fp4, Fp8 or Fp16, i.e. quantization bit-width of the output grid |
BufferT | Type of the buffer used to allocate the destination grid |
srcGrid | Input (source) grid to be converted |
ditherOn | switch to enable or disable dithering of quantization error |
sMode | Mode for computing statistics of the destination grid |
cMode | Mode for computing checksums of the destination grid |
verbose | Mode of verbosity |
buffer | Instance of a buffer used for allocation |
Definition at line 1999 of file CreateNanoGrid.h.
NodeManagerHandle< BufferT > nanovdb::createNodeManager | ( | const NanoGrid< BuildT > & | grid, |
const BufferT & | buffer = BufferT() |
||
) |
brief Construct a NodeManager and return its handle
grid | grid whose nodes will be accessed sequentially |
buffer | buffer from which to allocate the output handle |
Definition at line 284 of file NodeManager.h.
disable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createPointBox | ( | int | pointsPerVoxel = 1 , |
double | width = 40.0 , |
||
double | height = 60.0 , |
||
double | depth = 100.0 , |
||
const Vec3d & | center = Vec3d(0.0) , |
||
double | voxelSize = 1.0 , |
||
const Vec3d & | origin = Vec3d(0.0) , |
||
const std::string & | name = "box_points" , |
||
ChecksumMode | mode = ChecksumMode::Default , |
||
const BufferT & | buffer = BufferT() |
||
) |
Returns a handle to a PointDataGrid containing points scattered on the surface of a box.
pointsPerVoxel | Number of point per voxel on on the surface |
width | Width of box in world units |
height | Height of box in world units |
depth | Depth of box in world units |
center | Center of box in world units |
voxelSize | Size of a voxel in world units |
origin | Origin of grid in world units |
name | Name of the grid |
mode | Mode of computation for the checksum. |
buffer | Buffer used for memory allocation by the handle |
Definition at line 1646 of file Primitives.h.
|
inline |
Given an input NanoVDB voxel grid this methods returns a GridHandle to another NanoVDB PointDataGrid with points scattered in the active leaf voxels of in input grid. Note, the coordinates of the points are encoded as blind data in world-space.
srcGrid | Const input grid used to determine the active voxels to scatter points into |
pointsPerVoxel | Number of point per voxel on on the surface |
name | Name of the grid |
mode | Mode of computation for the checksum. |
buffer | Buffer used for memory allocation by the handle |
Definition at line 1671 of file Primitives.h.
disable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createPointSphere | ( | int | pointsPerVoxel = 1 , |
double | radius = 100.0 , |
||
const Vec3d & | center = Vec3d(0.0) , |
||
double | voxelSize = 1.0 , |
||
const Vec3d & | origin = Vec3d(0.0) , |
||
const std::string & | name = "sphere_points" , |
||
ChecksumMode | mode = ChecksumMode::Default , |
||
const BufferT & | buffer = BufferT() |
||
) |
Returns a handle to a PointDataGrid containing points scattered on the surface of a sphere.
pointsPerVoxel | Number of point per voxel on on the surface |
radius | Radius of sphere in world units |
center | Center of sphere in world units |
voxelSize | Size of a voxel in world units |
origin | Origin of grid in world units |
name | Name of the grid |
mode | Mode of computation for the checksum. |
buffer | Buffer used for memory allocation by the handle |
The BuildT
template parameter must be float (default) or double.
Definition at line 1169 of file Primitives.h.
disable_if< is_same< FpN, BuildT >::value, GridHandle< BufferT > >::type nanovdb::createPointTorus | ( | int | pointsPerVoxel = 1 , |
double | majorRadius = 100.0 , |
||
double | minorRadius = 50.0 , |
||
const Vec3d & | center = Vec3d(0.0) , |
||
double | voxelSize = 1.0 , |
||
const Vec3d & | origin = Vec3d(0.0f) , |
||
const std::string & | name = "torus_points" , |
||
ChecksumMode | cMode = ChecksumMode::Default , |
||
const BufferT & | buffer = BufferT() |
||
) |
Returns a handle to a PointDataGrid containing points scattered on the surface of a torus.
pointsPerVoxel | Number of point per voxel on on the surface |
majorRadius | Major radius of torus in world units |
minorRadius | Minor radius of torus in world units |
center | Center of torus in world units |
voxelSize | Size of a voxel in world units |
origin | Origin of grid in world units |
name | Name of the grid |
cMode | Mode of computation for the checksum. |
buffer | Buffer used for memory allocation by the handle |
The BuildT
template parameter must be float (default) or double.
Definition at line 1314 of file Primitives.h.
__hostdev__ SampleFromVoxels<TreeOrAccT, Order, UseCache> nanovdb::createSampler | ( | const TreeOrAccT & | acc | ) |
Factory free-function for a sampler of specific polynomial orders.
This allows for the compact syntax:
Definition at line 46 of file SampleFromVoxels.h.
__hostdev__ uint64_t nanovdb::first | ( | uint32_t | i | ) | const |
|
inline |
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.
|
inline |
Utility function that returns the Coord of the round-down of xyz and redefined as the fractional part, ie xyz-in = return-value + xyz-out.
|
inline |
Template specialization of Floor for Vec3<float>
Definition at line 58 of file SampleFromVoxels.h.
|
inline |
Template specialization of Floor for Vec3<float>
Definition at line 69 of file SampleFromVoxels.h.
|
inline |
|
inline |
|
inline |
simple wrapper for tbb::parallel_for with a naive std fallback
range | Range, CoordBBox, tbb::blocked_range, blocked_range2D, or blocked_range3D. |
func | functor with the signature [](const RangeT&){...}, |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
__hostdev__ FloatType nanovdb::getAvg | ( | ) | const |
__hostdev__ FloatType nanovdb::getDev | ( | ) | const |
Extrema<typename NanoGrid<BuildT>::ValueType> nanovdb::getExtrema | ( | const NanoGrid< BuildT > & | grid, |
const CoordBBox & | bbox | ||
) |
return the extrema of all the values in a grid that intersects the specified bounding box.
Definition at line 778 of file GridStats.h.
__hostdev__ ValueType nanovdb::getMax | ( | ) | const |
__hostdev__ ValueType nanovdb::getMin | ( | ) | const |
__hostdev__ uint64_t nanovdb::getValue | ( | uint32_t | i | ) | const |
|
inline |
Definition at line 62 of file Stencils.h.
|
inline |
Definition at line 82 of file Stencils.h.
void nanovdb::gridStats | ( | NanoGrid< BuildT > & | grid, |
StatsMode | mode = StatsMode::Default |
||
) |
Re-computes the min/max, stats and bbox information for an existing NanoVDB Grid.
grid | Grid whose stats to update |
mode | Mode of computation for the statistics. |
Definition at line 722 of file GridStats.h.
void nanovdb::inclusiveScan | ( | T * | array, |
size_t | size, | ||
const T & | identity, | ||
bool | threaded, | ||
Op | op | ||
) |
An inclusive scan includes in[i] when computing out[i].
Definition at line 44 of file PrefixSum.h.
int nanovdb::invoke | ( | const Func & | taskFunc1, |
Rest... | taskFuncN | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
__hostdev__ bool nanovdb::isMaskOn | ( | uint32_t | offset | ) | const |
bool nanovdb::isValid | ( | const NanoGrid< ValueT > & | grid, |
bool | detailed = true , |
||
bool | verbose = false |
||
) |
Return true if the specified grid passes several validation tests.
grid | Grid to validate |
detailed | If true the validation test is detailed and relatively slow. |
verbose | If true information about the first failed test is printed to std::cerr |
Definition at line 176 of file GridValidator.h.
|
inline |
|
inline |
__hostdev__ uint64_t nanovdb::last | ( | uint32_t | i | ) | const |
__hostdev__ uint64_t nanovdb::lastOffset | ( | ) | const |
|
delete |
This class cannot be constructed or deleted.
|
delete |
|
inline |
|
inline |
|
inline |
Multiply a 3x3 matrix and a 3d vector using 32bit floating point arithmetics.
Vec3T | Template type of the input and output 3d vectors |
mat | pointer to an array of floats with the 3x3 matrix |
xyz | input vector to be multiplied by the matrix |
|
inline |
Multiply a 3x3 matrix and a 3d vector using 64bit floating point arithmetics.
Vec3T | Template type of the input and output 3d vectors |
mat | pointer to an array of floats with the 3x3 matrix |
xyz | input vector to be multiplied by the matrix |
|
inline |
Multiply a 3x3 matrix to a 3d vector and add another 3d vector using 32bit floating point arithmetics.
Vec3T | Template type of the input and output 3d vectors |
mat | pointer to an array of floats with the 3x3 matrix |
vec | 3d vector to be added AFTER the matrix multiplication |
xyz | input vector to be multiplied by the matrix and a translated by vec |
|
inline |
Multiply a 3x3 matrix to a 3d vector and add another 3d vector using 64bit floating point arithmetics.
Vec3T | Template type of the input and output 3d vectors |
mat | pointer to an array of floats with the 3x3 matrix |
vec | 3d vector to be added AFTER the matrix multiplication |
xyz | input vector to be multiplied by the matrix and a translated by vec |
|
inline |
Multiply the transposed of a 3x3 matrix and a 3d vector using 32bit floating point arithmetics.
Vec3T | Template type of the input and output 3d vectors |
mat | pointer to an array of floats with the 3x3 matrix |
xyz | input vector to be multiplied by the transposed matrix |
|
inline |
Multiply the transposed of a 3x3 matrix and a 3d vector using 64bit floating point arithmetics.
Vec3T | Template type of the input and output 3d vectors |
mat | pointer to an array of floats with the 3x3 matrix |
xyz | input vector to be multiplied by the transposed matrix |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Combines (or merges) multiple GridHandles into a single GridHandle containing all grids.
BufferT | Type of the input and output grid buffers |
handles | Vector of GridHandles to be combined |
pool | optional pool used for allocation of output GridHandle |
Definition at line 465 of file GridHandle.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Forward declaration of free-standing function that de-serializes a typed NanoVDB grid into an OpenVDB Grid.
Definition at line 299 of file NanoToOpenVDB.h.
openvdb::GridBase::Ptr nanovdb::nanoToOpenVDB | ( | const GridHandle< BufferT > & | handle, |
int | verbose = 0 , |
||
uint32_t | n = 0 |
||
) |
Forward declaration of free-standing function that de-serializes a NanoVDB GridHandle into an OpenVDB GridBase.
Definition at line 307 of file NanoToOpenVDB.h.
struct nanovdb::NANOVDB_ALIGN | ( | NANOVDB_DATA_ALIGNMENT | ) |
Struct with all the member data of the Grid (useful during serialization of an openvdb grid)
Base-class for quantized float leaf nodes.
Stuct with all the member data of the LeafNode (useful during serialization of an openvdb LeafNode)
Struct with all the member data of the InternalNode (useful during serialization of an openvdb InternalNode)
Struct with all the member data of the RootNode (useful during serialization of an openvdb RootNode)
Get a const pointer to the blind data represented by this meta data
BlindDataT | Expected value type of the blind data. |
return true if this meta data has a valid combination of semantic, class and value tags
return size in bytes of the blind data represented by this blind meta data
Use this method to initiate most member dat
return true if the magic number and the version are both valid
Return a non-const uint8_t pointer to the first node at LEVEL
LEVEL | of the node. LEVEL 0 means leaf node and LEVEL 3 means root node |
LEVEL
NULL is returnedReturn a non-const uint8_t pointer to the first node at LEVEL
LEVEL | of the node. LEVEL 0 means leaf node and LEVEL 3 means root node |
LEVEL
NULL is returnedReturns a const reference to the blindMetaData at the specified linear offset.
Return memory usage in bytes for this class only.
return AABB of active values in world space
return AABB of active values in index space
return the root table has size
test if the grid is empty, e.i the root table has size 0
return true if RootData follows TreeData in memory without any extra padding
TreeData is always following right after GridData, but the same might not be true for RootData
Return the index bounding box of all the active values in this tree, i.e. in all nodes of the tree
return true if RootData is layout out immediately after TreeData in memory
Return a key based on the coordinates of a voxel
Return padding of this class in bytes, due to aliasing and 32B alignment
Returns a non-const reference to the tile at the specified linear offset.
Returns a const reference to the child node in the specified tile.
This class cannot be constructed or deleted
This class cannot be constructed or deleted
Return padding of this class in bytes, due to aliasing and 32B alignment
Returns a pointer to the child node at the specifed linear offset.
This class cannot be constructed or deleted
Return padding of this class in bytes, due to aliasing and 32B alignment
This class cannot be constructed or deleted
Return padding of this class in bytes, due to aliasing and 32B alignment
return the quantized minimum of the active values in this node
return the quantized maximum of the active values in this node
return the quantized average of the active values in this node
return the quantized standard deviation of the active values in this node
Use this method to initiate most member dat
return true if the magic number and the version are both valid
Return a non-const uint8_t pointer to the first node at LEVEL
LEVEL | of the node. LEVEL 0 means leaf node and LEVEL 3 means root node |
LEVEL
NULL is returnedReturn a non-const uint8_t pointer to the first node at LEVEL
LEVEL | of the node. LEVEL 0 means leaf node and LEVEL 3 means root node |
LEVEL
NULL is returnedReturns a const reference to the blindMetaData at the specified linear offset.
Return memory usage in bytes for this class only.
return AABB of active values in world space
return AABB of active values in index space
return the root table has size
test if the grid is empty, e.i the root table has size 0
return true if RootData follows TreeData in memory without any extra padding
TreeData is always following right after GridData, but the same might not be true for RootData
Return the index bounding box of all the active values in this tree, i.e. in all nodes of the tree
return true if RootData is layout out immediately after TreeData in memory
Return a key based on the coordinates of a voxel
Return padding of this class in bytes, due to aliasing and 32B alignment
Returns a non-const reference to the tile at the specified linear offset.
Returns a const reference to the child node in the specified tile.
This class cannot be constructed or deleted
This class cannot be constructed or deleted
Return padding of this class in bytes, due to aliasing and 32B alignment
Returns a pointer to the child node at the specifed linear offset.
This class cannot be constructed or deleted
Return padding of this class in bytes, due to aliasing and 32B alignment
This class cannot be constructed or deleted
Return padding of this class in bytes, due to aliasing and 32B alignment
return the quantized minimum of the active values in this node
return the quantized maximum of the active values in this node
return the quantized average of the active values in this node
return the quantized standard deviation of the active values in this node
__hostdev__ uint64_t nanovdb::offset | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 261 of file CreateNanoGrid.h.
|
inline |
Definition at line 291 of file CreateNanoGrid.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
delete |
|
inline |
|
inline |
|
inline |
|
inline |
__hostdev__ uint64_t nanovdb::pointCount | ( | ) | const |
|
inline |
|
inline |
|
inline |
T nanovdb::prefixSum | ( | std::vector< T > & | vec, |
bool | threaded = true , |
||
OpT | op = OpT() |
||
) |
Computes inclusive prefix sum of a vector.
T | Type of the elements in the input/out vector |
OpT | Type of operation performed on each element (defaults to sum) |
vec | input and output vector |
threaded | if true multi-threading is used |
Definition at line 71 of file PrefixSum.h.
|
inline |
range | RangeT can be Range<dim,T>, CoordBBox, tbb::blocked_range, blocked_range2D, or blocked_range3D. |
identity | initial value |
func | functor with signature T FuncT::operator()(const RangeT& range, const T& a) const |
join | functor with the signature T JoinT::operator()(const T& a, const T& b) const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
__hostdev__ void nanovdb::setAvg | ( | const bool & | ) |
__hostdev__ void nanovdb::setDev | ( | const bool & | ) |
__hostdev__ void nanovdb::setMask | ( | uint32_t | offset, |
bool | v | ||
) |
__hostdev__ void nanovdb::setMax | ( | const bool & | ) |
__hostdev__ void nanovdb::setMin | ( | const bool & | ) |
__hostdev__ void nanovdb::setOn | ( | uint32_t | offset | ) |
__hostdev__ void nanovdb::setOrigin | ( | const T & | ijk | ) |
__hostdev__ void nanovdb::setValue | ( | uint32_t | offset, |
bool | v | ||
) |
__hostdev__ void nanovdb::setValue | ( | uint32_t | offset, |
uint16_t | value | ||
) |
__hostdev__ void nanovdb::setValueOnly | ( | uint32_t | offset, |
uint16_t | value | ||
) |
|
inline |
|
inline |
Split all grids in a single GridHandle into a vector of multiple GridHandles each with a single grid.
BufferT | Type of the input and output grid buffers |
handle | GridHandle with grids that will be slip into individual GridHandles |
pool | optional pool used for allocation of output GridHandle |
Definition at line 439 of file GridHandle.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void nanovdb::updateChecksum | ( | NanoGrid< BuildT > & | grid, |
ChecksumMode | mode = ChecksumMode::Default |
||
) |
Updates the checksum of a grid.
grid | Grid whose checksum will be updated. |
mode | Defines the mode of computation for the checksum. |
void nanovdb::updateChecksum | ( | NanoGrid< ValueT > & | grid, |
ChecksumMode | mode | ||
) |
Definition at line 343 of file GridChecksum.h.
|
inline |
Definition at line 350 of file GridChecksum.h.
|
inline |
Preserve the existing mode of the checksum and update it if it's not disabled.
data |
Definition at line 435 of file GridChecksum.h.
|
inline |
Updates the ground index and count, as well as the partial checksum if needed.
data | Pointer to grid data |
gridIndex | New value of the index |
gridCount | New value of the grid count |
Definition at line 447 of file GridChecksum.h.
bool nanovdb::validateChecksum | ( | const NanoGrid< BuildT > & | grid, |
ChecksumMode | mode = ChecksumMode::Default |
||
) |
Return true if the checksum of the grid matches the expected value already encoded into the grid's meta data.
BuildT | Template parameter used to build NanoVDB grid. |
grid | Grid whose checksum is validated. |
mode | Defines the mode of computation for the checksum. |
bool nanovdb::validateChecksum | ( | const NanoGrid< ValueT > & | grid, |
ChecksumMode | mode | ||
) |
Definition at line 335 of file GridChecksum.h.
|
inline |
Implementation of nominally fifth-order finite-difference WENO.
This function returns the numerical flux. See "High Order Finite Difference and Finite Volume WENO Schemes and Discontinuous Galerkin Methods for CFD" - Chi-Wang Shu ICASE Report No 2001-11 (page 6). Also see ICASE No 97-65 for a more complete reference (Shu, 1997). Given v1 = f(x-2dx), v2 = f(x-dx), v3 = f(x), v4 = f(x+dx) and v5 = f(x+2dx), return an interpolated value f(x+dx/2) with the special property that ( f(x+dx/2) - f(x-dx/2) ) / dx = df/dx (x) + error, where the error is fifth-order in smooth regions: O(dx) <= error <=O(dx^5)
Definition at line 35 of file Stencils.h.
|
inline |
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.
|
inline |
|
delete |