OpenVDB: openvdb.h Source File

OpenVDB 6.1.0

openvdb.h
Go to the documentation of this file.
1 //
3 // Copyright (c) 2012-2018 DreamWorks Animation LLC
4 //
5 // All rights reserved. This software is distributed under the
6 // Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
7 //
8 // Redistributions of source code must retain the above copyright
9 // and license notice and the following restrictions and disclaimer.
10 //
11 // * Neither the name of DreamWorks Animation nor the names of
12 // its contributors may be used to endorse or promote products derived
13 // from this software without specific prior written permission.
14 //
15 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
18 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
20 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 // IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE
27 // LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00.
28 //
30
31 #ifndef OPENVDB_OPENVDB_HAS_BEEN_INCLUDED
32 #define OPENVDB_OPENVDB_HAS_BEEN_INCLUDED
33
34 #include "Platform.h"
35 #include "Types.h"
36 #include "Metadata.h"
37 #include "math/Maps.h"
38 #include "math/Transform.h"
39 #include "Grid.h"
40 #include "tree/Tree.h"
41 #include "io/File.h"
42
43
44 namespace openvdb {
45 OPENVDB_USE_VERSION_NAMESPACE
46 namespace OPENVDB_VERSION_NAME {
47
49 using BoolTree = tree::Tree4<bool, 5, 4, 3>::Type;
50 using DoubleTree = tree::Tree4<double, 5, 4, 3>::Type;
51 using FloatTree = tree::Tree4<float, 5, 4, 3>::Type;
52 using Int32Tree = tree::Tree4<int32_t, 5, 4, 3>::Type;
53 using Int64Tree = tree::Tree4<int64_t, 5, 4, 3>::Type;
54 using MaskTree = tree::Tree4<ValueMask, 5, 4, 3>::Type;
55 using StringTree = tree::Tree4<std::string, 5, 4, 3>::Type;
56 using UInt32Tree = tree::Tree4<uint32_t, 5, 4, 3>::Type;
57 using Vec2DTree = tree::Tree4<Vec2d, 5, 4, 3>::Type;
58 using Vec2ITree = tree::Tree4<Vec2i, 5, 4, 3>::Type;
59 using Vec2STree = tree::Tree4<Vec2s, 5, 4, 3>::Type;
60 using Vec3DTree = tree::Tree4<Vec3d, 5, 4, 3>::Type;
61 using Vec3ITree = tree::Tree4<Vec3i, 5, 4, 3>::Type;
62 using Vec3STree = tree::Tree4<Vec3f, 5, 4, 3>::Type;
63 using ScalarTree = FloatTree;
64 using TopologyTree = MaskTree;
65 using Vec3dTree = Vec3DTree;
66 using Vec3fTree = Vec3STree;
67 using VectorTree = Vec3fTree;
68
70 using BoolGrid = Grid<BoolTree>;
71 using DoubleGrid = Grid<DoubleTree>;
72 using FloatGrid = Grid<FloatTree>;
73 using Int32Grid = Grid<Int32Tree>;
74 using Int64Grid = Grid<Int64Tree>;
75 using MaskGrid = Grid<MaskTree>;
76 using StringGrid = Grid<StringTree>;
77 using Vec3DGrid = Grid<Vec3DTree>;
78 using Vec3IGrid = Grid<Vec3ITree>;
79 using Vec3SGrid = Grid<Vec3STree>;
80 using ScalarGrid = FloatGrid;
81 using TopologyGrid = MaskGrid;
82 using Vec3dGrid = Vec3DGrid;
83 using Vec3fGrid = Vec3SGrid;
84 using VectorGrid = Vec3fGrid;
85
87 OPENVDB_API void initialize();
88
90 OPENVDB_API void uninitialize();
91
92 } // namespace OPENVDB_VERSION_NAME
93 } // namespace openvdb
94
95 #endif // OPENVDB_OPENVDB_HAS_BEEN_INCLUDED
96
97 // Copyright (c) 2012-2018 DreamWorks Animation LLC
98 // All rights reserved. This software is distributed under the
99 // Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
OPENVDB_API
#define OPENVDB_API
Helper macros for defining library symbol visibility.
Definition: Platform.h:288
Types.h
openvdb::v6_1::FloatGrid
Grid< FloatTree > FloatGrid
Definition: openvdb.h:72
Metadata.h
openvdb::v6_1::initialize
OPENVDB_IMPORT void initialize()
Global registration of basic types.
Transform.h
openvdb::v6_1::uninitialize
OPENVDB_IMPORT void uninitialize()
Global deregistration of basic types.
openvdb::v6_1::Grid
Container class that associates a tree with a transform and metadata.
Definition: Grid.h:55
Maps.h
openvdb::v6_1::Vec3DGrid
Grid< Vec3DTree > Vec3DGrid
Definition: openvdb.h:77
Tree.h
File.h
openvdb::v6_1::Vec3fGrid
Vec3SGrid Vec3fGrid
Definition: openvdb.h:83
OPENVDB_VERSION_NAME
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h:125
openvdb::v6_1::Vec3DTree
tree::Tree4< Vec3d, 5, 4, 3 >::Type Vec3DTree
Definition: openvdb.h:60
openvdb
Definition: Exceptions.h:40
openvdb::v6_1::MaskTree
tree::Tree4< ValueMask, 5, 4, 3 >::Type MaskTree
Definition: openvdb.h:54
openvdb::v6_1::Vec3SGrid
Grid< Vec3STree > Vec3SGrid
Definition: openvdb.h:79
openvdb::v6_1::tree::Tree
Definition: Tree.h:203
Grid.h
OPENVDB_USE_VERSION_NAMESPACE
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h:177
openvdb::v6_1::MaskGrid
Grid< MaskTree > MaskGrid
Definition: openvdb.h:75
openvdb::v6_1::FloatTree
tree::Tree4< float, 5, 4, 3 >::Type FloatTree
Definition: openvdb.h:51
openvdb::v6_1::Vec3fTree
Vec3STree Vec3fTree
Definition: openvdb.h:66
openvdb::v6_1::Vec3STree
tree::Tree4< Vec3f, 5, 4, 3 >::Type Vec3STree
Definition: openvdb.h:62
Platform.h