OpenVDB: openvdb.h Source File

OpenVDB 3.2.0

openvdb.h
Go to the documentation of this file.
1 //
3 // Copyright (c) 2012-2016 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 typedef tree::Tree4<ValueMask, 5, 4, 3>::Type MaskTree;
50 typedef tree::Tree4<bool, 5, 4, 3>::Type BoolTree;
51 typedef tree::Tree4<float, 5, 4, 3>::Type FloatTree;
52 typedef tree::Tree4<double, 5, 4, 3>::Type DoubleTree;
53 typedef tree::Tree4<int32_t, 5, 4, 3>::Type Int32Tree;
54 typedef tree::Tree4<uint32_t, 5, 4, 3>::Type UInt32Tree;
55 typedef tree::Tree4<int64_t, 5, 4, 3>::Type Int64Tree;
56 typedef tree::Tree4<Vec2i, 5, 4, 3>::Type Vec2ITree;
57 typedef tree::Tree4<Vec2s, 5, 4, 3>::Type Vec2STree;
58 typedef tree::Tree4<Vec2d, 5, 4, 3>::Type Vec2DTree;
59 typedef tree::Tree4<Vec3i, 5, 4, 3>::Type Vec3ITree;
60 typedef tree::Tree4<Vec3f, 5, 4, 3>::Type Vec3STree;
61 typedef tree::Tree4<Vec3d, 5, 4, 3>::Type Vec3DTree;
62 typedef tree::Tree4<std::string, 5, 4, 3>::Type StringTree;
63 typedef MaskTree TopologyTree;
64 typedef Vec3STree Vec3fTree;
65 typedef Vec3DTree Vec3dTree;
66 typedef FloatTree ScalarTree;
67 typedef Vec3fTree VectorTree;
68
70 typedef Grid<MaskTree> MaskGrid;
71 typedef Grid<BoolTree> BoolGrid;
72 typedef Grid<FloatTree> FloatGrid;
73 typedef Grid<DoubleTree> DoubleGrid;
74 typedef Grid<Int32Tree> Int32Grid;
75 typedef Grid<Int64Tree> Int64Grid;
76 typedef Grid<Vec3ITree> Vec3IGrid;
77 typedef Grid<Vec3STree> Vec3SGrid;
78 typedef Grid<Vec3DTree> Vec3DGrid;
79 typedef Grid<StringTree> StringGrid;
80 typedef Vec3SGrid Vec3fGrid;
81 typedef Vec3DGrid Vec3dGrid;
82 typedef FloatGrid ScalarGrid;
83 typedef Vec3fGrid VectorGrid;
84 typedef MaskGrid TopologyGrid;
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-2016 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::v3_2_0::DoubleGrid
Grid< DoubleTree > DoubleGrid
Definition: openvdb.h:73
OPENVDB_API
#define OPENVDB_API
Helper macros for defining library symbol visibility.
Definition: Platform.h:195
Types.h
openvdb::v3_2_0::Vec3dTree
Vec3DTree Vec3dTree
Definition: openvdb.h:65
Metadata.h
openvdb::v3_2_0::FloatTree
tree::Tree4< float, 5, 4, 3 >::Type FloatTree
Definition: openvdb.h:51
openvdb::v3_2_0::Vec3IGrid
Grid< Vec3ITree > Vec3IGrid
Definition: openvdb.h:76
openvdb::v3_2_0::MaskGrid
Grid< MaskTree > MaskGrid
Common grid types.
Definition: openvdb.h:70
openvdb::v3_2_0::MaskTree
tree::Tree4< ValueMask, 5, 4, 3 >::Type MaskTree
Common tree types.
Definition: openvdb.h:49
Transform.h
openvdb::v3_2_0::Vec2DTree
tree::Tree4< Vec2d, 5, 4, 3 >::Type Vec2DTree
Definition: openvdb.h:58
Maps.h
openvdb::v3_2_0::BoolGrid
Grid< BoolTree > BoolGrid
Definition: openvdb.h:71
Tree.h
File.h
openvdb::v3_2_0::FloatGrid
Grid< FloatTree > FloatGrid
Definition: openvdb.h:72
openvdb::v3_2_0::Int64Grid
Grid< Int64Tree > Int64Grid
Definition: openvdb.h:75
OPENVDB_VERSION_NAME
#define OPENVDB_VERSION_NAME
Definition: version.h:43
openvdb::v3_2_0::Vec3STree
tree::Tree4< Vec3f, 5, 4, 3 >::Type Vec3STree
Definition: openvdb.h:60
openvdb::v3_2_0::Vec2ITree
tree::Tree4< Vec2i, 5, 4, 3 >::Type Vec2ITree
Definition: openvdb.h:56
openvdb::v3_2_0::StringTree
tree::Tree4< std::string, 5, 4, 3 >::Type StringTree
Definition: openvdb.h:62
openvdb::v3_2_0::ScalarGrid
FloatGrid ScalarGrid
Definition: openvdb.h:82
openvdb::v3_2_0::Vec3fTree
Vec3STree Vec3fTree
Definition: openvdb.h:64
openvdb
Definition: Exceptions.h:39
openvdb::v3_2_0::initialize
OPENVDB_IMPORT void initialize()
Global registration of basic types.
openvdb::v3_2_0::UInt32Tree
tree::Tree4< uint32_t, 5, 4, 3 >::Type UInt32Tree
Definition: openvdb.h:54
openvdb::v3_2_0::Vec2STree
tree::Tree4< Vec2s, 5, 4, 3 >::Type Vec2STree
Definition: openvdb.h:57
openvdb::v3_2_0::VectorGrid
Vec3fGrid VectorGrid
Definition: openvdb.h:83
openvdb::v3_2_0::Int64Tree
tree::Tree4< int64_t, 5, 4, 3 >::Type Int64Tree
Definition: openvdb.h:55
openvdb::v3_2_0::StringGrid
Grid< StringTree > StringGrid
Definition: openvdb.h:79
openvdb::v3_2_0::Vec3DGrid
Grid< Vec3DTree > Vec3DGrid
Definition: openvdb.h:78
openvdb::v3_2_0::TopologyTree
MaskTree TopologyTree
Definition: openvdb.h:63
openvdb::v3_2_0::Vec3fGrid
Vec3SGrid Vec3fGrid
Definition: openvdb.h:80
openvdb::v3_2_0::Vec3ITree
tree::Tree4< Vec3i, 5, 4, 3 >::Type Vec3ITree
Definition: openvdb.h:59
Grid.h
openvdb::v3_2_0::VectorTree
Vec3fTree VectorTree
Definition: openvdb.h:67
openvdb::v3_2_0::TopologyGrid
MaskGrid TopologyGrid
Definition: openvdb.h:84
openvdb::v3_2_0::Int32Tree
tree::Tree4< int32_t, 5, 4, 3 >::Type Int32Tree
Definition: openvdb.h:53
OPENVDB_USE_VERSION_NAMESPACE
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h:71
openvdb::v3_2_0::Int32Grid
Grid< Int32Tree > Int32Grid
Definition: openvdb.h:74
openvdb::v3_2_0::tree::Tree
Definition: Tree.h:205
openvdb::v3_2_0::ScalarTree
FloatTree ScalarTree
Definition: openvdb.h:66
openvdb::v3_2_0::DoubleTree
tree::Tree4< double, 5, 4, 3 >::Type DoubleTree
Definition: openvdb.h:52
openvdb::v3_2_0::Vec3DTree
tree::Tree4< Vec3d, 5, 4, 3 >::Type Vec3DTree
Definition: openvdb.h:61
openvdb::v3_2_0::Grid
Container class that associates a tree with a transform and metadata.
Definition: Grid.h:54
openvdb::v3_2_0::BoolTree
tree::Tree4< bool, 5, 4, 3 >::Type BoolTree
Definition: openvdb.h:50
openvdb::v3_2_0::Vec3dGrid
Vec3DGrid Vec3dGrid
Definition: openvdb.h:81
Platform.h
openvdb::v3_2_0::Vec3SGrid
Grid< Vec3STree > Vec3SGrid
Definition: openvdb.h:77
openvdb::v3_2_0::uninitialize
OPENVDB_IMPORT void uninitialize()
Global deregistration of basic types.