HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Types.h File Reference
#include "version.h"
#include "Platform.h"
#include <OpenEXR/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 <memory>
#include <type_traits>
+ Include dependency graph for Types.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  openvdb::OPENVDB_VERSION_NAME::ValueMask
 
struct  openvdb::OPENVDB_VERSION_NAME::PointIndex< IntType_, Kind >
 Integer wrapper, required to distinguish PointIndexGrid and PointDataGrid from Int32Grid and Int64Grid. More...
 
struct  openvdb::OPENVDB_VERSION_NAME::VecTraits< T >
 
struct  openvdb::OPENVDB_VERSION_NAME::VecTraits< math::Vec2< T > >
 
struct  openvdb::OPENVDB_VERSION_NAME::VecTraits< math::Vec3< T > >
 
struct  openvdb::OPENVDB_VERSION_NAME::VecTraits< math::Vec4< T > >
 
struct  openvdb::OPENVDB_VERSION_NAME::CanConvertType< FromType, ToType >
 CanConvertType<FromType, ToType>::value is true if a value of type ToType can be constructed from a value of type FromType. More...
 
struct  openvdb::OPENVDB_VERSION_NAME::CanConvertType< T, math::Vec2< T > >
 
struct  openvdb::OPENVDB_VERSION_NAME::CanConvertType< T, math::Vec3< T > >
 
struct  openvdb::OPENVDB_VERSION_NAME::CanConvertType< T, math::Vec4< T > >
 
struct  openvdb::OPENVDB_VERSION_NAME::CanConvertType< math::Vec2< T >, math::Vec2< T > >
 
struct  openvdb::OPENVDB_VERSION_NAME::CanConvertType< math::Vec3< T >, math::Vec3< T > >
 
struct  openvdb::OPENVDB_VERSION_NAME::CanConvertType< math::Vec4< T >, math::Vec4< T > >
 
struct  openvdb::OPENVDB_VERSION_NAME::CanConvertType< T0, math::Vec2< T1 > >
 
struct  openvdb::OPENVDB_VERSION_NAME::CanConvertType< T0, math::Vec3< T1 > >
 
struct  openvdb::OPENVDB_VERSION_NAME::CanConvertType< T0, math::Vec4< T1 > >
 
struct  openvdb::OPENVDB_VERSION_NAME::CanConvertType< PointIndex32, PointDataIndex32 >
 
struct  openvdb::OPENVDB_VERSION_NAME::CanConvertType< PointDataIndex32, PointIndex32 >
 
struct  openvdb::OPENVDB_VERSION_NAME::CanConvertType< T, ValueMask >
 
struct  openvdb::OPENVDB_VERSION_NAME::CanConvertType< ValueMask, T >
 
class  openvdb::OPENVDB_VERSION_NAME::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  openvdb::OPENVDB_VERSION_NAME::SwappedCombineOp< ValueType, CombineOp >
 
class  openvdb::OPENVDB_VERSION_NAME::ShallowCopy
 Tag dispatch class that distinguishes shallow copy constructors from deep copy constructors. More...
 
class  openvdb::OPENVDB_VERSION_NAME::TopologyCopy
 Tag dispatch class that distinguishes topology copy constructors from deep copy constructors. More...
 
class  openvdb::OPENVDB_VERSION_NAME::PartialCreate
 Tag dispatch class that distinguishes constructors during file input. More...
 

Namespaces

 openvdb
 
 openvdb::OPENVDB_VERSION_NAME
 

Macros

#define OPENVDB_START_THREADSAFE_STATIC_REFERENCE
 
#define OPENVDB_FINISH_THREADSAFE_STATIC_REFERENCE
 
#define OPENVDB_START_THREADSAFE_STATIC_WRITE
 
#define OPENVDB_FINISH_THREADSAFE_STATIC_WRITE
 
#define OPENVDB_START_THREADSAFE_STATIC_ADDRESS
 
#define OPENVDB_FINISH_THREADSAFE_STATIC_ADDRESS
 
#define OPENVDB_START_NON_THREADSAFE_STATIC_REFERENCE
 
#define OPENVDB_FINISH_NON_THREADSAFE_STATIC_REFERENCE
 
#define OPENVDB_START_NON_THREADSAFE_STATIC_WRITE
 
#define OPENVDB_FINISH_NON_THREADSAFE_STATIC_WRITE
 
