Main Page   Class Hierarchy   Compound List   File List   Compound Members  

Base.h

00001 /**************************************************************************\
00002  * 
00003  *  FILE: Base.h
00004  *
00005  *  This source file is part of DIME.
00006  *  Copyright (C) 1998-1999 by Systems In Motion.  All rights reserved.
00007  *
00008  *  This library is free software; you can redistribute it and/or modify it
00009  *  under the terms of the GNU General Public License, version 2, as
00010  *  published by the Free Software Foundation.
00011  *
00012  *  This library is distributed in the hope that it will be useful, but
00013  *  WITHOUT ANY WARRANTY; without even the implied warranty of
00014  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  *  General Public License (the accompanying file named COPYING) for more
00016  *  details.
00017  *
00018  **************************************************************************
00019  *
00020  *  If you need DIME for a non-GPL project, contact Systems In Motion
00021  *  to acquire a Professional Edition License:
00022  *
00023  *  Systems In Motion                                   http://www.sim.no/
00024  *  Prof. Brochs gate 6                                       sales@sim.no
00025  *  N-7030 Trondheim                                   Voice: +47 22114160
00026  *  NORWAY                                               Fax: +47 67172912
00027  *
00028 \**************************************************************************/
00029 
00030 #ifndef DIME_BASE_H
00031 #define DIME_BASE_H
00032 
00033 #include <dime/Basic.h>
00034 #include <stddef.h>  // for size_t
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     // this should be last
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 }; // class dimeBase
00101 
00102 #endif // ! DIME_BASE_H
00103 

Copyright © 1998-1999, Systems In Motion <sales@sim.no>. All rights reserved.
System documentation was generated using doxygen.