66 lines
1.4 KiB
C++
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; //绘制代理
|
|
};
|