This commit is contained in:
coco
2026-07-03 16:05:30 +08:00
commit df489d5640
1101 changed files with 779140 additions and 0 deletions
@@ -0,0 +1,71 @@
#ifndef C_CROSSHOLE_CONFIG_3D_MAIN_DLG_H_20190716
#define C_CROSSHOLE_CONFIG_3D_MAIN_DLG_H_20190716
#pragma once
#include "afxcmn.h"
#include "CtrlProtocolDef.h"
#include "crossHole/COption3DBoreholeDlg.h"
#include "crossHole/COption3DGeometryDlg.h"
#include "crossHole/COption3DSurfaceDlg.h"
#include "crossHole/COption3DSettingDlg.h"
#include "crossHole/CCrosshole3dDrawingBoardDlg.h"
// CCrossHoleConfig3DMainDlg 对话框
class CCrossHoleConfig3DMainDlg : public CDialog
{
DECLARE_DYNAMIC(CCrossHoleConfig3DMainDlg)
public:
static CCrossHoleConfig3DMainDlg* 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_3D_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();
//四井 AM装置生成测点
void OneBoreHoleGenerateScriptAM(std::map<int,std::vector<STBoreHolePoints>> mapPointBH);
void OneBoreHoleGenerateScriptAM(std::vector<STBoreHolePoints> vecPointBH);
void TwoBoreHoleGenerateScriptAM(int iDirectionType,std::vector<STBoreHolePoints> vecPointBH1, std::vector<STBoreHolePoints> vecPointBH2);
float GetUniSptXPos(int iA, int iB, int iM, int iN);
private:
CCrossHoleConfig3DMainDlg(CWnd* pParent = NULL); // 标准构造函数
virtual ~CCrossHoleConfig3DMainDlg();
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;//存放单通道写入数据库ABMN信息,绘制模拟跑极的测点,依次取值绘制
int m_iMediumType;//m_iMediumType 0:跨孔(Geomative) 1:井地井(Geomative),2:跨孔AMGeomative
map<int, map<int, map<int, STDatabaseABMNInfo>>> m_mapDatabaseABMNInfo; //存放多通道写入数据库ABMN信息,用于多通道,第一个int用于存放A,第二个int用于存放B,第三个int对应M
};
#endif