 |
OpenNI 1.5.4
|
Go to the documentation of this file.
22 #ifndef _XN_DATA_TYPES_H_
23 #define _XN_DATA_TYPES_H_
42 #define XN_DECLARE_DEFAULT_VALUE_TRANSLATOR_DECL(decl, Type, ClassName) \
43 class decl ClassName \
46 XN_PRAGMA_START_DISABLED_WARNING_SECTION(XN_CONDITION_IS_CONST_WARNING_ID) \
48 static XnValue CreateValueCopy(Type const& orig) \
50 if (sizeof(Type) > sizeof(XnValue)) \
52 Type* pNew = XN_NEW(Type, orig); \
53 return (XnValue)pNew; \
58 xnOSMemCopy(&result, &orig, sizeof(Type)); \
62 static void FreeValue(XnValue& Value) \
64 if (sizeof(Type) > sizeof(XnValue)) \
66 Type* p = (Type*)Value; \
70 static XnValue GetAsValue(Type const& orig) \
72 if (sizeof(Type) > sizeof(XnValue)) \
74 return (XnValue)&orig; \
79 xnOSMemCopy(&result, &orig, sizeof(Type)); \
83 static Type const& GetFromValue(const XnValue& Value) \
85 if (sizeof(Type) > sizeof(XnValue)) \
87 Type const* p = (Type const*)Value; \
92 Type const* p = (Type const*)&Value; \
96 static Type& GetFromValue(XnValue& Value) \
98 if (sizeof(Type) > sizeof(XnValue)) \
100 Type* p = (Type*)Value; \
105 Type* p = (Type*)&Value; \
109 XN_PRAGMA_STOP_DISABLED_WARNING_SECTION \
115 #define XN_DECLARE_DEFAULT_VALUE_TRANSLATOR(Type, ClassName) \
116 XN_DECLARE_DEFAULT_VALUE_TRANSLATOR_DECL(, Type, ClassName)
118 #define XN_DEFAULT_TRANSLATOR_NAME(ClassName) ClassName ## Translator
120 #endif // _XN_DATA_TYPES_H_