81 lines
2.5 KiB
C++
81 lines
2.5 KiB
C++
// TBlockEdJig.h: interface for the TBlockEdJig class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_TBLOCKEDJIG_H__DFB7ED61_3660_4462_A947_0A09C283A950__INCLUDED_)
|
|
#define AFX_TBLOCKEDJIG_H__DFB7ED61_3660_4462_A947_0A09C283A950__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
#include "EdJigEx.h"
|
|
|
|
class CBlockPreview: public AcDbEntity
|
|
{
|
|
public:
|
|
CBlockPreview(const TCHAR* szBlkName, XPoint pt, double nScaleX, double nScaleY, double dRadius);
|
|
virtual ~CBlockPreview();
|
|
virtual Adesk::Boolean subWorldDraw(AcGiWorldDraw *pWd);
|
|
AcDbBlockReference *m_pBlkRef;
|
|
// AcDbCircle *m_pCir;
|
|
CString m_csBlkName;
|
|
XPoint m_ptIns;
|
|
double m_dRadius;
|
|
double m_nRotate;
|
|
double m_nSacle, m_nSacleY;
|
|
BOOL m_bReversal;
|
|
};
|
|
|
|
|
|
class TELAPI TBlockEdJig : public TSymbEdJig {
|
|
protected:
|
|
CString m_csBlkName;
|
|
double m_nRotate;
|
|
double m_dDist;
|
|
XPoint m_ptIns;
|
|
BOOL m_bInsCenPt;
|
|
BOOL m_bJigRotate;
|
|
double m_dRadius;
|
|
bool m_bUpdatePScale; // 预览实体是否随当前图纸比例变化 cet 2017.9.28 add
|
|
public:
|
|
TBlockEdJig(const TCHAR* szBlkName, XPoint pt, double nScaleX, double nScaleY, bool bUpdatePScale = false);
|
|
TBlockEdJig(const TCHAR* szBlkName, XPoint pt, double nScale, bool bUpdatePScale = false);
|
|
TBlockEdJig(const TCHAR* szBlkName, XPoint pt, double nScale, AcGeVector3d vectBase, double dDist=0.0, bool bUpdatePScale = false);
|
|
~TBlockEdJig();
|
|
virtual int DoIt(int *pKeyIndex=NULL);
|
|
DragStatus GetPoint(XPoint &pt);
|
|
// 预览实体是否随当前图纸比例变化 cet 2017.9.28 add
|
|
void SetUpdatePScale(bool bVal);
|
|
AcDbBlockReference *m_pBlkRef;
|
|
AcDbCircle *m_pCir;
|
|
AcGeMatrix3d m_mat;
|
|
BOOL m_bReversal;
|
|
double m_nSacle, m_nSacleY;
|
|
XPoint m_ptRef;
|
|
XPoint m_ptRetIns;
|
|
int m_iQuadrant;
|
|
AcGeVector3d m_vectBase;
|
|
void SetInsCenPt(BOOL bInsCenPt){m_bInsCenPt = bInsCenPt;};
|
|
void SetRadius(double dRadius); //显示保护圆
|
|
protected:
|
|
virtual Adesk::Boolean update();
|
|
virtual AcDbEntity* entity() const;
|
|
};
|
|
|
|
class TELAPI TBlockExJig : public TSymbEdJig {
|
|
public:
|
|
TBlockExJig(const TCHAR* szBlkName, XPoint pt, double nScaleX, double nScaleY, double dRadius);
|
|
~TBlockExJig();
|
|
virtual int DoIt(int *pKeyIndex=NULL);
|
|
DragStatus GetPoint(XPoint &pt);
|
|
CBlockPreview *m_pBlkRef;
|
|
XPoint m_ptRef;
|
|
void SetReversal(BOOL bReversal){m_pBlkRef->m_bReversal = bReversal;};
|
|
|
|
|
|
protected:
|
|
virtual Adesk::Boolean update();
|
|
virtual AcDbEntity* entity() const;
|
|
};
|
|
#endif // !defined(AFX_TBLOCKEDJIG_H__DFB7ED61_3660_4462_A947_0A09C283A950__INCLUDED_)
|