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 DIME_DLL_API 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
void operator delete(
void *ptr);
00100
00101 };
00102
00103
#endif // ! DIME_BASE_H
00104