//-----------------------------------------------------------------------------+ // Copyright (C), 1998-2007, SH Software Co. Ltd. // = FileName : XPoly类 // = Version : ver2.0 // = Author : zjq // = CreateDate : 2002-09-09 // = Description: XPoly类声明 // = Maintainers: // //-----------------------------------------------------------------------------+ #ifndef _XPOLY_H_ #define _XPOLY_H_ #ifndef _XPOINTLISTT_H_ #include "XPointList.h" #endif #ifndef _ENTITY_H_ #include "Entity.h" #endif #ifndef _XSHAPE_H_ #include "XCell.h" #endif class XCell; class XLine; class GEOAPI XPoly : public XCell, public XPointList { public: XPoly(); XPoly(resbuf *pts); XPoly(const Entity &entPLine); XPoly(const XPoly &src); virtual ~XPoly(); virtual bool IsKindOf(TEntityId entType) const; virtual TEntityId Type() const; virtual void CopyFrom(const XEntity* pSrc); virtual ShapeType GetShapeType () const; virtual void Center(ads_point ptCen); virtual XPoly& operator = (const XPoly &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, XLine &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(XPoint &ptlow, XPoint &ptup) const; }; #endif