HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
openvdb::OPENVDB_VERSION_NAME Namespace Reference

Namespaces

 compression
 
 internal
 
 io
 
 logging
 
 math
 
 points
 
 tools
 
 tree
 
 util
 

Classes

class  Exception
 
class  IllegalValueException
 
class  Grid
 Container class that associates a tree with a transform and metadata. More...
 
class  GridBase
 Abstract base class for typed grids. More...
 
struct  GridNamePred
 Predicate functor that returns true for grids that have a specified name. More...
 
struct  TreeAdapter
 This adapter allows code that is templated on a Tree type to accept either a Tree type or a Grid type. More...
 
struct  TreeAdapter< Grid< _TreeType > >
 Partial specialization for Grid types. More...
 
struct  TreeAdapter< tree::ValueAccessor< _TreeType > >
 Partial specialization for ValueAccessor types. More...
 
struct  HasMultiPassIO
 Metafunction that specifies whether a given leaf node, tree, or grid type requires multiple passes to read and write voxel data. More...
 
struct  HasMultiPassIO< tree::Tree< RootNodeType > >
 
struct  HasMultiPassIO< Grid< TreeType > >
 
class  Metadata
 Base class for storing metadata information in a grid. More...
 
class  UnknownMetadata
 Subclass to hold raw data of an unregistered type. More...
 
class  TypedMetadata
 Templated metadata class to hold specific types. More...
 
class  MetaMap
 Container that maps names (strings) to values of arbitrary types. More...
 
class  ValueMask
 
struct  PointIndex
 Integer wrapper, required to distinguish PointIndexGrid and PointDataGrid from Int32Grid and Int64Grid. More...
 
struct  IsSpecializationOf
 Helper metafunction used to determine if the first template parameter is a specialization of the class template given in the second template parameter. More...
 
struct  IsSpecializationOf< Template< Args...>, Template >
 
struct  VecTraits
 
struct  VecTraits< T, false >
 
struct  QuatTraits
 
struct  QuatTraits< T, false >
 
struct  MatTraits
 
struct  MatTraits< T, false >
 
struct  ValueTraits
 
struct  ValueTraits< T, false >
 
struct  CanConvertType
 CanConvertType<FromType, ToType>::value is true if a value of type ToType can be constructed from a value of type FromType. More...
 
struct  CanConvertType< T, math::Vec2< T > >
 
struct  CanConvertType< T, math::Vec3< T > >
 
struct  CanConvertType< T, math::Vec4< T > >
 
struct  CanConvertType< math::Vec2< T >, math::Vec2< T > >
 
struct  CanConvertType< math::Vec3< T >, math::Vec3< T > >
 
struct  CanConvertType< math::Vec4< T >, math::Vec4< T > >
 
struct  CanConvertType< T0, math::Vec2< T1 > >
 
struct  CanConvertType< T0, math::Vec3< T1 > >
 
struct  CanConvertType< T0, math::Vec4< T1 > >
 
struct  CanConvertType< PointIndex32, PointDataIndex32 >
 
struct  CanConvertType< PointDataIndex32, PointIndex32 >
 
struct  CanConvertType< T, ValueMask >
 
struct  CanConvertType< ValueMask, T >
 
struct  CopyConstness
 CopyConstness<T1, T2>::Type is either const T2 or T2 with no const qualifier, depending on whether T1 is const. More...
 
struct  TypeList
 A list of types (not necessarily unique) More...
 
class  CombineArgs
 This struct collects both input and output arguments to "grid combiner" functors used with the tree::TypedGrid::combineExtended() and combine2Extended() methods. AValueType and BValueType are the value types of the two grids being combined. More...
 
struct  SwappedCombineOp
 
class  ShallowCopy
 Tag dispatch class that distinguishes shallow copy constructors from deep copy constructors. More...
 
class  TopologyCopy
 Tag dispatch class that distinguishes topology copy constructors from deep copy constructors. More...
 
class  PartialCreate
 Tag dispatch class that distinguishes constructors during file input. More...
 
struct  VersionId
 

Typedefs

using TreeBase = tree::TreeBase
 
using GridPtrVec = std::vector< GridBase::Ptr >
 
using GridPtrVecIter = GridPtrVec::iterator
 
using GridPtrVecCIter = GridPtrVec::const_iterator
 
using GridPtrVecPtr = SharedPtr< GridPtrVec >
 
using GridCPtrVec = std::vector< GridBase::ConstPtr >
 
using GridCPtrVecIter = GridCPtrVec::iterator
 
using GridCPtrVecCIter = GridCPtrVec::const_iterator
 
using GridCPtrVecPtr = SharedPtr< GridCPtrVec >
 
using GridPtrSet = std::set< GridBase::Ptr >
 
using GridPtrSetIter = GridPtrSet::iterator
 
using GridPtrSetCIter = GridPtrSet::const_iterator
 
using GridPtrSetPtr = SharedPtr< GridPtrSet >
 
using GridCPtrSet = std::set< GridBase::ConstPtr >
 
using GridCPtrSetIter = GridCPtrSet::iterator
 
using GridCPtrSetCIter = GridCPtrSet::const_iterator
 
using GridCPtrSetPtr = SharedPtr< GridCPtrSet >
 
using BoolMetadata = TypedMetadata< bool >
 
using DoubleMetadata = TypedMetadata< double >
 
using FloatMetadata = TypedMetadata< float >
 
using Int32Metadata = TypedMetadata< int32_t >
 
using Int64Metadata = TypedMetadata< int64_t >
 
using StringMetadata = TypedMetadata< std::string >
 
using Vec2DMetadata = TypedMetadata< Vec2d >
 
using Vec2IMetadata = TypedMetadata< Vec2i >
 
