All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
types.h File Reference

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

+ Include dependency graph for types.h:

Go to the source code of this file.

Classes

class  VtArray< ELEM >
 Represents an arbitrary dimensional rectangular container class. More...
 

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)   BOOST_PP_TUPLE_ELEM(2, 0, elem)
 
#define VT_TYPE_NAME(elem)   BOOST_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   BOOST_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

 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:
(( BOOST_PP_CAT(Vt, BOOST_PP_CAT(VT_TYPE_NAME(elem), Array)) , \
BOOST_PP_CAT(VT_TYPE_NAME(elem), Array) ))

Definition at line 174 of file types.h.

#define VT_ARRAY_TYPEDEF (   r,
  unused,
  elem 
)
Value:
BOOST_PP_CAT(Vt, BOOST_PP_CAT(VT_TYPE_NAME(elem), Array)) ;
Represents an arbitrary dimensional rectangular container class.
Definition: array.h:193

Definition at line 167 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:42

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 ))
Basic type: 3-dimensional floating point range.
Definition: range3d.h:64
Basic type: 1-dimensional floating point range.
Definition: range1d.h:62
Basic type: 3-dimensional floating point range.
Definition: range3f.h:64
Basic type: 2-dimensional floating point range.
Definition: range2d.h:64
Basic type: 1-dimensional floating point range.
Definition: range1f.h:62
Basic type: 2-dimensional floating point range.
Definition: range2f.h:64

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 ))

Definition at line 59 of file types.h.

#define VT_MATRIX_DOUBLE_VALUE_TYPES
Value:
(( GfMatrix4d, Matrix4d )) \
(( GfMatrix3d, Matrix3d )) \
(( GfMatrix2d, Matrix2d ))
Stores a 2x2 matrix of double elements.
Definition: matrix2d.h:62
Stores a 4x4 matrix of double elements.
Definition: matrix4d.h:88
Stores a 3x3 matrix of double elements.
Definition: matrix3d.h:82

Definition at line 101 of file types.h.

#define VT_MATRIX_FLOAT_VALUE_TYPES
Value:
(( GfMatrix4f, Matrix4f )) \
(( GfMatrix3f, Matrix3f )) \
(( GfMatrix2f, Matrix2f )) \
Stores a 4x4 matrix of float elements.
Definition: matrix4f.h:88
Stores a 3x3 matrix of float elements.
Definition: matrix3f.h:82
Stores a 2x2 matrix of float elements.
Definition: matrix2f.h:62

Definition at line 96 of file types.h.

#define VT_MATRIX_VALUE_TYPES
Value:
VT_MATRIX_FLOAT_VALUE_TYPES \
VT_MATRIX_DOUBLE_VALUE_TYPES \

Definition at line 106 of file types.h.

#define VT_NONARRAY_VALUE_TYPES
Value:
(( GfFrustum, Frustum)) \
(( GfMultiInterval, MultiInterval))
Basic type: View frustum.
Definition: frustum.h:87
GfMultiInterval represents a subset of the real number line as an ordered set of non-intersecting GfI...
Definition: multiInterval.h:46

Definition at line 133 of file types.h.

#define VT_QUATERNION_VALUE_TYPES
Value:
(( GfQuath, Quath )) \
(( GfQuatf, Quatf )) \
(( GfQuatd, Quatd )) \
(( GfQuaternion, Quaternion ))
Basic type: a quaternion, a complex number with a real coefficient and three imaginary coefficients...
Definition: quath.h:61
Basic type: complex number with scalar real part and vector imaginary part.
Definition: quaternion.h:50
Basic type: a quaternion, a complex number with a real coefficient and three imaginary coefficients...
Definition: quatf.h:60
Basic type: a quaternion, a complex number with a real coefficient and three imaginary coefficients...
Definition: quatd.h:60

Definition at line 127 of file types.h.

#define VT_RANGE_VALUE_TYPES
Value:
VT_GFRANGE_VALUE_TYPES \
(( GfInterval, Interval )) \
(( GfRect2i, Rect2i ))
A 2D rectangle with integer coordinates for windowing operations.
Definition: rect2i.h:65
A basic mathematical interval class.
Definition: interval.h:50

Definition at line 118 of file types.h.

#define VT_SCALAR_CLASS_VALUE_TYPES
Value:
VT_VEC_VALUE_TYPES \
VT_MATRIX_VALUE_TYPES \
VT_RANGE_VALUE_TYPES \
VT_QUATERNION_VALUE_TYPES

Definition at line 151 of file types.h.

#define VT_STRING_VALUE_TYPES
Value:
(( std::string, String )) \
(( TfToken, Token ))
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:89

Definition at line 123 of file types.h.

#define VT_VEC_DOUBLE_VALUE_TYPES
Value:
(( GfVec4d, Vec4d )) \
(( GfVec3d, Vec3d )) \
(( GfVec2d, Vec2d ))
Basic type for a vector of 4 double components.
Definition: vec4d.h:63
Basic type for a vector of 2 double components.
Definition: vec2d.h:63
Basic type for a vector of 3 double components.
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 ))
Basic type for a vector of 3 float components.
Definition: vec3f.h:63
Basic type for a vector of 4 float components.
Definition: vec4f.h:63
Basic type for a vector of 2 float components.
Definition: vec2f.h:63

Definition at line 80 of file types.h.

#define VT_VEC_HALF_VALUE_TYPES
Value:
(( GfVec4h, Vec4h )) \
(( GfVec3h, Vec3h )) \
(( GfVec2h, Vec2h ))
Basic type for a vector of 4 GfHalf components.
Definition: vec4h.h:64
Basic type for a vector of 2 GfHalf components.
Definition: vec2h.h:64
Basic type for a vector of 3 GfHalf components.
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 ))
Basic type for a vector of 4 int components.
Definition: vec4i.h:61
Basic type for a vector of 2 int components.
Definition: vec2i.h:61
Basic type for a vector of 3 int components.
Definition: vec3i.h:61

Definition at line 70 of file types.h.

#define VT_VEC_VALUE_TYPES
Value:
VT_VEC_INT_VALUE_TYPES \
VT_VEC_HALF_VALUE_TYPES \
VT_VEC_FLOAT_VALUE_TYPES \
VT_VEC_DOUBLE_VALUE_TYPES

Definition at line 90 of file types.h.