#ifndef EXPORT_QB_GIS_CTRL_CLASS_H
#define EXPORT_QB_GIS_CTRL_CLASS_H

#include "FlyLineDataStruct.h"

// class AFX_CLASS_EXPORT ExportQBGISCtrlClass: public CObject    
// {
// 
// public:
// 
// 	ExportQBGISCtrlClass();
// 
// 
// 	virtual ~ExportQBGISCtrlClass();
// 
// 	// 功能:设置消息发送句柄及消息号
// 	void SetMsgInfo(const HWND hwnd, const UINT msgID);
// 
// 	//功能:显示GIS对话框
// 	//输入:对话框显示区域矩阵rc,主窗口对象pParent
// 	void ShowGISDlg(const CRect rc, CWnd* pParent);
// 
// 
// 	// 显示或隐藏dlg
// 	//输入:显示状态nCmdShow,0为隐藏;1为显示
// 	void ShowWindow(int nCmdShow);
// 
// 	
// 	//功能:删除GIS对话框
// 	void DeleteGISDlg();
// 
// 
// 	//功能:输入无人机的经纬度,标绘航迹
// 	//输入:经度lon(以°为单位)
// 	//      纬度lat(以°为单位)
// 	//      航向角yaw(以°为单位)
// 	void SetUAVFlyCoordinate(const double lon, const double lat, const double yaw);
// 
// 
// 
// 	//功能:增加目标点,在地图显示区标绘出来
// 	//输入:目标点号ptID,经度lon,纬度lat
// 	void AddTarget(const int ptID, const double lon, const double lat);
// 
// 
// 	//功能:删除给定ID号的目标点,清除标绘
// 	//输入:目标点号ptID
// 	void DeleteTarget(const int ptID);
// 
// 
// 	//功能:删除所有目标点
// 	void DeleteAllTargets();
// 
// 
// 	//功能:在地图显示区标绘出装订的飞行航线数据
// 	//输入:航线数据体集合linePtArray,航线的航点个数ptNum
// 	//说明:地图显示器已经标绘了该航线,则清除标绘,重新标绘航线
// 	void DrawBindFlyLine(const PtStruct *linePtArray, const int ptNum);
// 
// 
// 	//功能:显示给定名称的航线
// 	//输入:航线文件strFlyLineName
// 	void DisplayFlyLine(const CString strFlyLineName);
// 
// 
// 
// 	//功能:设置地面站位置
// 	//输入:经度lon,纬度lat,高度alt
// 	void SetGCSPosition(const double lon, const double lat, const double alt);
// 
// 
// 
// 	//功能:标绘导引点位置
// 	//输入:导引点类型guideMode(1为导引飞行1,2为导引飞行2),经度lon,纬度lat
// 	void DrawGuidePoint(const BYTE guideMode, const double lon, const double lat);
// 	
// 	
// 	//功能:标绘回收点位置
// 	//输入:导引点类型guideMode(1为回收点1;2为回收点2),经度lon,纬度lat
// 	void DrawCallBackPoint(const BYTE callbackMode, const double lon, const double lat);
// 
// 
// };

////////////////////////////////////////////////////////////导出类改为导出函数




	// 功能:设置消息发送句柄及消息号
extern "C" void WINAPI SetMsgInfo(const HWND hwnd, const UINT msgID);

	//功能:显示GIS对话框
	//输入:对话框显示区域矩阵rc,主窗口对象pParent
extern "C" void WINAPI ShowGISDlg(const CRect rc, CWnd* pParent);


	// 显示或隐藏dlg
	//输入:显示状态nCmdShow,0为隐藏;1为显示
extern "C" void WINAPI ShowWindow(int nCmdShow);

	
	//功能:删除GIS对话框
extern "C" void WINAPI DeleteGISDlg();


	//功能:输入无人机的经纬度,标绘航迹
	//输入:经度lon(以°为单位)
	//      纬度lat(以°为单位)
	//      航向角yaw(以°为单位)
extern "C" void WINAPI SetUAVFlyCoordinate(const double lon, const double lat, const double yaw);



	//功能:增加目标点,在地图显示区标绘出来
	//输入:目标点号ptID,经度lon,纬度lat
extern "C" void WINAPI AddTarget(const int ptID, const double lon, const double lat);


	//功能:删除给定ID号的目标点,清除标绘
	//输入:目标点号ptID
extern "C" void WINAPI DeleteTarget(const int ptID);


	//功能:删除所有目标点
extern "C" void WINAPI DeleteAllTargets();


	//功能:在地图显示区标绘出装订的飞行航线数据
	//输入:航线数据体集合linePtArray,航线的航点个数ptNum
	//说明:地图显示器已经标绘了该航线,则清除标绘,重新标绘航线
extern "C" void WINAPI DrawBindFlyLine(const PtStruct *linePtArray, const int ptNum);


	//功能:显示给定名称的航线
	//输入:航线文件strFlyLineName
	extern "C" void WINAPI DisplayFlyLine(const CString strFlyLineName);



	//功能:设置地面站位置
	//输入:经度lon,纬度lat,高度alt
extern "C" void WINAPI SetGCSPosition(const double lon, const double lat, const double alt);



	//功能:标绘导引点位置
	//输入:导引点类型guideMode(1为导引飞行1,2为导引飞行2),经度lon,纬度lat
	extern "C" void WINAPI DrawGuidePoint(const BYTE guideMode, const double lon, const double lat);
	
	
	//功能:标绘回收点位置
	//输入:导引点类型guideMode(1为回收点1;2为回收点2),经度lon,纬度lat
	extern "C" void WINAPI DrawCallBackPoint(const BYTE callbackMode, const double lon, const double lat);


#endif