using Vec2SMetadata = TypedMetadata< Vec2s >
 
using Vec3DMetadata = TypedMetadata< Vec3d >
 
using Vec3IMetadata = TypedMetadata< Vec3i >
 
using Vec3SMetadata = TypedMetadata< Vec3s >
 
using Vec4DMetadata = TypedMetadata< Vec4d >
 
using Vec4IMetadata = TypedMetadata< Vec4i >
 
using Vec4SMetadata = TypedMetadata< Vec4s >
 
using Mat4SMetadata = TypedMetadata< Mat4s >
 
using Mat4DMetadata = TypedMetadata< Mat4d >
 
using BoolTree = tree::Tree4< bool, 5, 4, 3 >::Type
 Common tree types. More...
 
using DoubleTree = tree::Tree4< double, 5, 4, 3 >::Type
 
using FloatTree = tree::Tree4< float, 5, 4, 3 >::Type
 
using Int32Tree = tree::Tree4< int32_t, 5, 4, 3 >::Type
 
using Int64Tree = tree::Tree4< int64_t, 5, 4, 3 >::Type
 
using MaskTree = tree::Tree4< ValueMask, 5, 4, 3 >::Type
 
using StringTree = tree::Tree4< std::string, 5, 4, 3 >::Type
 
using UInt32Tree = tree::Tree4< uint32_t, 5, 4, 3 >::Type
 
using Vec2DTree = tree::Tree4< Vec2d, 5, 4, 3 >::Type
 
using Vec2ITree = tree::Tree4< Vec2i, 5, 4, 3 >::Type
 
using Vec2STree = tree::Tree4< Vec2s, 5, 4, 3 >::Type
 
using Vec3DTree = tree::Tree4< Vec3d, 5, 4, 3 >::Type
 
using Vec3ITree = tree::Tree4< Vec3i, 5, 4, 3 >::Type
 
using Vec3STree = tree::Tree4< Vec3f, 5, 4, 3 >::Type
 
using ScalarTree = FloatTree
 
using TopologyTree = MaskTree
 
using Vec3dTree = Vec3DTree
 
using Vec3fTree = Vec3STree
 
using VectorTree = Vec3fTree
 
using BoolGrid = Grid< BoolTree >
 Common grid types. More...
 
using DoubleGrid = Grid< DoubleTree >
 
using FloatGrid = Grid< FloatTree >
 
using Int32Grid = Grid< Int32Tree >
 
using Int64Grid = Grid< Int64Tree >
 
using MaskGrid = Grid< MaskTree >
 
using StringGrid = Grid< StringTree >
 
using Vec3DGrid = Grid< Vec3DTree >
 
using Vec3IGrid = Grid< Vec3ITree >
 
using Vec3SGrid = Grid< Vec3STree >
 
using ScalarGrid = FloatGrid
 
using TopologyGrid = MaskGrid
 
using Vec3dGrid = Vec3DGrid
 
using Vec3fGrid = Vec3SGrid
 
using VectorGrid = Vec3fGrid
 
using NamePair = std::pair< Name, Name >
 
using Index32 = uint32_t
 
using Index64 = uint64_t
 
using Index = Index32
 
using Int16 = int16_t
 
using Int32 = int32_t
 
using Int64 = int64_t
 
using Int = Int32
 
using Byte = unsigned char
 
using Real = double
 
using Vec2R = math::Vec2< Real >
 
using Vec2I = math::Vec2< Index32 >
 
using Vec2f = math::Vec2< float >
 
using Vec2H = math::Vec2< half >
 
using Vec3R = math::Vec3< Real >
 
using Vec3I = math::Vec3< Index32 >
 
using Vec3f = math::Vec3< float >
 
using Vec3H = math::Vec3< half >
 
using Vec3U8 = math::Vec3< uint8_t >
 
using Vec3U16 = math::Vec3< uint16_t >
 
using BBoxd = math::BBox< Vec3d >
 
using Vec4R = math::Vec4< Real >
 
using Vec4I = math::Vec4< Index32 >
 
using Vec4f = math::Vec4< float >
 
using Vec4H = math::Vec4< half >
 
using Mat3R = math::Mat3< Real >
 
using Mat4R = math::Mat4< Real >
 
using QuatR = math::Quat< Real >
 
template<typename T >
using SharedPtr = std::shared_ptr< T >
 
template<typename T >
using WeakPtr = std::weak_ptr< T >
 
using PointIndex32 = PointIndex< Index32, 0 >
 
using PointIndex64 = PointIndex< Index64, 0 >
 
using PointDataIndex32 = PointIndex< Index32, 1 >
 
using PointDataIndex64 = PointIndex< Index64, 1 >
 
typedef std::string Name
 

Enumerations

enum  GridClass { GRID_UNKNOWN = 0, GRID_LEVEL_SET, GRID_FOG_VOLUME, GRID_STAGGERED }
 
enum  { NUM_GRID_CLASSES = GRID_STAGGERED + 1 }
 
enum  VecType {
  VEC_INVARIANT = 0, VEC_COVARIANT, VEC_COVARIANT_NORMALIZE, VEC_CONTRAVARIANT_RELATIVE,
  VEC_CONTRAVARIANT_ABSOLUTE
}
 
enum  { NUM_VEC_TYPES = VEC_CONTRAVARIANT_ABSOLUTE + 1 }
 
enum  MergePolicy { MERGE_ACTIVE_STATES = 0, MERGE_NODES, MERGE_ACTIVE_STATES_AND_NODES }
 
