#pragma once
#include "Resource.h"
#include <vector>
#include "topologicalanalysis.h"
#include "geocompute.h"
#include "Globe.h"
#include "afxwin.h"
#include "MapPrj.h"

// DesignSurveyLineDlg 对话框

// DesignSurveyLineDlg 对话框
class DesignSurveyLineDlg : public CBCGPDialog
{
	DECLARE_DYNAMIC(DesignSurveyLineDlg)

public:
	DesignSurveyLineDlg(CWnd* pParent = NULL);   // 标准构造函数
	virtual ~DesignSurveyLineDlg();

	bool bDrawRegion;
	void SetSurveyRegion(const vector<double>& lons,const vector<double>& lats);
	//测绘区域坐标
	vector<double> surveyRegionLons;
	vector<double> surveyRegionLats;

	// 对话框数据
	enum { IDD = IDD_DLG_DESIGNSURVEYLINE };

private:
	void calculateSurveyLine(double lineInterval,vector<double>&surveyLineLons,vector<double>& surveyLineLats,double outLength=0);//计算测绘航线
	void saveSurveyLine(const vector<double>&surveyLineLons,const vector<double>& surveyLineLats,double height); //保存测绘航线
	bool saveSurveyRegion(const vector<double>&surveyRegionLons,const vector<double>& surveyRegionLats); //保存航测区域
	double calculateRouteLength(const vector<double>&surveyLineLons,const vector<double>& surveyLineLats); //计算航程
	int lineID;
	//测绘航线坐标
	vector<double> surveyLineLons;
	vector<double> surveyLineLats;
	double g_Height;
	double g_RouteLength;

	// 测绘区域文件路径
	CString g_regionPathName;
	CString g_regionFileName;
	CString g_linePathName;
	CString g_lineFileName;

	CString extractFileName(CString fileName); //提取没有后缀名的文件名
protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

	DECLARE_MESSAGE_MAP()
public:
	virtual BOOL OnInitDialog();
	afx_msg void OnBnClickedBtnInputregion();
	afx_msg void OnBnClickedBtnDrawregion();
	afx_msg void OnBnClickedBtnSaveregion();
	afx_msg void OnBnClickedBtnBindline();
	afx_msg void OnBnClickedBtnCalculateline();
	afx_msg void OnClose();
	CBCGPButton m_btnSaveRegion;
	afx_msg void OnBnClickedBtnCalculatetime();
};