45#ifndef _INCLUDED_Field3D_Traits_H_
46#define _INCLUDED_Field3D_Traits_H_
76typedef unsigned char uint8_t;
77typedef signed char int8_t;
78typedef unsigned short uint16_t;
79typedef signed short int16_t;
80typedef unsigned int uint32_t;
82typedef unsigned long long uint64_t;
83typedef long long int64_t;
90#ifdef FIELD3D_VERSION_NS
97typedef Imath::Vec3<float16_t>
vec16_t;
98typedef Imath::Vec3<float32_t>
vec32_t;
99typedef Imath::Vec3<float64_t>
vec64_t;
100typedef Imath::Vec3<int32_t>
veci32_t;
172template <
class Data_T>
269 return typeid(T).
name();
281template <
class Field_T>
290 m_name = Field_T::staticClassName();
305template <
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;
Contains the Log class which can be used to redirect output to an arbitrary destination.
FIELD3D_NAMESPACE_OPENtypedef ::half half
OgDataType
Enumerates the various uses for Ogawa-level groups.
#define FIELD3D_DECL_DATATYPENAME(typeName)
Contains typedefs for the commonly used types in Field3D.
static const int k_dataDims
Dimensions of the given data type. i.e. 3 for V3f, 1 for float.
#define FIELD3D_NAMESPACE_HEADER_CLOSE
static std::string name()
static DataTypeEnum typeEnum()
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.