4#ifndef OPENVDB_OPENVDB_HAS_BEEN_INCLUDED
5#define OPENVDB_OPENVDB_HAS_BEEN_INCLUDED
104 Append<Vec3GridTypes>::
105 Append<tools::PointIndexGrid>::
107#ifndef OPENVDB_DISABLE_POINT_DATA_TREE_ALIAS
108 Append<points::PointDataGrid>::
110 Append<BoolGrid, MaskGrid>;
115template <
typename T>
using ToTreeType =
typename T::TreeType;
123using TreeTypes = GridTypes::Transform<internal::ToTreeType>;
179 NumericAttributeTypes::
180 Append<Vec3AttributeTypes>::
181 Append<Mat3AttributeTypes>::
182 Append<Mat4AttributeTypes>::
183 Append<QuatAttributeTypes>::
184 Append<points::GroupAttributeArray>::
185 Append<points::StringAttributeArray>::
186 Append<points::TypedAttributeArray<bool>>;
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
A TypeList provides a compile time sequence of heterogeneous types which can be accessed,...
Container class that associates a tree with a transform and metadata.
Definition Grid.h:571
A general linear transform using homogeneous coordinates to perform rotation, scaling,...
Definition Maps.h:296
This map is composed of three steps. First it will take a box of size (Lx X Ly X Lz) defined by a mem...
Definition Maps.h:1892
A specialized Affine transform that scales along the principal axis the scaling need not be uniform i...
Definition Maps.h:656
A specialized Affine transform that scales along the principal axis the scaling need not be uniform i...
Definition Maps.h:1163
A specialized linear transform that performs a translation.
Definition Maps.h:978
A specialized linear transform that performs a unitary maping i.e. rotation and or reflection.
Definition Maps.h:1621
Typed class for storing attribute data.
Definition AttributeArray.h:512
typename T::TreeType ToTreeType
Definition openvdb.h:115
tree::Tree4< Vec2d, 5, 4, 3 >::Type Vec2DTree
Definition openvdb.h:60
TypeList< math::AffineMap, math::UnitaryMap, math::ScaleMap, math::UniformScaleMap, math::TranslationMap, math::ScaleTranslateMap, math::UniformScaleTranslateMap, math::NonlinearFrustumMap > MapTypes
The Map types which OpenVDB will register by default.
Definition openvdb.h:191
tree::Tree4< Vec3d, 5, 4, 3 >::Type Vec3DTree
Definition openvdb.h:63
TypedMetadata< Vec4d > Vec4DMetadata
Definition Metadata.h:371
Vec3DGrid Vec3dGrid
Definition openvdb.h:84
TypeList< FloatGrid, DoubleGrid > RealGridTypes
The integer Grid types which OpenVDB will register by default.
Definition openvdb.h:91
TypedMetadata< float > FloatMetadata
Definition Metadata.h:361
tree::Tree4< Vec3i, 5, 4, 3 >::Type Vec3ITree
Definition openvdb.h:64
Grid< FloatTree > FloatGrid
Definition openvdb.h:75
tree::Tree4< float, 5, 4, 3 >::Type FloatTree
Definition openvdb.h:55
Vec3fGrid VectorGrid
Definition openvdb.h:86
tree::Tree4< bool, 5, 4, 3 >::Type BoolTree
Common tree types.
Definition openvdb.h:53
TypeList< BoolMetadata, DoubleMetadata, FloatMetadata, Int32Metadata, Int64Metadata, StringMetadata, Vec2IMetadata, Vec2SMetadata, Vec2DMetadata, Vec3IMetadata, Vec3SMetadata, Vec3DMetadata, Vec4IMetadata, Vec4SMetadata, Vec4DMetadata, Mat4SMetadata, Mat4DMetadata, io::DelayedLoadMetadata > MetaTypes
The Metadata types which OpenVDB will register by default.
Definition openvdb.h:203
GridTypes::Transform< internal::ToTreeType > TreeTypes
Definition openvdb.h:123
TypedMetadata< Vec2d > Vec2DMetadata
Definition Metadata.h:365
Grid< Vec3DTree > Vec3DGrid
Definition openvdb.h:79
Grid< BoolTree > BoolGrid
Common grid types.
Definition openvdb.h:73
TypeList< Int32Grid, Int64Grid > IntegerGridTypes
The integer Grid types which OpenVDB will register by default.
Definition openvdb.h:93
tree::Tree4< ValueMask, 5, 4, 3 >::Type MaskTree
Definition openvdb.h:58
TypeList< points::TypedAttributeArray< math::Mat4< float > >, points::TypedAttributeArray< math::Mat4< double > > > Mat4AttributeTypes
The Mat4 attribute array types which OpenVDB will register by default.
Definition openvdb.h:167
IntegerGridTypes::Transform< internal::ToTreeType > IntegerTreeTypes
Definition openvdb.h:120
RealGridTypes::Transform< internal::ToTreeType > RealTreeTypes
Definition openvdb.h:119
TypedMetadata< Vec3d > Vec3DMetadata
Definition Metadata.h:368
RealGridTypes::Append< IntegerGridTypes > NumericGridTypes
Definition openvdb.h:97
FloatGrid ScalarGrid
Definition openvdb.h:82
Vec3SGrid Vec3fGrid
Definition openvdb.h:85
TypeList< points::TypedAttributeArray< math::Quat< float > >, points::TypedAttributeArray< math::Quat< double > > > QuatAttributeTypes
The Quat attribute array types which OpenVDB will register by default.
Definition openvdb.h:172
TypedMetadata< int32_t > Int32Metadata
Definition Metadata.h:362
tree::Tree4< Vec2s, 5, 4, 3 >::Type Vec2STree
Definition openvdb.h:62
OPENVDB_IMPORT void initialize()
Global registration of native Grid, Transform, Metadata and Point attribute types....
Vec3GridTypes::Transform< internal::ToTreeType > Vec3TreeTypes
Definition openvdb.h:122
TypedMetadata< Mat4d > Mat4DMetadata
Definition Metadata.h:375
NumericGridTypes:: Append< Vec3GridTypes >:: Append< tools::PointIndexGrid >:: Append< points::PointDataGrid >:: Append< BoolGrid, MaskGrid > GridTypes
The Grid types which OpenVDB will register by default.
Definition openvdb.h:102
Grid< Vec3ITree > Vec3IGrid
Definition openvdb.h:80
tree::Tree4< int32_t, 5, 4, 3 >::Type Int32Tree
Definition openvdb.h:56
tree::Tree4< int64_t, 5, 4, 3 >::Type Int64Tree
Definition openvdb.h:57
Grid< Int64Tree > Int64Grid
Definition openvdb.h:77
OPENVDB_IMPORT void uninitialize()
Global deregistration of native Grid, Transform, Metadata and Point attribute types.
NumericAttributeTypes:: Append< Vec3AttributeTypes >:: Append< Mat3AttributeTypes >:: Append< Mat4AttributeTypes >:: Append< QuatAttributeTypes >:: Append< points::GroupAttributeArray >:: Append< points::StringAttributeArray >:: Append< points::TypedAttributeArray< bool > > AttributeTypes
The attribute array types which OpenVDB will register by default.
Definition openvdb.h:178
Grid< Vec3STree > Vec3SGrid
Definition openvdb.h:81
MaskTree TopologyTree
Definition openvdb.h:67
tree::Tree4< Vec3f, 5, 4, 3 >::Type Vec3STree
Definition openvdb.h:65
TypedMetadata< Vec2i > Vec2IMetadata
Definition Metadata.h:366
Vec3fTree VectorTree
Definition openvdb.h:70
MaskGrid TopologyGrid
Definition openvdb.h:83
tree::Tree4< uint32_t, 5, 4, 3 >::Type UInt32Tree
Definition openvdb.h:59
FloatTree ScalarTree
Definition openvdb.h:66
TypeList< points::TypedAttributeArray< int8_t >, points::TypedAttributeArray< int16_t >, points::TypedAttributeArray< int32_t >, points::TypedAttributeArray< int64_t > > IntegerAttributeTypes
The integer attribute array types which OpenVDB will register by default.
Definition openvdb.h:138
tree::Tree4< Vec2i, 5, 4, 3 >::Type Vec2ITree
Definition openvdb.h:61
TypeList< Vec3IGrid, Vec3SGrid, Vec3DGrid > Vec3GridTypes
The Vec3 Grid types which OpenVDB will register by default.
Definition openvdb.h:99
TypedMetadata< std::string > StringMetadata
Definition Metadata.h:364
TypeList< points::TypedAttributeArray< math::Vec3< int32_t > >, points::TypedAttributeArray< math::Vec3< float > >, points::TypedAttributeArray< math::Vec3< double > >, points::TypedAttributeArray< math::Vec3< float >, points::TruncateCodec >, points::TypedAttributeArray< math::Vec3< float >, points::FixedPointCodec< true, points::PositionRange > >, points::TypedAttributeArray< math::Vec3< float >, points::FixedPointCodec< false, points::PositionRange > >, points::TypedAttributeArray< math::Vec3< float >, points::FixedPointCodec< true, points::UnitRange > >, points::TypedAttributeArray< math::Vec3< float >, points::FixedPointCodec< false, points::UnitRange > >, points::TypedAttributeArray< math::Vec3< float >, points::UnitVecCodec > > Vec3AttributeTypes
The Vec3 attribute array types which OpenVDB will register by default.
Definition openvdb.h:150
Grid< MaskTree > MaskGrid
Definition openvdb.h:78
TypedMetadata< Vec4s > Vec4SMetadata
Definition Metadata.h:373
NumericGridTypes::Transform< internal::ToTreeType > NumericTreeTypes
Definition openvdb.h:121
TypeList< points::TypedAttributeArray< math::Mat3< float > >, points::TypedAttributeArray< math::Mat3< double > > > Mat3AttributeTypes
The Mat3 attribute array types which OpenVDB will register by default.
Definition openvdb.h:162
TypedMetadata< Vec3s > Vec3SMetadata
Definition Metadata.h:370
Vec3STree Vec3fTree
Definition openvdb.h:69
tree::Tree4< double, 5, 4, 3 >::Type DoubleTree
Definition openvdb.h:54
Grid< Int32Tree > Int32Grid
Definition openvdb.h:76
TypedMetadata< Vec2s > Vec2SMetadata
Definition Metadata.h:367
RealAttributeTypes::Append< IntegerAttributeTypes > NumericAttributeTypes
Definition openvdb.h:147
TypedMetadata< Vec4i > Vec4IMetadata
Definition Metadata.h:372
TypedMetadata< Mat4s > Mat4SMetadata
Definition Metadata.h:374
Grid< DoubleTree > DoubleGrid
Definition openvdb.h:74
TypedMetadata< Vec3i > Vec3IMetadata
Definition Metadata.h:369
TypeList< points::TypedAttributeArray< float >, points::TypedAttributeArray< double >, points::TypedAttributeArray< float, points::TruncateCodec >, points::TypedAttributeArray< float, points::FixedPointCodec< true, points::UnitRange > >, points::TypedAttributeArray< float, points::FixedPointCodec< false, points::UnitRange > > > RealAttributeTypes
The integer attribute array types which OpenVDB will register by default.
Definition openvdb.h:130
TypedMetadata< bool > BoolMetadata
Definition Metadata.h:359
TypedMetadata< int64_t > Int64Metadata
Definition Metadata.h:363
Vec3DTree Vec3dTree
Definition openvdb.h:68
TypedMetadata< double > DoubleMetadata
Definition Metadata.h:360
Definition Exceptions.h:13
A list of types (not necessarily unique)
Definition TypeList.h:578
typename typelist_internal::TSTranformImpl< OpT, Ts... >::type Transform
Definition TypeList.h:736
typename typelist_internal::TSAppendImpl< Self, TypesToAppend... >::type Append
Definition TypeList.h:656
Definition AttributeArray.h:478
Definition AttributeArray.h:448
Definition AttributeArray.h:493
Tree< RootNode< InternalNode< InternalNode< LeafNode< T, N3 >, N2 >, N1 > > > Type
Definition Tree.h:1130
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition version.h.in:121
#define OPENVDB_USE_VERSION_NAMESPACE
Definition version.h.in:218