#ifndef C_CROSSHOLE_CONFIG_MAIN_DLG_H_20190319 #define C_CROSSHOLE_CONFIG_MAIN_DLG_H_20190319 #pragma once #include "afxcmn.h" #include "CtrlProtocolDef.h" #include "crossHole/COption2DBoreholeDlg.h" #include "crossHole/COption2DGeometryDlg.h" #include "crossHole/COption2DSurfaceDlg.h" #include "crossHole/COption2DSettingDlg.h" #include "crossHole/CCrosshole2dDrawingBoardDlg.h" // CCrossHoleConfig2DMainDlg 对话框 class CCrossHoleConfig2DMainDlg : public CDialog { DECLARE_DYNAMIC(CCrossHoleConfig2DMainDlg) public: static CCrossHoleConfig2DMainDlg* GetInstance(); virtual BOOL OnInitDialog(); afx_msg void OnTcnSelchangeTabArChange(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnBnClickedBtnLoadGeometry(); afx_msg void OnBnClickedBtnCreate(); afx_msg void OnBnClickedBtnStartSimulation(); afx_msg void OnBnClickedBtnStopSimulation(); afx_msg void OnBnClickedBtnClose(); afx_msg void OnDestroy(); LRESULT OnMsgCrossHoleMainWndBtn(WPARAM wParam, LPARAM lParam); // 对话框数据 enum { IDD = IDD_DIALOG_2D_CROSS_HOLE_CONFIG }; void ChangeTabPage(EN_TAB_PAGE pageType, std::vector vecPoints, STBoreHoleParam stBoreholeParam); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 DECLARE_MESSAGE_MAP() //计算L值 std::vector CalcLValue(std::vector vecPointBH1, std::vector vecPointBH2); //生成测试点 void TwoBoreholeGenerateScript(std::vector vecPointBH1, std::vector vecPointBH2); //写入数据库 BOOL SaveTestPointToDB(); float GetUniSptXPos(int iA, int iB, int iM, int iN); private: CCrossHoleConfig2DMainDlg(CWnd* pParent = NULL); // 标准构造函数 virtual ~CCrossHoleConfig2DMainDlg(); CTabCtrl m_tabChange; _ConnectionPtr m_pConnection; CString m_strScriptName; CString m_strTimeInterval; CString m_strOperator; CString m_strNote; UINT32 m_uiEamount; //电极数量 UINT32 m_uiCHamount; //通道数量 UINT32 m_uiTPamount; //测点数量 CRect m_rcRect; CRect m_rcRectLoc; CString m_strPoleDistance; CString m_strPoleStep; vector m_vecAllBoreholeABMNInfo;//存放单通道,绘制模拟跑极的测点,依次取值绘制 map>> m_mapDatabaseABMNInfo; //存放多通道,写入数据库ABMN信息,用于多通道,第一个int用于存放A,第二个int用于存放B,第三个int对应M }; #endif