 |
OpenNI 1.5.7
|
Go to the documentation of this file.
21 #ifndef _XN_DATA_TYPES_H_
22 #define _XN_DATA_TYPES_H_
41 #define XN_DECLARE_DEFAULT_VALUE_TRANSLATOR_DECL(decl, Type, ClassName) \
42 class decl ClassName \
45 XN_PRAGMA_START_DISABLED_WARNING_SECTION(XN_CONDITION_IS_CONST_WARNING_ID) \
47 static XnValue CreateValueCopy(Type const& orig) \
49 if (sizeof(Type) > sizeof(XnValue)) \
51 Type* pNew = XN_NEW(Type, orig); \
52 return (XnValue)pNew; \
57 xnOSMemCopy(&result, &orig, sizeof(Type)); \
61 static void FreeValue(XnValue& Value) \
63 if (sizeof(Type) > sizeof(XnValue)) \
65 Type* p = (Type*)Value; \
69 static XnValue GetAsValue(Type const& orig) \
71 if (sizeof(Type) > sizeof(XnValue)) \
73 return (XnValue)&orig; \
78 xnOSMemCopy(&result, &orig, sizeof(Type)); \
82 static Type const& GetFromValue(const XnValue& Value) \
84 if (sizeof(Type) > sizeof(XnValue)) \
86 Type const* p = (Type const*)Value; \
91 Type const* p = (Type const*)&Value; \
95 static Type& GetFromValue(XnValue& Value) \
97 if (sizeof(Type) > sizeof(XnValue)) \
99 Type* p = (Type*)Value; \
104 Type* p = (Type*)&Value; \
108 XN_PRAGMA_STOP_DISABLED_WARNING_SECTION \
114 #define XN_DECLARE_DEFAULT_VALUE_TRANSLATOR(Type, ClassName) \
115 XN_DECLARE_DEFAULT_VALUE_TRANSLATOR_DECL(, Type, ClassName)
117 #define XN_DEFAULT_TRANSLATOR_NAME(ClassName) ClassName ## Translator
119 #endif // _XN_DATA_TYPES_H_