57 lines
2.4 KiB
C++
57 lines
2.4 KiB
C++
#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 |