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

66 lines
1.4 KiB
C++

#pragma once
#include "dbjig.h"
#include "AECAngleWatch.h"
class AECStatusRecord;
class AcLineSegs : public AecDbEntityBase
{
public:
AcLineSegs( );
virtual ~AcLineSegs(void);
void SetLastPoint(const AcGePoint3d& pt);
void RemoveLast();
void AddLastPoint(const AcGePoint3d& pt);
virtual Acad::ErrorStatus Draw2d(AcGiDraw &mode) const;
virtual const AecDbObjXDataMap* GetSpecialtyData() const { assertReadEnabled(); return NULL; }
virtual AecDbObjXDataMap* GetSpecialtyData(AcDb::OpenMode bMode = AcDb::kForWrite) { assertWriteEnabled(); return NULL; }
public:
AcGePoint3d m_ptLast;
AcGePoint3dArray m_arPoints;
};
class AcLandFormJig : public AcEdJig
{
public:
AcLandFormJig(void);
~AcLandFormJig(void);
bool DoIt( );
void InitStatusRecsForLineSegs();
bool GetPoints(AcGePoint3dArray& arPts);
void SetElDlg(CWnd* pElDlg){m_pElDlg = pElDlg;}
protected:
virtual AcEdJig::DragStatus sampler();
virtual AcDbEntity* entity() const;
virtual Adesk::Boolean update();
protected:
void FreeBuffer();
void PopUpStatusRec();
void PushBackStatusRec(AECStatusRecord* pRec);
bool GetLastStatusAquire(AcGePoint3d& ptGe);
CPtrArray m_arStaPtrs; //状态集
CPtrList m_lstStaPtrsBack; //上次状态
AECStatusRecord* m_pCurStaRec; //当前请求状态
int m_nUndoGoupid; //undo标记id
CWnd* m_pElDlg;
protected:
AcLineSegs* m_pLineSegs; //绘制代理
};