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_SOLID_H
00031 #define DIME_SOLID_H
00032
00033 #include <dime/entities/FaceEntity.h>
00034 #include <dime/util/Linear.h>
00035
00036 class dimeSolid : public dimeFaceEntity
00037 {
00038 public:
00039 dimeSolid();
00040
00041 virtual dxfdouble getThickness() const;
00042 virtual void getExtrusionDir(dimeVec3f &ed) const;
00043 void setThickness(const dxfdouble &thickness);
00044 void setExtrusionDir(const dimeVec3f &ed);
00045
00046 virtual bool write(dimeOutput * const out);
00047 virtual int typeId() const;
00048 virtual dimeEntity *copy(dimeModel * const model) const;
00049 virtual bool getRecord(const int groupcode,
00050 dimeParam ¶m,
00051 const int index = 0) const;
00052 virtual const char *getEntityName() const;
00053 virtual int countRecords() const;
00054
00055 protected:
00056 virtual bool swapQuadCoords() const;
00057
00058 virtual bool handleRecord(const int groupcode,
00059 const dimeParam ¶m,
00060 dimeMemHandler * const memhandler);
00061
00062
00063 private:
00064 dimeVec3f extrusionDir;
00065 dxfdouble thickness;
00066
00067 };
00068
00069 #endif // ! DIME_SOLID_H
00070