enum  {
  OPENVDB_FILE_VERSION_ROOTNODE_MAP = 213, OPENVDB_FILE_VERSION_INTERNALNODE_COMPRESSION = 214, OPENVDB_FILE_VERSION_SIMPLIFIED_GRID_TYPENAME = 215, OPENVDB_FILE_VERSION_GRID_INSTANCING = 216,
  OPENVDB_FILE_VERSION_BOOL_LEAF_OPTIMIZATION = 217, OPENVDB_FILE_VERSION_HBOOST_UUID = 218, OPENVDB_FILE_VERSION_NO_GRIDMAP = 219, OPENVDB_FILE_VERSION_NEW_TRANSFORM = 219,
  OPENVDB_FILE_VERSION_SELECTIVE_COMPRESSION = 220, OPENVDB_FILE_VERSION_FLOAT_FRUSTUM_BBOX = 221, OPENVDB_FILE_VERSION_NODE_MASK_COMPRESSION = 222, OPENVDB_FILE_VERSION_BLOSC_COMPRESSION = 223,
  OPENVDB_FILE_VERSION_POINT_INDEX_GRID = 223, OPENVDB_FILE_VERSION_MULTIPASS_IO = 224
}
 Notable file format version numbers. More...
 

Functions

 OPENVDB_EXCEPTION (ArithmeticError)
 
 OPENVDB_EXCEPTION (IndexError)
 
 OPENVDB_EXCEPTION (IoError)
 
 OPENVDB_EXCEPTION (KeyError)
 
 OPENVDB_EXCEPTION (LookupError)
 
 OPENVDB_EXCEPTION (NotImplementedError)
 
 OPENVDB_EXCEPTION (ReferenceError)
 
 OPENVDB_EXCEPTION (RuntimeError)
 
 OPENVDB_EXCEPTION (TypeError)
 
 OPENVDB_EXCEPTION (ValueError)
 
template<typename GridType >
GridType::Ptr createGrid (const typename GridType::ValueType &background)
 Create a new grid of type GridType with a given background value. More...
 
template<typename GridType >
GridType::Ptr createGrid ()
 Create a new grid of type GridType with background value zero. More...
 
template<typename TreePtrType >
Grid< typename
TreePtrType::element_type >
::Ptr 
createGrid (TreePtrType)
 Create a new grid of the appropriate type that wraps the given tree. More...
 
template<typename GridType >
GridType::Ptr createLevelSet (Real voxelSize=1.0, Real halfWidth=LEVEL_SET_HALF_WIDTH)
 Create a new grid of type GridType classified as a "Level Set", i.e., a narrow-band level set. More...
 
template<typename GridPtrContainerT >
GridPtrContainerT::value_type findGridByName (const GridPtrContainerT &container, const Name &name)
 Return the first grid in the given container whose name is name. More...
 
template<typename KeyT , typename GridPtrT >
GridPtrT findGridByName (const std::map< KeyT, GridPtrT > &container, const Name &name)
 Return the first grid in the given map whose name is name. More...
 
template<typename GridType >
GridType::Ptr gridPtrCast (const GridBase::Ptr &grid)
 Cast a generic grid pointer to a pointer to a grid of a concrete class. More...
 
template<typename GridType >
GridType::ConstPtr gridConstPtrCast (const GridBase::ConstPtr &grid)
 Cast a generic const grid pointer to a const pointer to a grid of a concrete class. More...
 
template<>
math::Mat3s zeroVal< math::Mat3s > ()
 
template<>
math::Mat3d zeroVal< math::Mat3d > ()
 
template<>
math::Mat4s zeroVal< math::Mat4s > ()
 
template<>
math::Mat4d zeroVal< math::Mat4d > ()
 
template<typename T >
zeroVal ()
 Return the value of type T that corresponds to zero. More...
 
template<>
std::string zeroVal< std::string > ()
 Return the std::string value that corresponds to zero. More...
 
template<>
bool zeroVal< bool > ()
 Return the bool value that corresponds to zero. More...
 
template<>
math::Quats zeroVal< math::Quats > ()
 
template<>
math::Quatd zeroVal< math::Quatd > ()
 
std::ostream & operator<< (std::ostream &ostr, const Metadata &metadata)
 Write a Metadata to an output stream. More...
 
std::ostream & operator<< (std::ostream &, const MetaMap &)
 Write a MetaMap to an output stream. More...
 
OPENVDB_API void initialize ()
 Global registration of basic types. More...
 
OPENVDB_API void uninitialize ()
 Global deregistration of basic types. More...
 
template<typename T , typename U >
SharedPtr< T > ConstPtrCast (const SharedPtr< U > &ptr)
 Return a new shared pointer that points to the same object as the given pointer but with possibly different const-ness. More...
 
template<typename T , typename U >
SharedPtr< T > DynamicPtrCast (const SharedPtr< U > &ptr)
 Return a new shared pointer that is either null or points to the same object as the given pointer after a dynamic_cast. More...
 
template<typename T , typename U >
SharedPtr< T > StaticPtrCast (const SharedPtr< U > &ptr)
 Return a new shared pointer that points to the same object as the given pointer after a static_cast. More...
 
template<typename T >
const char * typeNameAsString ()
 
template<>
const char * typeNameAsString< bool > ()
 
template<>
const char * typeNameAsString< ValueMask > ()
 
template<>
const char * typeNameAsString< half > ()
 
template<>
const char * typeNameAsString< float > ()
 
template<>
const char * typeNameAsString< double > ()
 
template<>
const char * typeNameAsString< int8_t > ()
 
template<>
const char * typeNameAsString< uint8_t > ()
 
template<>
const char * typeNameAsString< int16_t > ()
 
template<>
const char * typeNameAsString< uint16_t > ()
 
template<>
const char * typeNameAsString< int32_t > ()
 
