00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _SO_SUB_AUDITOR_
00025 #define _SO_SUB_AUDITOR_
00026
00027 #include <Inventor/SoType.h>
00028 #include <Inventor/SbString.h>
00029 #include <Inventor/misc/SoBasic.h>
00030
00032
00033
00034
00035
00036
00037 #define SO_AUDITOR_HEADER() \
00038 public: \
00039 static SoType getClassTypeId(); \
00040 \
00041 virtual SoType getTypeId() const; \
00042 private: \
00043 static SoType classTypeId
00044
00045
00047
00048
00049
00050
00052
00053
00054
00055
00056 #define SO__AUDITOR_VARS(className) \
00057 SoType className::classTypeId
00058
00059
00061
00062
00063
00064
00065 #define SO__AUDITOR_METHODS(className) \
00066 \
00067 SoType \
00068 className::getTypeId() const \
00069 { \
00070 return classTypeId; \
00071 } \
00072 \
00073 SoType \
00074 className::getClassTypeId() \
00075 { \
00076 return classTypeId; \
00077 }
00078
00080
00081
00082
00083
00084
00085 #define SO_AUDITOR_SOURCE(className) \
00086 SO__AUDITOR_VARS(className); \
00087 SO__AUDITOR_METHODS(className)
00088
00089
00091
00092
00093
00094
00095
00096
00097
00098 #define SO_AUDITOR_INIT_CLASS_INTERNAL(className,parentClass) \
00099 classTypeId = \
00100 SoType::createType(parentClass::getClassTypeId(), \
00101 SO__QUOTE(className))
00102
00103 #define SO_AUDITOR_INIT_CLASS(className,parentClass) \
00104 SO_AUDITOR_INIT_CLASS_INTERNAL(className,parentClass);
00105
00106 #define SO_AUDITOR_EXIT_CLASS(className) \
00107 SoType::removeType(SO__QUOTE(className))
00108
00109 #define ADD_MESSAGE_FIELD(field) \
00110 message += "\n\t\t -> "; \
00111 message += #field; \
00112 message += " \""; \
00113 message += cpt->field.getValue(); \
00114 message += "\""
00115
00116 #define NEW_MESSAGE_GROUP(className) \
00117 SbString message = "WARNING ! The DialogAuditor does not define the "; \
00118 message += #className; \
00119 message += " component :"
00120
00121 #define NEW_MESSAGE_AUDITOR(className) \
00122 SbString message = "WARNING ! Auditor not defined for the "; \
00123 message += #className; \
00124 message += " component :"; \
00125 ADD_MESSAGE_FIELD(auditorID)
00126
00127 #endif
00128
00129