OpenVDB: openvdb/openvdb.h Source File

OpenVDB 13.0.0

Loading...
Searching...
No Matches
openvdb.h
Go to the documentation of this file.
1// Copyright Contributors to the OpenVDB Project
2// SPDX-License-Identifier: Apache-2.0
3
4#ifndef OPENVDB_OPENVDB_HAS_BEEN_INCLUDED
5#define OPENVDB_OPENVDB_HAS_BEEN_INCLUDED
6
7#include "Platform.h"
8#include "Types.h"
9#include "TypeList.h"
10#include "Metadata.h"
11#include "math/Maps.h"
12#include "math/Transform.h"
13#include "Grid.h"
14#include "tree/Tree.h"
15#include "points/PointDataGrid.h"
16#include "io/File.h"
17
18
19namespace openvdb {
20 OPENVDB_USE_VERSION_NAMESPACE
21namespace OPENVDB_VERSION_NAME {
22
23/// @brief Global registration of native Grid, Transform, Metadata and Point
24/// attribute types. Also initializes blosc (if enabled).
25/// @details Calling this methods registers factory callbacks for the set of
26/// native grid, transform, metadata and point attribute types that OpenVDB
27/// supports by default. For most types, calling openvdb::initialize is only
28/// required for serialization support. However, openvdb::initialize must be
29/// called for PointDataGrid attribute usage as these callbacks are used in
30/// various tools.
31/// @note This method is thread safe - it can be concurrently called multiple
32/// times, early exiting if it has already been called so long as
33/// openvdb::uninitialize() has not been called.
34 OPENVDB_API void initialize();
35
36/// @brief Global deregistration of native Grid, Transform, Metadata and Point
37/// attribute types.
38/// @details Clears all registered factory callbacks. This includes everything
39/// registered by openvdb::initialize() but will also include any manually
40/// registered types.
41/// @note This method is thread safe - it can be concurrently called multiple
42/// times.
43/// @warning This method does *not* uninitialize blosc. This is to avoid
44/// changing program states should another library also be using blosc. If
45/// blosc is enabled, consider calling blosc_destroy() in your application.
46 OPENVDB_API void uninitialize();
47
48
49// foward declare some default types
50 namespace io { class DelayedLoadMetadata; }
51
52/// Common tree types
53 using BoolTree = tree::Tree4<bool, 5, 4, 3>::Type;
54 using DoubleTree = tree::Tree4<double, 5, 4, 3>::Type;
55 using FloatTree = tree::Tree4<float, 5, 4, 3>::Type;
56 using HalfTree = tree::Tree4<Half, 5, 4, 3>::Type;
57 using Int32Tree = tree::Tree4<int32_t, 5, 4, 3>::Type;
58 using Int64Tree = tree::Tree4<int64_t, 5, 4, 3>::Type;
59 using MaskTree = tree::Tree4<ValueMask, 5, 4, 3>::Type;
60 using UInt32Tree = tree::Tree4<uint32_t, 5, 4, 3>::Type;
61 using Vec2DTree = tree::Tree4<Vec2d, 5, 4, 3>::Type;
62 using Vec2ITree = tree::Tree4<Vec2i, 5, 4, 3>::Type;
63 using Vec2STree = tree::Tree4<Vec2s, 5, 4, 3>::Type;
64 using Vec3DTree = tree::Tree4<Vec3d, 5, 4, 3>::Type;
65 using Vec3ITree = tree::Tree4<Vec3i, 5, 4, 3>::Type;
66 using Vec3STree = tree::Tree4<Vec3f, 5, 4, 3>::Type;
67 using ScalarTree = FloatTree;
68 using TopologyTree = MaskTree;
69 using Vec3dTree = Vec3DTree;
70 using Vec3fTree = Vec3STree;
71 using VectorTree = Vec3fTree;
72
73/// Common grid types
74 using BoolGrid = Grid<BoolTree>;
75 using DoubleGrid = Grid<DoubleTree>;
76 using FloatGrid = Grid<FloatTree>;
77 using HalfGrid = Grid<HalfTree>;
78 using Int32Grid = Grid<Int32Tree>;
79 using Int64Grid = Grid<Int64Tree>;
80 using MaskGrid = Grid<MaskTree>;
81 using Vec3DGrid = Grid<Vec3DTree>;
82 using Vec3IGrid = Grid<Vec3ITree>;
83 using Vec3SGrid = Grid<Vec3STree>;
84 using ScalarGrid = FloatGrid;
85 using TopologyGrid = MaskGrid;
86 using Vec3dGrid = Vec3DGrid;
87 using Vec3fGrid = Vec3SGrid;
88 using VectorGrid = Vec3fGrid;
89
90/// @name Lists of native Grid Types
91/// @{
92/// The floating point Grid types which OpenVDB will register by default.
93 using RealGridTypes = TypeList<FloatGrid, DoubleGrid>;
94/// The integer Grid types which OpenVDB will register by default.
95 using IntegerGridTypes = TypeList<Int32Grid, Int64Grid>;
96/// The scalar Grid types which OpenVDB will register by default. This is a
97/// combination of native floating point and integer grid types. Note that
98/// this list does not include Bool or Mask Grids.
99 using NumericGridTypes = RealGridTypes::Append<IntegerGridTypes>::Append<HalfGrid>;
100/// The Vec3 Grid types which OpenVDB will register by default.
101 using Vec3GridTypes = TypeList<Vec3IGrid, Vec3SGrid, Vec3DGrid>;
102
103/// The Grid types which OpenVDB will register by default.
104 using GridTypes =
105 NumericGridTypes::
106 Append<Vec3GridTypes>::
107 Append<tools::PointIndexGrid>::
108 // #define unfortunately required for one of the tests that removes this alias
109#ifndef OPENVDB_DISABLE_POINT_DATA_TREE_ALIAS
110 Append<points::PointDataGrid>::
111#endif
112 Append<BoolGrid, MaskGrid>;
113/// @}
114
115
116 namespace internal {
117 template <typename T> using ToTreeType = typename T::TreeType;
118}
119/// @name Lists of native Tree Types
120/// @{
121 using RealTreeTypes = RealGridTypes::Transform<internal::ToTreeType>;
122 using IntegerTreeTypes = IntegerGridTypes::Transform<internal::ToTreeType>;
123 using NumericTreeTypes = NumericGridTypes::Transform<internal::ToTreeType>;
124 using Vec3TreeTypes = Vec3GridTypes::Transform<internal::ToTreeType>;
125 using TreeTypes = GridTypes::Transform<internal::ToTreeType>;
126/// @}
127
128
129/// @name Lists of native TypedAttributeArray Types (for PointDataGrids)
130/// @{
131/// The floating point attribute array types which OpenVDB will register by default.
132 using RealAttributeTypes = TypeList<
133 points::TypedAttributeArray<float>,
134 points::TypedAttributeArray<double>,
135 points::TypedAttributeArray<float, points::TruncateCodec>,
136 points::TypedAttributeArray<float, points::FixedPointCodec<true, points::UnitRange>>,
137 points::TypedAttributeArray<float, points::FixedPointCodec<false, points::UnitRange>>
138 >;
139/// The integer attribute array types which OpenVDB will register by default.
140 using IntegerAttributeTypes = TypeList<
141 points::TypedAttributeArray<int8_t>,
142 points::TypedAttributeArray<int16_t>,
143 points::TypedAttributeArray<int32_t>,
144 points::TypedAttributeArray<int64_t>
145 >;
146/// The scalar attribute array types which OpenVDB will register by default.
147/// This is a combination of native floating point and integer array types.
148/// Note that this list does not include bool arrays.
149 using NumericAttributeTypes =
150 RealAttributeTypes::Append<IntegerAttributeTypes>;
151/// The Vec3 attribute array types which OpenVDB will register by default.
152 using Vec3AttributeTypes = TypeList<
153 points::TypedAttributeArray<math::Vec3<int32_t>>,
154 points::TypedAttributeArray<math::Vec3<float>>,
155 points::TypedAttributeArray<math::Vec3<double>>,
156 points::TypedAttributeArray<math::Vec3<float>, points::TruncateCodec>,
157 points::TypedAttributeArray<math::Vec3<float>, points::FixedPointCodec<true, points::PositionRange>>,
158 points::TypedAttributeArray<math::Vec3<float>, points::FixedPointCodec<false, points::PositionRange>>,
159 points::TypedAttributeArray<math::Vec3<float>, points::FixedPointCodec<true, points::UnitRange>>,
160 points::TypedAttributeArray<math::Vec3<float>, points::FixedPointCodec<false, points::UnitRange>>,
161 points::TypedAttributeArray<math::Vec3<float>, points::UnitVecCodec>
162 >;
163/// The Mat3 attribute array types which OpenVDB will register by default.
164 using Mat3AttributeTypes = TypeList<
165 points::TypedAttributeArray<math::Mat3<float>>,
166 points::TypedAttributeArray<math::Mat3<double>>
167 >;
168/// The Mat4 attribute array types which OpenVDB will register by default.
169 using Mat4AttributeTypes = TypeList<
170 points::TypedAttributeArray<math::Mat4<float>>,
171 points::TypedAttributeArray<math::Mat4<double>>
172 >;
173/// The Quat attribute array types which OpenVDB will register by default.
174 using QuatAttributeTypes = TypeList<
175 points::TypedAttributeArray<math::Quat<float>>,
176 points::TypedAttributeArray<math::Quat<double>>
177 >;
178
179/// The attribute array types which OpenVDB will register by default.
180 using AttributeTypes =
181 NumericAttributeTypes::
182 Append<Vec3AttributeTypes>::
183 Append<Mat3AttributeTypes>::
184 Append<Mat4AttributeTypes>::
185 Append<QuatAttributeTypes>::
186 Append<points::GroupAttributeArray>::
187 Append<points::StringAttributeArray>::
188 Append<points::TypedAttributeArray<bool>>;
189/// @}
190
191
192/// The Map types which OpenVDB will register by default.
193 using MapTypes = TypeList<
194 math::AffineMap,
195 math::UnitaryMap,
196 math::ScaleMap,
197 math::UniformScaleMap,
198 math::TranslationMap,
199 math::ScaleTranslateMap,
200 math::UniformScaleTranslateMap,
201 math::NonlinearFrustumMap>;
202
203
204/// The Metadata types which OpenVDB will register by default.
205 using MetaTypes = TypeList<
206 BoolMetadata,
207 DoubleMetadata,
208 FloatMetadata,
209 HalfMetadata,
210 Int32Metadata,
211 Int64Metadata,
212 StringMetadata,
213 Vec2IMetadata,
214 Vec2SMetadata,
215 Vec2DMetadata,
216 Vec3IMetadata,
217 Vec3SMetadata,
218 Vec3DMetadata,
219 Vec4IMetadata,
220 Vec4SMetadata,
221 Vec4DMetadata,
222 Mat4SMetadata,
223 Mat4DMetadata,
224 io::DelayedLoadMetadata>;
225
226
227} // namespace OPENVDB_VERSION_NAME
228} // namespace openvdb
229
230#endif // OPENVDB_OPENVDB_HAS_BEEN_INCLUDED
File.h
Grid.h
Maps.h
Metadata.h
Platform.h
OPENVDB_API
#define OPENVDB_API
Definition Platform.h:291
PointDataGrid.h
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
Transform.h
Tree.h
TypeList.h
A TypeList provides a compile time sequence of heterogeneous types which can be accessed,...
openvdb::v13_0::Grid
Container class that associates a tree with a transform and metadata.
Definition Grid.h:571
openvdb::v13_0::io::DelayedLoadMetadata
Store a buffer of data that can be optionally used during reading for faster delayed-load I/O perform...
Definition DelayedLoadMetadata.h:22
openvdb::v13_0::math::AffineMap
A general linear transform using homogeneous coordinates to perform rotation, scaling,...
Definition Maps.h:296
openvdb::v13_0::math::NonlinearFrustumMap
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
openvdb::v13_0::math::ScaleMap
A specialized Affine transform that scales along the principal axis the scaling need not be uniform i...
Definition Maps.h:656
openvdb::v13_0::math::ScaleTranslateMap
A specialized Affine transform that scales along the principal axis the scaling need not be uniform i...
Definition Maps.h:1163
openvdb::v13_0::math::TranslationMap
A specialized linear transform that performs a translation.
Definition Maps.h:978
openvdb::v13_0::math::UniformScaleMap
A specialized Affine transform that scales along the principal axis the scaling is uniform in the thr...
Definition Maps.h:906
openvdb::v13_0::math::UniformScaleTranslateMap
A specialized Affine transform that uniformaly scales along the principal axis and then translates th...
Definition Maps.h:1479
openvdb::v13_0::math::UnitaryMap
A specialized linear transform that performs a unitary maping i.e. rotation and or reflection.
Definition Maps.h:1621
openvdb::v13_0::points::TypedAttributeArray
Typed class for storing attribute data.
Definition AttributeArray.h:512
openvdb::v13_0::internal
Definition openvdb.h:116
openvdb::v13_0::internal::ToTreeType
typename T::TreeType ToTreeType
Definition openvdb.h:117
openvdb::v13_0::io
Definition openvdb.h:50
openvdb::v13_0::MetaTypes
TypeList< BoolMetadata, DoubleMetadata, FloatMetadata, HalfMetadata, 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:205
openvdb::v13_0::Vec2DTree
tree::Tree4< Vec2d, 5, 4, 3 >::Type Vec2DTree
Definition openvdb.h:61
openvdb::v13_0::HalfMetadata
TypedMetadata< math::half > HalfMetadata
Definition Metadata.h:362
openvdb::v13_0::Vec3DTree
tree::Tree4< Vec3d, 5, 4, 3 >::Type Vec3DTree
Definition openvdb.h:64
openvdb::v13_0::Vec4DMetadata
TypedMetadata< Vec4d > Vec4DMetadata
Definition Metadata.h:372
openvdb::v13_0::Mat3AttributeTypes
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:164
openvdb::v13_0::Vec3dGrid
Vec3DGrid Vec3dGrid
Definition openvdb.h:86
openvdb::v13_0::RealGridTypes
TypeList< FloatGrid, DoubleGrid > RealGridTypes
The integer Grid types which OpenVDB will register by default.
Definition openvdb.h:93
openvdb::v13_0::FloatMetadata
TypedMetadata< float > FloatMetadata
Definition Metadata.h:361
openvdb::v13_0::Vec3AttributeTypes
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:152
openvdb::v13_0::Vec3ITree
tree::Tree4< Vec3i, 5, 4, 3 >::Type Vec3ITree
Definition openvdb.h:65
openvdb::v13_0::FloatGrid
Grid< FloatTree > FloatGrid
Definition openvdb.h:76
openvdb::v13_0::HalfTree
tree::Tree4< Half, 5, 4, 3 >::Type HalfTree
Definition openvdb.h:56
openvdb::v13_0::FloatTree
tree::Tree4< float, 5, 4, 3 >::Type FloatTree
Definition openvdb.h:55
openvdb::v13_0::NumericAttributeTypes
RealAttributeTypes::Append< IntegerAttributeTypes > NumericAttributeTypes
Definition openvdb.h:149
openvdb::v13_0::VectorGrid
Vec3fGrid VectorGrid
Definition openvdb.h:88
openvdb::v13_0::BoolTree
tree::Tree4< bool, 5, 4, 3 >::Type BoolTree
Common tree types.
Definition openvdb.h:53
openvdb::v13_0::TreeTypes
GridTypes::Transform< internal::ToTreeType > TreeTypes
Definition openvdb.h:125
openvdb::v13_0::Vec2DMetadata
TypedMetadata< Vec2d > Vec2DMetadata
Definition Metadata.h:366
openvdb::v13_0::Vec3DGrid
Grid< Vec3DTree > Vec3DGrid
Definition openvdb.h:81
openvdb::v13_0::BoolGrid
Grid< BoolTree > BoolGrid
Common grid types.
Definition openvdb.h:74
openvdb::v13_0::IntegerGridTypes
TypeList< Int32Grid, Int64Grid > IntegerGridTypes
The integer Grid types which OpenVDB will register by default.
Definition openvdb.h:95
openvdb::v13_0::MaskTree
tree::Tree4< ValueMask, 5, 4, 3 >::Type MaskTree
Definition openvdb.h:59
openvdb::v13_0::IntegerTreeTypes
IntegerGridTypes::Transform< internal::ToTreeType > IntegerTreeTypes
Definition openvdb.h:122
openvdb::v13_0::RealTreeTypes
RealGridTypes::Transform< internal::ToTreeType > RealTreeTypes
Definition openvdb.h:121
openvdb::v13_0::Vec3DMetadata
TypedMetadata< Vec3d > Vec3DMetadata
Definition Metadata.h:369
openvdb::v13_0::ScalarGrid
FloatGrid ScalarGrid
Definition openvdb.h:84
openvdb::v13_0::GridTypes
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:104
openvdb::v13_0::Vec3fGrid
Vec3SGrid Vec3fGrid
Definition openvdb.h:87
openvdb::v13_0::Int32Metadata
TypedMetadata< int32_t > Int32Metadata
Definition Metadata.h:363
openvdb::v13_0::Vec2STree
tree::Tree4< Vec2s, 5, 4, 3 >::Type Vec2STree
Definition openvdb.h:63
openvdb::v13_0::initialize
OPENVDB_IMPORT void initialize()
Global registration of native Grid, Transform, Metadata and Point attribute types....
openvdb::v13_0::Vec3TreeTypes
Vec3GridTypes::Transform< internal::ToTreeType > Vec3TreeTypes
Definition openvdb.h:124
openvdb::v13_0::Mat4DMetadata
TypedMetadata< Mat4d > Mat4DMetadata
Definition Metadata.h:376
openvdb::v13_0::Vec3IGrid
Grid< Vec3ITree > Vec3IGrid
Definition openvdb.h:82
openvdb::v13_0::Mat4AttributeTypes
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:169
openvdb::v13_0::Int32Tree
tree::Tree4< int32_t, 5, 4, 3 >::Type Int32Tree
Definition openvdb.h:57
openvdb::v13_0::Int64Tree
tree::Tree4< int64_t, 5, 4, 3 >::Type Int64Tree
Definition openvdb.h:58
openvdb::v13_0::Int64Grid
Grid< Int64Tree > Int64Grid
Definition openvdb.h:79
openvdb::v13_0::uninitialize
OPENVDB_IMPORT void uninitialize()
Global deregistration of native Grid, Transform, Metadata and Point attribute types.
openvdb::v13_0::Vec3SGrid
Grid< Vec3STree > Vec3SGrid
Definition openvdb.h:83
openvdb::v13_0::TopologyTree
MaskTree TopologyTree
Definition openvdb.h:68
openvdb::v13_0::Vec3STree
tree::Tree4< Vec3f, 5, 4, 3 >::Type Vec3STree
Definition openvdb.h:66
openvdb::v13_0::Vec2IMetadata
TypedMetadata< Vec2i > Vec2IMetadata
Definition Metadata.h:367
openvdb::v13_0::MapTypes
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:193
openvdb::v13_0::VectorTree
Vec3fTree VectorTree
Definition openvdb.h:71
openvdb::v13_0::TopologyGrid
MaskGrid TopologyGrid
Definition openvdb.h:85
openvdb::v13_0::UInt32Tree
tree::Tree4< uint32_t, 5, 4, 3 >::Type UInt32Tree
Definition openvdb.h:60
openvdb::v13_0::ScalarTree
FloatTree ScalarTree
Definition openvdb.h:67
openvdb::v13_0::RealAttributeTypes
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:132
openvdb::v13_0::Vec2ITree
tree::Tree4< Vec2i, 5, 4, 3 >::Type Vec2ITree
Definition openvdb.h:62
openvdb::v13_0::Vec3GridTypes
TypeList< Vec3IGrid, Vec3SGrid, Vec3DGrid > Vec3GridTypes
The Vec3 Grid types which OpenVDB will register by default.
Definition openvdb.h:101
openvdb::v13_0::StringMetadata
TypedMetadata< std::string > StringMetadata
Definition Metadata.h:365
openvdb::v13_0::MaskGrid
Grid< MaskTree > MaskGrid
Definition openvdb.h:80
openvdb::v13_0::Vec4SMetadata
TypedMetadata< Vec4s > Vec4SMetadata
Definition Metadata.h:374
openvdb::v13_0::HalfGrid
Grid< HalfTree > HalfGrid
Definition openvdb.h:77
openvdb::v13_0::NumericTreeTypes
NumericGridTypes::Transform< internal::ToTreeType > NumericTreeTypes
Definition openvdb.h:123
openvdb::v13_0::Vec3SMetadata
TypedMetadata< Vec3s > Vec3SMetadata
Definition Metadata.h:371
openvdb::v13_0::Vec3fTree
Vec3STree Vec3fTree
Definition openvdb.h:70
openvdb::v13_0::DoubleTree
tree::Tree4< double, 5, 4, 3 >::Type DoubleTree
Definition openvdb.h:54
openvdb::v13_0::Int32Grid
Grid< Int32Tree > Int32Grid
Definition openvdb.h:78
openvdb::v13_0::Vec2SMetadata
TypedMetadata< Vec2s > Vec2SMetadata
Definition Metadata.h:368
openvdb::v13_0::Vec4IMetadata
TypedMetadata< Vec4i > Vec4IMetadata
Definition Metadata.h:373
openvdb::v13_0::AttributeTypes
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:180
openvdb::v13_0::Mat4SMetadata
TypedMetadata< Mat4s > Mat4SMetadata
Definition Metadata.h:375
openvdb::v13_0::DoubleGrid
Grid< DoubleTree > DoubleGrid
Definition openvdb.h:75
openvdb::v13_0::Vec3IMetadata
TypedMetadata< Vec3i > Vec3IMetadata
Definition Metadata.h:370
openvdb::v13_0::NumericGridTypes
RealGridTypes::Append< IntegerGridTypes >::Append< HalfGrid > NumericGridTypes
Definition openvdb.h:99
openvdb::v13_0::QuatAttributeTypes
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:174
openvdb::v13_0::BoolMetadata
TypedMetadata< bool > BoolMetadata
Definition Metadata.h:359
openvdb::v13_0::Int64Metadata
TypedMetadata< int64_t > Int64Metadata
Definition Metadata.h:364
openvdb::v13_0::IntegerAttributeTypes
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:140
openvdb::v13_0::Vec3dTree
Vec3DTree Vec3dTree
Definition openvdb.h:69
openvdb::v13_0::DoubleMetadata
TypedMetadata< double > DoubleMetadata
Definition Metadata.h:360
openvdb
Definition Exceptions.h:13
Types.h
openvdb::v13_0::TypeList
A list of types (not necessarily unique).
Definition TypeList.h:578
openvdb::v13_0::TypeList< FloatGrid, DoubleGrid >::Transform
typename typelist_internal::TSTranformImpl< OpT, Ts... >::type Transform
Definition TypeList.h:736
openvdb::v13_0::TypeList< FloatGrid, DoubleGrid >::Append
typename typelist_internal::TSAppendImpl< Self, TypesToAppend... >::type Append
Definition TypeList.h:656
openvdb::v13_0::points::FixedPointCodec
Definition AttributeArray.h:478
openvdb::v13_0::points::TruncateCodec
Definition AttributeArray.h:448
openvdb::v13_0::points::UnitVecCodec
Definition AttributeArray.h:493
openvdb::v13_0::tree::Tree4::Type
Tree< RootNode< InternalNode< InternalNode< LeafNode< T, N3 >, N2 >, N1 > > > Type
Definition Tree.h:1126
OPENVDB_VERSION_NAME
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition version.h.in:121
OPENVDB_USE_VERSION_NAMESPACE
#define OPENVDB_USE_VERSION_NAMESPACE
Definition version.h.in:218