template<>
const char * typeNameAsString< uint32_t > ()
 
template<>
const char * typeNameAsString< int64_t > ()
 
template<>
const char * typeNameAsString< Vec2i > ()
 
template<>
const char * typeNameAsString< Vec2s > ()
 
template<>
const char * typeNameAsString< Vec2d > ()
 
template<>
const char * typeNameAsString< Vec3U8 > ()
 
template<>
const char * typeNameAsString< Vec3U16 > ()
 
template<>
const char * typeNameAsString< Vec3i > ()
 
template<>
const char * typeNameAsString< Vec3f > ()
 
template<>
const char * typeNameAsString< Vec3d > ()
 
template<>
const char * typeNameAsString< Vec4i > ()
 
template<>
const char * typeNameAsString< Vec4f > ()
 
template<>
const char * typeNameAsString< Vec4d > ()
 
template<>
const char * typeNameAsString< std::string > ()
 
template<>
const char * typeNameAsString< Mat3s > ()
 
template<>
const char * typeNameAsString< Mat3d > ()
 
template<>
const char * typeNameAsString< Mat4s > ()
 
template<>
const char * typeNameAsString< Mat4d > ()
 
template<>
const char * typeNameAsString< math::Quats > ()
 
template<>
const char * typeNameAsString< math::Quatd > ()
 
template<>
const char * typeNameAsString< PointIndex32 > ()
 
template<>
const char * typeNameAsString< PointIndex64 > ()
 
template<>
const char * typeNameAsString< PointDataIndex32 > ()
 
template<>
const char * typeNameAsString< PointDataIndex64 > ()
 
Name readString (std::istream &is)
 
void writeString (std::ostream &os, const Name &name)
 
constexpr const char * getLibraryVersionString ()
 Return a library version number string of the form "<major>.<minor>.<patch>". More...
 
constexpr const char * getLibraryAbiVersionString ()
 Return a library version number string of the form "<major>.<minor>.<patch>abi<abi>". More...
 
template<typename GridType >
GridType::Ptr deepCopyTypedGrid (const GridBase::ConstPtr &grid)
 Return a pointer to a deep copy of the given grid, provided that the grid's concrete type is GridType. More...
 
template<typename GridType >
GridType::Ptr deepCopyTypedGrid (const GridBase &grid)
 Return a pointer to a deep copy of the given grid, provided that the grid's concrete type is GridType. More...
 
std::string operator+ (const std::string &s, bool)
 Needed to support the (zeroVal<ValueType>() + val) idiom when ValueType is std::string. More...
 
std::string operator+ (const std::string &s, int)
 Needed to support the (zeroVal<ValueType>() + val) idiom when ValueType is std::string. More...
 
std::string operator+ (const std::string &s, float)
 Needed to support the (zeroVal<ValueType>() + val) idiom when ValueType is std::string. More...
 
std::string operator+ (const std::string &s, double)
 Needed to support the (zeroVal<ValueType>() + val) idiom when ValueType is std::string. More...
 

Variables

const int32_t OPENVDB_MAGIC = 0x56444220
 The magic number is stored in the first four bytes of every VDB file. More...
 
const uint32_t OPENVDB_LIBRARY_MAJOR_VERSION = OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER
 
const uint32_t OPENVDB_LIBRARY_MINOR_VERSION = OPENVDB_LIBRARY_MINOR_VERSION_NUMBER
 
const uint32_t OPENVDB_LIBRARY_PATCH_VERSION = OPENVDB_LIBRARY_PATCH_VERSION_NUMBER
 
const uint32_t OPENVDB_LIBRARY_VERSION = OPENVDB_LIBRARY_VERSION_NUMBER
 Library version number as a packed integer ("%02x%02x%04x", major, minor, patch) More...
 
const uint32_t OPENVDB_ABI_VERSION = OPENVDB_ABI_VERSION_NUMBER
 
const uint32_t OPENVDB_FILE_VERSION = 224
 The current version number of the VDB file format. More...
 

Typedef Documentation

Definition at line 61 of file Types.h.

Common grid types.

Definition at line 43 of file openvdb.h.

Definition at line 358 of file Metadata.h.

using openvdb::OPENVDB_VERSION_NAME::BoolTree = typedef tree::Tree4<bool, 5, 4, 3>::Type

Common tree types.

Definition at line 22 of file openvdb.h.

using openvdb::OPENVDB_VERSION_NAME::Byte = typedef unsigned char

Definition at line 36 of file Types.h.

Definition at line 44 of file openvdb.h.

Definition at line 359 of file Metadata.h.

using openvdb::OPENVDB_VERSION_NAME::DoubleTree = typedef tree::Tree4<double, 5, 4, 3>::Type

Definition at line 23 of file openvdb.h.

Definition at line 45 of file openvdb.h.

Definition at line 360 of file Metadata.h.

using openvdb::OPENVDB_VERSION_NAME::FloatTree = typedef tree::Tree4<float, 5, 4, 3>::Type

Definition at line 24 of file openvdb.h.

Definition at line 524 of file Grid.h.

using openvdb::OPENVDB_VERSION_NAME::GridCPtrSetCIter = typedef GridCPtrSet::const_iterator

Definition at line 526 of file Grid.h.

using openvdb::OPENVDB_VERSION_NAME::GridCPtrSetIter = typedef GridCPtrSet::iterator

Definition at line 525 of file Grid.h.

Definition at line 527 of file Grid.h.

Definition at line 514 of file Grid.h.

using openvdb::OPENVDB_VERSION_NAME::GridCPtrVecCIter = typedef GridCPtrVec::const_iterator

Definition at line 516 of file Grid.h.

using openvdb::OPENVDB_VERSION_NAME::GridCPtrVecIter = typedef GridCPtrVec::iterator

