//-----------------------------------------------------------------------------+ // Copyright (C), 1998-2007, SH Software Co. Ltd. // = FileName : XDcClip 类 // = Version : ver2.0 // = Author : zjq // = CreateDate : 2002-09-09 // = Description: XDcClip 声明 // = Maintainers: // //-----------------------------------------------------------------------------+ #ifndef _XDcClip_H_ #define _XDcClip_H_ #ifndef _XPOLY2D_H_ #include "XPoly2D.h" #endif #ifndef _XPOINT_H_ #include "XPoint.h" #endif #ifndef _XDcObject_H_ #include "XDcObject.h" #endif #ifndef _DLIST_H_ #include "DList.h" #endif class GEOAPI XDcClip { public: enum ClipType { kClipIn = 0x0000, //去除内部 kClipOut = 0x0001, //去除外部 kNoClipEdge = 0x0002, //保留边界 kAcGiClip = 0x0004 }; XDcClip(const XPoly2D& poly,int flag = 0); virtual ~XDcClip(); virtual int GetClipType() const; virtual bool IsClip(const XPoint&pt) const; virtual bool DoClip(DList& lstCurve) const; virtual bool DoClip(DList &lstRegion) const; virtual bool DoClip(DList&lstObj) const; virtual bool DoClip(DList &lstEnt) const; virtual XPoly2D GetClipPoly() const; virtual AcGiClipBoundary* GetAcGiClip() const; virtual bool IsExtentsClip(AcDbExtents& ext); protected: int m_clipType; bool m_bExtExtracted; ads_point m_ptLow; ads_point m_ptUpp; XPoly2D m_poly; AcGiClipBoundary *m_pAcGiClip; }; #endif