86 lines
1.7 KiB
C++
86 lines
1.7 KiB
C++
#pragma once
|
|
|
|
#include "EarThwormDef.h"
|
|
|
|
class AecDbECableLine;
|
|
class AECStatusRecord;
|
|
class CUIISQLiteServer;
|
|
|
|
class AecDbECableJig : public AcEdJig
|
|
{
|
|
public:
|
|
AecDbECableJig(void);
|
|
AecDbECableJig(AecHvac::DuctParam* pParam);
|
|
virtual~AecDbECableJig(void);
|
|
|
|
BOOL DoIt(WPipe::EApp app, BOOL bParamDlg = TRUE,BOOL bCalRefPoint = TRUE);
|
|
|
|
BOOL DoIt(AecInterface* pIntf,AecHvac::DuctParam* pParam);
|
|
|
|
BOOL DoItOnPath(WPipe::EApp app,const AcGePoint3dArray& arPts, bool bHasFit = true,bool bShowParamDlg = true);
|
|
|
|
void InitStatusBRecs();
|
|
void InitStatusTRecs();
|
|
|
|
void InitXYPlanStatusRecs();
|
|
|
|
public:
|
|
|
|
virtual AcEdJig::DragStatus sampler();
|
|
|
|
virtual AcDbEntity* entity() const;
|
|
|
|
virtual Adesk::Boolean update();
|
|
|
|
public:
|
|
|
|
int AfterDrag();
|
|
|
|
void EndDragRecord();
|
|
|
|
AcEdJig::DragStatus SetPickPoint(const AcGePoint3d& ptGe);
|
|
|
|
public:
|
|
|
|
void PushBackStatusRec(AECStatusRecord* pRec);
|
|
|
|
void PopUpStatusRec();
|
|
|
|
int GetUndoGroupID();
|
|
|
|
void SetAngleWath(AcGePoint3d& ptCen,const AcGePoint3d& ptGeTo,const AcGeVector3d& vtDir);
|
|
|
|
AECStatusRecord* GetTailStatusRec() const;
|
|
|
|
AECStatusRecord* GetCurStatusRec() const;
|
|
|
|
protected:
|
|
|
|
void FreeStatusRecs();
|
|
|
|
BOOL GetLastStatusAquire(AcGePoint3d& ptGeBase);
|
|
|
|
void SetUndoGroupBegin();
|
|
void SetUndoGroupEnd();
|
|
|
|
void SetDispPromptWithEleTip(CString& sPrompt);
|
|
|
|
double PickWPipehereEl(const AcGePoint3d& ptGe);
|
|
|
|
void CalReferencePoint();
|
|
|
|
protected:
|
|
|
|
CUIISQLiteServer* m_pDb; //数据库服务
|
|
AecDbECableLine* m_pPipeLine; //
|
|
AecInterface m_tStartIntf; //默认开始接口
|
|
CPtrArray m_arStaPtrs; //状态集
|
|
CPtrList m_lstStaPtrsBack; //上次状态
|
|
AcGeVector3d m_vtStaDir; //默认开始向量
|
|
int m_nUndoGoupid; //undo标记id
|
|
|
|
public:
|
|
|
|
AECStatusRecord* m_pCurStaRec; //当前请求状态
|
|
};
|