Definition at line 515 of file Grid.h.

Definition at line 517 of file Grid.h.

Definition at line 519 of file Grid.h.

using openvdb::OPENVDB_VERSION_NAME::GridPtrSetCIter = typedef GridPtrSet::const_iterator

Definition at line 521 of file Grid.h.

using openvdb::OPENVDB_VERSION_NAME::GridPtrSetIter = typedef GridPtrSet::iterator

Definition at line 520 of file Grid.h.

Definition at line 522 of file Grid.h.

Definition at line 509 of file Grid.h.

using openvdb::OPENVDB_VERSION_NAME::GridPtrVecCIter = typedef GridPtrVec::const_iterator

Definition at line 511 of file Grid.h.

using openvdb::OPENVDB_VERSION_NAME::GridPtrVecIter = typedef GridPtrVec::iterator

Definition at line 510 of file Grid.h.

Definition at line 512 of file Grid.h.

Definition at line 31 of file Types.h.

using openvdb::OPENVDB_VERSION_NAME::Index32 = typedef uint32_t

Definition at line 29 of file Types.h.

using openvdb::OPENVDB_VERSION_NAME::Index64 = typedef uint64_t

Definition at line 30 of file Types.h.

Definition at line 35 of file Types.h.

using openvdb::OPENVDB_VERSION_NAME::Int16 = typedef int16_t

Definition at line 32 of file Types.h.

using openvdb::OPENVDB_VERSION_NAME::Int32 = typedef int32_t

Definition at line 33 of file Types.h.

Definition at line 46 of file openvdb.h.

Definition at line 361 of file Metadata.h.

using openvdb::OPENVDB_VERSION_NAME::Int32Tree = typedef tree::Tree4<int32_t, 5, 4, 3>::Type

Definition at line 25 of file openvdb.h.

using openvdb::OPENVDB_VERSION_NAME::Int64 = typedef int64_t

Definition at line 34 of file Types.h.

Definition at line 47 of file openvdb.h.

Definition at line 362 of file Metadata.h.

using openvdb::OPENVDB_VERSION_NAME::Int64Tree = typedef tree::Tree4<int64_t, 5, 4, 3>::Type

Definition at line 26 of file openvdb.h.

Definition at line 48 of file openvdb.h.

Definition at line 27 of file openvdb.h.

Definition at line 73 of file Types.h.

Definition at line 374 of file Metadata.h.

Definition at line 78 of file Types.h.

Definition at line 373 of file Metadata.h.

Definition at line 17 of file Name.h.

using openvdb::OPENVDB_VERSION_NAME::NamePair = typedef std::pair<Name, Name>

Definition at line 39 of file AttributeArray.h.

Definition at line 158 of file Types.h.

Definition at line 159 of file Types.h.

Definition at line 155 of file Types.h.

Definition at line 156 of file Types.h.

Definition at line 83 of file Types.h.

using openvdb::OPENVDB_VERSION_NAME::Real = typedef double

Definition at line 37 of file Types.h.

Definition at line 53 of file openvdb.h.

Definition at line 36 of file openvdb.h.

template<typename T >
using openvdb::OPENVDB_VERSION_NAME::SharedPtr = typedef std::shared_ptr<T>

Definition at line 91 of file Types.h.

Definition at line 49 of file openvdb.h.

Definition at line 28 of file openvdb.h.

Definition at line 54 of file openvdb.h.

Definition at line 37 of file openvdb.h.

Definition at line 26 of file Grid.h.

using openvdb::OPENVDB_VERSION_NAME::UInt32Tree = typedef tree::Tree4<uint32_t, 5, 4, 3>::Type

Definition at line 29 of file openvdb.h.

Definition at line 364 of file Metadata.h.

using openvdb::OPENVDB_VERSION_NAME::Vec2DTree = typedef tree::Tree4<Vec2d, 5, 4, 3>::Type

Definition at line 30 of file openvdb.h.

Definition at line 42 of file Types.h.

Definition at line 43 of file Types.h.

Definition at line 41 of file Types.h.

Definition at line 365 of file Metadata.h.

using openvdb::OPENVDB_VERSION_NAME::Vec2ITree = typedef tree::Tree4<Vec2i, 5, 4, 3>::Type

Definition at line 31 of file openvdb.h.

Definition at line 40 of file Types.h.

Definition at line 366 of file Metadata.h.

using openvdb::OPENVDB_VERSION_NAME::Vec2STree = typedef tree::Tree4<Vec2s, 5, 4, 3>::Type

Definition at line 32 of file openvdb.h.

Definition at line 50 of file openvdb.h.

Definition at line 55 of file openvdb.h.

Definition at line 367 of file Metadata.h.

using openvdb::OPENVDB_VERSION_NAME::Vec3DTree = typedef tree::Tree4<Vec3d, 5, 4, 3>::Type

Definition at line 33 of file openvdb.h.

Definition at line 38 of file openvdb.h.

Definition at line 51 of file Types.h.

Definition at line 56 of file openvdb.h.

Definition at line 39 of file openvdb.h.

Definition at line 52 of file Types.h.

Definition at line 50 of file Types.h.

Definition at line 51 of file openvdb.h.

Definition at line 368 of file Metadata.h.

using openvdb::OPENVDB_VERSION_NAME::Vec3ITree = typedef tree::Tree4<Vec3i, 5, 4, 3>::Type

Definition at line 34 of file openvdb.h.

Definition at line 49 of file Types.h.

Definition at line 52 of file openvdb.h.

Definition at line 369 of file Metadata.h.

Definition at line 35 of file openvdb.h.

Definition at line 54 of file Types.h.

Definition at line 53 of file Types.h.

