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_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 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 ¶m,
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 ¶m,
00075 dimeMemHandler * const memhandler);
00076
00077 int16 flags;
00078
00079
00080 public:
00081 #ifndef NO_RR_DATA
00082 class dimeBlock *block;
00083 #endif
00084 };
00085
00086 #endif // ! DIME_3DFACE_H
00087