61 lines
1.5 KiB
C++
61 lines
1.5 KiB
C++
#pragma once
|
|
#include "resource.h"
|
|
#include "singleton.h"
|
|
|
|
class AecDbMultiPartEntity;
|
|
class AecDbX3dPart;
|
|
class AcDbX3dSolid;
|
|
class CPMFYDlg : public CDialog
|
|
{
|
|
DECLARE_DYNAMIC(CPMFYDlg)
|
|
|
|
public:
|
|
CPMFYDlg(CWnd* pParent = NULL);
|
|
virtual ~CPMFYDlg();
|
|
virtual BOOL OnInitDialog();
|
|
enum { IDD = IDD_PMFY_DLG };
|
|
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX);
|
|
DECLARE_MESSAGE_MAP()
|
|
bool findMainPart(AecDbMultiPartEntity *pM, AecDbX3dPart *&pPart, AcDbX3dSolid *&pSolid);
|
|
bool NewEntity(const AcArray<AcDbRegion *> &arRegs);
|
|
bool InplaceEntity(const AcArray<AcDbRegion *> &arRegs);
|
|
void setXPartInfo(AecDbX3dPart *pPart);
|
|
public:
|
|
afx_msg void OnBnClickedOk();
|
|
afx_msg void OnBnClickedBtnPath();
|
|
afx_msg void OnBnClickedBtnSectionStart();
|
|
afx_msg void OnBnClickedBtnSectionEnd();
|
|
afx_msg LONG_PTR onAcadKeepFocus(UINT_PTR, LONG_PTR);
|
|
afx_msg void OnClose();
|
|
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
|
|
afx_msg void OnStaticColor();
|
|
afx_msg HBRUSH OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor);
|
|
void clear();
|
|
bool fromID(AcDbObjectId &id);
|
|
bool selectPath();
|
|
private:
|
|
CString m_sMaterial;
|
|
CString m_sApplication;
|
|
double m_dElevStart;
|
|
double m_dElevEnd;
|
|
int m_clr;
|
|
CString m_sName;
|
|
AcDbCurve *m_pPathCurve;
|
|
AcDbRegion *m_pStartRegion;
|
|
AcDbRegion *m_pEndRegion;
|
|
|
|
bool m_bInplace;
|
|
CString m_strStartRegion;
|
|
CString m_strEndRegion;
|
|
CString m_strPath;
|
|
AcDbObjectId m_idInplace;
|
|
|
|
public:
|
|
static void start();
|
|
static void inplace(AcDbObjectId &id);
|
|
};
|
|
|
|
typedef Singleton<CPMFYDlg> g_PmfyDlg;
|