92 lines
2.2 KiB
C++
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__
|