Definition at line 370 of file Metadata.h.

Definition at line 66 of file Types.h.

Definition at line 67 of file Types.h.

Definition at line 65 of file Types.h.

Definition at line 371 of file Metadata.h.

Definition at line 64 of file Types.h.

Definition at line 372 of file Metadata.h.

Definition at line 57 of file openvdb.h.

Definition at line 40 of file openvdb.h.

template<typename T >
using openvdb::OPENVDB_VERSION_NAME::WeakPtr = typedef std::weak_ptr<T>

Definition at line 92 of file Types.h.

Enumeration Type Documentation

anonymous enum
Enumerator
NUM_GRID_CLASSES 

Definition at line 822 of file Types.h.

anonymous enum
Enumerator
NUM_VEC_TYPES 

Definition at line 853 of file Types.h.

anonymous enum

Notable file format version numbers.

Enumerator
OPENVDB_FILE_VERSION_ROOTNODE_MAP 
OPENVDB_FILE_VERSION_INTERNALNODE_COMPRESSION 
OPENVDB_FILE_VERSION_SIMPLIFIED_GRID_TYPENAME 
OPENVDB_FILE_VERSION_GRID_INSTANCING 
OPENVDB_FILE_VERSION_BOOL_LEAF_OPTIMIZATION 
OPENVDB_FILE_VERSION_HBOOST_UUID 
OPENVDB_FILE_VERSION_NO_GRIDMAP 
OPENVDB_FILE_VERSION_NEW_TRANSFORM 
OPENVDB_FILE_VERSION_SELECTIVE_COMPRESSION 
OPENVDB_FILE_VERSION_FLOAT_FRUSTUM_BBOX 
OPENVDB_FILE_VERSION_NODE_MASK_COMPRESSION 
OPENVDB_FILE_VERSION_BLOSC_COMPRESSION 
OPENVDB_FILE_VERSION_POINT_INDEX_GRID 
OPENVDB_FILE_VERSION_MULTIPASS_IO 

Definition at line 196 of file version.h.

Enumerator
GRID_UNKNOWN 
GRID_LEVEL_SET 
GRID_FOG_VOLUME 
GRID_STAGGERED 

Definition at line 816 of file Types.h.

Specify how grids should be merged during certain (typically multithreaded) operations.

MERGE_ACTIVE_STATES

The output grid is active wherever any of the input grids is active.

MERGE_NODES

The output grid's tree has a node wherever any of the input grids' trees has a node, regardless of any active states.

MERGE_ACTIVE_STATES_AND_NODES
The output grid is active wherever any of the input grids is active, and its tree has a node wherever any of the input grids' trees has a node.
Enumerator
MERGE_ACTIVE_STATES 
MERGE_NODES 
MERGE_ACTIVE_STATES_AND_NODES 

Definition at line 869 of file Types.h.

The type of a vector determines how transforms are applied to it:

Invariant

Does not transform (e.g., tuple, uvw, color)

Covariant

Apply inverse-transpose transformation: w = 0, ignores translation (e.g., gradient/normal)

Covariant Normalize

Apply inverse-transpose transformation: w = 0, ignores translation, vectors are renormalized (e.g., unit normal)

Contravariant Relative

Apply "regular" transformation: w = 0, ignores translation (e.g., displacement, velocity, acceleration)

Contravariant Absolute
Apply "regular" transformation: w = 1, vector translates (e.g., position)
Enumerator
VEC_INVARIANT 
VEC_COVARIANT 
VEC_COVARIANT_NORMALIZE 
VEC_CONTRAVARIANT_RELATIVE 
VEC_CONTRAVARIANT_ABSOLUTE 

Definition at line 846 of file Types.h.

Function Documentation

template<typename T , typename U >
SharedPtr<T> openvdb::OPENVDB_VERSION_NAME::ConstPtrCast ( const SharedPtr< U > &  ptr)
inline

Return a new shared pointer that points to the same object as the given pointer but with possibly different const-ness.

Example:
FloatGrid::Ptr nonConstGrid = ConstPtrCast<FloatGrid>(grid);
FloatGrid::ConstPtr constGrid = ConstPtrCast<const FloatGrid>(nonConstGrid);

Definition at line 103 of file Types.h.

template<typename GridType >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::createGrid ( const typename GridType::ValueType &  background)
inline

Create a new grid of type GridType with a given background value.

Note
Calling createGrid<GridType>(background) is equivalent to calling GridType::create(background).

Definition at line 1739 of file Grid.h.

template<typename GridType >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::createGrid ( )
inline

Create a new grid of type GridType with background value zero.

Note
Calling createGrid<GridType>() is equivalent to calling GridType::create().

Definition at line 1747 of file Grid.h.

template<typename TreePtrType >
Grid< typename TreePtrType::element_type >::Ptr openvdb::OPENVDB_VERSION_NAME::createGrid ( TreePtrType  tree)
inline

Create a new grid of the appropriate type that wraps the given tree.

Note
This function can be called without specifying the template argument, i.e., as createGrid(tree).

Definition at line 1755 of file Grid.h.

template<typename GridType >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::createLevelSet ( Real  voxelSize = 1.0,
Real  halfWidth = LEVEL_SET_HALF_WIDTH 
)

Create a new grid of type GridType classified as a "Level Set", i.e., a narrow-band level set.

Note
GridType::ValueType must be a floating-point scalar.
Parameters
voxelSizethe size of a voxel in world units
halfWidththe half width of the narrow band in voxel units

The voxel size and the narrow band half width define the grid's background value as halfWidth*voxelWidth. The transform is linear with a uniform scaling only corresponding to the specified voxel size.

