a
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
#ifndef AFX_C_2D_SIMULATION_DLG_H_20191223_INCLUDE_H
|
||||
#define AFX_C_2D_SIMULATION_DLG_H_20191223_INCLUDE_H
|
||||
#pragma once
|
||||
|
||||
|
||||
// C2DSimulationDlg 对话框
|
||||
#define WM_MSG_UPDATE_CROSSHOLEMAINWND_BTN WM_USER+1000
|
||||
class C2DSimulationDlg : public CDialog
|
||||
{
|
||||
DECLARE_DYNAMIC(C2DSimulationDlg)
|
||||
|
||||
public:
|
||||
// 对话框数据
|
||||
enum { IDD = IDD_DIALOG_SIMULATION_BOARD };
|
||||
|
||||
static C2DSimulationDlg* GetInstance();
|
||||
void AddBoreholePointToVector(std::map<STWellPoints, std::vector<STBoreHolePoints>> mapNewPoints); //将坐标点添加到井下集合
|
||||
void AddSurfacePointsToVector(std::vector<STBoreHolePoints> vecNewPoints); //将坐标点添加到地表集合
|
||||
|
||||
void DeleteCoordinatesPoint();
|
||||
|
||||
//设置时间间隔
|
||||
void SetTimeInterval(int iTimeInterval);
|
||||
//获取整个测试列表
|
||||
void SetSingleChannelSimulationRunMethod(vector<STDatabaseABMNInfo> vecAllBoreholeABMNInfo);
|
||||
void SetMultiChannelSimulationRunMethod(map<int, map<int, map<int, STDatabaseABMNInfo>>> mapPointsSortedByABMN);
|
||||
BOOL StartSimulation(); //开始模拟
|
||||
BOOL StopSimulation(); //结束模拟
|
||||
BOOL IsSimulating(); //是否正在模拟中
|
||||
virtual BOOL OnInitDialog();
|
||||
afx_msg void OnPaint();
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
private:
|
||||
C2DSimulationDlg(CWnd* pParent = NULL); // 标准构造函数
|
||||
virtual ~C2DSimulationDlg();
|
||||
|
||||
//模拟脚本跑极方式
|
||||
static UINT SimulateScriptRunMethodThread(LPVOID lParam);
|
||||
|
||||
//用户保存需要绘制的点
|
||||
std::map<STWellPoints, std::vector<STBoreHolePoints>> m_mapBoreholePoints; //保存井下所有的点,,int存放X用于区分是否在同一个孔
|
||||
std::vector<STBoreHolePoints> m_vecSurfacePoints; //地表所有的点,只有一条测线
|
||||
BOOL m_bStopSimulation; //停止模拟
|
||||
int m_iA;
|
||||
int m_iB;
|
||||
int m_iM;
|
||||
int m_iN;
|
||||
int m_iTimeInterval; //模拟跑极间隔
|
||||
CRect m_rcWnd; //模拟器窗口大小
|
||||
CRect m_rcBrush; //绘制电缆示意图区域
|
||||
vector<STDatabaseABMNInfo> m_vecAllBoreholeABMNInfo; //单通道ABMN信息
|
||||
map<int, map<int, map<int, STDatabaseABMNInfo>>> m_mapPointsSortedByABMN; //多通道ABMN信息,第一个int用于存放A,第二个int用于存放B,第三个int对应M,改变了的作用主要是用来控制多通道/单通道测点跑极方式的
|
||||
};
|
||||
#endif
|
||||
@@ -0,0 +1,66 @@
|
||||
#ifndef AFX_C_3D_SIMULATION_DLG_H_20191223_INCLUDE_H
|
||||
#define AFX_C_3D_SIMULATION_DLG_H_20191223_INCLUDE_H
|
||||
#pragma once
|
||||
|
||||
|
||||
// C2DSimulationDlg 对话框
|
||||
#define WM_MSG_UPDATE_CROSSHOLEMAINWND_BTN WM_USER+1000
|
||||
class C3DSimulationDlg : public CDialog
|
||||
{
|
||||
DECLARE_DYNAMIC(C3DSimulationDlg)
|
||||
|
||||
public:
|
||||
// 对话框数据
|
||||
enum { IDD = IDD_DIALOG_SIMULATION_BOARD };
|
||||
|
||||
static C3DSimulationDlg* GetInstance();
|
||||
void AddBoreholePointToVector(map<STWellPoints, vector<STBoreHolePoints>> mapNewPoint); //将坐标点添加到井下集合
|
||||
void AddSurfaceXPointsToVector(map<int, std::vector<STBoreHolePoints>> mapXNewPoints); //将坐标点添加到地表集合
|
||||
void AddSurfaceYPointsToVector(map<int, std::vector<STBoreHolePoints>> mapYNewPoints); //将坐标点添加到地表集合
|
||||
|
||||
void DeleteCoordinatesPoint();
|
||||
|
||||
//设置时间间隔
|
||||
void SetTimeInterval(int iTimeInterval);
|
||||
//获取整个测试列表
|
||||
void SetSingleChannelSimulationRunMethod(vector<STDatabaseABMNInfo> vecAllBoreholeABMNInfo);
|
||||
void SetMultiChannelSimulationRunMethod(map<int, map<int, map<int, STDatabaseABMNInfo>>> mapPointsSortedByABMN);
|
||||
BOOL StartSimulation(); //开始模拟
|
||||
BOOL StopSimulation(); //结束模拟
|
||||
BOOL IsSimulating(); //是否正在模拟中
|
||||
virtual BOOL OnInitDialog();
|
||||
afx_msg void OnPaint();
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||
|
||||
float CalcMaxCableLength(); //计算X/Y/Z线缆最大长度
|
||||
DECLARE_MESSAGE_MAP()
|
||||
private:
|
||||
C3DSimulationDlg(CWnd* pParent = NULL); // 标准构造函数
|
||||
virtual ~C3DSimulationDlg();
|
||||
|
||||
//模拟脚本跑极方式
|
||||
static UINT SimulateScriptRunMethodThread(LPVOID lParam);
|
||||
|
||||
//用户保存需要绘制的点
|
||||
map<STWellPoints, vector<STBoreHolePoints>> m_mapBoreholePoints; //STWellPoints存放X/Y坐标,vector<STBoreHolePoints>存放井电极坐标
|
||||
std::map<int, std::vector<STBoreHolePoints>> m_mapSurfaceXPoints; //地表X方向坐标
|
||||
std::map<int, std::vector<STBoreHolePoints>> m_mapSurfaceYPoints; //地表Y方向坐标
|
||||
|
||||
BOOL m_bStopSimulation; //停止模拟
|
||||
int m_iA;
|
||||
int m_iB;
|
||||
int m_iM;
|
||||
int m_iN;
|
||||
int m_iTimeInterval; //模拟跑极间隔
|
||||
|
||||
CRect m_rcWnd; //模拟器窗口大小
|
||||
CRect m_rcBrush; //绘制电缆示意图区域
|
||||
float m_fMaxCableLength; //X/Y/Z三个方向线缆最大长度
|
||||
int m_iEachSmallSize; //每个单元格对应的像素
|
||||
BOOL m_isNeedCalc; //是否需要计算值
|
||||
CFont* m_pFont; //绘制字体大小
|
||||
vector<STDatabaseABMNInfo> m_vecAllBoreholeABMNInfo; //单通道ABMN信息
|
||||
map<int, map<int, map<int, STDatabaseABMNInfo>>> m_mapPointsSortedByABMN; //存放写入数据库ABMN信息,用于多通道,第一个int用于存放A,第二个int用于存放B,第三个int对应M,改变了的作用主要是用来控制多通道/单通道测点跑极方式的
|
||||
};
|
||||
#endif
|
||||
@@ -0,0 +1,65 @@
|
||||
#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
|
||||
@@ -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:跨孔AM(Geomative)
|
||||
map<int, map<int, map<int, STDatabaseABMNInfo>>> m_mapDatabaseABMNInfo; //存放多通道写入数据库ABMN信息,用于多通道,第一个int用于存放A,第二个int用于存放B,第三个int对应M
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,37 @@
|
||||
#ifndef C_CROSS_HOLE_2D_DRAWING_BOARD_DLG_H_20190411
|
||||
#define C_CROSS_HOLE_2D_DRAWING_BOARD_DLG_H_20190411
|
||||
#pragma once
|
||||
|
||||
|
||||
// CCrosshole2dDrawingBoardDlg 对话框
|
||||
|
||||
class CCrosshole2dDrawingBoardDlg : public CDialog
|
||||
{
|
||||
DECLARE_DYNAMIC(CCrosshole2dDrawingBoardDlg)
|
||||
|
||||
public:
|
||||
// 对话框数据
|
||||
enum { IDD = IDD_DIALOG_DRAWING_BOARD };
|
||||
|
||||
static CCrosshole2dDrawingBoardDlg* GetInstance();
|
||||
void AddBoreholePointToVector(std::map<STWellPoints, std::vector<STBoreHolePoints>> mapNewPoints); //将坐标点添加到井下集合
|
||||
void AddSurfacePointsToVector(std::vector<STBoreHolePoints> vecNewPoints); //将坐标点添加到地表集合
|
||||
|
||||
void DeleteCoordinatesPoint();
|
||||
virtual BOOL OnInitDialog();
|
||||
afx_msg void OnPaint();
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
private:
|
||||
CCrosshole2dDrawingBoardDlg(CWnd* pParent = NULL); // 标准构造函数
|
||||
virtual ~CCrosshole2dDrawingBoardDlg();
|
||||
|
||||
//用户保存需要绘制的点
|
||||
std::map<STWellPoints, std::vector<STBoreHolePoints>> m_mapBoreholePoints; //保存井下所有的点,,int存放X用于区分是否在同一个孔
|
||||
std::vector<STBoreHolePoints> m_vecSurfacePoints; //地表所有的点,只有一条测线
|
||||
CRect m_rcWnd; //模拟器窗口大小
|
||||
CRect m_rcBrush; //绘制电缆示意图区域
|
||||
};
|
||||
#endif
|
||||
@@ -0,0 +1,41 @@
|
||||
#ifndef CCROSS_HOLE_3D_DRAWING_BOARD_DLG_H_20190411
|
||||
#define CCROSS_HOLE_3D_DRAWING_BOARD_DLG_H_20190411
|
||||
#pragma once
|
||||
|
||||
|
||||
// CDrawingBoardDlg 对话框
|
||||
|
||||
class CCrosshole3dDrawingBoardDlg : public CDialog
|
||||
{
|
||||
DECLARE_DYNAMIC(CCrosshole3dDrawingBoardDlg)
|
||||
|
||||
public:
|
||||
// 对话框数据
|
||||
enum { IDD = IDD_DIALOG_DRAWING_BOARD };
|
||||
|
||||
static CCrosshole3dDrawingBoardDlg* GetInstance();
|
||||
void AddBoreholePointToVector(map<STWellPoints, vector<STBoreHolePoints>> mapNewPoint); //将坐标点添加到井下集合
|
||||
void AddSurfaceXPointsToVector(map<int, std::vector<STBoreHolePoints>> mapXNewPoints); //将坐标点添加到地表集合
|
||||
void AddSurfaceYPointsToVector(map<int, std::vector<STBoreHolePoints>> mapYNewPoints); //将坐标点添加到地表集合
|
||||
|
||||
void DeleteCoordinatesPoint();
|
||||
virtual BOOL OnInitDialog();
|
||||
afx_msg void OnPaint();
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
float CalcMaxCableLength(); //计算X/Y/Z线缆最大长度
|
||||
private:
|
||||
CCrosshole3dDrawingBoardDlg(CWnd* pParent = NULL); // 标准构造函数
|
||||
virtual ~CCrosshole3dDrawingBoardDlg();
|
||||
|
||||
//用户保存需要绘制的点
|
||||
map<STWellPoints, vector<STBoreHolePoints>> m_mapBoreholePoints; //保存井下所有的点,,int存放X用于区分是否在同一个孔
|
||||
map<int, std::vector<STBoreHolePoints>> m_mapSurfaceXPoints; //地表X方向电缆电极坐标
|
||||
map<int, std::vector<STBoreHolePoints>> m_mapSurfaceYPoints; //地表Y方向电缆电极坐标
|
||||
CRect m_rcWnd; //模拟器窗口大小
|
||||
CRect m_rcBrush; //绘制电缆示意图区域
|
||||
CFont* m_pFont;
|
||||
};
|
||||
#endif
|
||||
@@ -0,0 +1,28 @@
|
||||
#ifndef COPTION_2D_BOREHOLEDLG_H_20190319
|
||||
#define COPTION_2D_BOREHOLEDLG_H_20190319
|
||||
#pragma once
|
||||
#include "CtrlProtocolDef.h"
|
||||
#define WM_NOTIFY_TAB_CHANGE WM_USER+666
|
||||
// COption2DBoreholeDlg 对话框
|
||||
class COption2DBoreholeDlg : public CDialog
|
||||
{
|
||||
DECLARE_DYNAMIC(COption2DBoreholeDlg)
|
||||
|
||||
public:
|
||||
static COption2DBoreholeDlg* GetInstance();
|
||||
virtual BOOL OnInitDialog();
|
||||
// 对话框数据
|
||||
enum { IDD = IDD_DIALOG_OPTION_2D_BOREHOLE };
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
|
||||
afx_msg void OnBnClickedBtnAddOneBorehole();
|
||||
//生成对应的坐标
|
||||
void generatedCoordinates(STBoreHoleParam stBoreholeParam);
|
||||
private:
|
||||
COption2DBoreholeDlg(CWnd* pParent = NULL); // 标准构造函数
|
||||
virtual ~COption2DBoreholeDlg();
|
||||
};
|
||||
#endif
|
||||
@@ -0,0 +1,94 @@
|
||||
#ifndef COPTION_2D_GEOMETRYDLG_H_20190319
|
||||
#define COPTION_2D_GEOMETRYDLG_H_20190319
|
||||
|
||||
#pragma once
|
||||
#include "afxcmn.h"
|
||||
#include "CtrlProtocolDef.h"
|
||||
|
||||
// COption2DGeometryDlg 对话框
|
||||
|
||||
class COption2DGeometryDlg : public CDialog
|
||||
{
|
||||
DECLARE_DYNAMIC(COption2DGeometryDlg)
|
||||
|
||||
public:
|
||||
static COption2DGeometryDlg* GetInstance();
|
||||
virtual BOOL OnInitDialog();
|
||||
// 对话框数据
|
||||
enum { IDD = IDD_DIALOG_OPTION_2D_GEOMETRY };
|
||||
//从界面添加坐标,添加borehole或者surface坐标点
|
||||
void AddCoordinatesPoints(EN_COORDINATES_TYPE eType,std::vector<STBoreHolePoints> vecNewPoints);
|
||||
//从Geomative坐标文件添加坐标,用于还原之前List列表
|
||||
void AddNoSortCoordinatesFromFile(std::vector<STBoreHolePoints> vecNewPoints);
|
||||
//删除已有点
|
||||
void DeleteCoordinatesPoint();
|
||||
//获取所有电极坐标,没有排序的
|
||||
std::vector<STBoreHolePoints> GetAllCoordinatesPoints()
|
||||
{
|
||||
return m_vecNoSortAllPoints;
|
||||
}
|
||||
|
||||
UINT32 GetAllCoordinatesPointsCount()
|
||||
{
|
||||
return m_vecNoSortAllPoints.size();
|
||||
}
|
||||
|
||||
//获取排序后的关于孔的坐标信息
|
||||
std::map<STWellPoints, std::vector<STBoreHolePoints>> GetBoreholeCoordinates()
|
||||
{
|
||||
return m_mapBoreholeCoordinates;
|
||||
}
|
||||
|
||||
//获取排序后的关于地表的坐标信息
|
||||
std::vector<STBoreHolePoints> GetSurfaceCoordinates()
|
||||
{
|
||||
return m_vecSurfaceCoordinates;
|
||||
}
|
||||
|
||||
void AddElecCoordinatesInfo(STBoreHoleParam stBoreHoleParam)
|
||||
{
|
||||
m_vecAllElecCoordinatesInfo.push_back(stBoreHoleParam);
|
||||
}
|
||||
|
||||
//获取所有测线的电极坐标及电极间距
|
||||
std::vector<STBoreHoleParam> GetAllElecCoordinatesInfo()
|
||||
{
|
||||
return m_vecAllElecCoordinatesInfo;
|
||||
}
|
||||
|
||||
void SetElectrodeDistance(float fElecDistance)
|
||||
{
|
||||
m_fElecDistance = fElecDistance;
|
||||
}
|
||||
|
||||
float GetElectrodeDistance()
|
||||
{
|
||||
return m_fElecDistance;
|
||||
}
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||
void ShowCoordinatesPoints();//显示borehole或者surface坐标点
|
||||
DECLARE_MESSAGE_MAP()
|
||||
|
||||
afx_msg void OnBnClickedBtnSort();
|
||||
afx_msg void OnBnClickedSaveGeometry();
|
||||
afx_msg void OnBnClickedBtnClearAll();
|
||||
|
||||
void AddBoreholePointToVector(std::vector<STBoreHolePoints> vecNewPoints); //将坐标点排序添加到井下集合
|
||||
void AddSurfacePointsToVector(std::vector<STBoreHolePoints> vecNewPoints); //将坐标点排序添加到地表集合
|
||||
void DeletePointsToVector(); //删除集合的数据
|
||||
private:
|
||||
COption2DGeometryDlg(CWnd* pParent = NULL); // 标准构造函数
|
||||
virtual ~COption2DGeometryDlg();
|
||||
|
||||
CListCtrl m_geometryList;
|
||||
std::vector<STBoreHolePoints> m_vecNoSortAllPoints; //未排序的集合用于显示到列表
|
||||
|
||||
//用户计算脚本
|
||||
map<STWellPoints, vector<STBoreHolePoints>> m_mapBoreholeCoordinates; //保存井下所有的点,,int存放X用于区分是否在同一个孔
|
||||
std::vector<STBoreHolePoints> m_vecSurfaceCoordinates; //地表所有的点,只有一条测线
|
||||
std::vector<STBoreHoleParam> m_vecAllElecCoordinatesInfo; //获取所有电极坐标信息
|
||||
float m_fElecDistance; //保存测井的电极间距
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,38 @@
|
||||
#ifndef C_OPTION_2D_SETTING_DIALOG_H_201904131746
|
||||
#define C_OPTION_2D_SETTING_DIALOG_H_201904131746
|
||||
#include "afxwin.h"
|
||||
#pragma once
|
||||
|
||||
|
||||
// COption2DSettingDlg 对话框
|
||||
|
||||
class COption2DSettingDlg : public CDialog
|
||||
{
|
||||
DECLARE_DYNAMIC(COption2DSettingDlg)
|
||||
|
||||
public:
|
||||
|
||||
static COption2DSettingDlg* GetInstance();
|
||||
// 对话框数据
|
||||
enum { IDD = IDD_DIALOG_OPTION_2D_SETTING };
|
||||
virtual BOOL OnInitDialog();
|
||||
int GetMediumType(); //获取选中的装置类型
|
||||
CString GetScriptName(); //获取脚本名称
|
||||
CString GetTimeInterval(); //获取时间间隔
|
||||
CString GetOperator(); //获取操作员
|
||||
CString GetNote(); //获取备注
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
private:
|
||||
COption2DSettingDlg(CWnd* pParent = NULL); // 标准构造函数
|
||||
virtual ~COption2DSettingDlg();
|
||||
|
||||
CComboBox m_comMediumType;
|
||||
CEdit m_editScriptName;
|
||||
CEdit m_editTimeInterval;
|
||||
CEdit m_editOperator;
|
||||
CEdit m_editNote;
|
||||
};
|
||||
#endif
|
||||
@@ -0,0 +1,27 @@
|
||||
#ifndef COPTION_2D_SURFACEDLG_H_20190408
|
||||
#define COPTION_2D_SURFACEDLG_H_20190408
|
||||
#pragma once
|
||||
|
||||
|
||||
// COption2DSurfaceDlg 对话框
|
||||
|
||||
class COption2DSurfaceDlg : public CDialog
|
||||
{
|
||||
DECLARE_DYNAMIC(COption2DSurfaceDlg)
|
||||
public:
|
||||
static COption2DSurfaceDlg* GetInstance();
|
||||
// 对话框数据
|
||||
virtual BOOL OnInitDialog();
|
||||
enum { IDD = IDD_DIALOG_OPTION_2D_SURFACE };
|
||||
afx_msg void OnBnClickedBtnAddOneSurface();
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||
//生成对应的坐标
|
||||
void generatedCoordinates(STBoreHoleParam stBoreholeParam);
|
||||
DECLARE_MESSAGE_MAP()
|
||||
|
||||
private:
|
||||
COption2DSurfaceDlg(CWnd* pParent = NULL); // 标准构造函数
|
||||
virtual ~COption2DSurfaceDlg();
|
||||
};
|
||||
#endif
|
||||
@@ -0,0 +1,34 @@
|
||||
#ifndef COPTION_3D_BOREHOLEDLG_H_20190718
|
||||
#define COPTION_3D_BOREHOLEDLG_H_20190718
|
||||
#pragma once
|
||||
#include "CtrlProtocolDef.h"
|
||||
#define WM_NOTIFY_TAB_CHANGE WM_USER+666
|
||||
// COption3DBoreholeDlg 对话框
|
||||
class COption3DBoreholeDlg : public CDialog
|
||||
{
|
||||
DECLARE_DYNAMIC(COption3DBoreholeDlg)
|
||||
|
||||
public:
|
||||
static COption3DBoreholeDlg* GetInstance();
|
||||
virtual BOOL OnInitDialog();
|
||||
float GetMaxWellDepth()
|
||||
{
|
||||
return m_fWellMaxDepth;
|
||||
}
|
||||
// 对话框数据
|
||||
enum { IDD = IDD_DIALOG_OPTION_3D_BOREHOLE };
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
|
||||
afx_msg void OnBnClickedBtnAddOneBorehole();
|
||||
//生成对应的坐标
|
||||
void generatedCoordinates(STBoreHoleParam stBoreholeParam);
|
||||
private:
|
||||
COption3DBoreholeDlg(CWnd* pParent = NULL); // 标准构造函数
|
||||
virtual ~COption3DBoreholeDlg();
|
||||
|
||||
float m_fWellMaxDepth; //孔的最大深度
|
||||
};
|
||||
#endif
|
||||
@@ -0,0 +1,91 @@
|
||||
#ifndef COPTION_3D_GEOMETRYDLG_H_20190718
|
||||
#define COPTION_3D_GEOMETRYDLG_H_20190718
|
||||
|
||||
#pragma once
|
||||
#include "afxcmn.h"
|
||||
#include "CtrlProtocolDef.h"
|
||||
|
||||
// COption3DGeometryDlg 对话框
|
||||
|
||||
class COption3DGeometryDlg : public CDialog
|
||||
{
|
||||
DECLARE_DYNAMIC(COption3DGeometryDlg)
|
||||
|
||||
public:
|
||||
static COption3DGeometryDlg* GetInstance();
|
||||
virtual BOOL OnInitDialog();
|
||||
// 对话框数据
|
||||
enum { IDD = IDD_DIALOG_OPTION_3D_GEOMETRY };
|
||||
//从界面添加坐标,添加borehole或者surface坐标点
|
||||
void AddCoordinatesPoints(EN_COORDINATES_TYPE eType,std::vector<STBoreHolePoints> vecNewPoints);
|
||||
//从Geomative坐标文件添加坐标,用于还原之前List列表
|
||||
void AddNoSortCoordinatesFromFile(std::vector<STBoreHolePoints> vecNewPoints);
|
||||
//删除已有点
|
||||
void DeleteCoordinatesPoint();
|
||||
//获取所有电极坐标,没有排序的
|
||||
std::vector<STBoreHolePoints> GetAllCoordinatesPoints()
|
||||
{
|
||||
return m_vecNoSortAllPoints;
|
||||
}
|
||||
|
||||
UINT32 GetAllCoordinatesPointsCount()
|
||||
{
|
||||
return m_vecNoSortAllPoints.size();
|
||||
}
|
||||
|
||||
//获取排序后的关于孔的坐标信息
|
||||
map<STWellPoints, vector<STBoreHolePoints>> GetBoreholeCoordinates()
|
||||
{
|
||||
return m_mapBoreholeCoordinates;
|
||||
}
|
||||
|
||||
//获取排序后的关于地表X方向的坐标信息
|
||||
std::map<int, std::vector<STBoreHolePoints>> GetSurfaceXDirectionCoordinates()
|
||||
{
|
||||
return m_mapSurfaceXCoordinates;
|
||||
}
|
||||
|
||||
//获取排序后的关于地表Y方向的坐标信息
|
||||
std::map<int, std::vector<STBoreHolePoints>> GetSurfaceYDirectionCoordinates()
|
||||
{
|
||||
return m_mapSurfaceYCoordinates;
|
||||
}
|
||||
|
||||
void AddElecCoordinatesInfo(STBoreHoleParam stBoreHoleParam)
|
||||
{
|
||||
m_vecAllElecCoordinatesInfo.push_back(stBoreHoleParam);
|
||||
}
|
||||
|
||||
//获取所有测线的电极坐标及电极间距
|
||||
std::vector<STBoreHoleParam> GetAllElecCoordinatesInfo()
|
||||
{
|
||||
return m_vecAllElecCoordinatesInfo;
|
||||
}
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||
void ShowCoordinatesPoints();//显示borehole或者surface坐标点
|
||||
DECLARE_MESSAGE_MAP()
|
||||
|
||||
afx_msg void OnBnClickedBtnSort();
|
||||
afx_msg void OnBnClickedSaveGeometry();
|
||||
afx_msg void OnBnClickedBtnClearAll();
|
||||
|
||||
void AddBoreholePointToVector(std::vector<STBoreHolePoints> vecNewPoints); //将坐标点排序添加到井下集合
|
||||
void AddSurfacePointsToVector(std::vector<STBoreHolePoints> vecNewPoints); //将坐标点排序添加到地表集合
|
||||
void DeletePointsToVector(); //删除集合的数据
|
||||
private:
|
||||
COption3DGeometryDlg(CWnd* pParent = NULL); // 标准构造函数
|
||||
virtual ~COption3DGeometryDlg();
|
||||
|
||||
CListCtrl m_geometryList;
|
||||
std::vector<STBoreHolePoints> m_vecNoSortAllPoints; //未排序的集合用于显示到列表
|
||||
|
||||
//用户计算脚本
|
||||
map<STWellPoints, vector<STBoreHolePoints>> m_mapBoreholeCoordinates; //STWellPoints存放X/Y坐标,vector<STBoreHolePoints>存放井电极坐标
|
||||
//std::vector<STBoreHolePoints> m_vecSurfaceCoordinates; //地表所有的点,只有一条测线
|
||||
std::map<int, std::vector<STBoreHolePoints>> m_mapSurfaceXCoordinates; //地表X方向坐标
|
||||
std::map<int, std::vector<STBoreHolePoints>> m_mapSurfaceYCoordinates; //地表Y方向坐标
|
||||
std::vector<STBoreHoleParam> m_vecAllElecCoordinatesInfo; //获取所有电极坐标信息
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,40 @@
|
||||
#ifndef C_OPTION_3D_SETTING_DIALOG_H_20190718
|
||||
#define C_OPTION_3D_SETTING_DIALOG_H_20190718
|
||||
#include "afxwin.h"
|
||||
#pragma once
|
||||
|
||||
|
||||
// COption3DSettingDlg 对话框
|
||||
|
||||
class COption3DSettingDlg : public CDialog
|
||||
{
|
||||
DECLARE_DYNAMIC(COption3DSettingDlg)
|
||||
|
||||
public:
|
||||
|
||||
static COption3DSettingDlg* GetInstance();
|
||||
// 对话框数据
|
||||
enum { IDD = IDD_DIALOG_OPTION_3D_SETTING };
|
||||
virtual BOOL OnInitDialog();
|
||||
//0:跨孔(Geomative) 1:井地井(Geomative),2:赛盈跨孔AM
|
||||
int GetMediumType(); //获取选中的装置类型
|
||||
|
||||
CString GetScriptName(); //获取脚本名称
|
||||
CString GetTimeInterval(); //获取时间间隔
|
||||
CString GetOperator(); //获取操作员
|
||||
CString GetNote(); //获取备注
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
private:
|
||||
COption3DSettingDlg(CWnd* pParent = NULL); // 标准构造函数
|
||||
virtual ~COption3DSettingDlg();
|
||||
|
||||
CComboBox m_comMediumType;
|
||||
CEdit m_editScriptName;
|
||||
CEdit m_editTimeInterval;
|
||||
CEdit m_editOperator;
|
||||
CEdit m_editNote;
|
||||
};
|
||||
#endif
|
||||
@@ -0,0 +1,40 @@
|
||||
#ifndef COPTION_3D_SURFACEDLG_H_20190718
|
||||
#define COPTION_3D_SURFACEDLG_H_20190718
|
||||
#include "afxwin.h"
|
||||
#pragma once
|
||||
|
||||
|
||||
// COption3DSurfaceDlg 对话框
|
||||
enum EN_CABLE_DIRECTION_TYPE
|
||||
{
|
||||
EN_CABLE_DIRECTION_X = 1,
|
||||
EN_CABLE_DIRECTION_Y = 2,
|
||||
EN_CABLE_DIRECTION_Z = 4
|
||||
};
|
||||
class COption3DSurfaceDlg : public CDialog
|
||||
{
|
||||
DECLARE_DYNAMIC(COption3DSurfaceDlg)
|
||||
public:
|
||||
static COption3DSurfaceDlg* GetInstance();
|
||||
// 对话框数据
|
||||
virtual BOOL OnInitDialog();
|
||||
enum { IDD = IDD_DIALOG_OPTION_3D_SURFACE };
|
||||
afx_msg void OnBnClickedBtnAddOneSurface();
|
||||
EN_CABLE_DIRECTION_TYPE GetCableDirectionType()
|
||||
{
|
||||
return m_eCableDirection;
|
||||
}
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||
//生成对应的坐标
|
||||
void generatedCoordinates(STBoreHoleParam stBoreholeParam);
|
||||
DECLARE_MESSAGE_MAP()
|
||||
|
||||
private:
|
||||
COption3DSurfaceDlg(CWnd* pParent = NULL); // 标准构造函数
|
||||
virtual ~COption3DSurfaceDlg();
|
||||
CComboBox m_comCableDirection;
|
||||
EN_CABLE_DIRECTION_TYPE m_eCableDirection;
|
||||
|
||||
};
|
||||
#endif
|
||||
Reference in New Issue
Block a user