Files
envi-code/SourceCode/Code2026/Dimension/SprinklerByLineDlg.h
T
2026-09-28 15:28:50 +08:00

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_)