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_POINT_H
00031 #define DIME_POINT_H
00032
00033 #include <dime/Basic.h>
00034 #include <dime/entities/ExtrusionEntity.h>
00035 #include <dime/util/Linear.h>
00036
00037 class dimePoint : public dimeExtrusionEntity
00038 {
00039 public:
00040 dimePoint();
00041
00042 const dimeVec3f &getCoords() const;
00043 void setCoords(const dimeVec3f &v);
00044
00045 virtual dimeEntity *copy(dimeModel * const model) const;
00046 virtual bool getRecord(const int groupcode,
00047 dimeParam ¶m,
00048 const int index = 0) const;
00049 virtual const char *getEntityName() const;
00050
00051 virtual bool write(dimeOutput * const out);
00052 virtual int typeId() const;
00053 virtual int countRecords() const;
00054
00055 virtual GeometryType extractGeometry(dimeArray <dimeVec3f> &verts,
00056 dimeArray <int> &indices,
00057 dimeVec3f &extrusionDir,
00058 dxfdouble &thickness);
00059
00060 protected:
00061 virtual bool handleRecord(const int groupcode,
00062 const dimeParam ¶m,
00063 dimeMemHandler * const memhandler);
00064
00065 private:
00066 dimeVec3f coords;
00067
00068 };
00069
00070 inline const dimeVec3f &
00071 dimePoint::getCoords() const
00072 {
00073 return coords;
00074 }
00075
00076 inline void
00077 dimePoint::setCoords(const dimeVec3f &v)
00078 {
00079 this->coords = v;
00080 }
00081
00082 #endif // ! DIME_POINT_H
00083