HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
openvdb::OPENVDB_VERSION_NAME::Grid< typename > Class Template Reference

Container class that associates a tree with a transform and metadata. More...

#include <Grid.h>

+ Inheritance diagram for openvdb::OPENVDB_VERSION_NAME::Grid< typename >:

Classes

struct  ValueConverter
 ValueConverter<T>::Type is the type of a grid having the same hierarchy as this grid but a different value type, T. More...
 

Public Types

using Ptr = SharedPtr< Grid >
 
using ConstPtr = SharedPtr< const Grid >
 
using TreeType = _TreeType
 
using TreePtrType = typename _TreeType::Ptr
 
using ConstTreePtrType = typename _TreeType::ConstPtr
 
using ValueType = typename _TreeType::ValueType
 
using BuildType = typename _TreeType::BuildType
 
using ValueOnIter = typename _TreeType::ValueOnIter
 
using ValueOnCIter = typename _TreeType::ValueOnCIter
 
using ValueOffIter = typename _TreeType::ValueOffIter
 
using ValueOffCIter = typename _TreeType::ValueOffCIter
 
using ValueAllIter = typename _TreeType::ValueAllIter
 
using ValueAllCIter = typename _TreeType::ValueAllCIter
 
using Accessor = typename tree::ValueAccessor< _TreeType, true >
 
using ConstAccessor = typename tree::ValueAccessor< const _TreeType, true >
 
using UnsafeAccessor = typename tree::ValueAccessor< _TreeType, false >
 
using ConstUnsafeAccessor = typename tree::ValueAccessor< const _TreeType, false >
 
- Public Types inherited from openvdb::OPENVDB_VERSION_NAME::GridBase
using Ptr = SharedPtr< GridBase >
 
using ConstPtr = SharedPtr< const GridBase >
 
