57 lines
1.1 KiB
C++
57 lines
1.1 KiB
C++
//-----------------------------------------------------------------------------+
|
|
// Copyright (C), 1998-2007, SH Software Co. Ltd.
|
|
// = FileName : XRegion2D 类
|
|
// = Version : ver2.0
|
|
// = Author : zjq
|
|
// = CreateDate : 2002-09-09
|
|
// = Description: XRegion2D 类声明
|
|
// = Maintainers:
|
|
//
|
|
//-----------------------------------------------------------------------------+
|
|
#ifndef _XREGION2D_H_
|
|
#define _XREGION2D_H_
|
|
|
|
#ifndef _XPOLY2D_H_
|
|
#include "XPoly2D.h"
|
|
#endif
|
|
|
|
#ifndef _DLIST_H_
|
|
#include "DList.h"
|
|
#endif
|
|
|
|
class GEOAPI XRegion2D : public XPoly2D
|
|
{
|
|
public:
|
|
|
|
XRegion2D();
|
|
|
|
XRegion2D(const XPoly2D & poly);
|
|
|
|
virtual ~XRegion2D();
|
|
|
|
virtual bool IsKindOf(TEntityId entType) const;
|
|
virtual TEntityId Type() const;
|
|
|
|
void AppendHole(XPoly2D * pPoly);
|
|
|
|
void ClearHole();
|
|
|
|
long GetHoleNum()const;
|
|
|
|
const XPoly2D& GetHole(long i)const;
|
|
XPoly2D& GetHole(long i);
|
|
|
|
int HitTest2d(XPoint pt)const;
|
|
|
|
virtual double Area()const;
|
|
|
|
bool IsValid()const;
|
|
|
|
//外部负责释放
|
|
virtual AcDbRegion *AsRegion() const;
|
|
public:
|
|
DList<XPoly2D> m_lstHole;
|
|
};
|
|
|
|
#endif
|