MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //------------------------------------------------------------------------- 00005 00010 //------------------------------------------------------------------------- 00011 00012 #ifndef __mlObjMgrDataTypes_H 00013 #define __mlObjMgrDataTypes_H 00014 00015 #ifndef __mlObjMgrSubDataType_H 00016 #include "mlObjMgrSubDataType.h" 00017 #endif 00018 #ifndef __mlLinearAlgebra_H 00019 #include <mlLinearAlgebra.h> 00020 #endif 00021 00022 #include <boost/shared_ptr.hpp> 00023 00024 #include "mlBase.h" 00025 00026 // omAttribute_Message 00027 #ifndef __mlObjMgrAttribute_Message_H 00028 #include "mlObjMgrAttribute_Message.h" 00029 #endif 00030 00031 // Constants for all registered data types 00032 #define omDATATYPE_INT32 "omData_MLint32" 00033 #define omDATATYPE_BOOL "omData_bool" 00034 #define omDATATYPE_DOUBLE "omData_double" 00035 #define omDATATYPE_MAT4 "omData_mat4" 00036 #define omDATATYPE_INT32VEC "omData_std_MLint32Vec" 00037 #define omDATATYPE_STRING "omData_std_string" 00038 #define omDATATYPE_MESSAGE "omData_omMessage" 00039 #define omDATATYPE_VEC3 "omData_vec3" 00040 #define omDATATYPE_VEC4 "omData_vec4" 00041 #define omDATATYPE_VEC3VEC "omData_std_vec3Vec" 00042 #define omDATATYPE_BASEPTR "omData_BasePtr" 00043 00044 ML_START_NAMESPACE 00045 00046 // These typedef are declared for simplicity of the DATA_TYPE_HEADER* macros 00047 typedef std::string std_string; 00048 typedef std::vector<MLint32> std_MLint32Vec; 00049 typedef std::vector<vec3> std_vec3Vec; 00050 typedef boost::shared_ptr<Base> BasePtr; 00051 00053 // Declaration of attribute data types 00054 // 00055 // To add new types: see also mlObjMgrObject.cpp and MLObjMgrInit.cpp 00056 // The macros are defined in mlObjMgrSubAttribute.h 00057 00058 DATA_TYPE_HEADER(MLint32) 00059 DATA_TYPE_HEADER(bool) 00060 DATA_TYPE_HEADER(double) 00061 DATA_TYPE_HEADER(vec3) 00062 DATA_TYPE_HEADER(vec4) 00063 DATA_TYPE_HEADER(mat4) 00064 DATA_TYPE_HEADER(std_string) 00065 DATA_TYPE_HEADER(std_MLint32Vec) 00066 DATA_TYPE_HEADER(std_vec3Vec) 00067 DATA_TYPE_HEADER(BasePtr) 00068 00069 00071 std::list<std::string> omGetKnownDataTypes(); 00072 00073 ML_END_NAMESPACE 00074 00075 #endif // __mlObjMgrDataTypes_H