OpenVDB 11.0.0
|
Highest level of the data structure. Contains a tree and a world->index transform (that currently only supports uniform scaling and translation). More...
#include <nanovdb/NanoVDB.h>
Public Types | |
using | TreeType = TreeT |
using | RootType = typename TreeT::RootType |
using | RootNodeType = RootType |
using | UpperNodeType = typename RootNodeType::ChildNodeType |
using | LowerNodeType = typename UpperNodeType::ChildNodeType |
using | LeafNodeType = typename RootType::LeafNodeType |
using | DataType = GridData |
using | ValueType = typename TreeT::ValueType |
using | BuildType = typename TreeT::BuildType |
using | CoordType = typename TreeT::CoordType |
using | AccessorType = DefaultReadAccessor<BuildType> |
Public Member Functions | |
Grid (const Grid &)=delete | |
Disallow constructions, copy and assignment. | |
Grid & | operator= (const Grid &)=delete |
~Grid ()=delete | |
Version | version () const |
DataType * | data () |
const DataType * | data () const |
uint64_t | gridSize () const |
Return memory usage in bytes for this class only. | |
uint32_t | gridIndex () const |
Return index of this grid in the buffer. | |
uint32_t | gridCount () const |
Return total number of grids in the buffer. | |
template<typename T = BuildType> | |
enable_if< BuildTraits< T >::is_index, constuint64_t & >::type | valueCount () const |
Return the total number of values indexed by this IndexGrid. | |
template<typename T = BuildType> | |
enable_if< is_same< T, Point >::value, constuint64_t & >::type | pointCount () const |
Return the total number of points indexed by this PointGrid. | |
const TreeT & | tree () const |
Return a const reference to the tree. | |
TreeT & | tree () |
Return a non-const reference to the tree. | |
AccessorType | getAccessor () const |
Return a new instance of a ReadAccessor used to access values in this grid. | |
const Vec3d & | voxelSize () const |
Return a const reference to the size of a voxel in world units. | |
const Map & | map () const |
Return a const reference to the Map for this grid. | |
template<typename Vec3T > | |
Vec3T | worldToIndex (const Vec3T &xyz) const |
world to index space transformation | |
template<typename Vec3T > | |
Vec3T | indexToWorld (const Vec3T &xyz) const |
index to world space transformation | |
template<typename Vec3T > | |
Vec3T | indexToWorldDir (const Vec3T &dir) const |
transformation from index space direction to world space direction | |
template<typename Vec3T > | |
Vec3T | worldToIndexDir (const Vec3T &dir) const |
transformation from world space direction to index space direction | |
template<typename Vec3T > | |
Vec3T | indexToWorldGrad (const Vec3T &grad) const |
transform the gradient from index space to world space. | |
template<typename Vec3T > | |
Vec3T | worldToIndexF (const Vec3T &xyz) const |
world to index space transformation | |
template<typename Vec3T > | |
Vec3T | indexToWorldF (const Vec3T &xyz) const |
index to world space transformation | |
template<typename Vec3T > | |
Vec3T | indexToWorldDirF (const Vec3T &dir) const |
transformation from index space direction to world space direction | |
template<typename Vec3T > | |
Vec3T | worldToIndexDirF (const Vec3T &dir) const |
transformation from world space direction to index space direction | |
template<typename Vec3T > | |
Vec3T | indexToWorldGradF (const Vec3T &grad) const |
Transforms the gradient from index space to world space. | |
uint64_t | activeVoxelCount () const |
Computes a AABB of active values in world space. | |
bool | isValid () const |
Methods related to the classification of this grid. | |
const GridType & | gridType () const |
const GridClass & | gridClass () const |
bool | isLevelSet () const |
bool | isFogVolume () const |
bool | isStaggered () const |
bool | isPointIndex () const |
bool | isGridIndex () const |
bool | isPointData () const |
bool | isMask () const |
bool | isUnknown () const |
bool | hasMinMax () const |
bool | hasBBox () const |
bool | hasLongGridName () const |
bool | hasAverage () const |
bool | hasStdDeviation () const |
bool | isBreadthFirst () const |
template<typename NodeT > | |
bool | isSequential () const |
return true if the specified node type is layed out breadth-first in memory and has a fixed size. This allows for sequential access to the nodes. | |
template<int LEVEL> | |
bool | isSequential () const |
return true if the specified node level is layed out breadth-first in memory and has a fixed size. This allows for sequential access to the nodes. | |
bool | isSequential () const |
return true if nodes at all levels can safely be accessed with simple linear offsets | |
const char * | gridName () const |
Return a c-string with the name of this grid. | |
const char * | shortGridName () const |
Return a c-string with the name of this grid, truncated to 255 characters. | |
uint64_t | checksum () const |
Return checksum of the grid buffer. | |
uint32_t | blindDataCount () const |
Return true if this grid is empty, i.e. contains no values or nodes. | |
int | findBlindData (const char *name) const |
Return the index of the first blind data with specified name if found, otherwise -1. | |
int | findBlindDataForSemantic (GridBlindDataSemantic semantic) const |
Return the index of the first blind data with specified semantic if found, otherwise -1. | |
const void * | blindData (uint32_t n) const |
Returns a const pointer to the blindData at the specified linear offset. | |
template<typename BlindDataT > | |
const BlindDataT * | getBlindData (uint32_t n) const |
template<typename BlindDataT > | |
BlindDataT * | getBlindData (uint32_t n) |
const GridBlindMetaData & | blindMetaData (uint32_t n) const |
void | init (std::initializer_list< GridFlags > list={GridFlags::IsBreadthFirst}, uint64_t gridSize=0u, const Map &map=Map(), GridType gridType=GridType::Unknown, GridClass gridClass=GridClass::Unknown) |
void | setMinMaxOn (bool on=true) |
void | setBBoxOn (bool on=true) |
void | setLongGridNameOn (bool on=true) |
void | setAverageOn (bool on=true) |
void | setStdDeviationOn (bool on=true) |
bool | setGridName (const char *src) |
template<typename Vec3T > | |
Vec3T | applyMap (const Vec3T &xyz) const |
template<typename Vec3T > | |
Vec3T | applyInverseMap (const Vec3T &xyz) const |
template<typename Vec3T > | |
Vec3T | applyJacobian (const Vec3T &xyz) const |
template<typename Vec3T > | |
Vec3T | applyInverseJacobian (const Vec3T &xyz) const |
template<typename Vec3T > | |
Vec3T | applyIJT (const Vec3T &xyz) const |
template<typename Vec3T > | |
Vec3T | applyMapF (const Vec3T &xyz) const |
template<typename Vec3T > | |
Vec3T | applyInverseMapF (const Vec3T &xyz) const |
template<typename Vec3T > | |
Vec3T | applyJacobianF (const Vec3T &xyz) const |
template<typename Vec3T > | |
Vec3T | applyInverseJacobianF (const Vec3T &xyz) const |
template<typename Vec3T > | |
Vec3T | applyIJTF (const Vec3T &xyz) const |
uint8_t * | treePtr () |
const uint8_t * | treePtr () const |
template<uint32_t LEVEL> | |
const uint8_t * | nodePtr () const |
Return a non-const uint8_t pointer to the first node at LEVEL . | |
template<uint32_t LEVEL> | |
uint8_t * | nodePtr () |
Return a non-const uint8_t pointer to the first node at LEVEL . | |
const BBox< Vec3d > & | worldBBox () const |
return AABB of active values in world space | |
const CoordBBox & | indexBBox () const |
return AABB of active values in index space | |
uint32_t | rootTableSize () const |
return the root table has size | |
bool | isEmpty () const |
test if the grid is empty, e.i the root table has size 0 | |
bool | isRootConnected () const |
return true if RootData follows TreeData in memory without any extra padding | |
Static Public Member Functions | |
static uint64_t | memUsage () |
Return memory usage in bytes for this class only. | |
Public Attributes | |
uint64_t | mMagic |
uint64_t | mChecksum |
Version | mVersion |
BitFlags< 32 > | mFlags |
uint32_t | mGridIndex |
uint32_t | mGridCount |
uint64_t | mGridSize |
char | mGridName [MaxNameSize] |
Map | mMap |
BBox< Vec3d > | mWorldBBox |
Vec3d | mVoxelSize |
GridClass | mGridClass |
GridType | mGridType |
int64_t | mBlindMetadataOffset |
uint32_t | mBlindMetadataCount |
uint32_t | mData0 |
uint64_t | mData1 |
uint64_t | mData2 |
Static Public Attributes | |
static const int | MaxNameSize = 256 |
Highest level of the data structure. Contains a tree and a world->index transform (that currently only supports uniform scaling and translation).
using AccessorType = DefaultReadAccessor<BuildType> |
using BuildType = typename TreeT::BuildType |
using CoordType = typename TreeT::CoordType |
using LeafNodeType = typename RootType::LeafNodeType |
using LowerNodeType = typename UpperNodeType::ChildNodeType |
using RootNodeType = RootType |
using RootType = typename TreeT::RootType |
using TreeType = TreeT |
using UpperNodeType = typename RootNodeType::ChildNodeType |
using ValueType = typename TreeT::ValueType |
Disallow constructions, copy and assignment.
|
delete |
|
inline |
Computes a AABB of active values in world space.
Computes a AABB of active values in index space
Return the total number of active voxels in this tree.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
Returns a const pointer to the blindData at the specified linear offset.
|
inline |
Return true if this grid is empty, i.e. contains no values or nodes.
Return the count of blind-data encoded in this grid
|
inline |
|
inline |
Return checksum of the grid buffer.
|
inline |
|
inline |
int findBlindData | ( | const char * | name | ) | const |
Return the index of the first blind data with specified name if found, otherwise -1.
int findBlindDataForSemantic | ( | GridBlindDataSemantic | semantic | ) | const |
Return the index of the first blind data with specified semantic if found, otherwise -1.
|
inline |
Return a new instance of a ReadAccessor used to access values in this grid.
|
inline |
|
inline |
|
inline |
|
inline |
Return total number of grids in the buffer.
|
inline |
Return index of this grid in the buffer.
|
inline |
Return a c-string with the name of this grid.
|
inline |
Return memory usage in bytes for this class only.
Return the memory footprint of the entire grid, i.e. including all nodes and blind data
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
return AABB of active values in index space
|
inline |
index to world space transformation
|
inline |
transformation from index space direction to world space direction
|
inline |
transformation from index space direction to world space direction
|
inline |
index to world space transformation
|
inline |
transform the gradient from index space to world space.
Applies the inverse jacobian transform map.
|
inline |
Transforms the gradient from index space to world space.
Applies the inverse jacobian transform map.
|
inlineinherited |
|
inline |
|
inlineinherited |
test if the grid is empty, e.i the root table has size 0
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
|
inline |
return true if the specified node type is layed out breadth-first in memory and has a fixed size. This allows for sequential access to the nodes.
|
inline |
return true if the specified node level is layed out breadth-first in memory and has a fixed size. This allows for sequential access to the nodes.
|
inline |
return true if nodes at all levels can safely be accessed with simple linear offsets
|
inline |
|
inline |
|
inline |
Methods related to the classification of this grid.
|
inline |
Return a const reference to the Map for this grid.
|
inlinestaticinherited |
Return memory usage in bytes for this class only.
|
inlineinherited |
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 returned
|
inlineinherited |
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 returned
|
inline |
Return the total number of points indexed by this PointGrid.
|
inlineinherited |
return the root table has size
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
Return a c-string with the name of this grid, truncated to 255 characters.
|
inline |
Return a non-const reference to the tree.
|
inline |
Return a const reference to the tree.
|
inlineinherited |
|
inlineinherited |
|
inline |
Return the total number of values indexed by this IndexGrid.
|
inline |
|
inline |
Return a const reference to the size of a voxel in world units.
return AABB of active values in world space
|
inline |
world to index space transformation
|
inline |
transformation from world space direction to index space direction
|
inline |
transformation from world space direction to index space direction
|
inline |
world to index space transformation
|
staticinherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |