#pragma once #include "ADSGePointList.h" #include "EntitySet.h" #include "GeShape.h" class GeShape; class GeLine; class GePoly : public GeShape, public ADSGePointList { public: GePoly(); GePoly(resbuf *pts); GePoly(const EntitySet &entPLine); GePoly(const GePoly &src); virtual ~GePoly(); virtual bool IsKindOf(TEntityId entType) const; virtual TEntityId Type() const; virtual void CopyFrom(const GeEntity* pSrc); virtual ShapeType GetShapeType () const; virtual void Center(ads_point ptCen); virtual GePoly& operator = (const GePoly &src); virtual int operator ! (); virtual int IsPoint(); virtual int IsLinear(); virtual int IsRectAngle(ads_point ptcen = NULL, ads_real *pdwidth = NULL, ads_real *pdheight = NULL); virtual int NthLine(int index, GeLine &res); virtual int CreatePface(const TCHAR *szlay = NULL); virtual resbuf *Fence(); virtual resbuf *Polygon(); virtual resbuf *ResbufList(int nIsClosed = 0); virtual ads_real PathArea(); virtual ads_real Area(); virtual int GetExtend(ADSGePoint3d &ptlow, ADSGePoint3d &ptup) const; };