Go to the documentation of this file.
45 #ifndef _INCLUDED_Field3D_Traits_H_
46 #define _INCLUDED_Field3D_Traits_H_
66 #if !defined(_MSC_VER)
76 typedef unsigned char uint8_t;
77 typedef signed char int8_t;
78 typedef unsigned short uint16_t;
79 typedef signed short int16_t;
80 typedef unsigned int uint32_t;
82 typedef unsigned long long uint64_t;
83 typedef long long int64_t;
90 #ifdef FIELD3D_VERSION_NS
97 typedef Imath::Vec3<float16_t>
vec16_t;
98 typedef Imath::Vec3<float32_t>
vec32_t;
99 typedef Imath::Vec3<float64_t>
vec64_t;
100 typedef Imath::Vec3<int32_t>
veci32_t;
172 template <
class Data_T>
265 template <
typename T>
269 return typeid(T).
name();
281 template <
class Field_T>
290 m_name = Field_T::staticClassName();
305 template <
typename Field_T>
314 typedef typename Field_T::NestedType NestedType;
315 typedef typename NestedType::value_type value_type;
317 m_name = Field_T::staticClassName();
319 std::string(
"<") + NestedType::staticClassName() +
"<" +
330 #define FIELD3D_DECL_DATATYPENAME(typeName) \
332 inline std::string DataTypeTraits<typeName>::name() \
334 return std::string(#typeName); \
415 return H5T_NATIVE_SHORT;
423 return H5T_NATIVE_FLOAT;
431 return H5T_NATIVE_DOUBLE;
439 return H5T_NATIVE_CHAR;
447 return H5T_NATIVE_UCHAR;
455 return H5T_NATIVE_INT;
463 return H5T_NATIVE_SHORT;
471 return H5T_NATIVE_FLOAT;
479 return H5T_NATIVE_DOUBLE;
536 #endif // Include guard
#define FIELD3D_NAMESPACE_HEADER_CLOSE
#define FIELD3D_DECL_DATATYPENAME(typeName)
Contains typedefs for the commonly used types in Field3D.
Contains the Log class which can be used to redirect output to an arbitrary destination.
FIELD3D_NAMESPACE_OPEN typedef ::half half
static DataTypeEnum typeEnum()
static const int k_dataDims
Dimensions of the given data type. i.e. 3 for V3f, 1 for float.
Used to return a string for the name of a nested templated field.
Used to return a string for the name of a templated field.
static std::string name()
OgDataType
Enumerates the various uses for Ogawa-level groups.