Note
It is generally advisable to specify a half-width of the narrow band that is larger than one voxel unit, otherwise zero crossings are not guaranteed.

Definition at line 1764 of file Grid.h.

template<typename GridType >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::deepCopyTypedGrid ( const GridBase::ConstPtr &  grid)
inline

Return a pointer to a deep copy of the given grid, provided that the grid's concrete type is GridType.

Return a null pointer if the input pointer is null or if it points to a grid that is not of type GridType.

Definition at line 1044 of file Grid.h.

template<typename GridType >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::deepCopyTypedGrid ( const GridBase &  grid)
inline

Return a pointer to a deep copy of the given grid, provided that the grid's concrete type is GridType.

Return a null pointer if the input pointer is null or if it points to a grid that is not of type GridType.

Definition at line 1053 of file Grid.h.

template<typename T , typename U >
SharedPtr<T> openvdb::OPENVDB_VERSION_NAME::DynamicPtrCast ( const SharedPtr< U > &  ptr)
inline

Return a new shared pointer that is either null or points to the same object as the given pointer after a dynamic_cast.

Example:
GridBase::ConstPtr grid = ...;
FloatGrid::ConstPtr floatGrid = DynamicPtrCast<const FloatGrid>(grid);

Definition at line 113 of file Types.h.

template<typename GridPtrContainerT >
GridPtrContainerT::value_type openvdb::OPENVDB_VERSION_NAME::findGridByName ( const GridPtrContainerT &  container,
const Name name 
)
inline

Return the first grid in the given container whose name is name.

Definition at line 541 of file Grid.h.

template<typename KeyT , typename GridPtrT >
GridPtrT openvdb::OPENVDB_VERSION_NAME::findGridByName ( const std::map< KeyT, GridPtrT > &  container,
const Name name 
)
inline

Return the first grid in the given map whose name is name.

Definition at line 552 of file Grid.h.

constexpr const char* openvdb::OPENVDB_VERSION_NAME::getLibraryAbiVersionString ( )
inline

Return a library version number string of the form "<major>.<minor>.<patch>abi<abi>".

Definition at line 217 of file version.h.

constexpr const char* openvdb::OPENVDB_VERSION_NAME::getLibraryVersionString ( )
inline

Return a library version number string of the form "<major>.<minor>.<patch>".

Definition at line 215 of file version.h.

template<typename GridType >
GridType::ConstPtr openvdb::OPENVDB_VERSION_NAME::gridConstPtrCast ( const GridBase::ConstPtr &  grid)
inline

Cast a generic const grid pointer to a const pointer to a grid of a concrete class.

Return a null pointer if the input pointer is null or if it points to a grid that is not of type GridType.

Note
Calling gridConstPtrCast<GridType>(grid) is equivalent to calling GridBase::constGrid<GridType>(grid).

Definition at line 1027 of file Grid.h.

template<typename GridType >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::gridPtrCast ( const GridBase::Ptr &  grid)
inline

Cast a generic grid pointer to a pointer to a grid of a concrete class.

Return a null pointer if the input pointer is null or if it points to a grid that is not of type GridType.

Note
Calling gridPtrCast<GridType>(grid) is equivalent to calling GridBase::grid<GridType>(grid).

Definition at line 1011 of file Grid.h.

OPENVDB_API void openvdb::OPENVDB_VERSION_NAME::initialize ( )
inline

Global registration of basic types.

Definition at line 291 of file logging.h.

openvdb::OPENVDB_VERSION_NAME::OPENVDB_EXCEPTION ( ArithmeticError  )
openvdb::OPENVDB_VERSION_NAME::OPENVDB_EXCEPTION ( IndexError  )
openvdb::OPENVDB_VERSION_NAME::OPENVDB_EXCEPTION ( IoError  )
openvdb::OPENVDB_VERSION_NAME::OPENVDB_EXCEPTION ( KeyError  )
openvdb::OPENVDB_VERSION_NAME::OPENVDB_EXCEPTION ( LookupError  )
openvdb::OPENVDB_VERSION_NAME::OPENVDB_EXCEPTION ( NotImplementedError  )
openvdb::OPENVDB_VERSION_NAME::OPENVDB_EXCEPTION ( ReferenceError  )
openvdb::OPENVDB_VERSION_NAME::OPENVDB_EXCEPTION ( RuntimeError  )
openvdb::OPENVDB_VERSION_NAME::OPENVDB_EXCEPTION ( TypeError  )
openvdb::OPENVDB_VERSION_NAME::OPENVDB_EXCEPTION ( ValueError  )
std::string openvdb::OPENVDB_VERSION_NAME::operator+ ( const std::string s,
bool   
)
inline

Needed to support the (zeroVal<ValueType>() + val) idiom when ValueType is std::string.

Todo:
These won't be needed if we eliminate StringGrids.

Definition at line 69 of file Math.h.

std::string openvdb::OPENVDB_VERSION_NAME::operator+ ( const std::string s,
int   
)
inline

Needed to support the (zeroVal<ValueType>() + val) idiom when ValueType is std::string.

Todo:
These won't be needed if we eliminate StringGrids.

Definition at line 70 of file Math.h.

std::string openvdb::OPENVDB_VERSION_NAME::operator+ ( const std::string s,
float   
)
inline

Needed to support the (zeroVal<ValueType>() + val) idiom when ValueType is std::string.

Todo:
These won't be needed if we eliminate StringGrids.

Definition at line 71 of file Math.h.

std::string openvdb::OPENVDB_VERSION_NAME::operator+ ( const std::string s,
double   
)
inline

Needed to support the (zeroVal<ValueType>() + val) idiom when ValueType is std::string.

Todo:
These won't be needed if we eliminate StringGrids.

