#include "version.h"#include "Platform.h"#include "TypeList.h"#include <openvdb/math/Half.h>#include <openvdb/math/Math.h>#include <openvdb/math/BBox.h>#include <openvdb/math/Quat.h>#include <openvdb/math/Vec2.h>#include <openvdb/math/Vec3.h>#include <openvdb/math/Vec4.h>#include <openvdb/math/Mat3.h>#include <openvdb/math/Mat4.h>#include <openvdb/math/Coord.h>#include <cstdint>#include <memory>#include <type_traits>Go to the source code of this file.
| Classes | |
| class | ValueMask | 
| struct | PointIndex< IntType_, Kind > | 
| Integer wrapper, required to distinguish PointIndexGrid and PointDataGrid from Int32Grid and Int64Grid.  More... | |
| struct | IsSpecializationOf< T, Template > | 
| Helper metafunction used to determine if the first template parameter is a specialization of the class template given in the second template parameter.  More... | |
| struct | IsSpecializationOf< Template< Args... >, Template > | 
| struct | index_sequence< Ns > | 
| Re-implementation of C++17's index_sequence and the helper alias make_index_sequence. This was introduced to fix an issue with clang's builtin implementation which treats template specializations of builtin templates differently when a subsequent parameter is dependent. The result is a resolution failure during partial specialization selection. For example, the following will fail to specialize:  More... | |
| struct | VecTraits< T, bool > | 
| struct | VecTraits< T, false > | 
| struct | QuatTraits< T, bool > | 
| struct | QuatTraits< T, false > | 
| struct | MatTraits< T, bool > | 
| struct | MatTraits< T, false > | 
| struct | ValueTraits< T, bool > | 
| struct | ValueTraits< T, false > | 
| struct | ConvertElementType< T, SubT > | 
| Conversion classes for changing the underlying type of VDB types.  More... | |
| struct | ConvertElementType< math::Vec2< T >, SubT > | 
| struct | ConvertElementType< math::Vec3< T >, SubT > | 
| struct | ConvertElementType< math::Vec4< T >, SubT > | 
| struct | ConvertElementType< math::Quat< T >, SubT > | 
| struct | ConvertElementType< math::Mat3< T >, SubT > | 
| struct | ConvertElementType< math::Mat4< T >, SubT > | 
| struct | int_t< 8ul, true > | 
| struct | int_t< 16ul, true > | 
| struct | int_t< 32ul, true > | 
| struct | int_t< 64ul, true > | 
| struct | int_t< 8ul, false > | 
| struct | int_t< 16ul, false > | 
| struct | int_t< 32ul, false > | 
| struct | int_t< 64ul, false > | 
| struct | flt_t< 16ul > | 
| struct | flt_t< 32ul > | 
| struct | flt_t< 64ul > | 
| struct | PromoteType< T > | 
| Promotion classes which provide an interface for elevating and demoting a scalar or VDB type to a higher or lower precision. Integer types preserve their sign. Types promotion are only valid between 8 to 64 bits (long doubles are not supported).  More... | |
| struct | PromoteContainerType< T, ContainerT > | 
| struct | PromoteType< math::Vec2< T > > | 
| struct | PromoteType< math::Vec3< T > > | 
| struct | PromoteType< math::Vec4< T > > | 
| struct | PromoteType< math::Quat< T > > | 
| struct | PromoteType< math::Mat3< T > > | 
| struct | PromoteType< math::Mat4< T > > | 
| struct | CanConvertType< FromType, ToType > | 
| CanConvertType<FromType, ToType>::value is trueif a value of type ToType can be constructed from a value of type FromType.  More... | |
| struct | CanConvertType< T, math::Vec2< T > > | 
| struct | CanConvertType< T, math::Vec3< T > > | 
| struct | CanConvertType< T, math::Vec4< T > > | 
| struct | CanConvertType< math::Vec2< T >, math::Vec2< T > > | 
| struct | CanConvertType< math::Vec3< T >, math::Vec3< T > > | 
| struct | CanConvertType< math::Vec4< T >, math::Vec4< T > > | 
| struct | CanConvertType< T0, math::Vec2< T1 > > | 
| struct | CanConvertType< T0, math::Vec3< T1 > > | 
| struct | CanConvertType< T0, math::Vec4< T1 > > | 
| struct | CanConvertType< PointIndex32, PointDataIndex32 > | 
| struct | CanConvertType< PointDataIndex32, PointIndex32 > | 
| struct | CanConvertType< T, ValueMask > | 
| struct | CanConvertType< ValueMask, T > | 
| struct | CopyConstness< FromType, ToType > | 
| CopyConstness<T1, T2>::Type is either const T2orT2with noconstqualifier, depending on whetherT1isconst.  More... | |
| class | CombineArgs< AValueType, BValueType > | 
| This struct collects both input and output arguments to "grid combiner" functors used with the tree::TypedGrid::combineExtended() and combine2Extended() methods. AValueType and BValueType are the value types of the two grids being combined.  More... | |
| struct | SwappedCombineOp< ValueType, CombineOp > | 
| class | ShallowCopy | 
| Tag dispatch class that distinguishes shallow copy constructors from deep copy constructors.  More... | |
| class | TopologyCopy | 
| Tag dispatch class that distinguishes topology copy constructors from deep copy constructors.  More... | |
| class | DeepCopy | 
| Tag dispatch class that distinguishes constructors that deep copy.  More... | |
| class | Steal | 
| Tag dispatch class that distinguishes constructors that steal.  More... | |
| class | PartialCreate | 
| Tag dispatch class that distinguishes constructors during file input.  More... | |
| class | Coord | 
| Signed (x, y, z) 32-bit integer coordinates.  More... | |
| class | CoordBBox | 
| Axis-aligned bounding box of signed integer coordinates.  More... | |
| Namespaces | |
| namespace | openvdb | 
| namespace | openvdb::v12_0 | 
| namespace | openvdb::v12_0::math | 
| namespace | openvdb::v12_0::types_internal | 
| Macros | |
| #define | OPENVDB_TARGET_BITS(SHIFT, PROMOTE) | 
| Typedefs | |
| using | half = internal::half | 
| using | Index32 = uint32_t | 
| using | Index64 = uint64_t | 
| using | Index = Index32 | 
| using | Int16 = int16_t | 
| using | Int32 = int32_t | 
| using | Int64 = int64_t | 
| using | Int = Int32 | 
| using | Byte = unsigned char | 
| using | Real = double | 
| using | Vec2R = math::Vec2<Real> | 
| using | Vec2I = math::Vec2<Index32> | 
| using | Vec2f = math::Vec2<float> | 
| using | Vec2H = math::Vec2<math::half> | 
| using | Vec3R = math::Vec3<Real> | 
| using | Vec3I = math::Vec3<Index32> | 
| using | Vec3f = math::Vec3<float> | 
| using | Vec3H = math::Vec3<math::half> | 
| using | Vec3U8 = math::Vec3<uint8_t> | 
| using | Vec3U16 = math::Vec3<uint16_t> | 
| using | BBoxd = math::BBox<Vec3d> | 
| using | Vec4R = math::Vec4<Real> | 
| using | Vec4I = math::Vec4<Index32> | 
| using | Vec4f = math::Vec4<float> | 
| using | Vec4H = math::Vec4<math::half> | 
| using | Mat3R = math::Mat3<Real> | 
| using | Mat4R = math::Mat4<Real> | 
| using | QuatR = math::Quat<Real> | 
| template<typename T> | |
| using | SharedPtr = std::shared_ptr<T> | 
| template<typename T> | |
| using | WeakPtr = std::weak_ptr<T> | 
| using | PointIndex32 = PointIndex<Index32, 0> | 
| using | PointIndex64 = PointIndex<Index64, 0> | 
| using | PointDataIndex32 = PointIndex<Index32, 1> | 
| using | PointDataIndex64 = PointIndex<Index64, 1> | 
| template<std::size_t N> | |
| using | make_index_sequence | 
| using | Vec2i | 
| using | Vec2s | 
| using | Vec2d | 
| using | Vec3i | 
| using | Vec3s | 
| using | Vec3d | 
| using | Vec4i | 
| using | Vec4s | 
| using | Vec4d | 
| using | Mat3s | 
| using | Mat3d | 
| using | Mat4s | 
| using | Mat4d | 
| using | Quats | 
| using | Quatd | 
| Enumerations | |
| enum | GridClass { GRID_UNKNOWN = 0 , GRID_LEVEL_SET , GRID_FOG_VOLUME , GRID_STAGGERED } | 
| enum | { NUM_GRID_CLASSES = GRID_STAGGERED + 1 } | 
| enum | VecType { VEC_INVARIANT = 0 , VEC_COVARIANT , VEC_COVARIANT_NORMALIZE , VEC_CONTRAVARIANT_RELATIVE , VEC_CONTRAVARIANT_ABSOLUTE } | 
| enum | { NUM_VEC_TYPES = VEC_CONTRAVARIANT_ABSOLUTE + 1 } | 
| enum | MergePolicy { MERGE_ACTIVE_STATES = 0 , MERGE_NODES , MERGE_ACTIVE_STATES_AND_NODES } | 
| Functions | |
| template<typename T, typename U> | |
| SharedPtr< T > | ConstPtrCast (const SharedPtr< U > &ptr) | 
| Return a new shared pointer that points to the same object as the given pointer but with possibly different const-ness. | |
| template<typename T, typename U> | |
| SharedPtr< T > | DynamicPtrCast (const SharedPtr< U > &ptr) | 
| Return a new shared pointer that is either null or points to the same object as the given pointer after a dynamic_cast. | |
| template<typename T, typename U> | |
| SharedPtr< T > | StaticPtrCast (const SharedPtr< U > &ptr) | 
| Return a new shared pointer that points to the same object as the given pointer after a static_cast. | |
| template<std::size_t N, std::size_t... Is> | |
| auto | make_index_sequence_impl () | 
| template<typename T> | |
| const char * | typeNameAsString () | 
| template<> | |
| const char * | typeNameAsString< bool > () | 
| template<> | |
| const char * | typeNameAsString< ValueMask > () | 
| template<> | |
| const char * | typeNameAsString< math::half > () | 
| template<> | |
| const char * | typeNameAsString< float > () | 
| template<> | |
| const char * | typeNameAsString< double > () | 
| template<> | |
| const char * | typeNameAsString< int8_t > () | 
| template<> | |
| const char * | typeNameAsString< uint8_t > () | 
| template<> | |
| const char * | typeNameAsString< int16_t > () | 
| template<> | |
| const char * | typeNameAsString< uint16_t > () | 
| template<> | |
| const char * | typeNameAsString< int32_t > () | 
| template<> | |
| const char * | typeNameAsString< uint32_t > () | 
| template<> | |
| const char * | typeNameAsString< int64_t > () | 
| template<> | |
| const char * | typeNameAsString< Vec2i > () | 
| template<> | |
| const char * | typeNameAsString< Vec2s > () | 
| template<> | |
| const char * | typeNameAsString< Vec2d > () | 
| template<> | |
| const char * | typeNameAsString< Vec3U8 > () | 
| template<> | |
| const char * | typeNameAsString< Vec3U16 > () | 
| template<> | |
| const char * | typeNameAsString< Vec3i > () | 
| template<> | |
| const char * | typeNameAsString< Vec3f > () | 
| template<> | |
| const char * | typeNameAsString< Vec3d > () | 
| template<> | |
| const char * | typeNameAsString< Vec4i > () | 
| template<> | |
| const char * | typeNameAsString< Vec4f > () | 
| template<> | |
| const char * | typeNameAsString< Vec4d > () | 
| template<> | |
| const char * | typeNameAsString< std::string > () | 
| template<> | |
| const char * | typeNameAsString< Mat3s > () | 
| template<> | |
| const char * | typeNameAsString< Mat3d > () | 
| template<> | |
| const char * | typeNameAsString< Mat4s > () | 
| template<> | |
| const char * | typeNameAsString< Mat4d > () | 
| template<> | |
| const char * | typeNameAsString< math::Quats > () | 
| template<> | |
| const char * | typeNameAsString< math::Quatd > () | 
| template<> | |
| const char * | typeNameAsString< PointIndex32 > () | 
| template<> | |
| const char * | typeNameAsString< PointIndex64 > () | 
| template<> | |
| const char * | typeNameAsString< PointDataIndex32 > () | 
| template<> | |
| const char * | typeNameAsString< PointDataIndex64 > () | 
| template<> | |
| auto | cwiseAdd (const math::Vec3< math::half > &v, const float s) | 
| Variables | |
| static const Real | LEVEL_SET_HALF_WIDTH = 3 | 
| #define OPENVDB_TARGET_BITS | ( | SHIFT, | |
| PROMOTE ) |