24 #ifndef PXR_USD_USD_INTERPOLATION_H
25 #define PXR_USD_USD_INTERPOLATION_H
30 #include "pxr/usd/usd/api.h"
35 #include <boost/preprocessor/seq/for_each.hpp>
37 PXR_NAMESPACE_OPEN_SCOPE
75 #define USD_LINEAR_INTERPOLATION_TYPES \
76 (GfHalf) (VtArray<GfHalf>) \
77 (float) (VtArray<float>) \
78 (double) (VtArray<double>) \
79 (SdfTimeCode) (VtArray<SdfTimeCode>) \
80 (GfMatrix2d) (VtArray<GfMatrix2d>) \
81 (GfMatrix3d) (VtArray<GfMatrix3d>) \
82 (GfMatrix4d) (VtArray<GfMatrix4d>) \
83 (GfVec2d) (VtArray<GfVec2d>) \
84 (GfVec2f) (VtArray<GfVec2f>) \
85 (GfVec2h) (VtArray<GfVec2h>) \
86 (GfVec3d) (VtArray<GfVec3d>) \
87 (GfVec3f) (VtArray<GfVec3f>) \
88 (GfVec3h) (VtArray<GfVec3h>) \
89 (GfVec4d) (VtArray<GfVec4d>) \
90 (GfVec4f) (VtArray<GfVec4f>) \
91 (GfVec4h) (VtArray<GfVec4h>) \
92 (GfQuatd) (VtArray<GfQuatd>) \
93 (GfQuatf) (VtArray<GfQuatf>) \
94 (GfQuath) (VtArray<GfQuath>)
106 static const bool isSupported =
false;
110 #define _USD_DECLARE_INTERPOLATION_TRAITS(r, unused, type) \
112 struct UsdLinearInterpolationTraits<type> \
114 static const bool isSupported = true; \
117 BOOST_PP_SEQ_FOR_EACH(_USD_DECLARE_INTERPOLATION_TRAITS, ~,
120 #undef _USD_DECLARE_INTERPOLATION_TRAITS
124 PXR_NAMESPACE_CLOSE_SCOPE
126 #endif // PXR_USD_USD_INTERPOLATION_H
Traits class describing whether a particular C++ value type supports linear interpolation.
UsdInterpolationType
Attribute value interpolation options.
#define USD_LINEAR_INTERPOLATION_TYPES