using GridFactory ) = Ptr(*)(
 
- Public Types inherited from openvdb::OPENVDB_VERSION_NAME::MetaMap
using Ptr = SharedPtr< MetaMap >
 
using ConstPtr = SharedPtr< const MetaMap >
 
using MetadataMap = std::map< Name, Metadata::Ptr >
 
using MetaIterator = MetadataMap::iterator
 
using ConstMetaIterator = MetadataMap::const_iterator
 

Public Member Functions

 Grid ()
 Construct a new grid with background value zero. More...
 
 Grid (const ValueType &background)
 Construct a new grid with the given background value. More...
 
 Grid (TreePtrType)
 Construct a new grid that shares the given tree and associates with it an identity linear transform. More...
 
 Grid (const Grid &)
 Deep copy another grid's metadata, transform and tree. More...
 
template<typename OtherTreeType >
 Grid (const Grid< OtherTreeType > &)
 Deep copy the metadata, transform and tree of another grid whose tree configuration is the same as this grid's but whose value type is different. Cast the other grid's values to this grid's value type. More...
 
 Grid (Grid &, ShallowCopy)
 Deep copy another grid's metadata and transform, but share its tree. More...
 
 Grid (const GridBase &)
 Deep copy another grid's metadata and transform, but construct a new tree with background value zero. More...
 
 ~Grid () override
 
Gridoperator= (const Grid &)=delete
 Disallow assignment, since it wouldn't be obvious whether the copy is deep or shallow. More...
 
Name type () const override
 Return the name of this grid's type. More...
 
Name valueType () const override
 Return the name of the type of a voxel's value (e.g., "float" or "vec3d"). More...
 
bool isTreeUnique () const final
 Return true if tree is not shared with another grid. More...
 
Copying
Ptr copy ()
 Return a new grid of the same type as this grid whose metadata and transform are deep copies of this grid's and whose tree is shared with this grid. More...
 
ConstPtr copy () const
 Return a new grid of the same type as this grid whose metadata and transform are deep copies of this grid's and whose tree is shared with this grid. More...
 
Ptr copyWithNewTree () const
 Return a new grid of the same type as this grid whose metadata and transform are deep copies of this grid's and whose tree is default-constructed. More...
 
GridBase::Ptr copyGrid () override
 Return a new grid of the same type as this grid whose metadata is a deep copy of this grid's and whose tree and transform are shared with this grid. More...
 
GridBase::ConstPtr copyGrid () const override
 Return a new grid of the same type as this grid whose metadata is a deep copy of this grid's and whose tree and transform are shared with this grid. More...
 
GridBase::Ptr copyGridWithNewTree () const override
 Return a new grid of the same type as this grid whose metadata and transform are deep copies of this grid's and whose tree is default-constructed. More...
 
ConstPtr copyReplacingMetadata (const MetaMap &meta) const
 Return a new grid of the same type as this grid whose tree and transform is shared with this grid and whose metadata is provided as an argument. More...
 
ConstPtr copyReplacingTransform (math::Transform::Ptr xform) const
 Return a new grid of the same type as this grid whose tree is shared with this grid, whose metadata is a deep copy of this grid's and whose transform is provided as an argument. More...
 
ConstPtr copyReplacingMetadataAndTransform (const MetaMap &meta, math::Transform::Ptr xform) const
 Return a new grid of the same type as this grid whose tree is shared with this grid and whose transform and metadata are provided as arguments. More...
 
GridBase::ConstPtr copyGridReplacingMetadata (const MetaMap &meta) const override
 Return a new grid of the same type as this grid whose tree and transform is shared with this grid and whose metadata is provided as an argument. More...
 
GridBase::ConstPtr copyGridReplacingTransform (math::Transform::Ptr xform) const override
 Return a new grid of the same type as this grid whose tree is shared with this grid, whose metadata is a deep copy of this grid's and whose transform is provided as an argument. More...
 
GridBase::ConstPtr copyGridReplacingMetadataAndTransform (const MetaMap &meta, math::Transform::Ptr xform) const override
 Return a new grid of the same type as this grid whose tree is shared with this grid and whose transform and metadata are provided as arguments. More...
 
Ptr deepCopy () const
 Return a new grid whose metadata, transform and tree are deep copies of this grid's. More...
 
GridBase::Ptr deepCopyGrid () const override
 Return a new grid whose metadata, transform and tree are deep copies of this grid's. More...
 
Voxel access
const ValueTypebackground () const
 Return this grid's background value. More...
 
bool empty () const override
 Return true if this grid contains only inactive background voxels. More...
 
void clear () override
 Empty this grid, so that all voxels become inactive background voxels. More...
 
Accessor getAccessor ()
 Return an accessor that provides random read and write access to this grid's voxels. More...
 
UnsafeAccessor getUnsafeAccessor ()
 Return an unsafe accessor that provides random read and write access to this grid's voxels. More...
 
ConstAccessor getAccessor () const
 Return an accessor that provides random read-only access to this grid's voxels. More...
 
ConstAccessor getConstAccessor () const
 Return an accessor that provides random read-only access to this grid's voxels. More...
 
ConstUnsafeAccessor getConstUnsafeAccessor () const
 Return an unsafe accessor that provides random read-only access to this grid's voxels. More...
 
ValueOnIter beginValueOn ()
 Return an iterator over all of this grid's active values (tile and voxel). More...
 
ValueOnCIter beginValueOn () const
 Return an iterator over all of this grid's active values (tile and voxel). More...
 
ValueOnCIter cbeginValueOn () const
 Return an iterator over all of this grid's active values (tile and voxel). More...
 
ValueOffIter beginValueOff ()
 Return an iterator over all of this grid's inactive values (tile and voxel). More...
 
ValueOffCIter beginValueOff () const
 Return an iterator over all of this grid's inactive values (tile and voxel). More...
 
ValueOffCIter cbeginValueOff () const
 Return an iterator over all of this grid's inactive values (tile and voxel). More...
 
ValueAllIter beginValueAll ()
 Return an iterator over all of this grid's values (tile and voxel). More...
 
ValueAllCIter beginValueAll () const
 Return an iterator over all of this grid's values (tile and voxel). More...
 
ValueAllCIter cbeginValueAll () const
 Return an iterator over all of this grid's values (tile and voxel). More...
 
Tools
void sparseFill (const CoordBBox &bbox, const ValueType &value, bool active=true)
 Set all voxels within a given axis-aligned box to a constant value. More...
 
void fill (const CoordBBox &bbox, const ValueType &value, bool active=true)
 Set all voxels within a given axis-aligned box to a constant value. More...
 
void denseFill (const CoordBBox &bbox, const ValueType &value, bool active=true)
 Set all voxels within a given axis-aligned box to a constant value and ensure that those voxels are all represented at the leaf level. More...
 
void pruneGrid (float tolerance=0.0) override
 Reduce the memory footprint of this grid by increasing its sparseness. More...
 
void clip (const CoordBBox &) override
 Clip this grid to the given index-space bounding box. More...
 
void merge (Grid &other, MergePolicy policy=MERGE_ACTIVE_STATES)
 Efficiently merge another grid into this grid using one of several schemes. More...
 
template<typename OtherTreeType >
void topologyUnion (const Grid< OtherTreeType > &other)
 Union this grid's set of active values with the active values of the other grid, whose value type may be different. More...
 
template<typename OtherTreeType >
void topologyIntersection (const Grid< OtherTreeType > &other)
 Intersect this grid's set of active values with the active values of the other grid, whose value type may be different. More...
 
template<typename OtherTreeType >
void topologyDifference (const Grid< OtherTreeType > &other)
 Difference this grid's set of active values with the active values of the other grid, whose value type may be different. More...
 
Tree
TreePtrType treePtr ()
 Return a pointer to this grid's tree, which might be shared with other grids. The pointer is guaranteed to be non-null. More...
 
ConstTreePtrType treePtr () const
 Return a pointer to this grid's tree, which might be shared with other grids. The pointer is guaranteed to be non-null. More...
 
ConstTreePtrType constTreePtr () const
 Return a pointer to this grid's tree, which might be shared with other grids. The pointer is guaranteed to be non-null. More...
 
TreeBase::ConstPtr constBaseTreePtr () const override
 Return a pointer to this grid's tree, which might be shared with other grids. The pointer is guaranteed to be non-null. More...
 
void setTree (TreeBase::Ptr) override
 Associate the given tree with this grid, in place of its existing tree. More...
 
void newTree () override
 Associate a new, empty tree with this grid, in place of its existing tree. More...
 
TreeTypetree ()
 Return a reference to this grid's tree, which might be shared with other grids. More...
 
const TreeTypetree () const
 Return a reference to this grid's tree, which might be shared with other grids. More...
 
const TreeTypeconstTree () const
 Return a reference to this grid's tree, which might be shared with other grids. More...
 
I/O
void readTopology (std::istream &) override
 Read the grid topology from a stream. This will read only the grid structure, not the actual data buffers. More...
 
void writeTopology (std::ostream &) const override
 Write the grid topology to a stream. This will write only the grid structure, not the actual data buffers. More...
 
void readBuffers (std::istream &) override
 Read all data buffers for this grid. More...
 
void readBuffers (std::istream &, const CoordBBox &) override
 Read all of this grid's data buffers that intersect the given index-space bounding box. More...
 
void readNonresidentBuffers () const override
 Read all of this grid's data buffers that are not yet resident in memory (because delayed loading is in effect). More...
 
void writeBuffers (std::ostream &) const override
 Write out all data buffers for this grid. More...
 
void print (std::ostream &=std::cout, int verboseLevel=1) const override
 Output a human-readable description of this grid. More...
 
- Public Member Functions inherited from openvdb::OPENVDB_VERSION_NAME::GridBase
 ~GridBase () override
 
template<typename GridType >
bool isType () const
 Return true if this grid is of the same type as the template parameter. More...
 
TreeBase::Ptr baseTreePtr ()
 Return a pointer to this grid's tree, which might be shared with other grids. The pointer is guaranteed to be non-null. More...
 
TreeBase::ConstPtr baseTreePtr () const
 Return a pointer to this grid's tree, which might be shared with other grids. The pointer is guaranteed to be non-null. More...
 
TreeBasebaseTree ()
 Return a reference to this grid's tree, which might be shared with other grids. More...
 
const TreeBasebaseTree () const
 Return a reference to this grid's tree, which might be shared with other grids. More...
 
const TreeBaseconstBaseTree () const
 Return a reference to this grid's tree, which might be shared with other grids. More...
 
void clipGrid (const BBoxd &)
 Clip this grid to the given world-space bounding box. More...
 
template<typename GridTypeListT , typename OpT >
bool apply (OpT &) const
 If this grid resolves to one of the listed grid types, invoke the given functor on the resolved grid. More...
 
template<typename GridTypeListT , typename OpT >
bool apply (OpT &)
 If this grid resolves to one of the listed grid types, invoke the given functor on the resolved grid. More...
 
template<typename GridTypeListT , typename OpT >
bool apply (const OpT &) const
 If this grid resolves to one of the listed grid types, invoke the given functor on the resolved grid. More...
 
template<typename GridTypeListT , typename OpT >
bool apply (const OpT &)
 If this grid resolves to one of the listed grid types, invoke the given functor on the resolved grid. More...
 
std::string getName () const
 Return this grid's user-specified name. More...
 
void setName (const std::string &)
 Specify a name for this grid. More...
 
std::string getCreator () const
 Return the user-specified description of this grid's creator. More...
 
void setCreator (const std::string &)
 Provide a description of this grid's creator. More...
 
bool saveFloatAsHalf () const
 Return true if this grid should be written out with floating-point voxel values (including components of vectors) quantized to 16 bits. More...
 
void setSaveFloatAsHalf (bool)
 Return this grid's user-specified name. More...
 
GridClass getGridClass () const
 Return the class of volumetric data (level set, fog volume, etc.) that is stored in this grid. More...
 
void setGridClass (GridClass)
 Specify the class of volumetric data (level set, fog volume, etc.) that is stored in this grid. More...
 
void clearGridClass ()
 Remove the setting specifying the class of this grid's volumetric data. More...
 
VecType getVectorType () const
 Return the type of vector data (invariant, covariant, etc.) stored in this grid, assuming that this grid contains a vector-valued tree. More...
 
void setVectorType (VecType)
 Specify the type of vector data (invariant, covariant, etc.) stored in this grid, assuming that this grid contains a vector-valued tree. More...
 
void clearVectorType ()
 Remove the setting specifying the type of vector data stored in this grid. More...
 
bool isInWorldSpace () const
 
void setIsInWorldSpace (bool)
 Specify whether this grid's voxel values are in world space or in local space. More...
 
void addStatsMetadata ()
 Add metadata to this grid comprising the current values of statistics like the active voxel count and bounding box. More...
 
MetaMap::Ptr getStatsMetadata () const
 Return a new MetaMap containing just the metadata that was added to this grid with ::GridBase::addStatsMetadata() addStatsMetadata. More...
 
math::Transform::Ptr transformPtr ()
 Return a pointer to this grid's transform, which might be shared with other grids. More...
 
math::Transform::ConstPtr transformPtr () const
 Return a pointer to this grid's transform, which might be shared with other grids. More...
 
math::Transform::ConstPtr constTransformPtr () const
 Return a pointer to this grid's transform, which might be shared with other grids. More...
 
void setTransform (math::Transform::Ptr)
 Associate the given transform with this grid, in place of its existing transform. More...
 
Vec3d voxelSize () const
 Return the size of this grid's voxels. More...
 
Vec3d voxelSize (const Vec3d &xyz) const
 Return the size of this grid's voxel at position (x, y, z). More...
 
bool hasUniformVoxels () const
 Return true if the voxels in world space are uniformly sized cubes. More...
 
Vec3d indexToWorld (const Vec3d &xyz) const
 Apply this grid's transform to the given coordinates. More...
 
Vec3d indexToWorld (const Coord &ijk) const
 Apply this grid's transform to the given coordinates. More...
 
Vec3d worldToIndex (const Vec3d &xyz) const
 Apply the inverse of this grid's transform to the given coordinates. More...
 
math::Transformtransform ()
 Return a reference to this grid's transform, which might be shared with other grids. More...
 
const math::Transformtransform () const
 Return a reference to this grid's transform, which might be shared with other grids. More...
 
const math::TransformconstTransform () const
 Return a reference to this grid's transform, which might be shared with other grids. More...
 
void readTransform (std::istream &is)
 Read in the transform for this grid. More...
 
void writeTransform (std::ostream &os) const
 Write out the transform for this grid. More...
 
- Public Member Functions inherited from openvdb::OPENVDB_VERSION_NAME::MetaMap
 MetaMap ()
 
 MetaMap (const MetaMap &other)
 
virtual ~MetaMap ()
 
MetaMap::Ptr copyMeta () const
 Return a copy of this map whose fields are shared with this map. More...
 
MetaMap::Ptr deepCopyMeta () const
 Return a deep copy of this map that shares no data with this map. More...
 
MetaMapoperator= (const MetaMap &)
 Assign a deep copy of another map to this map. More...
 
void readMeta (std::istream &)
 Unserialize metadata from the given stream. More...
 
void writeMeta (std::ostream &) const
 Serialize metadata to the given stream. More...
 
void insertMeta (const Name &, const Metadata &value)
 Insert a new metadata field or overwrite the value of an existing field. More...
 
void insertMeta (const MetaMap &)
 Deep copy all of the metadata fields from the given map into this map. More...
 
void removeMeta (const Name &)
 Remove the given metadata field if it exists. More...
 
template<typename T >
T & metaValue (const Name &)
 Return a reference to the value of type T stored in the given metadata field. More...
 
template<typename T >
const T & metaValue (const Name &) const
 
MetaIterator beginMeta ()
 
MetaIterator endMeta ()
 
ConstMetaIterator beginMeta () const
 
ConstMetaIterator endMeta () const
 
void clearMetadata ()
 
size_t metaCount () const
 
std::string str (const std::string &indent="") const
 Return a string describing this metadata map. Prefix each line with indent. More...
 
bool operator== (const MetaMap &other) const
 Return true if the given map is equivalent to this map. More...
 
bool operator!= (const MetaMap &other) const
 Return true if the given map is different from this map. More...
 
Metadata::Ptr operator[] (const Name &)
 Return a pointer to the metadata with the given name. If no such field exists, return a null pointer. More...
 
Metadata::ConstPtr operator[] (const Name &) const
 Return a pointer to the metadata with the given name. If no such field exists, return a null pointer. More...
 
template<typename T >
T::Ptr getMetadata (const Name &)
 Return a pointer to a TypedMetadata object of type T and with the given name. If no such field exists or if there is a type mismatch, return a null pointer. More...
 
template<typename T >
T::ConstPtr getMetadata (const Name &) const
 Return a pointer to a TypedMetadata object of type T and with the given name. If no such field exists or if there is a type mismatch, return a null pointer. More...
 

Static Public Member Functions

static Ptr create (const ValueType &background)
 Return a new grid with the given background value. More...
 
static Ptr create ()
 Return a new grid with background value zero. More...
 
static Ptr create (TreePtrType)
 Return a new grid that contains the given tree. More...
 
static Ptr create (const GridBase &other)
 Return a new, empty grid with the same transform and metadata as the given grid and with background value zero. More...
 
static Name gridType ()
 Return the name of this type of grid. More...
 
static bool hasMultiPassIO ()
 Return true if grids of this type require multiple I/O passes to read and write data buffers. More...
 
Registry
static bool isRegistered ()
 Return true if this grid type is registered. More...
 
static void registerGrid ()
 Register this grid type along with a factory function. More...
 
static void unregisterGrid ()
 Remove this grid type from the registry. More...
 
- Static Public Member Functions inherited from openvdb::OPENVDB_VERSION_NAME::GridBase
static std::string gridClassToString (GridClass)
 Return the metadata string value for the given class of volumetric data. More...
 
static std::string gridClassToMenuName (GridClass)
 Return a formatted string version of the grid class. More...
 
static GridClass stringToGridClass (const std::string &)
 Return the class of volumetric data specified by the given string. More...
 
static std::string vecTypeToString (VecType)
 Return the metadata string value for the given type of vector data. More...
 
static std::string vecTypeExamples (VecType)
 
static std::string vecTypeDescription (VecType)
 Return a string describing how the given type of vector data is affected by transformations (e.g., "Does not transform", given VEC_INVARIANT). More...
 
static VecType stringToVecType (const std::string &)
 
static Ptr createGrid (const Name &type)
 Create a new grid of the given (registered) type. More...
 
static bool isRegistered (const Name &type)
 Return true if the given grid type name is registered. More...
 
static void clearRegistry ()
 Clear the grid type registry. More...
 
template<typename GridType >
static GridType::Ptr grid (const GridBase::Ptr &)
 Return the result of downcasting a GridBase pointer to a Grid pointer of the specified type, or return a null pointer if the types are incompatible. More...
 
template<typename GridType >
static GridType::ConstPtr grid (const GridBase::ConstPtr &)
 Return the result of downcasting a GridBase pointer to a Grid pointer of the specified type, or return a null pointer if the types are incompatible. More...
 
template<typename GridType >
static GridType::ConstPtr constGrid (const GridBase::Ptr &)
 Return the result of downcasting a GridBase pointer to a Grid pointer of the specified type, or return a null pointer if the types are incompatible. More...
 
template<typename GridType >
static GridType::ConstPtr constGrid (const GridBase::ConstPtr &)
 Return the result of downcasting a GridBase pointer to a Grid pointer of the specified type, or return a null pointer if the types are incompatible. More...
 

Statistics

ValueType &maxVal const
 Return the number of active voxels. More...
 
Index64 activeVoxelCount () const override
 Return the number of active voxels. More...
 
CoordBBox evalActiveVoxelBoundingBox () const override
 Return the axis-aligned bounding box of all active voxels. More...
 
Coord evalActiveVoxelDim () const override
 Return the dimensions of the axis-aligned bounding box of all active voxels. More...
 
 OPENVDB_DEPRECATED_MESSAGE ("Switch from grid->evalMinMax(minVal, maxVal) to \ tools::minMax(grid->tree()). Use threaded = false for serial execution") void evalMinMax(ValueType &minVal
 Return the minimum and maximum active values in this grid. More...
 
Index64 memUsage () const override
 

Additional Inherited Members

- Static Public Attributes inherited from openvdb::OPENVDB_VERSION_NAME::GridBase
static const char *const META_GRID_CLASS
 
static const char *const META_GRID_CREATOR
 
static const char *const META_GRID_NAME
 
static const char *const META_SAVE_HALF_FLOAT
 
static const char *const META_IS_LOCAL_SPACE
 
static const char *const META_VECTOR_TYPE
 
static const char *const META_FILE_BBOX_MIN
 
static const char *const META_FILE_BBOX_MAX
 
static const char *const META_FILE_COMPRESSION
 
static const char *const META_FILE_MEM_BYTES
 
static const char *const META_FILE_VOXEL_COUNT
 
static const char *const META_FILE_DELAYED_LOAD
 
- Protected Member Functions inherited from openvdb::OPENVDB_VERSION_NAME::GridBase
 GridBase ()
 Initialize with an identity linear transform. More...
 
 GridBase (const MetaMap &meta, math::Transform::Ptr xform)
 Initialize with metadata and a transform. More...
 
 GridBase (const GridBase &other)
 Deep copy another grid's metadata and transform. More...
 
 GridBase (GridBase &other, ShallowCopy)
 Copy another grid's metadata but share its transform. More...
 
- Static Protected Member Functions inherited from openvdb::OPENVDB_VERSION_NAME::GridBase
static void registerGrid (const Name &type, GridFactory)
 Register a grid type along with a factory function. More...
 
static void unregisterGrid (const Name &type)
 Remove a grid type from the registry. More...
 

Detailed Description

template<typename>
class openvdb::OPENVDB_VERSION_NAME::Grid< typename >

Container class that associates a tree with a transform and metadata.

Definition at line 28 of file Grid.h.

Member Typedef Documentation

template<typename >
using openvdb::OPENVDB_VERSION_NAME::Grid< typename >::Accessor = typename tree::ValueAccessor<_TreeType, true>

Definition at line 589 of file Grid.h.

template<typename >
using openvdb::OPENVDB_VERSION_NAME::Grid< typename >::BuildType = typename _TreeType::BuildType

Definition at line 580 of file Grid.h.

template<typename >
using openvdb::OPENVDB_VERSION_NAME::Grid< typename >::ConstAccessor = typename tree::ValueAccessor<const _TreeType, true>

Definition at line 590 of file Grid.h.

template<typename >
using openvdb::OPENVDB_VERSION_NAME::Grid< typename >::ConstPtr = SharedPtr<const Grid>

Definition at line 574 of file Grid.h.

template<typename >
using openvdb::OPENVDB_VERSION_NAME::Grid< typename >::ConstTreePtrType = typename _TreeType::ConstPtr

Definition at line 578 of file Grid.h.

template<typename >
using openvdb::OPENVDB_VERSION_NAME::Grid< typename >::ConstUnsafeAccessor = typename tree::ValueAccessor<const _TreeType, false>

Definition at line 592 of file Grid.h.

template<typename >
using openvdb::OPENVDB_VERSION_NAME::Grid< typename >::Ptr = SharedPtr<Grid>

Definition at line 573 of file Grid.h.

template<typename >
using openvdb::OPENVDB_VERSION_NAME::Grid< typename >::TreePtrType = typename _TreeType::Ptr

Definition at line 577 of file Grid.h.

template<typename >
using openvdb::OPENVDB_VERSION_NAME::Grid< typename >::TreeType = _TreeType

Definition at line 576 of file Grid.h.

template<typename >
using openvdb::OPENVDB_VERSION_NAME::Grid< typename >::UnsafeAccessor = typename tree::ValueAccessor<_TreeType, false>

Definition at line 591 of file Grid.h.

template<typename >
using openvdb::OPENVDB_VERSION_NAME::Grid< typename >::ValueAllCIter = typename _TreeType::ValueAllCIter

Definition at line 587 of file Grid.h.

template<typename >
using openvdb::OPENVDB_VERSION_NAME::Grid< typename >::ValueAllIter = typename _TreeType::ValueAllIter

Definition at line 586 of file Grid.h.

template<typename >
using openvdb::OPENVDB_VERSION_NAME::Grid< typename >::ValueOffCIter = typename _TreeType::ValueOffCIter

Definition at line 585 of file Grid.h.

template<typename >
using openvdb::OPENVDB_VERSION_NAME::Grid< typename >::ValueOffIter = typename _TreeType::ValueOffIter

Definition at line 584 of file Grid.h.

template<typename >
using openvdb::OPENVDB_VERSION_NAME::Grid< typename >::ValueOnCIter = typename _TreeType::ValueOnCIter

Definition at line 583 of file Grid.h.

template<typename >
using openvdb::OPENVDB_VERSION_NAME::Grid< typename >::ValueOnIter = typename _TreeType::ValueOnIter

Definition at line 582 of file Grid.h.

template<typename >
using openvdb::OPENVDB_VERSION_NAME::Grid< typename >::ValueType = typename _TreeType::ValueType

Definition at line 579 of file Grid.h.

Constructor & Destructor Documentation

template<typename TreeT >
openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::Grid ( )
inline

Construct a new grid with background value zero.

Definition at line 1245 of file Grid.h.

template<typename TreeT >
openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::Grid ( const ValueType background)
inlineexplicit

Construct a new grid with the given background value.

Definition at line 1251 of file Grid.h.

template<typename TreeT >
openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::Grid ( TreePtrType  tree)
inlineexplicit

Construct a new grid that shares the given tree and associates with it an identity linear transform.

Exceptions
ValueErrorif the tree pointer is null

Definition at line 1257 of file Grid.h.

template<typename TreeT >
openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::Grid ( const Grid< typename > &  other)
inline

Deep copy another grid's metadata, transform and tree.

Definition at line 1273 of file Grid.h.

template<typename TreeT >
template<typename OtherTreeType >
openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::Grid ( const Grid< OtherTreeType > &  other)
inlineexplicit

Deep copy the metadata, transform and tree of another grid whose tree configuration is the same as this grid's but whose value type is different. Cast the other grid's values to this grid's value type.

Exceptions
TypeErrorif the other grid's tree configuration doesn't match this grid's or if this grid's ValueType is not constructible from the other grid's ValueType.

Definition at line 1282 of file Grid.h.

template<typename TreeT >
openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::Grid ( Grid< typename > &  other,
ShallowCopy   
)
inline

Deep copy another grid's metadata and transform, but share its tree.

Definition at line 1290 of file Grid.h.

template<typename TreeT >
openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::Grid ( const GridBase other)
inlineexplicit

Deep copy another grid's metadata and transform, but construct a new tree with background value zero.

Definition at line 1298 of file Grid.h.

template<typename >
openvdb::OPENVDB_VERSION_NAME::Grid< typename >::~Grid ( )
inlineoverride

Definition at line 640 of file Grid.h.

Member Function Documentation

template<typename >
Index64 openvdb::OPENVDB_VERSION_NAME::Grid< typename >::activeVoxelCount ( ) const
inlineoverridevirtual

Return the number of active voxels.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 871 of file Grid.h.

template<typename >
const ValueType& openvdb::OPENVDB_VERSION_NAME::Grid< typename >::background ( ) const
inline

Return this grid's background value.

Note
Use tools::changeBackground to efficiently modify the background value.

Definition at line 722 of file Grid.h.

template<typename >
ValueAllIter openvdb::OPENVDB_VERSION_NAME::Grid< typename >::beginValueAll ( )
inline

Return an iterator over all of this grid's values (tile and voxel).

Definition at line 767 of file Grid.h.

template<typename >
ValueAllCIter openvdb::OPENVDB_VERSION_NAME::Grid< typename >::beginValueAll ( ) const
inline

Return an iterator over all of this grid's values (tile and voxel).

Definition at line 769 of file Grid.h.

template<typename >
ValueOffIter openvdb::OPENVDB_VERSION_NAME::Grid< typename >::beginValueOff ( )
inline

Return an iterator over all of this grid's inactive values (tile and voxel).

Definition at line 761 of file Grid.h.

template<typename >
ValueOffCIter openvdb::OPENVDB_VERSION_NAME::Grid< typename >::beginValueOff ( ) const
inline

Return an iterator over all of this grid's inactive values (tile and voxel).

Definition at line 763 of file Grid.h.

template<typename >
ValueOnIter openvdb::OPENVDB_VERSION_NAME::Grid< typename >::beginValueOn ( )
inline

Return an iterator over all of this grid's active values (tile and voxel).

Definition at line 755 of file Grid.h.

template<typename >
ValueOnCIter openvdb::OPENVDB_VERSION_NAME::Grid< typename >::beginValueOn ( ) const
inline

Return an iterator over all of this grid's active values (tile and voxel).

Definition at line 757 of file Grid.h.

template<typename >
ValueAllCIter openvdb::OPENVDB_VERSION_NAME::Grid< typename >::cbeginValueAll ( ) const
inline

Return an iterator over all of this grid's values (tile and voxel).

Definition at line 771 of file Grid.h.

template<typename >
ValueOffCIter openvdb::OPENVDB_VERSION_NAME::Grid< typename >::cbeginValueOff ( ) const
inline

Return an iterator over all of this grid's inactive values (tile and voxel).

Definition at line 765 of file Grid.h.

template<typename >
ValueOnCIter openvdb::OPENVDB_VERSION_NAME::Grid< typename >::cbeginValueOn ( ) const
inline

Return an iterator over all of this grid's active values (tile and voxel).

Definition at line 759 of file Grid.h.

template<typename >
void openvdb::OPENVDB_VERSION_NAME::Grid< typename >::clear ( void  )
inlineoverridevirtual

Empty this grid, so that all voxels become inactive background voxels.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 727 of file Grid.h.

template<typename TreeT >
void openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::clip ( const CoordBBox &  bbox)
inlineoverridevirtual

Clip this grid to the given index-space bounding box.

Voxels that lie outside the bounding box are set to the background.

Warning
Clipping a level set will likely produce a grid that is no longer a valid level set.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1508 of file Grid.h.

template<typename >
TreeBase::ConstPtr openvdb::OPENVDB_VERSION_NAME::Grid< typename >::constBaseTreePtr ( ) const
inlineoverridevirtual

Return a pointer to this grid's tree, which might be shared with other grids. The pointer is guaranteed to be non-null.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 897 of file Grid.h.

template<typename >
const TreeType& openvdb::OPENVDB_VERSION_NAME::Grid< typename >::constTree ( ) const
inline

Return a reference to this grid's tree, which might be shared with other grids.

Note
Calling setTree() on this grid invalidates all references previously returned by this method.

Definition at line 910 of file Grid.h.

template<typename >
ConstTreePtrType openvdb::OPENVDB_VERSION_NAME::Grid< typename >::constTreePtr ( ) const
inline

Return a pointer to this grid's tree, which might be shared with other grids. The pointer is guaranteed to be non-null.

Definition at line 896 of file Grid.h.

template<typename TreeT >
Grid< TreeT >::Ptr openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::copy ( )
inline

Return a new grid of the same type as this grid whose metadata and transform are deep copies of this grid's and whose tree is shared with this grid.

Definition at line 1381 of file Grid.h.

template<typename TreeT >
Grid< TreeT >::ConstPtr openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::copy ( ) const
inline

Return a new grid of the same type as this grid whose metadata and transform are deep copies of this grid's and whose tree is shared with this grid.

Definition at line 1346 of file Grid.h.

template<typename TreeT >
GridBase::Ptr openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::copyGrid ( )
inlineoverridevirtual

Return a new grid of the same type as this grid whose metadata is a deep copy of this grid's and whose tree and transform are shared with this grid.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1399 of file Grid.h.

template<typename TreeT >
GridBase::ConstPtr openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::copyGrid ( ) const
inlineoverridevirtual

Return a new grid of the same type as this grid whose metadata is a deep copy of this grid's and whose tree and transform are shared with this grid.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1406 of file Grid.h.

template<typename TreeT >
GridBase::ConstPtr openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::copyGridReplacingMetadata ( const MetaMap meta) const
inlineoverridevirtual

Return a new grid of the same type as this grid whose tree and transform is shared with this grid and whose metadata is provided as an argument.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1413 of file Grid.h.

template<typename TreeT >
GridBase::ConstPtr openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::copyGridReplacingMetadataAndTransform ( const MetaMap meta,
math::Transform::Ptr  xform 
) const
inlineoverridevirtual

Return a new grid of the same type as this grid whose tree is shared with this grid and whose transform and metadata are provided as arguments.

Exceptions
ValueErrorif the transform pointer is null

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1427 of file Grid.h.

template<typename TreeT >
GridBase::ConstPtr openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::copyGridReplacingTransform ( math::Transform::Ptr  xform) const
inlineoverridevirtual

Return a new grid of the same type as this grid whose tree is shared with this grid, whose metadata is a deep copy of this grid's and whose transform is provided as an argument.

Exceptions
ValueErrorif the transform pointer is null

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1420 of file Grid.h.

template<typename TreeT >
GridBase::Ptr openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::copyGridWithNewTree ( ) const
inlineoverridevirtual

Return a new grid of the same type as this grid whose metadata and transform are deep copies of this grid's and whose tree is default-constructed.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1435 of file Grid.h.

template<typename TreeT >
Grid< TreeT >::ConstPtr openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::copyReplacingMetadata ( const MetaMap meta) const
inline

Return a new grid of the same type as this grid whose tree and transform is shared with this grid and whose metadata is provided as an argument.

Definition at line 1354 of file Grid.h.

template<typename TreeT >
Grid< TreeT >::ConstPtr openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::copyReplacingMetadataAndTransform ( const MetaMap meta,
math::Transform::Ptr  xform 
) const
inline

Return a new grid of the same type as this grid whose tree is shared with this grid and whose transform and metadata are provided as arguments.

Exceptions
ValueErrorif the transform pointer is null

Definition at line 1371 of file Grid.h.

template<typename TreeT >
Grid< TreeT >::ConstPtr openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::copyReplacingTransform ( math::Transform::Ptr  xform) const
inline

Return a new grid of the same type as this grid whose tree is shared with this grid, whose metadata is a deep copy of this grid's and whose transform is provided as an argument.

Exceptions
ValueErrorif the transform pointer is null

Definition at line 1364 of file Grid.h.

template<typename TreeT >
Grid< TreeT >::Ptr openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::copyWithNewTree ( ) const
inline

Return a new grid of the same type as this grid whose metadata and transform are deep copies of this grid's and whose tree is default-constructed.

Definition at line 1389 of file Grid.h.

template<typename TreeT >
Grid< TreeT >::Ptr openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::create ( const ValueType background)
inlinestatic

Return a new grid with the given background value.

Definition at line 1317 of file Grid.h.

template<typename TreeT >
Grid< TreeT >::Ptr openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::create ( )
inlinestatic

Return a new grid with background value zero.

Definition at line 1308 of file Grid.h.

template<typename TreeT >
Grid< TreeT >::Ptr openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::create ( TreePtrType  tree)
inlinestatic

Return a new grid that contains the given tree.

Exceptions
ValueErrorif the tree pointer is null

Definition at line 1326 of file Grid.h.

template<typename TreeT >
Grid< TreeT >::Ptr openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::create ( const GridBase other)
inlinestatic

Return a new, empty grid with the same transform and metadata as the given grid and with background value zero.

Definition at line 1335 of file Grid.h.

template<typename >
Ptr openvdb::OPENVDB_VERSION_NAME::Grid< typename >::deepCopy ( ) const
inline

Return a new grid whose metadata, transform and tree are deep copies of this grid's.

Definition at line 701 of file Grid.h.

template<typename >
GridBase::Ptr openvdb::OPENVDB_VERSION_NAME::Grid< typename >::deepCopyGrid ( ) const
inlineoverridevirtual

Return a new grid whose metadata, transform and tree are deep copies of this grid's.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 703 of file Grid.h.

template<typename TreeT >
void openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::denseFill ( const CoordBBox &  bbox,
const ValueType value,
bool  active = true 
)
inline

Set all voxels within a given axis-aligned box to a constant value and ensure that those voxels are all represented at the leaf level.

Parameters
bboxinclusive coordinates of opposite corners of an axis-aligned box.
valuethe value to which to set voxels within the box.
activeif true, mark voxels within the box as active, otherwise mark them as inactive.

Definition at line 1493 of file Grid.h.

template<typename >
bool openvdb::OPENVDB_VERSION_NAME::Grid< typename >::empty ( void  ) const
inlineoverridevirtual

Return true if this grid contains only inactive background voxels.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 725 of file Grid.h.

template<typename TreeT >
CoordBBox openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::evalActiveVoxelBoundingBox ( ) const
inlineoverridevirtual

Return the axis-aligned bounding box of all active voxels.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1563 of file Grid.h.

template<typename TreeT >
Coord openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::evalActiveVoxelDim ( ) const
inlineoverridevirtual

Return the dimensions of the axis-aligned bounding box of all active voxels.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1573 of file Grid.h.

template<typename TreeT >
void openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::fill ( const CoordBBox &  bbox,
const ValueType value,
bool  active = true 
)
inline

Set all voxels within a given axis-aligned box to a constant value.

Parameters
bboxinclusive coordinates of opposite corners of an axis-aligned box
valuethe value to which to set voxels within the box
activeif true, mark voxels within the box as active, otherwise mark them as inactive
Note
This operation generates a sparse, but not always optimally sparse, representation of the filled box. Follow fill operations with a prune() operation for optimal sparseness.

Definition at line 1486 of file Grid.h.

template<typename >
Accessor openvdb::OPENVDB_VERSION_NAME::Grid< typename >::getAccessor ( )
inline

Return an accessor that provides random read and write access to this grid's voxels.

The accessor is safe in the sense that it is registered with this grid's tree.

Definition at line 732 of file Grid.h.

template<typename >
ConstAccessor openvdb::OPENVDB_VERSION_NAME::Grid< typename >::getAccessor ( ) const
inline

Return an accessor that provides random read-only access to this grid's voxels.

Definition at line 742 of file Grid.h.

template<typename >
ConstAccessor openvdb::OPENVDB_VERSION_NAME::Grid< typename >::getConstAccessor ( ) const
inline

Return an accessor that provides random read-only access to this grid's voxels.

Definition at line 744 of file Grid.h.

template<typename >
ConstUnsafeAccessor openvdb::OPENVDB_VERSION_NAME::Grid< typename >::getConstUnsafeAccessor ( ) const
inline

Return an unsafe accessor that provides random read-only access to this grid's voxels.

The accessor is unsafe in the sense that it is not registered with this grid's tree. In some rare cases this can give a performance advantage over a registered accessor, but it is unsafe if the tree topology is modified.

Warning
Only use this method if you're an expert and know the risks of using an unregistered accessor (see tree/ValueAccessor.h)

Definition at line 752 of file Grid.h.

template<typename >
UnsafeAccessor openvdb::OPENVDB_VERSION_NAME::Grid< typename >::getUnsafeAccessor ( )
inline

Return an unsafe accessor that provides random read and write access to this grid's voxels.

The accessor is unsafe in the sense that it is not registered with this grid's tree. In some rare cases this can give a performance advantage over a registered accessor, but it is unsafe if the tree topology is modified.

Warning
Only use this method if you're an expert and know the risks of using an unregistered accessor (see tree/ValueAccessor.h)

Definition at line 740 of file Grid.h.

template<typename >
static Name openvdb::OPENVDB_VERSION_NAME::Grid< typename >::gridType ( )
inlinestatic

Return the name of this type of grid.

Definition at line 711 of file Grid.h.

template<typename TreeT >
bool openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::hasMultiPassIO ( )
inlinestatic

Return true if grids of this type require multiple I/O passes to read and write data buffers.

See Also
HasMultiPassIO

Definition at line 1687 of file Grid.h.

template<typename >
static bool openvdb::OPENVDB_VERSION_NAME::Grid< typename >::isRegistered ( )
inlinestatic

Return true if this grid type is registered.

Definition at line 970 of file Grid.h.

template<typename TreeT >
bool openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::isTreeUnique ( ) const
inlinefinalvirtual

Return true if tree is not shared with another grid.

Note
This is a virtual function with ABI=8

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1446 of file Grid.h.

template<typename >
Index64 openvdb::OPENVDB_VERSION_NAME::Grid< typename >::memUsage ( ) const
inlineoverridevirtual

Return the number of bytes of memory used by this grid.

Todo:
Add transform().memUsage()

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 883 of file Grid.h.

template<typename TreeT >
void openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::merge ( Grid< typename > &  other,
MergePolicy  policy = MERGE_ACTIVE_STATES 
)
inline

Efficiently merge another grid into this grid using one of several schemes.

This operation is primarily intended to combine grids that are mostly non-overlapping (for example, intermediate grids from computations that are parallelized across disjoint regions of space).

Warning
This operation always empties the other grid.

Definition at line 1515 of file Grid.h.

template<typename TreeT >
void openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::newTree ( )
inlineoverridevirtual

Associate a new, empty tree with this grid, in place of its existing tree.

Note
The new tree has the same background value as the existing tree.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1467 of file Grid.h.

template<typename >
openvdb::OPENVDB_VERSION_NAME::Grid< typename >::OPENVDB_DEPRECATED_MESSAGE ( )

Return the minimum and maximum active values in this grid.

template<typename >
Grid& openvdb::OPENVDB_VERSION_NAME::Grid< typename >::operator= ( const Grid< typename > &  )
delete

Disallow assignment, since it wouldn't be obvious whether the copy is deep or shallow.

template<typename TreeT >
void openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::print ( std::ostream &  os = std::cout,
int  verboseLevel = 1 
) const
inlineoverridevirtual

Output a human-readable description of this grid.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1695 of file Grid.h.

template<typename TreeT >
void openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::pruneGrid ( float  tolerance = 0.0)
inlineoverridevirtual

Reduce the memory footprint of this grid by increasing its sparseness.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1500 of file Grid.h.

template<typename TreeT >
void openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::readBuffers ( std::istream &  is)
inlineoverridevirtual

Read all data buffers for this grid.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1605 of file Grid.h.

template<typename TreeT >
void openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::readBuffers ( std::istream &  is,
const CoordBBox &  bbox 
)
inlineoverridevirtual

Read all of this grid's data buffers that intersect the given index-space bounding box.

Todo:
Refactor this and the readBuffers() above once support for ABI 2 compatibility is dropped.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1627 of file Grid.h.

template<typename TreeT >
void openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::readNonresidentBuffers ( ) const
inlineoverridevirtual

Read all of this grid's data buffers that are not yet resident in memory (because delayed loading is in effect).

If this grid was read from a memory-mapped file, this operation disconnects the grid from the file.

See Also
io::File::open, io::MappedFile

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1650 of file Grid.h.

template<typename TreeT >
void openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::readTopology ( std::istream &  is)
inlineoverridevirtual

Read the grid topology from a stream. This will read only the grid structure, not the actual data buffers.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1589 of file Grid.h.

template<typename >
static void openvdb::OPENVDB_VERSION_NAME::Grid< typename >::registerGrid ( )
inlinestatic

Register this grid type along with a factory function.

Definition at line 972 of file Grid.h.

template<typename TreeT >
void openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::setTree ( TreeBase::Ptr  tree)
inlineoverridevirtual

Associate the given tree with this grid, in place of its existing tree.

Exceptions
ValueErrorif the tree pointer is null
TypeErrorif the tree is not of type TreeType
Note
Invalidates all references previously returned by baseTree(), constBaseTree(), tree() or constTree().

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1454 of file Grid.h.

template<typename TreeT >
void openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::sparseFill ( const CoordBBox &  bbox,
const ValueType value,
bool  active = true 
)
inline

Set all voxels within a given axis-aligned box to a constant value.

Parameters
bboxinclusive coordinates of opposite corners of an axis-aligned box
valuethe value to which to set voxels within the box
activeif true, mark voxels within the box as active, otherwise mark them as inactive
Note
This operation generates a sparse, but not always optimally sparse, representation of the filled box. Follow fill operations with a prune() operation for optimal sparseness.

Definition at line 1478 of file Grid.h.

template<typename TreeT >
template<typename OtherTreeType >
void openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::topologyDifference ( const Grid< OtherTreeType > &  other)
inline

Difference this grid's set of active values with the active values of the other grid, whose value type may be different.

After this method is called, voxels in this grid will be active only if they were active to begin with and if the corresponding voxels in the other grid were inactive.

Note
This operation can delete branches of this grid that overlap with active tiles in the other grid. Also, because it can deactivate voxels, it can create leaf nodes with no active values. Thus, it is recommended to prune this grid after calling this method.

Definition at line 1542 of file Grid.h.

template<typename TreeT >
template<typename OtherTreeType >
void openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::topologyIntersection ( const Grid< OtherTreeType > &  other)
inline

Intersect this grid's set of active values with the active values of the other grid, whose value type may be different.

The resulting state of a value is active only if the corresponding value was already active AND if it is active in the other tree. Also, a resulting value maps to a voxel if the corresponding value already mapped to an active voxel in either of the two grids and it maps to an active tile or voxel in the other grid.

Note
This operation can delete branches of this grid that overlap with inactive tiles in the other grid. Also, because it can deactivate voxels, it can create leaf nodes with no active values. Thus, it is recommended to prune this grid after calling this method.

Definition at line 1533 of file Grid.h.

template<typename TreeT >
template<typename OtherTreeType >
void openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::topologyUnion ( const Grid< OtherTreeType > &  other)
inline

Union this grid's set of active values with the active values of the other grid, whose value type may be different.

The resulting state of a value is active if the corresponding value was already active OR if it is active in the other grid. Also, a resulting value maps to a voxel if the corresponding value already mapped to a voxel OR if it is a voxel in the other grid. Thus, a resulting value can only map to a tile if the corresponding value already mapped to a tile AND if it is a tile value in the other grid.

Note
This operation modifies only active states, not values. Specifically, active tiles and voxels in this grid are not changed, and tiles or voxels that were inactive in this grid but active in the other grid are marked as active in this grid but left with their original values.

Definition at line 1524 of file Grid.h.

template<typename >
TreeType& openvdb::OPENVDB_VERSION_NAME::Grid< typename >::tree ( )
inline

Return a reference to this grid's tree, which might be shared with other grids.

Note
Calling setTree() on this grid invalidates all references previously returned by this method.

Definition at line 908 of file Grid.h.

template<typename >
const TreeType& openvdb::OPENVDB_VERSION_NAME::Grid< typename >::tree ( ) const
inline

Return a reference to this grid's tree, which might be shared with other grids.

Note
Calling setTree() on this grid invalidates all references previously returned by this method.

Definition at line 909 of file Grid.h.

template<typename >
TreePtrType openvdb::OPENVDB_VERSION_NAME::Grid< typename >::treePtr ( )
inline

Return a pointer to this grid's tree, which might be shared with other grids. The pointer is guaranteed to be non-null.

Definition at line 894 of file Grid.h.

template<typename >
ConstTreePtrType openvdb::OPENVDB_VERSION_NAME::Grid< typename >::treePtr ( ) const
inline

Return a pointer to this grid's tree, which might be shared with other grids. The pointer is guaranteed to be non-null.

Definition at line 895 of file Grid.h.

template<typename >
Name openvdb::OPENVDB_VERSION_NAME::Grid< typename >::type ( ) const
inlineoverridevirtual

Return the name of this grid's type.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 709 of file Grid.h.

template<typename >
static void openvdb::OPENVDB_VERSION_NAME::Grid< typename >::unregisterGrid ( )
inlinestatic

Remove this grid type from the registry.

Definition at line 974 of file Grid.h.

template<typename >
Name openvdb::OPENVDB_VERSION_NAME::Grid< typename >::valueType ( ) const
inlineoverridevirtual

Return the name of the type of a voxel's value (e.g., "float" or "vec3d").

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 714 of file Grid.h.

template<typename TreeT >
void openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::writeBuffers ( std::ostream &  os) const
inlineoverridevirtual

Write out all data buffers for this grid.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1658 of file Grid.h.

template<typename TreeT >
void openvdb::OPENVDB_VERSION_NAME::Grid< TreeT >::writeTopology ( std::ostream &  os) const
inlineoverridevirtual

Write the grid topology to a stream. This will write only the grid structure, not the actual data buffers.

Implements openvdb::OPENVDB_VERSION_NAME::GridBase.

Definition at line 1597 of file Grid.h.

Member Data Documentation

template<typename >
ValueType& maxVal openvdb::OPENVDB_VERSION_NAME::Grid< typename >::const

Return the number of active voxels.

Definition at line 879 of file Grid.h.


The documentation for this class was generated from the following file: