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

74 lines
1.5 KiB
C++

#pragma once
#include "EarThwormDef.h"
class AecDbDuctLine;
class AECStatusRecord;
class CUIISQLiteServer;
class AecDbDuctJig : public AcEdJig
{
public:
AecDbDuctJig(void);
AecDbDuctJig(AecHvac::DuctParam& param);
virtual~AecDbDuctJig(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);
public:
virtual AcEdJig::DragStatus sampler();
virtual AcDbEntity* entity() const;
virtual Adesk::Boolean update();
public:
void PushBackStatusRec(AECStatusRecord* pRec);
void PopUpStatusRec();
int GetUndoGroupID();
void SetAngleWath(AcGePoint3d& ptCen,const AcGePoint3d& ptGeTo,const AcGeVector3d& vtDir);
AECStatusRecord* GetTailStatusRec();
int AfterDrag();
void EndDragRecord();
protected:
void InitStatusRecs();
void FreeStatusRecs();
BOOL GetLastStatusAquire(AcGePoint3d& ptGeBase);
void SetUndoGroupBegin();
void SetUndoGroupEnd();
void SetDispPromptWithEleTip(CString& sPrompt);
double PickWPipehereEl(const AcGePoint3d& ptGe);
void CalReferencePoint();
protected:
AecDbDuctLine* m_pPipeLine; //
AecInterface m_tStartIntf; //默认开始接口
CPtrArray m_arStaPtrs; //状态集
CPtrList m_lstStaPtrsBack; //上次状态
AcGeVector3d m_vtStaDir; //默认开始向量
int m_nUndoGoupid; //undo标记id
public:
AECStatusRecord* m_pCurStaRec; //当前请求状态
};