#define OPENVDB_START_NON_THREADSAFE_STATIC_ADDRESS
 
#define OPENVDB_FINISH_NON_THREADSAFE_STATIC_ADDRESS
 
#define OPENVDB_THREADSAFE_STATIC_REFERENCE(CODE)   CODE
 
#define OPENVDB_THREADSAFE_STATIC_WRITE(CODE)   CODE
 
#define OPENVDB_THREADSAFE_STATIC_ADDRESS(CODE)   CODE
 

Typedefs

using openvdb::OPENVDB_VERSION_NAME::Index32 = uint32_t
 
using openvdb::OPENVDB_VERSION_NAME::Index64 = uint64_t
 
using openvdb::OPENVDB_VERSION_NAME::Index = Index32
 
using openvdb::OPENVDB_VERSION_NAME::Int16 = int16_t
 
using openvdb::OPENVDB_VERSION_NAME::Int32 = int32_t
 
using openvdb::OPENVDB_VERSION_NAME::Int64 = int64_t
 
using openvdb::OPENVDB_VERSION_NAME::Int = Int32
 
using openvdb::OPENVDB_VERSION_NAME::Byte = unsigned char
 
using openvdb::OPENVDB_VERSION_NAME::Real = double
 
using openvdb::OPENVDB_VERSION_NAME::Vec2R = math::Vec2< Real >
 
using openvdb::OPENVDB_VERSION_NAME::Vec2I = math::Vec2< Index32 >
 
using openvdb::OPENVDB_VERSION_NAME::Vec2f = math::Vec2< float >
 
using openvdb::OPENVDB_VERSION_NAME::Vec2H = math::Vec2< half >
 
using openvdb::OPENVDB_VERSION_NAME::Vec3R = math::Vec3< Real >
 
using openvdb::OPENVDB_VERSION_NAME::Vec3I = math::Vec3< Index32 >
 
using openvdb::OPENVDB_VERSION_NAME::Vec3f = math::Vec3< float >
 
using openvdb::OPENVDB_VERSION_NAME::Vec3H = math::Vec3< half >
 
using openvdb::OPENVDB_VERSION_NAME::Vec3U8 = math::Vec3< uint8_t >
 
using openvdb::OPENVDB_VERSION_NAME::Vec3U16 = math::Vec3< uint16_t >
 
using openvdb::OPENVDB_VERSION_NAME::BBoxd = math::BBox< Vec3d >
 
using openvdb::OPENVDB_VERSION_NAME::Vec4R = math::Vec4< Real >
 
using openvdb::OPENVDB_VERSION_NAME::Vec4I = math::Vec4< Index32 >
 
using openvdb::OPENVDB_VERSION_NAME::Vec4f = math::Vec4< float >
 
using openvdb::OPENVDB_VERSION_NAME::Vec4H = math::Vec4< half >
 
using openvdb::OPENVDB_VERSION_NAME::Mat3R = math::Mat3< Real >
 
using openvdb::OPENVDB_VERSION_NAME::Mat4R = math::Mat4< Real >
 
using openvdb::OPENVDB_VERSION_NAME::QuatR = math::Quat< Real >
 
template<typename T >
using openvdb::OPENVDB_VERSION_NAME::SharedPtr = std::shared_ptr< T >
 
template<typename T >
using openvdb::OPENVDB_VERSION_NAME::WeakPtr = std::weak_ptr< T >
 
using openvdb::OPENVDB_VERSION_NAME::PointIndex32 = PointIndex< Index32, 0 >
 
using openvdb::OPENVDB_VERSION_NAME::PointIndex64 = PointIndex< Index64, 0 >
 
using openvdb::OPENVDB_VERSION_NAME::PointDataIndex32 = PointIndex< Index32, 1 >
 
using openvdb::OPENVDB_VERSION_NAME::PointDataIndex64 = PointIndex< Index64, 1 >
 

Enumerations

enum  openvdb::OPENVDB_VERSION_NAME::GridClass { openvdb::OPENVDB_VERSION_NAME::GRID_UNKNOWN = 0, openvdb::OPENVDB_VERSION_NAME::GRID_LEVEL_SET, openvdb::OPENVDB_VERSION_NAME::GRID_FOG_VOLUME, openvdb::OPENVDB_VERSION_NAME::GRID_STAGGERED }
 
enum  { openvdb::OPENVDB_VERSION_NAME::NUM_GRID_CLASSES = GRID_STAGGERED + 1 }
 
enum  openvdb::OPENVDB_VERSION_NAME::VecType {
  openvdb::OPENVDB_VERSION_NAME::VEC_INVARIANT = 0, openvdb::OPENVDB_VERSION_NAME::VEC_COVARIANT, openvdb::OPENVDB_VERSION_NAME::VEC_COVARIANT_NORMALIZE, openvdb::OPENVDB_VERSION_NAME::VEC_CONTRAVARIANT_RELATIVE,
  openvdb::OPENVDB_VERSION_NAME::VEC_CONTRAVARIANT_ABSOLUTE
}
 
enum  { openvdb::OPENVDB_VERSION_NAME::NUM_VEC_TYPES = VEC_CONTRAVARIANT_ABSOLUTE + 1 }
 
enum  openvdb::OPENVDB_VERSION_NAME::MergePolicy { openvdb::OPENVDB_VERSION_NAME::MERGE_ACTIVE_STATES = 0, openvdb::OPENVDB_VERSION_NAME::MERGE_NODES, openvdb::OPENVDB_VERSION_NAME::MERGE_ACTIVE_STATES_AND_NODES }
 

Functions

template<typename T , typename U >
SharedPtr< T > openvdb::OPENVDB_VERSION_NAME::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. More...
 
template<typename T , typename U >
SharedPtr< T > openvdb::OPENVDB_VERSION_NAME::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. More...
 
template<typename T , typename U >
SharedPtr< T > openvdb::OPENVDB_VERSION_NAME::StaticPtrCast (const SharedPtr< U > &ptr)
 Return a new shared pointer that points to the same object as the given pointer after a static_cast. More...
 
template<typename T >
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< bool > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< ValueMask > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< half > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< float > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< double > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< uint8_t > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< int16_t > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< uint16_t > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< int32_t > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< uint32_t > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< int64_t > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Vec2i > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Vec2s > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Vec2d > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Vec3U8 > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Vec3U16 > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Vec3i > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Vec3f > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Vec3d > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< std::string > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Mat3s > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Mat3d > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Mat4s > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< Mat4d > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< math::Quats > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< math::Quatd > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< PointIndex32 > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< PointIndex64 > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< PointDataIndex32 > ()
 
template<>
const char * openvdb::OPENVDB_VERSION_NAME::typeNameAsString< PointDataIndex64 > ()
 

Macro Definition Documentation

#define OPENVDB_FINISH_NON_THREADSAFE_STATIC_ADDRESS

Definition at line 568 of file Types.h.

#define OPENVDB_FINISH_NON_THREADSAFE_STATIC_REFERENCE

Definition at line 564 of file Types.h.

#define OPENVDB_FINISH_NON_THREADSAFE_STATIC_WRITE

Definition at line 566 of file Types.h.

#define OPENVDB_FINISH_THREADSAFE_STATIC_ADDRESS

Definition at line 561 of file Types.h.

#define OPENVDB_FINISH_THREADSAFE_STATIC_REFERENCE

Definition at line 557 of file Types.h.

#define OPENVDB_FINISH_THREADSAFE_STATIC_WRITE

Definition at line 559 of file Types.h.

#define OPENVDB_START_NON_THREADSAFE_STATIC_ADDRESS

Definition at line 567 of file Types.h.

#define OPENVDB_START_NON_THREADSAFE_STATIC_REFERENCE

Definition at line 563 of file Types.h.

#define OPENVDB_START_NON_THREADSAFE_STATIC_WRITE

Definition at line 565 of file Types.h.

#define OPENVDB_START_THREADSAFE_STATIC_ADDRESS

Definition at line 560 of file Types.h.

#define OPENVDB_START_THREADSAFE_STATIC_REFERENCE

Definition at line 556 of file Types.h.

#define OPENVDB_START_THREADSAFE_STATIC_WRITE

Definition at line 558 of file Types.h.

#define OPENVDB_THREADSAFE_STATIC_ADDRESS (   CODE)    CODE

Definition at line 572 of file Types.h.

#define OPENVDB_THREADSAFE_STATIC_REFERENCE (   CODE)    CODE

Definition at line 570 of file Types.h.

#define OPENVDB_THREADSAFE_STATIC_WRITE (   CODE)    CODE

Definition at line 571 of file Types.h.