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_EXTRUSIONENTITY_H
00031 #define DIME_EXTRUSIONENTITY_H
00032
00033 #include <dime/entities/Entity.h>
00034
00035 class DIME_DLL_API dimeExtrusionEntity : public dimeEntity
00036 {
00037 public:
00038 dimeExtrusionEntity();
00039
00040 virtual bool getRecord(const int groupcode,
00041 dimeParam ¶m,
00042 const int index = 0) const;
00043
00044 void setExtrusionDir(const dimeVec3f &v);
00045 const dimeVec3f &getExtrusionDir() const;
00046
00047 void setThickness(const dxfdouble val);
00048 dxfdouble getThickness() const;
00049
00050 virtual int typeId() const;
00051 virtual bool isOfType(const int thtypeid) const;
00052 virtual int countRecords() const;
00053
00054 protected:
00055
00056 virtual bool handleRecord(const int groupcode,
00057 const dimeParam ¶m,
00058 dimeMemHandler * const memhandler);
00059
00060 void copyExtrusionData(const dimeExtrusionEntity * const entity);
00061 bool writeExtrusionData(dimeOutput * const out);
00062
00063 protected:
00064 dimeVec3f extrusionDir;
00065 dxfdouble thickness;
00066
00067 };
00068
00069 inline void
00070 dimeExtrusionEntity::setExtrusionDir(const dimeVec3f &v)
00071 {
00072 this->extrusionDir = v;
00073 }
00074
00075 inline const dimeVec3f &
00076 dimeExtrusionEntity::getExtrusionDir() const
00077 {
00078 return this->extrusionDir;
00079 }
00080
00081 inline void
00082 dimeExtrusionEntity::setThickness(const dxfdouble val)
00083 {
00084 this->thickness = val;
00085 }
00086
00087 inline dxfdouble
00088 dimeExtrusionEntity::getThickness() const
00089 {
00090 return this->thickness;
00091 }
00092
00093 #endif // ! DIME_EXTRUSIONENTITY_H
00094