Definition at line 72 of file Math.h.

std::ostream& openvdb::OPENVDB_VERSION_NAME::operator<< ( std::ostream &  ,
const MetaMap &   
)

Write a MetaMap to an output stream.

std::ostream & openvdb::OPENVDB_VERSION_NAME::operator<< ( std::ostream &  ostr,
const Metadata &  metadata 
)
inline

Write a Metadata to an output stream.

Definition at line 351 of file Metadata.h.

Name openvdb::OPENVDB_VERSION_NAME::readString ( std::istream &  is)
inline

Definition at line 20 of file Name.h.

template<typename T , typename U >
SharedPtr<T> openvdb::OPENVDB_VERSION_NAME::StaticPtrCast ( const SharedPtr< U > &  ptr)
inline

Return a new shared pointer that points to the same object as the given pointer after a static_cast.

Example:
FloatGrid::Ptr floatGrid = ...;
GridBase::Ptr grid = StaticPtrCast<GridBase>(floatGrid);

Definition at line 123 of file Types.h.

template<typename T >
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString ( )

Definition at line 879 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< bool > ( )
inline

Definition at line 880 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< double > ( )
inline

Definition at line 884 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< float > ( )
inline

Definition at line 883 of file Types.h.

Definition at line 882 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< int16_t > ( )
inline

Definition at line 887 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< int32_t > ( )
inline

Definition at line 889 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< int64_t > ( )
inline

Definition at line 891 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< int8_t > ( )
inline

Definition at line 885 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Mat3d > ( )
inline

Definition at line 905 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Mat3s > ( )
inline

Definition at line 904 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Mat4d > ( )
inline

Definition at line 907 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Mat4s > ( )
inline

Definition at line 906 of file Types.h.

Definition at line 909 of file Types.h.

Definition at line 908 of file Types.h.

Definition at line 912 of file Types.h.

Definition at line 913 of file Types.h.

Definition at line 910 of file Types.h.

Definition at line 911 of file Types.h.

Definition at line 903 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< uint16_t > ( )
inline

Definition at line 888 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< uint32_t > ( )
inline

Definition at line 890 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< uint8_t > ( )
inline

Definition at line 886 of file Types.h.

Definition at line 881 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Vec2d > ( )
inline

Definition at line 894 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Vec2i > ( )
inline

Definition at line 892 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Vec2s > ( )
inline

Definition at line 893 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Vec3d > ( )
inline

Definition at line 899 of file Types.h.

Definition at line 898 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Vec3i > ( )
inline

Definition at line 897 of file Types.h.

Definition at line 896 of file Types.h.

Definition at line 895 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Vec4d > ( )
inline

Definition at line 902 of file Types.h.

Definition at line 901 of file Types.h.

template<>
const char* openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Vec4i > ( )
inline

Definition at line 900 of file Types.h.

OPENVDB_API void openvdb::OPENVDB_VERSION_NAME::uninitialize ( )

Global deregistration of basic types.

void openvdb::OPENVDB_VERSION_NAME::writeString ( std::ostream &  os,
const Name name 
)
inline

Definition at line 31 of file Name.h.

template<typename T >
T openvdb::OPENVDB_VERSION_NAME::zeroVal ( )
inline

Return the value of type T that corresponds to zero.

Note
A zeroVal<T>() specialization must be defined for each ValueType T that cannot be constructed using the form T(0). For example, std::string(0) treats 0 as nullptr and throws a std::logic_error.

Definition at line 59 of file Math.h.

template<>
bool openvdb::OPENVDB_VERSION_NAME::zeroVal< bool > ( )
inline

Return the bool value that corresponds to zero.

Definition at line 63 of file Math.h.

Definition at line 823 of file Mat3.h.

Definition at line 822 of file Mat3.h.

Definition at line 1341 of file Mat4.h.

Definition at line 1340 of file Mat4.h.

Definition at line 626 of file Quat.h.

Definition at line 625 of file Quat.h.

Return the std::string value that corresponds to zero.

Definition at line 61 of file Math.h.

Variable Documentation

const uint32_t openvdb::OPENVDB_VERSION_NAME::OPENVDB_ABI_VERSION = OPENVDB_ABI_VERSION_NUMBER

Definition at line 188 of file version.h.

const uint32_t openvdb::OPENVDB_VERSION_NAME::OPENVDB_FILE_VERSION = 224

The current version number of the VDB file format.

This can be used to enable various backwards compatibility switches or to reject files that cannot be read.

Definition at line 193 of file version.h.

const uint32_t openvdb::OPENVDB_VERSION_NAME::OPENVDB_LIBRARY_MAJOR_VERSION = OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER

Definition at line 182 of file version.h.

const uint32_t openvdb::OPENVDB_VERSION_NAME::OPENVDB_LIBRARY_MINOR_VERSION = OPENVDB_LIBRARY_MINOR_VERSION_NUMBER

Definition at line 183 of file version.h.

const uint32_t openvdb::OPENVDB_VERSION_NAME::OPENVDB_LIBRARY_PATCH_VERSION = OPENVDB_LIBRARY_PATCH_VERSION_NUMBER

Definition at line 184 of file version.h.

const uint32_t openvdb::OPENVDB_VERSION_NAME::OPENVDB_LIBRARY_VERSION = OPENVDB_LIBRARY_VERSION_NUMBER

Library version number as a packed integer ("%02x%02x%04x", major, minor, patch)

Definition at line 186 of file version.h.

const int32_t openvdb::OPENVDB_VERSION_NAME::OPENVDB_MAGIC = 0x56444220

The magic number is stored in the first four bytes of every VDB file.

This can be used to quickly test whether we have a valid file or not.

Definition at line 178 of file version.h.