13 #ifndef __UT_VectorTypes__
14 #define __UT_VectorTypes__
23 #define UT_VECTORTYPES_HAVE_FPREAL 1
115 template <typename
T>
118 template <
typename T>
121 template <
typename T>
126 template <
typename T>
129 template <
typename T>
132 template <
typename T>
192 template<
typename FT,
template<
typename>
class V >
193 inline const V<fpreal>
200 template<
typename FT,
template<
typename>
class V >
201 inline const V<double>
208 template<
typename FT,
template<
typename>
class V >
209 inline const V<float>
216 #if (SYS_SIZEOF_FPREAL == 4)
217 #define UT_R_FROM_D(VAL) UTconvertToR(VAL)
218 #define UT_R_FROM_F(VAL) (VAL)
219 #define UT_D_FROM_R(VAL) UTconvertToD(VAL)
220 #define UT_F_FROM_R(VAL) (VAL)
221 #elif (SYS_SIZEOF_FPREAL == 8)
222 #define UT_R_FROM_F(VAL) UTconvertToR(VAL)
223 #define UT_R_FROM_D(VAL) (VAL)
224 #define UT_F_FROM_R(VAL) UTconvertToF(VAL)
225 #define UT_D_FROM_R(VAL) (VAL)
227 #error Missing FPREAL type
232 static inline const char *UT_TypeShortName();
272 template <
typename T>
276 template <
typename V>
279 template <
typename TS>
UT_ValArray< UT_Vector3R > UT_Vector3RArray
UT_Vector2T< int64 > UT_Vector2I
UT_ValArray< UT_Vector3i > UT_Vector3iArray
UT_Matrix4T< double > UT_DMatrix4
UT_Matrix4T< fpreal64 > UT_Matrix4D
UT_Matrix3T< double > UT_DMatrix3
UT_ValArray< UT_Matrix4D > UT_Matrix4DArray
UT_Vector3T< fpreal16 > UT_Vector3H
UT_ValArray< UT_Vector2i > UT_Vector2iArray
UT_ValArray< exint > UT_ExintArray
UT_FromUnbounded creates a V from an unbounded array-like type.
const V< double > UTconvertToD(const V< FT > &v)
UT_ValArray< UT_Matrix4F > UT_Matrix4FArray
UT_Vector3T< int32 > UT_Vector3i
UT_ValArray< UT_Vector3F > UT_Vector3FArray
UT_Vector2T< float > UT_Vector2
const char * UT_TypeShortName< int64 >()
UT_Vector2T< fpreal64 > UT_Vector2D
UT_ValArray< UT_Matrix2F > UT_Matrix2FArray
UT_Vector3T< float > UT_Vector3
UT_ValArray< UT_Vector4H > UT_Vector4HArray
UT_ValArray< int > UT_IntArray
UT_ValArray< UT_Vector3 > UT_Vector3Array
UT_Vector4T< int64 > UT_Vector4I
UT_ValArray< int16 > UT_Int16Array
UT_Vector3T< int64 > UT_Vector3I
UT_ValArray< UT_Vector4I > UT_Vector4IArray
UT_ValArray< UT_Vector2F > UT_Vector2FArray
UT_ValArray< UT_QuaternionR > UT_QuaternionRArray
UT_Matrix3T< fpreal > UT_Matrix3R
UT_Matrix4T< float > UT_Matrix4
UT_ValArray< UT_Vector2 > UT_Vector2Array
UT_ValArray< fpreal64 > UT_Fpreal64Array
const char * UT_TypeShortName< fpreal32 >()
UT_ValArray< float > UT_FloatArray
UT_Vector4T< fpreal > UT_Vector4R
UT_Vector4T< int32 > UT_Vector4i
UT_ValArray< UT_Matrix3F > UT_Matrix3FArray
UT_ValArray< int8 > UT_Int8Array
UT_Vector4T< float > UT_Vector4
UT_Matrix2T< fpreal > UT_Matrix2R
UT_QuaternionT< fpreal > UT_QuaternionR
UT_Matrix3T< float > UT_Matrix3
UT_ValArray< UT_Vector3I > UT_Vector3IArray
UT_Vector4T< fpreal16 > UT_Vector4H
typename SYS_RemoveCV< T >::type SYS_RemoveCV_t
UT_ValArray< UT_Vector4D > UT_Vector4DArray
UT_ValArray< UT_Vector2R > UT_Vector2RArray
UT_ValArray< UT_Matrix2D > UT_Matrix2DArray
UT_Matrix2T< double > UT_DMatrix2
UT_QuaternionT< fpreal16 > UT_QuaternionH
const char * UT_TypeShortName< int32 >()
UT_ValArray< fpreal > UT_FprealArray
UT_Matrix2T< float > UT_Matrix2
typename UT_TypePromoteT< T >::PreciseType UT_PreciseT
UT_Matrix4T< fpreal32 > UT_Matrix4F
#define SYS_DECLARE_IS_POD(T)
Declare a type as POD.
UT_ValArray< int32 > UT_Int32Array
UT_Vector2T< fpreal16 > UT_Vector2H
UT_ValArray< UT_QuaternionF > UT_QuaternionFArray
UT_Matrix3T< fpreal32 > UT_Matrix3F
UT_Vector3T< fpreal64 > UT_Vector3D
UT_ValArray< UT_Vector4R > UT_Vector4RArray
UT_QuaternionT< fpreal32 > UT_QuaternionF
UT_QuaternionT< fpreal64 > UT_QuaternionD
UT_QuaternionT< float > UT_Quaternion
UT_Matrix2T< fpreal64 > UT_Matrix2D
UT_Vector3T< fpreal32 > UT_Vector3F
UT_ValArray< UT_Vector2D > UT_Vector2DArray
const char * UT_TypeShortName< fpreal16 >()
const V< fpreal > UTconvertToR(const V< FT > &v)
UT_Vector2T< fpreal32 > UT_Vector2F
constexpr SYS_FORCE_INLINE V operator()(const TS &as) const noexcept
UT_Vector2T< fpreal > UT_Vector2R
UT_ValArray< UT_Vector2H > UT_Vector2HArray
UT_ValArray< UT_Vector4i > UT_Vector4iArray
UT_Vector4T< fpreal32 > UT_Vector4F
UT_ValArray< UT_Vector2I > UT_Vector2IArray
UT_Vector3T< fpreal > UT_Vector3R
UT_ValArray< UT_Vector3H > UT_Vector3HArray
UT_ValArray< int64 > UT_Int64Array
UT_ValArray< double > UT_DoubleArray
UT_ValArray< uint8 > UT_Uint8Array
UT_ValArray< UT_QuaternionD > UT_QuaternionDArray
UT_ValArray< UT_Vector3D > UT_Vector3DArray
const char * UT_TypeShortName< fpreal64 >()
UT_Matrix4T< fpreal > UT_Matrix4R
UT_Vector4T< fpreal64 > UT_Vector4D
UT_ValArray< UT_Matrix3D > UT_Matrix3DArray
UT_Matrix2T< fpreal32 > UT_Matrix2F
UT_ValArray< UT_Vector4 > UT_Vector4Array
UT_Vector2T< int32 > UT_Vector2i
const V< float > UTconvertToF(const V< FT > &v)
UT_ValArray< fpreal32 > UT_Fpreal32Array
UT_ValArray< UT_Vector4F > UT_Vector4FArray
UT_Matrix3T< fpreal64 > UT_Matrix3D