Main Page | Class Hierarchy | Class List | File List | Class Members

3DFace.h

00001 /**************************************************************************\ 00002 * 00003 * FILE: 3DFace.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_3DFACE_H 00031 #define DIME_3DFACE_H 00032 00033 #include <dime/Basic.h> 00034 #include <dime/entities/FaceEntity.h> 00035 #include <dime/util/Linear.h> 00036 00037 class DIME_DLL_API dime3DFace : public dimeFaceEntity 00038 { 00039 friend class dimeEntitiesSection; 00040 friend class dimeBlock; 00041 friend class dimeModel; 00042 friend class dimeEntity; 00043 friend class dimeSolid; 00044 friend class dimeTrace; 00045 00046 public: 00047 dime3DFace(); 00048 00049 virtual dimeEntity *copy(dimeModel * const model) const; 00050 00051 virtual bool getRecord(const int groupcode, 00052 dimeParam &param, 00053 const int index = 0) const; 00054 virtual const char *getEntityName() const; 00055 00056 enum Flags { 00057 EDGE1_INVISIBLE = 0x0001, 00058 EDGE2_INVISIBLE = 0x0002, 00059 EDGE3_INVISIBLE = 0x0004, 00060 EDGE4_INVISIBLE = 0x0008 00061 }; 00062 00063 void setFlags(const int16 flags); 00064 int16 getFlags() const; 00065 00066 virtual void print() const; 00067 virtual bool write(dimeOutput * const out); 00068 virtual int typeId() const; 00069 virtual int countRecords() const; 00070 00071 protected: 00072 00073 virtual bool handleRecord(const int groupcode, 00074 const dimeParam &param, 00075 dimeMemHandler * const memhandler); 00076 00077 int16 flags; 00078 00079 00080 public: 00081 #ifndef NO_RR_DATA 00082 class dimeBlock *block; // ugly, needed for RR 00083 #endif 00084 }; // class dime3DFace 00085 00086 #endif // ! DIME_3DFACE_H 00087

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