4 #ifndef OPENVDB_OPENVDB_HAS_BEEN_INCLUDED
5 #define OPENVDB_OPENVDB_HAS_BEEN_INCLUDED
50 namespace io {
class DelayedLoadMetadata; }
104 Append<Vec3GridTypes>::
105 Append<tools::PointIndexGrid>::
107 #ifndef OPENVDB_DISABLE_POINT_DATA_TREE_ALIAS
108 Append<points::PointDataGrid>::
110 Append<BoolGrid, MaskGrid>;
115 template <
typename T>
using ToTreeType =
typename T::TreeType;
123 using TreeTypes = GridTypes::Transform<internal::ToTreeType>;
131 points::TypedAttributeArray<float>,
132 points::TypedAttributeArray<double>,
133 points::TypedAttributeArray<float, points::TruncateCodec>,
134 points::TypedAttributeArray<float, points::FixedPointCodec<true, points::UnitRange>>,
135 points::TypedAttributeArray<float, points::FixedPointCodec<false, points::UnitRange>>
139 points::TypedAttributeArray<int8_t>,
140 points::TypedAttributeArray<int16_t>,
141 points::TypedAttributeArray<int32_t>,
142 points::TypedAttributeArray<int64_t>
151 points::TypedAttributeArray<math::Vec3<int32_t>>,
152 points::TypedAttributeArray<math::Vec3<float>>,
153 points::TypedAttributeArray<math::Vec3<double>>,
154 points::TypedAttributeArray<math::Vec3<float>, points::TruncateCodec>,
155 points::TypedAttributeArray<math::Vec3<float>, points::FixedPointCodec<true, points::PositionRange>>,
156 points::TypedAttributeArray<math::Vec3<float>, points::FixedPointCodec<false, points::PositionRange>>,
157 points::TypedAttributeArray<math::Vec3<float>, points::FixedPointCodec<true, points::UnitRange>>,
158 points::TypedAttributeArray<math::Vec3<float>, points::FixedPointCodec<false, points::UnitRange>>,
159 points::TypedAttributeArray<math::Vec3<float>, points::UnitVecCodec>
163 points::TypedAttributeArray<math::Mat3<float>>,
164 points::TypedAttributeArray<math::Mat3<double>>
168 points::TypedAttributeArray<math::Mat4<float>>,
169 points::TypedAttributeArray<math::Mat4<double>>
173 points::TypedAttributeArray<math::Quat<float>>,
174 points::TypedAttributeArray<math::Quat<double>>
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>>;
227 #endif // OPENVDB_OPENVDB_HAS_BEEN_INCLUDED
Grid< Vec3DTree > Vec3DGrid
TypedMetadata< Vec3d > Vec3DMetadata
NumericGridTypes::Append< Vec3GridTypes >::Append< tools::PointIndexGrid >::Append< points::PointDataGrid >::Append< BoolGrid, MaskGrid > GridTypes
The Grid types which OpenVDB will register by default.
OPENVDB_API void uninitialize()
Global deregistration of native Grid, Transform, Metadata and Point attribute types.
TypedMetadata< Vec4d > Vec4DMetadata
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.
A specialized Affine transform that scales along the principal axis the scaling need not be uniform i...
typename typelist_internal::TSAppendImpl< Self, TypesToAppend...>::type Append
Append types, or the members of another TypeList, to this list.
This map is composed of three steps. First it will take a box of size (Lx X Ly X Lz) defined by a mem...
#define OPENVDB_USE_VERSION_NAMESPACE
tree::Tree4< ValueMask, 5, 4, 3 >::Type MaskTree
TypedMetadata< Mat4d > Mat4DMetadata
Vec3GridTypes::Transform< internal::ToTreeType > Vec3TreeTypes
tree::Tree4< Vec3d, 5, 4, 3 >::Type Vec3DTree
TypedMetadata< Vec3i > Vec3IMetadata
TypedMetadata< Mat4s > Mat4SMetadata
TypedMetadata< std::string > StringMetadata
A TypeList provides a compile time sequence of heterogeneous types which can be accessed, transformed and executed over in various ways. It incorporates a subset of functionality similar to hboost::mpl::vector however provides most of its content through using declarations rather than additional typed classes.
A general linear transform using homogeneous coordinates to perform rotation, scaling, shear and translation.
Grid< MaskTree > MaskGrid
TypedMetadata< int32_t > Int32Metadata
TypedMetadata< bool > BoolMetadata
GridTypes::Transform< internal::ToTreeType > TreeTypes
OPENVDB_API void initialize()
Global registration of native Grid, Transform, Metadata and Point attribute types. Also initializes blosc (if enabled).
TypedMetadata< int64_t > Int64Metadata
IntegerGridTypes::Transform< internal::ToTreeType > IntegerTreeTypes
Container class that associates a tree with a transform and metadata.
RealGridTypes::Append< IntegerGridTypes > NumericGridTypes
typename T::TreeType ToTreeType
tree::Tree4< float, 5, 4, 3 >::Type FloatTree
TypedMetadata< Vec2d > Vec2DMetadata
NumericGridTypes::Transform< internal::ToTreeType > NumericTreeTypes
RealGridTypes::Transform< internal::ToTreeType > RealTreeTypes
RealAttributeTypes::Append< IntegerAttributeTypes > NumericAttributeTypes
A specialized Affine transform that scales along the principal axis the scaling need not be uniform i...
A specialized linear transform that performs a unitary maping i.e. rotation and or reflection...
TypedMetadata< Vec2i > Vec2IMetadata
TypedMetadata< Vec2s > Vec2SMetadata
TypedMetadata< float > FloatMetadata
tree::Tree4< Vec3f, 5, 4, 3 >::Type Vec3STree
TypedMetadata< Vec4i > Vec4IMetadata
TypedMetadata< Vec4s > Vec4SMetadata
TypedMetadata< Vec3s > Vec3SMetadata
Grid< FloatTree > FloatGrid
typename typelist_internal::TSTranformImpl< OpT, Ts...>::type Transform
Transform each type of this TypeList, rebuiling a new list of converted types. This method instantiat...
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
A list of types (not necessarily unique)
TypedMetadata< double > DoubleMetadata
Grid< Vec3STree > Vec3SGrid
A specialized linear transform that performs a translation.