00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef DIME_BASE_H
00031 #define DIME_BASE_H
00032
00033 #include <dime/Basic.h>
00034 #include <stddef.h>
00035
00036 class dimeMemHandler;
00037
00038 class dimeBase
00039 {
00040 public:
00041 enum {
00042 dimeBaseType = 1,
00043 dimeRecordType,
00044 dimeStringRecordType,
00045 dimeFloatRecordType,
00046 dimeDoubleRecordType,
00047 dimeInt8RecordType,
00048 dimeInt16RecordType,
00049 dimeInt32RecordType,
00050 dimeHexRecordType,
00051 dimeRecordHolderType,
00052 dimeClassType,
00053 dimeUnknownClassType,
00054 dimeObjectType,
00055 dimeUnknownObjectType,
00056 dimeEntityType,
00057 dimeUnknownEntityType,
00058 dimePolylineType,
00059 dimeVertexType,
00060 dimeFaceEntityType,
00061 dimeExtrusionEntityType,
00062 dime3DFaceType,
00063 dimeSolidType,
00064 dimeTraceType,
00065 dimeLineType,
00066 dimePointType,
00067 dimeBlockType,
00068 dimeInsertType,
00069 dimeCircleType,
00070 dimeArcType,
00071 dimeLWPolylineType,
00072 dimeEllipseType,
00073 dimeSplineType,
00074 dimeSectionType,
00075 dimeUnknownSectionType,
00076 dimeEntitiesSectionType,
00077 dimeBlocksSectionType,
00078 dimeTablesSectionType,
00079 dimeHeaderSectionType,
00080 dimeClassesSectionType,
00081 dimeObjectsSectionType,
00082 dimeTableType,
00083 dimeTableEntryType,
00084 dimeUnknownTableType,
00085 dimeUCSTableType,
00086 dimeLayerTableType,
00087
00088
00089 dimeLastTypeTag
00090 };
00091 dimeBase(void);
00092 virtual ~dimeBase();
00093
00094 virtual int typeId() const = 0;
00095 virtual bool isOfType(const int thetypeid) const;
00096 public:
00097 void *operator new(size_t size, dimeMemHandler *memhandler = NULL,
00098 const int alignment = 4);
00099
00100 };
00101
00102 #endif // ! DIME_BASE_H
00103