OpenVDB: openvdb/openvdb.h Source File

OpenVDB 9.0.0

openvdb.h
Go to the documentation of this file.
1// Copyright Contributors to the OpenVDB Project
2// SPDX-License-Identifier: MPL-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 "Metadata.h"
10#include "math/Maps.h"
11#include "math/Transform.h"
12#include "Grid.h"
13#include "tree/Tree.h"
14#include "io/File.h"
15
16
17namespace openvdb {
18 OPENVDB_USE_VERSION_NAMESPACE
19namespace OPENVDB_VERSION_NAME {
20
21/// Common tree types
22 using BoolTree = tree::Tree4<bool, 5, 4, 3>::Type;
23 using DoubleTree = tree::Tree4<double, 5, 4, 3>::Type;
24 using FloatTree = tree::Tree4<float, 5, 4, 3>::Type;
25 using Int32Tree = tree::Tree4<int32_t, 5, 4, 3>::Type;
26 using Int64Tree = tree::Tree4<int64_t, 5, 4, 3>::Type;
27 using MaskTree = tree::Tree4<ValueMask, 5, 4, 3>::Type;
28 using UInt32Tree = tree::Tree4<uint32_t, 5, 4, 3>::Type;
29 using Vec2DTree = tree::Tree4<Vec2d, 5, 4, 3>::Type;
30 using Vec2ITree = tree::Tree4<Vec2i, 5, 4, 3>::Type;
31 using Vec2STree = tree::Tree4<Vec2s, 5, 4, 3>::Type;
32 using Vec3DTree = tree::Tree4<Vec3d, 5, 4, 3>::Type;
33 using Vec3ITree = tree::Tree4<Vec3i, 5, 4, 3>::Type;
34 using Vec3STree = tree::Tree4<Vec3f, 5, 4, 3>::Type;
35 using ScalarTree = FloatTree;
36 using TopologyTree = MaskTree;
37 using Vec3dTree = Vec3DTree;
38 using Vec3fTree = Vec3STree;
39 using VectorTree = Vec3fTree;
40
41/// Common grid types
42 using BoolGrid = Grid<BoolTree>;
43 using DoubleGrid = Grid<DoubleTree>;
44 using FloatGrid = Grid<FloatTree>;
45 using Int32Grid = Grid<Int32Tree>;
46 using Int64Grid = Grid<Int64Tree>;
47 using MaskGrid = Grid<MaskTree>;
48 using Vec3DGrid = Grid<Vec3DTree>;
49 using Vec3IGrid = Grid<Vec3ITree>;
50 using Vec3SGrid = Grid<Vec3STree>;
51 using ScalarGrid = FloatGrid;
52 using TopologyGrid = MaskGrid;
53 using Vec3dGrid = Vec3DGrid;
54 using Vec3fGrid = Vec3SGrid;
55 using VectorGrid = Vec3fGrid;
56
57/// Global registration of basic types
58 OPENVDB_API void initialize();
59
60/// Global deregistration of basic types
61 OPENVDB_API void uninitialize();
62
63
64// Deprecated types
65/// @note Customizing the type of a VDB tree to an arbitrary class is still
66/// supported however std::string Trees will, in the future, no longer be
67/// provided as a native type by OpenVDB.
68 using StringTree OPENVDB_DEPRECATED_MESSAGE("Support for std::string Trees "
69 "as a native type will be dropped in future versions. Please feedback with any concerns.")
70 = tree::Tree4<std::string, 5, 4, 3>::Type;
71 using StringGrid OPENVDB_DEPRECATED_MESSAGE("Support for std::string Grids "
72 "as a native type will be dropped in future versions. Please feedback with any concerns.")
73 = Grid<tree::Tree4<std::string, 5, 4, 3>::Type>;
74
75} // namespace OPENVDB_VERSION_NAME
76} // namespace openvdb
77
78#endif // OPENVDB_OPENVDB_HAS_BEEN_INCLUDED
File.h
Grid.h
Maps.h
Metadata.h
Platform.h
OPENVDB_API
#define OPENVDB_API
Definition: Platform.h:254
OPENVDB_DEPRECATED_MESSAGE
#define OPENVDB_DEPRECATED_MESSAGE(msg)
Definition: Platform.h:123
Transform.h
Tree.h
Types.h
Consolidated llvm types for most supported types.
openvdb::v9_0::Grid
Container class that associates a tree with a transform and metadata.
Definition: Grid.h:577
openvdb::v9_0::tree::Tree
Definition: Tree.h:176
openvdb::v9_0::initialize
OPENVDB_IMPORT void initialize()
Global registration of basic types.
openvdb::v9_0::FloatGrid
Grid< FloatTree > FloatGrid
Definition: openvdb.h:44
openvdb::v9_0::Vec3DGrid
Grid< Vec3DTree > Vec3DGrid
Definition: openvdb.h:48
openvdb::v9_0::uninitialize
OPENVDB_IMPORT void uninitialize()
Global deregistration of basic types.
openvdb::v9_0::Vec3fGrid
Vec3SGrid Vec3fGrid
Definition: openvdb.h:54
openvdb::v9_0::Vec3SGrid
Grid< Vec3STree > Vec3SGrid
Definition: openvdb.h:50
openvdb::v9_0::FloatTree
tree::Tree4< float, 5, 4, 3 >::Type FloatTree
Definition: openvdb.h:24
openvdb::v9_0::MaskTree
tree::Tree4< ValueMask, 5, 4, 3 >::Type MaskTree
Definition: openvdb.h:27
openvdb::v9_0::Vec3STree
tree::Tree4< Vec3f, 5, 4, 3 >::Type Vec3STree
Definition: openvdb.h:34
openvdb::v9_0::MaskGrid
Grid< MaskTree > MaskGrid
Definition: openvdb.h:47
openvdb::v9_0::Vec3fTree
Vec3STree Vec3fTree
Definition: openvdb.h:38
openvdb::v9_0::Vec3DTree
tree::Tree4< Vec3d, 5, 4, 3 >::Type Vec3DTree
Definition: openvdb.h:32
openvdb
Definition: Exceptions.h:13
OPENVDB_VERSION_NAME
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h.in:116
OPENVDB_USE_VERSION_NAMESPACE
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h.in:202