71 lines
2.9 KiB
C++
71 lines
2.9 KiB
C++
#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:跨孔AM(Geomative)
|
||
map<int, map<int, map<int, STDatabaseABMNInfo>>> m_mapDatabaseABMNInfo; //存放多通道写入数据库ABMN信息,用于多通道,第一个int用于存放A,第二个int用于存放B,第三个int对应M
|
||
};
|
||
|
||
#endif |