//-----------------------------------------------------------------------------+ // Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd. // = FileName : TGGiClipBoundary 类 // = Version : ver2.0 // = Author : wlw // = CreateDate : 2002-09-09 // = Description: TGGiClipBoundary 声明 // = Maintainers: // //-----------------------------------------------------------------------------+ #ifndef _TGGICLIPBOUNDARY_H_ #define _TGGICLIPBOUNDARY_H_ #ifndef _TGGEPOLY2D_H_ #include "TGGePoly2D.h" #endif #ifndef _TADSGEPOINT3D_H_ #include "TADSGePoint3d.h" #endif #ifndef _TGGEDBCURVEENTITY_H_ #include "TGGeDbCurveEntity.h" #endif #ifndef _TDPTRLIST_H_ #include "TDPtrList.h" #endif class GEOAPI TGGiClipBoundary { public: enum ClipType { kClipIn = 0x0000, //去除内部 kClipOut = 0x0001, //去除外部 kNoClipEdge = 0x0002, //保留边界 kAcGiClip = 0x0004 }; TGGiClipBoundary(const TGGePoly2D& poly,int flag = 0); virtual ~TGGiClipBoundary(); virtual int GetClipType() const; virtual bool IsClip(const TADSGePoint3d&pt) const; virtual bool DoClip(TDPtrList& lstCurve) const; virtual bool DoClip(TDPtrList &lstRegion) const; virtual bool DoClip(TDPtrList&lstObj) const; virtual bool DoClip(TDPtrList &lstEnt) const; virtual TGGePoly2D 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; TGGePoly2D m_poly; AcGiClipBoundary *m_pAcGiClip; }; #endif