134 lines
4.2 KiB
C++
134 lines
4.2 KiB
C++
#if !defined(AFX_SPRINKLERBYLINEDLG_H__50852179_6C65_4DF5_87CA_E2DC734C967B__INCLUDED_)
|
|
#define AFX_SPRINKLERBYLINEDLG_H__50852179_6C65_4DF5_87CA_E2DC734C967B__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
// SprinklerByLineDlg.h : header file
|
|
//
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CSprinklerByLineDlg dialog
|
|
#include "Resource.h"
|
|
//#include <ModelessDialog.h>
|
|
#include "MySpin.h"
|
|
#include "EdJigEx.h"
|
|
#include "realedit.h"
|
|
|
|
#include "SprinklerByRectDlg.h"
|
|
#include "SprinkIsometryDlg.h"
|
|
#include "SprinklerByFreeDlg.h"
|
|
#include "SprinklerByArcDlg.h"
|
|
#include "SprinklerBySectionDlg.h"
|
|
|
|
class CSprinklerByLineDlg : public CDialog
|
|
{
|
|
// Construction
|
|
public:
|
|
CSprinklerByLineDlg(CWnd* pParent = NULL); // standard constructor
|
|
DECLARE_DYNAMIC(CSprinklerByLineDlg)
|
|
|
|
// Dialog Data
|
|
//{{AFX_DATA(CSprinklerByLineDlg)
|
|
enum { IDD = IDD_SPRINKLER_LINE };
|
|
CRealEdit m_editDist2Wall;
|
|
CRealEdit m_editDist;
|
|
CRealEdit m_editEle;
|
|
CMySpin m_spinDist;
|
|
BOOL m_bDrawCir;
|
|
CString m_csRadius;
|
|
int m_iDist2Wall;
|
|
//}}AFX_DATA
|
|
static int m_iOldDist;
|
|
static int m_iMode;
|
|
static int m_iNum;
|
|
static int m_iDist;
|
|
static int m_iType;
|
|
static double m_nEle;
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CSprinklerByLineDlg)
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
|
|
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CSprinklerByLineDlg)
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnClose();
|
|
afx_msg void OnCheckDraw();
|
|
afx_msg void OnKillfocusEditDist();
|
|
afx_msg void OnKillfocusEditDist2();
|
|
afx_msg void OnKillfocusEditEle();
|
|
afx_msg void OnKillfocusComboRadius();
|
|
afx_msg LONG_PTR onAcadKeepFocus(UINT_PTR, LONG_PTR);
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
|
|
class CSprinklerPreview: public AcDbEntity
|
|
{
|
|
public:
|
|
CSprinklerPreview(CSprinkIsometryDlg *dlg, XPoint ptStart, XPoint ptEnd, double nXDist, double nYDist);
|
|
CSprinklerPreview(CSprinklerByLineDlg *dlg, XPoint ptStart, XPoint ptEnd);
|
|
CSprinklerPreview(CSprinklerByArcDlg *dlg, XPoint ptStart, XPoint ptEnd);
|
|
CSprinklerPreview(CSprinklerByRectDlg *dlg, XPoint ptStart, XPoint ptEnd);
|
|
CSprinklerPreview(CSprinklerByFreeDlg *dlg, XPoint ptStart, XPoint ptEnd);
|
|
CSprinklerPreview(CSprinklerBySectionDlg *dlg, XPoint pt1, XPoint pt2, XPoint pt3); //圮倛驗芛
|
|
CSprinklerPreview(XPoint ptStart, XPoint ptEnd);
|
|
virtual ~CSprinklerPreview();
|
|
virtual Adesk::Boolean subWorldDraw(AcGiWorldDraw *pWd);
|
|
XPoint m_ptStart, m_ptEnd, m_ptMid;
|
|
CSprinklerByLineDlg *m_pdlg;
|
|
CSprinklerByRectDlg *m_pdlg2;
|
|
CSprinkIsometryDlg *m_pdlg3;
|
|
CSprinklerByFreeDlg *m_pdlg4;
|
|
CSprinklerBySectionDlg *m_pdlg5;
|
|
CSprinklerByArcDlg *m_pdlg6;
|
|
AcDbLine *m_pDrawLine;
|
|
AcDbPolyline *m_pDrawRect;
|
|
XPointList m_lstPt;
|
|
BOOL m_bNeedText;
|
|
double m_nRadius;
|
|
double m_nXDist, m_nYDist;
|
|
};
|
|
|
|
class TSprinklerJig : public TSymbEdJig {
|
|
protected:
|
|
XPoint m_ptStart, m_ptEnd, m_ptMid;
|
|
public:
|
|
CSprinklerPreview *m_pDrawEnt;
|
|
TSprinklerJig(CSprinkIsometryDlg *dlg, XPoint pt1, double nXDist, double nYDist); //脹擒驗芛
|
|
TSprinklerJig(CSprinklerByLineDlg *dlg, XPoint pt1); //眻盄驗芛
|
|
TSprinklerJig(CSprinklerByRectDlg *dlg, XPoint pt1); //撻倛驗芛
|
|
TSprinklerJig(CSprinklerByFreeDlg *dlg, XPoint pt1); //¦砩驗芛
|
|
TSprinklerJig(CSprinklerBySectionDlg *dlg, XPoint pt1, XPoint pt2, XPoint pt3); //圮倛驗芛
|
|
TSprinklerJig(CSprinklerByArcDlg *dlg, XPoint pt1, XPoint pt2); //說倛驗芛
|
|
|
|
TSprinklerJig(XPoint pt1);
|
|
~TSprinklerJig();
|
|
virtual int DoIt(int *pKeyIndex=NULL);
|
|
DragStatus GetPoint(XPoint &pt);
|
|
void SetStartPoint(XPoint pt);
|
|
void SetDist(double dDist);
|
|
XPoint GetCorrectPt();
|
|
|
|
int m_iPipeType;
|
|
double m_nDist;
|
|
double m_nLockAng;
|
|
protected:
|
|
virtual Adesk::Boolean update();
|
|
virtual AcDbEntity* entity() const;
|
|
};
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_SPRINKLERBYLINEDLG_H__50852179_6C65_4DF5_87CA_E2DC734C967B__INCLUDED_)
|