49 lines
1006 B
C++
49 lines
1006 B
C++
#pragma once
|
|
|
|
#include "GePoly2D.h"
|
|
#include "ADSGePoint3d.h"
|
|
#include "GeDbCurveEntity.h"
|
|
#include "superlist.h"
|
|
|
|
class TGGiClipBoundary
|
|
{
|
|
public:
|
|
|
|
enum ClipType
|
|
{
|
|
kClipIn = 0x0000, //È¥³ýÄÚ²¿
|
|
kClipOut = 0x0001, //È¥³ýÍⲿ
|
|
kNoClipEdge = 0x0002, //±£Áô±ß½ç
|
|
kAcGiClip = 0x0004
|
|
};
|
|
|
|
TGGiClipBoundary(const GePoly2D& poly,int flag = 0);
|
|
|
|
virtual ~TGGiClipBoundary();
|
|
|
|
virtual int GetClipType() const;
|
|
|
|
virtual bool IsClip(const ADSGePoint3d&pt) const;
|
|
|
|
virtual bool DoClip(PtrList<GeCurveSegment>& lstCurve) const;
|
|
|
|
virtual bool DoClip(PtrList<GePoly2D> &lstRegion) const;
|
|
|
|
virtual bool DoClip(PtrList<GeDbCurveEntity>&lstObj) const;
|
|
|
|
virtual bool DoClip(PtrList<AcDbEntity> &lstEnt) const;
|
|
|
|
virtual GePoly2D 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;
|
|
GePoly2D m_poly;
|
|
AcGiClipBoundary *m_pAcGiClip;
|
|
}; |