Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MITK_COMMON_H_DEFINED
00019 #define MITK_COMMON_H_DEFINED
00020
00021 #ifdef _MSC_VER
00022
00023 #pragma warning (disable : 4786)
00024 #pragma warning (disable : 4068 )
00025 #endif
00026
00027
00028 #include "itkObject.h"
00029 #include "mitkConfig.h"
00030 #include "mitkLogMacros.h"
00031
00032 #ifndef MITK_UNMANGLE_IPPIC
00033 #define mitkIpPicDescriptor mitkIpPicDescriptor
00034 #endif
00035
00036 typedef unsigned int MapperSlotId;
00037
00038 #define mitkClassMacro(className,SuperClassName) \
00039 typedef className Self; \
00040 typedef SuperClassName Superclass; \
00041 typedef itk::SmartPointer<Self> Pointer; \
00042 typedef itk::SmartPointer<const Self> ConstPointer; \
00043 itkTypeMacro(className,SuperClassName)
00044
00047 #define mitkNewMacro1Param(classname,type) \
00048 static Pointer New(type _arg) \
00049 { \
00050 Pointer smartPtr = new classname ( _arg ); \
00051 smartPtr->UnRegister(); \
00052 return smartPtr; \
00053 } \
00054
00055
00058 #define mitkNewMacro2Param(classname,typea,typeb) \
00059 static Pointer New(typea _arga, typeb _argb) \
00060 { \
00061 Pointer smartPtr = new classname ( _arga, _argb ); \
00062 smartPtr->UnRegister(); \
00063 return smartPtr; \
00064 } \
00065
00066
00069 #define mitkNewMacro3Param(classname,typea,typeb,typec) \
00070 static Pointer New(typea _arga, typeb _argb, typec _argc) \
00071 { \
00072 Pointer smartPtr = new classname ( _arga, _argb, _argc ); \
00073 smartPtr->UnRegister(); \
00074 return smartPtr; \
00075 } \
00076
00077
00080 #define mitkNewMacro4Param(classname,typea,typeb,typec,typed) \
00081 static Pointer New(typea _arga, typeb _argb, typec _argc, typed _argd) \
00082 { \
00083 Pointer smartPtr = new classname ( _arga, _argb, _argc, _argd ); \
00084 smartPtr->UnRegister(); \
00085 return smartPtr; \
00086 } \
00087
00088
00091 #define mitkGetObjectMacroConst(name,type) \
00092 virtual type * Get##name () const \
00093 { \
00094 itkDebugMacro("returning " #name " address " << this->m_##name ); \
00095 return this->m_##name.GetPointer(); \
00096 }
00097
00104 #if defined(WIN32)
00105 #ifdef mitkCore_EXPORTS
00106 #define MITK_CORE_EXPORT __declspec(dllexport)
00107 #else
00108 #define MITK_CORE_EXPORT __declspec(dllimport)
00109 #endif
00110 #ifdef Qmitk_EXPORTS
00111 #define QMITK_EXPORT __declspec(dllexport)
00112 #else
00113 #define QMITK_EXPORT __declspec(dllimport)
00114 #endif
00115 #else
00116 #define MITK_CORE_EXPORT
00117 #define QMITK_EXPORT
00118 #endif
00119
00120
00121 #define MITK_EXPORT
00122
00123 #endif