Files
envi-code/SourceCode/Code2026/Dimension/TGGiClipBoundary.h
T
2026-09-28 15:28:50 +08:00

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;
};