Files
coco df489d5640 a
2026-07-03 16:05:30 +08:00

65 lines
2.4 KiB
C++

#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<STBoreHolePoints> vecPoints, STBoreHoleParam stBoreholeParam);
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
DECLARE_MESSAGE_MAP()
//计算L值
std::vector<int> CalcLValue(std::vector<STBoreHolePoints> vecPointBH1, std::vector<STBoreHolePoints> vecPointBH2);
//生成测试点
void TwoBoreholeGenerateScript(std::vector<STBoreHolePoints> vecPointBH1, std::vector<STBoreHolePoints> 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<STDatabaseABMNInfo> m_vecAllBoreholeABMNInfo;//存放单通道,绘制模拟跑极的测点,依次取值绘制
map<int, map<int, map<int, STDatabaseABMNInfo>>> m_mapDatabaseABMNInfo; //存放多通道,写入数据库ABMN信息,用于多通道,第一个int用于存放A,第二个int用于存放B,第三个int对应M
};
#endif