OpenVDB
12.0.0
|
Base class for typed trees. More...
#include <openvdb/tree/Tree.h>
Inherited by Tree< _RootNodeType >.
Public Types | |
using | Ptr = SharedPtr< TreeBase > |
using | ConstPtr = SharedPtr< const TreeBase > |
Public Member Functions | |
TreeBase ()=default | |
TreeBase (const TreeBase &)=default | |
TreeBase & | operator= (const TreeBase &)=delete |
virtual | ~TreeBase ()=default |
virtual const Name & | type () const =0 |
Return the name of this tree's type. More... | |
virtual Name | valueType () const =0 |
Return the name of the type of a voxel's value (e.g., "float" or "vec3d"). More... | |
template<typename TreeType > | |
bool | isType () const |
Return true if this tree is of the same type as the template parameter. More... | |
virtual TreeBase::Ptr | copy () const =0 |
Return a pointer to a deep copy of this tree. More... | |
virtual Metadata::Ptr | getBackgroundValue () const |
Return this tree's background value wrapped as metadata. More... | |
virtual bool | evalLeafBoundingBox (CoordBBox &bbox) const =0 |
Return in bbox the axis-aligned bounding box of all active tiles and leaf nodes with active values. More... | |
virtual bool | evalLeafDim (Coord &dim) const =0 |
Return in dim the dimensions of the axis-aligned bounding box of all leaf nodes. More... | |
virtual bool | evalActiveVoxelBoundingBox (CoordBBox &bbox) const =0 |
Return in bbox the axis-aligned bounding box of all active voxels and tiles. More... | |
virtual bool | evalActiveVoxelDim (Coord &dim) const =0 |
Return in dim the dimensions of the axis-aligned bounding box of all active voxels. This is a tighter bounding box than the leaf node bounding box. More... | |
virtual void | getIndexRange (CoordBBox &bbox) const =0 |
virtual void | clipUnallocatedNodes ()=0 |
Replace with background tiles any nodes whose voxel buffers have not yet been allocated. More... | |
virtual Index64 | unallocatedLeafCount () const =0 |
Return the total number of unallocated leaf nodes residing in this tree. More... | |
virtual Index | treeDepth () const =0 |
Return the depth of this tree. More... | |
virtual Index64 | leafCount () const =0 |
Return the number of leaf nodes. More... | |
virtual std::vector< Index64 > | nodeCount () const =0 |
virtual Index64 | nonLeafCount () const =0 |
Return the number of non-leaf nodes. More... | |
virtual Index64 | activeLeafVoxelCount () const =0 |
Return the number of active voxels stored in leaf nodes. More... | |
virtual Index64 | inactiveLeafVoxelCount () const =0 |
Return the number of inactive voxels stored in leaf nodes. More... | |
virtual Index64 | activeVoxelCount () const =0 |
Return the total number of active voxels. More... | |
virtual Index64 | inactiveVoxelCount () const =0 |
Return the number of inactive voxels within the bounding box of all active voxels. More... | |
virtual Index64 | activeTileCount () const =0 |
Return the total number of active tiles. More... | |
virtual Index64 | memUsage () const |
Return the total amount of memory in bytes occupied by this tree. More... | |
virtual void | readTopology (std::istream &, bool saveFloatAsHalf=false) |
Read the tree topology from a stream. More... | |
virtual void | writeTopology (std::ostream &, bool saveFloatAsHalf=false) const |
Write the tree topology to a stream. More... | |
virtual void | readBuffers (std::istream &, bool saveFloatAsHalf=false)=0 |
Read all data buffers for this tree. More... | |
virtual void | readBuffers (std::istream &, const CoordBBox &, bool saveFloatAsHalf=false)=0 |
Read all of this tree's data buffers that intersect the given bounding box. More... | |
virtual void | readNonresidentBuffers () const =0 |
Read all of this tree's data buffers that are not yet resident in memory (because delayed loading is in effect). More... | |
virtual void | writeBuffers (std::ostream &, bool saveFloatAsHalf=false) const =0 |
Write out all the data buffers for this tree. More... | |
virtual void | print (std::ostream &os=std::cout, int verboseLevel=1) const |
Print statistics, memory usage and other information about this tree. More... | |
Base class for typed trees.
|
default |
|
virtualdefault |
|
pure virtual |
Return the number of active voxels stored in leaf nodes.
Implemented in Tree< _RootNodeType >.
|
pure virtual |
Return the total number of active tiles.
Implemented in Tree< _RootNodeType >.
|
pure virtual |
Return the total number of active voxels.
Implemented in Tree< _RootNodeType >.
|
pure virtual |
Replace with background tiles any nodes whose voxel buffers have not yet been allocated.
Typically, unallocated nodes are leaf nodes whose voxel buffers are not yet resident in memory because delayed loading is in effect.
Implemented in Tree< _RootNodeType >.
|
pure virtual |
Return a pointer to a deep copy of this tree.
Implemented in Tree< _RootNodeType >.
|
pure virtual |
Return in bbox the axis-aligned bounding box of all active voxels and tiles.
This method produces a more accurate, i.e. tighter, bounding box than evalLeafBoundingBox which is approximate but faster.
false
if the bounding box is empty (in which case the bbox is set to its default value). Implemented in Tree< _RootNodeType >.
|
pure virtual |
Return in dim the dimensions of the axis-aligned bounding box of all active voxels. This is a tighter bounding box than the leaf node bounding box.
false
if the bounding box is empty. Implemented in Tree< _RootNodeType >.
|
pure virtual |
Return in bbox the axis-aligned bounding box of all active tiles and leaf nodes with active values.
This is faster than calling evalActiveVoxelBoundingBox, which visits the individual active voxels, and hence evalLeafBoundingBox produces a less tight, i.e. approximate, bbox.
false
if the bounding box is empty (in which case the bbox is set to its default value). Implemented in Tree< _RootNodeType >.
|
pure virtual |
Return in dim the dimensions of the axis-aligned bounding box of all leaf nodes.
false
if the bounding box is empty. Implemented in Tree< _RootNodeType >.
|
inlinevirtual |
Return this tree's background value wrapped as metadata.
Reimplemented in Tree< _RootNodeType >.
|
pure virtual |
Implemented in Tree< _RootNodeType >.
|
pure virtual |
Return the number of inactive voxels stored in leaf nodes.
Implemented in Tree< _RootNodeType >.
|
pure virtual |
Return the number of inactive voxels within the bounding box of all active voxels.
Implemented in Tree< _RootNodeType >.
|
inline |
Return true
if this tree is of the same type as the template parameter.
|
pure virtual |
Return the number of leaf nodes.
Implemented in Tree< _RootNodeType >.
|
inlinevirtual |
Return the total amount of memory in bytes occupied by this tree.
Reimplemented in Tree< _RootNodeType >.
|
pure virtual |
Return a vector with node counts. The number of nodes of type NodeType is given as element NodeType::LEVEL in the return vector. Thus, the size of this vector corresponds to the height (or depth) of this tree.
Implemented in Tree< _RootNodeType >.
|
pure virtual |
Return the number of non-leaf nodes.
Implemented in Tree< _RootNodeType >.
|
inlinevirtual |
Print statistics, memory usage and other information about this tree.
os | a stream to which to write textual information |
verboseLevel | 1: print tree configuration only; 2: include node and voxel statistics; 3: include memory usage; 4: include minimum and maximum voxel values |
Reimplemented in Tree< _RootNodeType >.
|
pure virtual |
Read all data buffers for this tree.
Implemented in Tree< _RootNodeType >.
|
pure virtual |
Read all of this tree's data buffers that intersect the given bounding box.
Implemented in Tree< _RootNodeType >.
|
pure virtual |
Read all of this tree's data buffers that are not yet resident in memory (because delayed loading is in effect).
If this tree was read from a memory-mapped file, this operation disconnects the tree from the file.
Implemented in Tree< _RootNodeType >.
|
inlinevirtual |
Read the tree topology from a stream.
This will read the tree structure and tile values, but not voxel data.
Reimplemented in Tree< _RootNodeType >.
|
pure virtual |
Return the depth of this tree.
A tree with only a root node and leaf nodes has depth 2, for example.
Implemented in Tree< _RootNodeType >.
|
pure virtual |
Return the name of this tree's type.
Implemented in Tree< _RootNodeType >.
|
pure virtual |
Return the total number of unallocated leaf nodes residing in this tree.
Implemented in Tree< _RootNodeType >.
|
pure virtual |
Return the name of the type of a voxel's value (e.g., "float" or "vec3d").
Implemented in Tree< _RootNodeType >.
|
pure virtual |
Write out all the data buffers for this tree.
Implemented in Tree< _RootNodeType >.
|
inlinevirtual |
Write the tree topology to a stream.
This will write the tree structure and tile values, but not voxel data.
Reimplemented in Tree< _RootNodeType >.