HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
types.h File Reference
#include "pxr/pxr.h"
#include "pxr/base/vt/api.h"
#include "pxr/base/vt/traits.h"
#include "pxr/base/arch/inttypes.h"
#include "pxr/base/gf/declare.h"
#include "pxr/base/gf/half.h"
#include "pxr/base/tf/token.h"
#include <hboost/preprocessor/cat.hpp>
#include <hboost/preprocessor/seq/for_each.hpp>
#include <hboost/preprocessor/tuple/elem.hpp>
#include <cstddef>
#include <cstring>
#include <string>
+ 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  VtArray< T >
 
struct  Vt_ShapeData
 

Macros

#define VT_FLOATING_POINT_BUILTIN_VALUE_TYPES
 
#define VT_INTEGRAL_BUILTIN_VALUE_TYPES
 
#define VT_VEC_INT_VALUE_TYPES
 
#define VT_VEC_HALF_VALUE_TYPES
 
#define VT_VEC_FLOAT_VALUE_TYPES
 
#define VT_VEC_DOUBLE_VALUE_TYPES
 
#define VT_VEC_VALUE_TYPES
 
#define VT_MATRIX_FLOAT_VALUE_TYPES
 
#define VT_MATRIX_DOUBLE_VALUE_TYPES
 
#define VT_MATRIX_VALUE_TYPES
 
#define VT_GFRANGE_VALUE_TYPES
 
#define VT_RANGE_VALUE_TYPES
 
#define VT_STRING_VALUE_TYPES
 
#define VT_QUATERNION_VALUE_TYPES
 
#define VT_NONARRAY_VALUE_TYPES
 
#define VT_TYPE(elem)   HBOOST_PP_TUPLE_ELEM(2, 0, elem)
 
#define VT_TYPE_NAME(elem)   HBOOST_PP_TUPLE_ELEM(2, 1, elem)
 
#define VT_BUILTIN_NUMERIC_VALUE_TYPES   VT_INTEGRAL_BUILTIN_VALUE_TYPES VT_FLOATING_POINT_BUILTIN_VALUE_TYPES
 
#define VT_BUILTIN_VALUE_TYPES   VT_BUILTIN_NUMERIC_VALUE_TYPES VT_STRING_VALUE_TYPES
 
#define VT_SCALAR_CLASS_VALUE_TYPES
 
#define VT_SCALAR_VALUE_TYPES   VT_SCALAR_CLASS_VALUE_TYPES VT_BUILTIN_VALUE_TYPES
 
#define VT_ARRAY_TYPEDEF(r, unused, elem)
 
#define VT_ARRAY_TYPE_TUPLE(r, unused, elem)
 
#define VT_ARRAY_VALUE_TYPES   HBOOST_PP_SEQ_FOR_EACH(VT_ARRAY_TYPE_TUPLE, ~, VT_SCALAR_VALUE_TYPES)
 
#define VT_CLASS_VALUE_TYPES   VT_ARRAY_VALUE_TYPES VT_SCALAR_CLASS_VALUE_TYPES VT_NONARRAY_VALUE_TYPES
 

Functions

PXR_NAMESPACE_OPEN_SCOPE VT_TYPE_IS_CHEAP_TO_COPY (TfToken)
 
template<typename T >
VtZero ()
 

Detailed Description

Defines all the types "TYPED" for which Vt creates a VtTYPEDArray typedef.

Definition in file types.h.

Macro Definition Documentation

#define VT_ARRAY_TYPE_TUPLE (   r,
  unused,
  elem 
)
Value:
Definition: ImfArray.h:47
#define VT_TYPE_NAME(elem)
Definition: types.h:140
ARCH_EXPORT void HBOOST_PP_CAT(init_module_, MFB_PACKAGE_NAME)()
Definition: pyModule.h:62

Definition at line 174 of file types.h.

#define VT_ARRAY_TYPEDEF (   r,
  unused,
  elem 
)
Value:
Definition: ImfArray.h:47
Definition: types.h:166
#define VT_TYPE_NAME(elem)
Definition: types.h:140
ARCH_EXPORT void HBOOST_PP_CAT(init_module_, MFB_PACKAGE_NAME)()
Definition: pyModule.h:62

Definition at line 167 of file types.h.

#define VT_ARRAY_VALUE_TYPES   HBOOST_PP_SEQ_FOR_EACH(VT_ARRAY_TYPE_TUPLE, ~, VT_SCALAR_VALUE_TYPES)

Definition at line 177 of file types.h.

#define VT_BUILTIN_NUMERIC_VALUE_TYPES   VT_INTEGRAL_BUILTIN_VALUE_TYPES VT_FLOATING_POINT_BUILTIN_VALUE_TYPES

Definition at line 145 of file types.h.

#define VT_BUILTIN_VALUE_TYPES   VT_BUILTIN_NUMERIC_VALUE_TYPES VT_STRING_VALUE_TYPES

Definition at line 148 of file types.h.

Definition at line 180 of file types.h.

#define VT_FLOATING_POINT_BUILTIN_VALUE_TYPES
Value:
(( double, Double )) \
(( float, Float )) \
(( GfHalf, Half ))
pxr_half::half GfHalf
A 16-bit floating point data type.
Definition: half.h:43
Definition: Types.h:101

Definition at line 54 of file types.h.

#define VT_GFRANGE_VALUE_TYPES
Value:
(( GfRange3f, Range3f )) \
(( GfRange3d, Range3d )) \
(( GfRange2f, Range2f )) \
(( GfRange2d, Range2d )) \
(( GfRange1f, Range1f )) \
(( GfRange1d, Range1d ))

Definition at line 110 of file types.h.

#define VT_INTEGRAL_BUILTIN_VALUE_TYPES
Value:
(( bool, Bool )) \
(( char, Char )) \
(( unsigned char, UChar )) \
(( short, Short )) \
(( unsigned short, UShort )) \
(( int, Int )) \
(( unsigned int, UInt )) \
(( int64_t, Int64 )) \
(( uint64_t, UInt64 ))
IMATH_INTERNAL_NAMESPACE_HEADER_ENTER typedef long long unsigned int Int64
Int64 - unsigned 64-bit integer.
Definition: ImathInt64.h:37
typedef int(WINAPI *PFNWGLRELEASEPBUFFERDCARBPROC)(HPBUFFERARB hPbuffer

Definition at line 59 of file types.h.

#define VT_MATRIX_DOUBLE_VALUE_TYPES
Value:
(( GfMatrix4d, Matrix4d )) \
(( GfMatrix3d, Matrix3d )) \
(( GfMatrix2d, Matrix2d ))

Definition at line 101 of file types.h.

#define VT_MATRIX_FLOAT_VALUE_TYPES
Value:
(( GfMatrix4f, Matrix4f )) \
(( GfMatrix3f, Matrix3f )) \
(( GfMatrix2f, Matrix2f )) \

Definition at line 96 of file types.h.

#define VT_MATRIX_VALUE_TYPES
Value:

Definition at line 106 of file types.h.

#define VT_NONARRAY_VALUE_TYPES
Value:

Definition at line 133 of file types.h.

#define VT_QUATERNION_VALUE_TYPES
Value:
(( GfQuath, Quath )) \
(( GfQuatf, Quatf )) \
(( GfQuatd, Quatd )) \
Definition: quath.h:61
Definition: quatf.h:60
Quat< double > Quatd
Quaternion of type double.
Definition: ImathQuat.h:265
Quat< float > Quatf
Quaternion of type float.
Definition: ImathQuat.h:262
Definition: quatd.h:60

Definition at line 127 of file types.h.

#define VT_RANGE_VALUE_TYPES
Value:
(( GfRect2i, Rect2i ))
#define VT_GFRANGE_VALUE_TYPES
Definition: types.h:110

Definition at line 118 of file types.h.

#define VT_SCALAR_CLASS_VALUE_TYPES
#define VT_SCALAR_VALUE_TYPES   VT_SCALAR_CLASS_VALUE_TYPES VT_BUILTIN_VALUE_TYPES

Definition at line 157 of file types.h.

#define VT_STRING_VALUE_TYPES
Value:
(( std::string, String )) \
(( TfToken, Token ))
Definition: token.h:87
GLsizei const GLchar *const * string
Definition: glcorearb.h:814

Definition at line 123 of file types.h.

#define VT_TYPE (   elem)    HBOOST_PP_TUPLE_ELEM(2, 0, elem)

Definition at line 138 of file types.h.

#define VT_TYPE_NAME (   elem)    HBOOST_PP_TUPLE_ELEM(2, 1, elem)

Definition at line 140 of file types.h.

#define VT_VEC_DOUBLE_VALUE_TYPES
Value:
(( GfVec4d, Vec4d )) \
(( GfVec3d, Vec3d )) \
(( GfVec2d, Vec2d ))
Definition: vec4d.h:63
Definition: vec2d.h:63
Definition: vec3d.h:63

Definition at line 85 of file types.h.

#define VT_VEC_FLOAT_VALUE_TYPES
Value:
(( GfVec4f, Vec4f )) \
(( GfVec3f, Vec3f )) \
(( GfVec2f, Vec2f ))
math::Vec4< float > Vec4f
Definition: Types.h:89
Definition: vec3f.h:63
Definition: vec4f.h:63
Definition: vec2f.h:63
math::Vec2< float > Vec2f
Definition: Types.h:65
math::Vec3< float > Vec3f
Definition: Types.h:74

Definition at line 80 of file types.h.

#define VT_VEC_HALF_VALUE_TYPES
Value:
(( GfVec4h, Vec4h )) \
(( GfVec3h, Vec3h )) \
(( GfVec2h, Vec2h ))
Definition: vec4h.h:64
Definition: vec2h.h:64
Definition: vec3h.h:64

Definition at line 75 of file types.h.

#define VT_VEC_INT_VALUE_TYPES
Value:
(( GfVec4i, Vec4i )) \
(( GfVec3i, Vec3i )) \
(( GfVec2i, Vec2i ))
Definition: vec4i.h:61
Definition: vec2i.h:61
Definition: vec3i.h:61

Definition at line 70 of file types.h.

#define VT_VEC_VALUE_TYPES

Function Documentation

PXR_NAMESPACE_OPEN_SCOPE VT_TYPE_IS_CHEAP_TO_COPY ( TfToken  )
template<typename T >
T VtZero ( )