67 lines
1.5 KiB
C++
67 lines
1.5 KiB
C++
//-----------------------------------------------------------------------------+
|
|
// 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
|