77 lines
1.8 KiB
C++
77 lines
1.8 KiB
C++
#pragma once
|
|
|
|
#include "EdJigEx.h"
|
|
#include "AecDbSymbSection.h"
|
|
#include "AecDbSymbWithText.h"
|
|
|
|
class TVirtualSection;
|
|
class TSectionEdJig : public TSymbEdJig
|
|
{
|
|
|
|
public:
|
|
TSectionEdJig();
|
|
TSectionEdJig(AecXDbSymbSection* 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();
|
|
XPoint GetSecPoint2(); // cet 2010.4.19 add 返回第二个剖切点
|
|
CString GetNumber(); // cet 2010.4.23 add 剖切编号
|
|
AcGeVector3d GetSecDir();
|
|
|
|
private:
|
|
|
|
TVirtualSection* m_pVirDrawEnt;
|
|
TSectionOper m_nOperCode;
|
|
AecXDbSymbSection* m_pDrawEnt;
|
|
AcGePoint3d m_ptFir;
|
|
AcGePoint3d m_ptSec;
|
|
AcGePoint3d m_ptCur;
|
|
AcGePoint3d m_ptCorner;
|
|
AcGeVector3d m_vtDir;
|
|
CString m_strName; // cet 2010.4.23 add 剖切编号
|
|
};
|
|
|
|
class TVirtualSection : public AecXDbSymbWithText
|
|
{
|
|
public:
|
|
TVirtualSection();
|
|
virtual ~TVirtualSection();
|
|
|
|
virtual Acad::ErrorStatus Draw2d(AcGiDraw& dc) const;
|
|
void SetSectionPtr(AecXDbSymbSection* pSec);
|
|
void SetBasePoints(const AcGePoint3d& ptFir,const AcGePoint3d& ptSec);
|
|
void SetCurPtAndDir(const AcGePoint3d& ptCur,const AcGeVector3d& vtCur);
|
|
|
|
private:
|
|
Acad::ErrorStatus ExplodeOrDraw2dLineBox(AcGiDraw& dc) const;
|
|
|
|
private:
|
|
AecXDbSymbSection* m_pDrawEnt;
|
|
AcGePoint3d m_ptFir;
|
|
AcGePoint3d m_ptSec;
|
|
AcGePoint3d m_ptPos;
|
|
AcGePoint3d m_ptCorner;
|
|
AcGeVector3d m_vtDir;
|
|
};
|