Files
envi-code/SourceCode/Code2026/tg_shs/shs_TwtPump/TSectionEdJig.h
T
2026-09-28 15:28:50 +08:00

92 lines
2.2 KiB
C++

#ifndef __TSECTIONEDJIG_H__
#define __TSECTIONEDJIG_H__
#if _MSC_VER > 1000
#pragma once
/********************************************************************
created: 2008/12/18
created: 18:12:2008 16:59
filename: f:\tg_dev\水电开发\twt_pump\tsectionedjig.h
file path: f:\tg_dev\水电开发\twt_pump
file base: tsectionedjig
author: 田设计
purpose: 剖面生成命令前,创建剖断线,并选择要剖的选择集
备注: 从电气【变配电室】移植过来
*********************************************************************/
#endif // _MSC_VER > 1000
#include "EdJigEx.h"
#include "dbSymbolAnnotate.h"
class TVirtualSection;
class TSectionEdJig : public TSymbEdJig
{
public:
TSectionEdJig();
TSectionEdJig(TDbSymbSection* pSec);
virtual ~TSectionEdJig();
public:
enum TSectionOper
{
kNone = 0,
kSectPoint = 1,
kViewDirection = 2,
};
virtual AcEdJig::DragStatus GetPoint(XPoint &pt);
virtual Adesk::Boolean update();
virtual AcDbEntity* entity() const;
public:
void SetOperCode(TSectionEdJig::TSectionOper opCode);
int DoIt(int *pKeyIndex=NULL);
void SymbSection();
void SymbSectionArg(BOOL bViewLine);
void SetBasePoints(const AcGePoint3d& ptFir,const AcGePoint3d& ptSec);
void GetCornerPoint(AcGePoint3d& ptCorner);
void GetPickset(PickSet& ssEnt);
XPoint GetSecPoint();
AcGeVector3d GetSecDir();
private:
TVirtualSection* m_pVirDrawEnt;
TSectionOper m_nOperCode;
TDbSymbSection* m_pDrawEnt;
AcGePoint3d m_ptFir;
AcGePoint3d m_ptSec;
AcGePoint3d m_ptCur;
AcGePoint3d m_ptCorner;
AcGeVector3d m_vtDir;
};
class TVirtualSection : public TDbSymbWithText
{
public:
TVirtualSection();
virtual ~TVirtualSection();
virtual Acad::ErrorStatus ExplodeOrDraw2d(XExplodeDraw& dc) const;
void SetSectionPtr(TDbSymbSection* pSec);
void SetBasePoints(const AcGePoint3d& ptFir,const AcGePoint3d& ptSec);
void SetCurPtAndDir(const AcGePoint3d& ptCur,const AcGeVector3d& vtCur);
private:
Acad::ErrorStatus ExplodeOrDraw2dLineBox(XExplodeDraw& dc) const;
private:
TDbSymbSection* m_pDrawEnt;
AcGePoint3d m_ptFir;
AcGePoint3d m_ptSec;
AcGePoint3d m_ptPos;
AcGePoint3d m_ptCorner;
AcGeVector3d m_vtDir;
};
#endif // __TSECTIONEDJIG_H__