You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

915 lines
27 KiB
C

2 years ago
#if !defined(AFX_GISDLG_H__C9D2192D_FC93_4663_863B_24AB8906C0A2__INCLUDED_)
#define AFX_GISDLG_H__C9D2192D_FC93_4663_863B_24AB8906C0A2__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// GISDlg.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CGISDlg dialog
#include "resource.h"
#include "MapLayerManage.h"
#include "ShowHZDistanceDlg.h"
#include "LonLatDlg.h"
#include "Globe.h"
#include "LineManage.h"
#include "LineSectDisAZDlg.h"
#include "FlyLineDesign.h"
#include "toolbarex.h"
#include "GuidePointDataStruct.h"
#include "DrawLineStruct.h"
#include "LineDesign.h"
#include "UAVSelectDlg.h"
#include "TargetDlg.h"
#include "GISManager.h"
#include "DlgLightRegion.h"
#include "DlgDemAlt.h"
#include "TopologicalAnalysis.h"
#include "DlgMarker.h"
#include <map>
#include "MapElevation.h"
#include "../Include/8BMapDLL_type.h"
using namespace B8MapDLL;
#define MESSAGE_B8MAP WM_USER+750
#define MESSAGE_DRAWZK WM_USER+751
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
const UINT MAX_TARGET_NUM = 20000;
const UINT MAX_PLANE_NUM_ADS = 100;
typedef CMap<LPCTSTR,LPCTSTR,LPCTSTR,LPCTSTR> labelMap;
//<2F><>ý<EFBFBD>嶨ʱ<E5B6A8><CAB1>
#include <mmsystem.h>
#include "map.h"
#pragma comment(lib,"Winmm.lib")
class CGISDlg : public CBCGPDialog
{
// Construction
public:
CGISDlg(CWnd* pParent = NULL); // standard constructor
~CGISDlg();
/*******************<2A><><EFBFBD><EFBFBD><<3C><EFBFBD><E0BCAD><EFBFBD><EFBFBD>><3E><><EFBFBD><EFBFBD>**************************/
map<int,DrawLineDataStruct> m_ShowedLineDataList; //<2F><EFBFBD><E6B4A2><EFBFBD><EFBFBD>ʾ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DrawLineDataStruct m_editLineDataGroup; //<2F><EFBFBD><E0BCAD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
MapElevation m_mapElevation; //<2F><><EFBFBD><EFBFBD>
int m_highLightLineLayerID; //ѡ<>и<EFBFBD><D0B8><EFBFBD>ͼ<EFBFBD><CDBC>
int m_tempTerrainPointsLayerID; //<2F><><EFBFBD>ε<EFBFBD>ͼ<EFBFBD><CDBC>
long m_tempshpPointLayerID; //<2F><>ʱ<EFBFBD><CAB1>ͼ<EFBFBD><CDBC>
long m_tempshpLineLayerID; //<2F><>ʱ<EFBFBD><CAB1>ͼ<EFBFBD><CDBC>
bool m_bSelectFeatureFlag; //ѡ<><D1A1>Ԫ<EFBFBD><D4AA>ģʽ
int m_lineSelectedID; //ѡ<>еĺ<D0B5><C4BA>ߺ<EFBFBD>
int circlingPointID; //<2F><EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
long GLOBAL_X; //<2F><EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
long GLOBAL_Y;
//<2F><>ȡ<EFBFBD>з<EFBFBD><D0B7>յĵ<D5B5><C4B5>ε<EFBFBD>
void GetDangerousTerrainPoints(double pts[][2],int pointNum,long alt,vector<double>& vec_alt,vector<double>& vec_lon,vector<double>& vec_lat);
//<2F><><EFBFBD><EFBFBD>Σ<EFBFBD>յ<EFBFBD><D5B5>ε<EFBFBD>
int DrawDangerousTerrainPoints(double pts[][2],int pointNum,long alt);
//<2F><><EFBFBD><EFBFBD>Σ<EFBFBD>յ<EFBFBD><D5B5>ε<EFBFBD>
void ClearDangerousTerrainPoints();
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
void DrawTempLine(double m_Pts[][2],int pointNum);
//<2F><><EFBFBD><EFBFBD>ѡ<EFBFBD>и<EFBFBD><D0B8><EFBFBD>ͼ<EFBFBD><CDBC>
void DrawHighLightLine(const PtStruct *pts, const int ptNum);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
void ClearTempLine();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void ClearHighLightLine();
//ת<><D7AA>ΪGrid<69><64><EFBFBD><EFBFBD>
void TransformToXY(double pts[][2],int pointNum,vector<int>& ptsRow,vector<int>& ptsCol);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>
void TransformToVectorPoints(DrawLineDataStruct lineDataGroup,vector<double>& lineX,vector<double>& lineY);
TopologicalAnalysis topologicalAnalysis;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>
void AddPointInLine(int ptPos,double* pt,DrawLineDataStruct& editLineDataGroup);
//<2F><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>
bool RemovePointInLine(int ptPos,DrawLineDataStruct& backLineDataGroup);
// <20>Ƿ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>Ҫ<EFBFBD>أ<EFBFBD><D8A3><EFBFBD>ѡ<EFBFBD>з<EFBFBD><D0B7>غ<EFBFBD><D8BA>߱<EFBFBD><DFB1>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD>򷵻<EFBFBD>-1
int IsSelectLine(double* pt);
long m_distLabelLayer; //<2F>༭ʱ<E0BCAD><CAB1>ʾ<EFBFBD><CABE>λ<EFBFBD>Ǻ;<C7BA><CDBE><EFBFBD>
BOOL m_bEditLine; //<2F><EFBFBD><E0BCAD><EFBFBD>պ<EFBFBD><D5BA><EFBFBD>
DrawLineDataStruct backLineDataGroup; //<2F><><EFBFBD>պ<EFBFBD><D5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>
BOOL m_dragFlag; //<2F><>ק<EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>־
long m_KTPtShpLayerID; //<2F><>Ͷ<EFBFBD><CDB6>ͼ<EFBFBD><CDBC>ID
//<2F><>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶԻ<C6B6><D4BB><EFBFBD>
//CDesignKTLineDlg *m_pDesignKTLineDlg;
/***************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> By Wu 2023.10.16********/
bool m_bPolylineMeasure; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
int m_numPolylineMeasurePts; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>
double m_posPolylineMeasurePts[512][2]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool m_bMeasureDrag; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool m_bEndMeasure; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>ͼ<EFBFBD><CDBC>
long m_polylineMeasureLineLayerID;
//<2F><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>ͼ<EFBFBD><CDBC>
long m_polylineMeasureLabelLayerID;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD>ŵı<C5B5>עͼ<D7A2><CDBC>
long m_polylineMeasurePtLayerID[2];
void ClearPloylineMeasure(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/*******************************************/
/*************************************************************************************/
//<2F><>ʾ<EFBFBD><CABE><EFBFBD>ߺ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ 2015.11.20
tagDRAWZK m_DRAWZK;
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>־
bool m_pHaveDrawLineFlag[14];
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>Ϣ<EFBFBD><CFA2><EFBFBD>;<EFBFBD><CDBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
void SetMsgInfo(const HWND hwnd, const UINT msgID);
BOOL ReadLine(int iLine,PTLIST *pList);
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>;<EFBFBD><CDBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
void SetLoadLineMsgInfo(const HWND hwnd, const UINT msgID);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><CBBB>ķ<EFBFBD><C4B7>к<EFBFBD><D0BA><EFBFBD><E3A3AC><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD>˻<EFBFBD><CBBB>ķ<EFBFBD><C4B7>к<EFBFBD><D0BA><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EBA3BA><EFBFBD>˻<EFBFBD><CBBB>ĵ<EFBFBD>ǰ<EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>lon<6F><6E>γ<EFBFBD><CEB3>lat<61><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>yaw, <20><><EFBFBD>ԣ<EFBFBD><D4A3><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
void AddFlyPoint(int uavid,const double lon, const double lat, const double yaw,bool control);
void AddFlyPoint_ADS(const int uavNum, const int uavid, const double lon, const double lat, const double yaw, const bool control, const CString strPlaneName);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>GIS<49><53><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
void SetGISWindowArea(const CRect gisArea);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ʾGIS<49>Ի<EFBFBD><D4BB><EFBFBD>
void ShowDlg(const CRect rc, CWnd* pParent);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>ڵ<EFBFBD>ͼ<EFBFBD><CDBC>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD>룺Ŀ<EBA3BA><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ptID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lon<6F><6E>γ<EFBFBD><CEB3>lat
void AddTargetPoint(const int ptID, const double lon, const double lat);
//<2F><><EFBFBD>ܣ<EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<49>ŵ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>
void DeleteTarget(const int ptID);
//<2F><><EFBFBD>ܣ<EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>
void DeleteAllTargets();
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3>ڵ<EFBFBD>ͼ<EFBFBD><CDBC>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD>ķ<EFBFBD><C4B7>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EBA3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5BCAF>linePtArray<61><79><EFBFBD><EFBFBD><EFBFBD>ߵĺ<DFB5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ptNum
//˵<><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ʾ<EFBFBD><CABE><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˸ú<CBB8><C3BA>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A3AC><EFBFBD>±<EFBFBD><C2B1><EFBFBD><E6BABD>
void DrawBindingLine(const PtStruct *linePtArray, const int ptNum);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>վλ<D5BE><CEBB>
//<2F><><EFBFBD><EFBFBD><EBA3BA><EFBFBD><EFBFBD>lon<6F><6E>γ<EFBFBD><CEB3>lat<61><74><EFBFBD>߶<EFBFBD>alt
void SetGCSPosition(const double lon, const double lat, const double alt);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><E6B5BC><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
//<2F><><EFBFBD><EFBFBD><EBA3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>guideMode<64><65><31><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1,2Ϊ<32><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lon<6F><6E>γ<EFBFBD><CEB3>lat
void DrawGuidePoint(const BYTE guideMode, const double lon, const double lat);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EBA3BA><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>strLineFileName
void OnShowGivenLine(const CString strLineFileName);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>λ<EFBFBD><CEBB>
//<2F><><EFBFBD><EFBFBD><EBA3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>callbackMode<64><65><31><CEAA><EFBFBD>յ<EFBFBD>1<EFBFBD><31><32><CEAA><EFBFBD>յ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lon<6F><6E>γ<EFBFBD><CEB3>lat
void DrawCallBackPoint(const BYTE callbackMode, const double lon, const double lat);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>shpfile<6C><65>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>UAV
void AddUAVPoints2Polygon(const long shpLayerID);
//<2F><><EFBFBD>ܣ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>
void OnRemoveGuidePtDraw();
////
void MouseWheel(short zDelta);
void SetRouteLine(int iLine ,PTLIST *pList);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EBA3BA>ֵ<EFBFBD><D6B5>
void UpdateDataInfo(int index,const char* key,double value);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ˵<DDB2><CBB5><EFBFBD><EBBABD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>صIJ<D8B5><C4B2><EFBFBD>
// 1)<29><><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
// 2)<29><><EFBFBD><EFBFBD>δ<EFBFBD><CEB4>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
//<2F><><EFBFBD><EFBFBD><EBA3BA><EFBFBD>߱<EFBFBD><DFB1><EFBFBD>lineID
void SetFlyLineShowStatus(const int lineID);
// Dialog Data
//{{AFX_DATA(CGISDlg)
enum { IDD = IDD_DIALOG1 };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CGISDlg)
/*
brief:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
void AddTianDiTuService();
/*
brief:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
void LoadTianDiTuService();
/*
brief:<EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>Ŀ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
param: lon<EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD>ȣ<EFBFBD>
param: latγ<EFBFBD>ȣ<EFBFBD><EFBFBD>ȣ<EFBFBD>
*/
void ZoomToLocation(double lon,double lat);
private: // by Wu
//
void ShowModifyPointDlg(int selectedPointID=0); //<2F><EFBFBD><E0BCAD><EFBFBD><EFBFBD>ʱ,<2C><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>öԻ<C3B6><D4BB><EFBFBD>
void ShowEditSaveDlg(); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD>
void EndPolylineMessure(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2 years ago
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CGISDlg)
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
// afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
afx_msg void OnAddpoint();
afx_msg void OnEnddesign();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
//<2F><>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CMap1 m_map;
//<2F><EFBFBD><E6BBAE><EFBFBD>߱<EFBFBD><DFB1><EFBFBD><EFBFBD><EFBFBD>ID<49><44>
int m_drawPlanFlyLine;
//<2F><><EFBFBD>յ<EFBFBD><D5B5>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
long int m_uavFlyPoints;
//ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CMapLayerManage* m_Layer;
//<2F><>γ<EFBFBD><CEB3><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>
CLonLatDlg *m_pLonLatDlg;
//<2F><>γ<EFBFBD>ȶԻ<C8B6><D4BB><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ʶ
bool m_bHaveShowLonLatDlg;
//<2F>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶԻ<C6B6><D4BB><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ʶ
bool m_bHaveShowLineDesign;
//2<><32>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CShowHZDistanceDlg *m_pHZDistanceDlg;
//2<><32>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ı<EFBFBD>ʶ
bool m_bHaveShowDistanceDlg;
//<2F>Ƿ<EFBFBD><C7B7>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>ͼ
bool m_bHaveAddMap;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ID
long m_flyTrackLayerID[3];
//UAV<41><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ID
long m_UAVFlyTrackLayerID[3];
long m_UAVFlyTrackLayerID_ADS[MAX_PLANE_NUM_ADS];
//<2F>Ƿ<EFBFBD><C7B7>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><CBBB>ķ<EFBFBD><C4B7>й켣
bool m_bFirstDrawUAVTrack[3];
bool m_bFirstDrawUAVTrack_ADS[MAX_PLANE_NUM_ADS];
//<2F><>ͼ<EFBFBD><CDBC>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>߶ȵ<DFB6><C8B5><EFBFBD>
double m_onePerWidth;
double m_onePerHeight;
//<2F><>ͼ<EFBFBD><CDBC>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>߶<EFBFBD>
double m_mapAreaHalfWidth;
double m_mapAreaHalfHeight;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
bool m_bLineDesign;
//GIS<49><53>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
CRect m_rcGISArea;
//<2F>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
CRect m_rcDialogArea;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double m_ppUavPtArray[18][2];
double m_ppUavPtArray_ADS[18][2];
CPoint m_ptPlane[18];
CPoint m_ptPlane_ADS[18];
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int m_ptNum;
//<2F><>ͼ<EFBFBD><CDBC>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͻ<EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>
int m_leftTopX;
//<2F><>ͼ<EFBFBD><CDBC>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͻ<EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD>
int m_leftTopY;
//Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SHPͼ<50><CDBC>ID<49><44>
int m_targetPtShapeID;
//<2F>Ƿ<EFBFBD><C7B7>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SHPĿ<50><C4BF><EFBFBD><EFBFBD>עͼ<D7A2><CDBC>
bool m_bHaveCreateTargetShp;
//<2F><>עƫ<D7A2><C6AB><EFBFBD><EFBFBD>
int m_labelWarpValue;
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӵı<D3B5><C4B1><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int m_targetPointNum;
//<2F>ܹ<EFBFBD><DCB9><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int m_totalPointNum;
//Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ID<49><44>
long m_targetDrawLayerID;
//<2F><EFBFBD><EBBABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صı<D8B5><C4B1><EFBFBD>
int m_lineMaxPointNum; //һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܵĺ<DCB5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PtStruct *m_pDesignLineStruct; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int m_designLinePointNum; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int m_iPtSel;//<2F><><EFBFBD>߱༭ʱѡ<CAB1><D1A1>
BOOL m_bPtDel;//<2F>Ƿ<EFBFBD>ɾ<EFBFBD><C9BE>
BOOL m_bSetPointModel; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>״̬
BOOL m_bEndSetPoint; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>
BOOL m_bPtEdit;//<2F><EFBFBD><E0BCAD><EFBFBD><EFBFBD>
BOOL m_bLDSetPoint; //<2F><><EFBFBD>߱༭ʱ<E0BCAD><CAB1><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>״̬ 2016.01.05
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD>Ƶĺ<C6B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PtStruct m_curDesignPoint;
//<2F><><EFBFBD>߱<EFBFBD><DFB1><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ID<49><44>
long m_designLineLayerID;
long m_designLineLayerID2;
long m_canvasLayerID;
//<2F>Ƿ<EFBFBD><C7B7>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µĺ<C2B5><C4BA><EFBFBD>
bool m_bAddNewPoint;
//<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
int m_tempLayerID;
//<2F><>ʶ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ʱͼ<CAB1><CDBC><EFBFBD>Ͻ<EFBFBD><CFBD>б<EFBFBD>ע
bool m_beTemLayerDrawing;
//////////////////<2F><EFBFBD><EBBABD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/////////////////////
DrawLineDataStruct m_pFlyLines[14]; //<2F><><EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 5<><35>14
int m_totalFlyLines; //<2F>ܵķ<DCB5><C4B7>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD>
int m_flyLineNum; //<2F><><EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD>߹<EFBFBD><DFB9><EFBFBD><EFBFBD><EFBFBD>
CLineManage m_lineManage;
//<2F><><EFBFBD>к<EFBFBD><D0BA>߱<EFBFBD>ע<EFBFBD><D7A2>
long m_flyLinesLayerID;
//<2F>Ƿ<EFBFBD><C7B7>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Shp<68><70>ͼ<EFBFBD><CDBC>
bool m_bHaveCreateUAVShpLayer;
//<2F><><EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Shp<68><70>ͼ<EFBFBD><CDBC>ID
long m_uavShapileLayerID;
//<2F><><EFBFBD>߱<EFBFBD><DFB1><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>Shpͼ<70><CDBC>ID<49><44><EFBFBD>飬ÿ<E9A3AC><C3BF><EFBFBD><EFBFBD><EFBFBD>߾<EFBFBD><DFBE><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD>㣺1<E3A3BA><31>ͼ<EFBFBD><CDBC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><E3A1A2>һ<EFBFBD><D2BB>ͼ<EFBFBD><CDBC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
long m_ppPlanLineShpLayerIDArr[14][2];
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
CLineSectDisAZDlg *m_pLineSectDlg;
//<2F>ɻ<EFBFBD>ѡ<EFBFBD><D1A1>
/*UAVSelectDlg *m_pUavSelDlg1;
UAVSelectDlg *m_pUavSelDlg2;
UAVSelectDlg *m_pUavSelDlg3;*/
//<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>
bool m_bDesignFirstPoint;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶԻ<C6B6><D4BB><EFBFBD>
CFlyLineDesign *m_pFlyLineDesign;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶԻ<C6B6><D4BB><EFBFBD>
CLineDesign *m_pLineDesign;
//<2F><>ͼ<EFBFBD><CDBC>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶļ<C6B5><C4BC>δ<EFBFBD>С
CRect m_rcDesignGISWindow;
///////////////////////<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>//////////////////////////
CImageList m_ImageList;
CToolBarCtrl m_ToolBar;
CRect m_rcgisSmallArea; //GIS<49><53>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
bool m_bShowToolBar; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
///////////////////////<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>//////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>
GuidePointData m_guidePtInfo;
//<2F><><EFBFBD><EFBFBD>վλ<D5BE>õ<EFBFBD>ʸ<EFBFBD><CAB8>ͼ<EFBFBD><CDBC>
long m_gcsPtShpLayerID;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>õ<EFBFBD>ʸ<EFBFBD><CAB8>ͼ<EFBFBD><CDBC>
long m_guidePtShpLayerID;
// <20><><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD><EFBFBD>Ϣ
HWND m_MsgHwnd;
UINT m_MsgID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>ϢID
UINT m_LineLoadMsgID; //װ<><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
struMapOut m_struMapOut;
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PtStruct m_curEditLinePoint;
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>
//bool m_bEnablePointMove;
//Ŀ<><C4BF><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ͼ<EFBFBD><CDBC>ID<49><44>
//long m_pTargetShapfileID;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ߶<C4B8>
int m_toolbarHeight;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB>Ļ<EFBFBD>е<EFBFBD>GIS<49><53>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
CRect m_gisAreaInScreen;
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>εı<CEB5>ʶ
bool m_bAutoMove;
//<2F><><EFBFBD>յ<EFBFBD>ʸ<EFBFBD><CAB8>ͼ<EFBFBD><CDBC>ID<49><44>
long m_pCallBackShapfileID[255];
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
int m_guidePointMode;
bool m_bGuideMode;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
int m_drawTrackPtNum[3];
//<2F>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶĺ<C6B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2016.01.06
int m_MaxNumofLinePt;
int m_NowNumLineDesign; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>
// tmpPT *m_pNewDesignLineStruct; //<2F>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// tmpPT m_CurNewDesignPt; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD>Ƶĺ<C6B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PtStruct *m_pNewDesignLineStruct; //<2F>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PtStruct m_CurNewDesignPt; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD>Ƶĺ<C6B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struInfoData m_infoData;
TargetPt m_targets[255];
int m_targetSelID;
bool m_bSelectDropPoint; //<2F>ر<EFBFBD><D8B1><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ѡ<EFBFBD><D1A1>
CDlgDemAlt m_DlgDemAlt; //<2F><><EFBFBD><EFBFBD><EFBFBD>̷߳<DFB3><CCB7><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD>
private:
CTargetDlg *m_pTargetDlg;
private:
virtual BOOL OnInitDialog();
afx_msg void OnAddMapData(); //<2F><><EFBFBD>ص<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>
afx_msg void OnAddRasterImage(); //<2F><><EFBFBD><EFBFBD>դ<EFBFBD><D5A4>Ӱ<EFBFBD><D3B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
afx_msg void OnAddFlyLineData(); //<2F><><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
afx_msg void OnMapSelect(); //<2F><>ͼѡ<CDBC><D1A1>
afx_msg void OnMapZoomIn(); //<2F><>ͼ<EFBFBD>Ŵ<EFBFBD>
afx_msg void OnMapZoomOut(); //<2F><>ͼ<EFBFBD><CDBC>С
afx_msg void OnMapMove(); //<2F><>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>
afx_msg void OnMapFullScreen(); //<2F><>ͼȫ<CDBC><C8AB><EFBFBD><EFBFBD>ʾ
afx_msg void OnSurvey(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
afx_msg void OnEraseTrack(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void EraseTrack(int uavid); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
afx_msg void OnRemoveAllLayers(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
afx_msg void OnLayerManage(); //ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
afx_msg void OnShowLonLatInfo(); //<2F><>ʾ<EFBFBD><CABE>γ<EFBFBD><CEB3><EFBFBD><EFBFBD>Ϣ
afx_msg void OnRefreshInfo(); //ˢ<><CBA2><EFBFBD><EFBFBD>ʾ
afx_msg void OnPrint(); //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>
afx_msg void OnShowCtrlMenu(); //<2F><>ʾ<EFBFBD><CABE><EFBFBD>߲˵<DFB2>
afx_msg void OnMenuLinePtCtrlShow(); //<2F><>ʾ<EFBFBD><CABE><EFBFBD>Բ˵<D4B2>
afx_msg void OnZhangCW();
afx_msg BOOL OnToolTipsNotify(UINT id,NMHDR* pNMHDR,LRESULT* pResult); //<2F><>ť<EFBFBD><C5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
afx_msg void OnDesignLine(); //Design line
private:
void Openlocalfile(CString file);
CString GetFileType(CString file);
CString GetFileName(CString file);
void OnShowRMenu(); //<2F><>ʾ<EFBFBD>Ҽ<EFBFBD><D2BC>˵<EFBFBD>
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
void AutomaticMoveMap(double lon, double lat);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LRESULT OnSetLayerStatus(WPARAM wParam, LPARAM lParam);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3>ر<EFBFBD><D8B1><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ȡ<EFBFBD>γ<EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LRESULT OnCloseLonLatDialog(WPARAM wParam, LPARAM lParam);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3>ر<EFBFBD><D8B1><EFBFBD>ʾ2<CABE><32>֮<EFBFBD><D6AE><EFBFBD>ľ<EFBFBD>γ<EFBFBD><CEB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LRESULT OnCloseShowDistanceDialog(WPARAM wParam, LPARAM lParam);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><CBBB><EFBFBD>18<31><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void CalculateUAVPolygonCoordinate(const double lon, const double lat, const double yaw);
void CalculateUAVPolygonCoordinate_ADS(const double dX, const double dY, const double yaw);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ʸ<EFBFBD><CAB8>ͼ<EFBFBD><CDBC><EFBFBD>ж<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD>
//<2F><><EFBFBD><EFBFBD><EBA3BA><EFBFBD><EFBFBD>lon<6F><6E>γ<EFBFBD><CEB3>lat,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>yaw
//˵<><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ר<EFBFBD><D7A8><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD><DABB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><CBBB><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD>ͼ<EFBFBD>㣬ÿ<E3A3AC><C3BF><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>ϴα<CFB4><CEB1><EFBFBD><EFBFBD><EFBFBD>Shp<68><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD>
void DrawUAV( int uavid,const double lon, const double lat, const double yaw,bool control);
void DrawUAV_ADS(const int uavNum, const int uavid, const double lon, const double lat, const double yaw, const bool control, const CString strPlaneName);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶԻ<C6B6><D4BB><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD>
LRESULT OnCloseLineDesignDialog(WPARAM wParam, LPARAM lParam);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ü<EFBFBD><C3BC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD>עλ<D7A2><CEBB>
//<2F><><EFBFBD>룺Ŀ<EBA3BA><C4BF><EFBFBD><EFBFBD>λ<EFBFBD>þ<EFBFBD><C3BE>ȡ<EFBFBD>targetLon<6F><6E>γ<EFBFBD>ȡ<EFBFBD>targetLat
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>עλ<D7A2>þ<EFBFBD><C3BE>ȡ<EFBFBD>labelLon<6F><6E>γ<EFBFBD>ȡ<EFBFBD>labelLat
void TargetPos2LabelPos(double &labelLon, double &labelLat, const double targetLon, const double targetLat);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3>ڵ<EFBFBD>ͼ<EFBFBD><CDBC>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>
//<2F><><EFBFBD>룺Ŀ<EBA3BA><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>targetInfo
// <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ID<49><44>drawLayerID
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ID<49><44>drawLayerID
void DrawTarget(long &drawLayerID, const PtStruct targetInfo);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void OnEraseAllTargets();
/*************************************by wu 2023.10.10****************************************************/
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ע<EFBFBD><D7A2>Ͷ<EFBFBD><CDB6>
LRESULT OnDrawKTPoint(WPARAM wParam, LPARAM lParam);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6>
LRESULT OnClearKTPoint(WPARAM wParam, LPARAM lParam);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ʾ<EFBFBD><CABE>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD>
LRESULT OnShowKTLine(WPARAM wParam, LPARAM lParam);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ʾ/<2F>رտ<D8B1>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD>
LRESULT OnShowKTLine6(WPARAM wParam, LPARAM lParam);
//<2F><><EFBFBD>ܣ<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD>
LRESULT OnBindKTLine(WPARAM wParam, LPARAM lParam);
//<2F><><EFBFBD>ܣ<EFBFBD>װ<EFBFBD><D7B0>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>
LRESULT OnBindEPPoint(WPARAM wParam, LPARAM lParam);
/*********************************************************************************************************/
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD><E3A3AC><EFBFBD><EFBFBD><EFBFBD>󣬵<EFBFBD>ͼ<EFBFBD><CDBC>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD>ע
LRESULT OnAddLinePoint(WPARAM wParam, LPARAM lParam);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><E0BCAD><EFBFBD><EFBFBD><E3A3AC><EFBFBD><EFBFBD><EFBFBD>󣬵<EFBFBD>ͼ<EFBFBD><CDBC>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD>ע
LRESULT OnEditLinePoint(WPARAM wParam, LPARAM lParam);
//<2F><><EFBFBD>ܣ<EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A3AC><EFBFBD><EFBFBD><EFBFBD>󣬵<EFBFBD>ͼ<EFBFBD><CDBC>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD>ע
LRESULT OnDeleteLinePoint(WPARAM wParam, LPARAM lParam);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬵<EFBFBD>ͼ<EFBFBD><CDBC>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD>ע
LRESULT OnSaveLinePoints(WPARAM wParam, LPARAM lParam);
//2016.02.19
// //<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ߺš<DFBA><C5A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD><C5A1><EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
// LRESULT DRAW_ZK(WPARAM wParam, LPARAM lParam);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĺ<C3B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3BCB0><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void DrawDesignLineData();
//<2F><><EFBFBD>ܣ<EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݺͺ<DDBA><CDBA>߱<EFBFBD><DFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void RemoveDesignLineData();
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void ClearDrawingInLineDesign();
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>shpfileͼ<65><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD>룺ʸ<EBA3BA><CAB8>ͼ<EFBFBD><CDBC>ID<49><44>shpLayerID<49><44>ʸ<EFBFBD><CAB8>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>shpType<70><65><30><CEAA>ͼ<EFBFBD>㣻1Ϊ<31><CEAA>ͼ<EFBFBD>㣻2Ϊ<32><CEAA>ͼ<EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>pts<74><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ptNum
void AddPoints2Shapfile(const long shpLayerID, const int shpType, const PtStruct *pts, const int ptNum);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>shpfileͼ<65><CDBC>
//<2F><><EFBFBD>룺ʸ<EBA3BA><CAB8>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>shpType<70><65><30><CEAA><EFBFBD><EFBFBD>ͼ<EFBFBD>㣻1Ϊ<31><CEAA>ͼ<EFBFBD>㣻2Ϊ<32><CEAA>ͼ<EFBFBD>
//<2F><><EFBFBD><EFBFBD><EBA3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫdrawColor
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ͼ<EFBFBD><CDBC>ID<49><44>shpLayerID<49><44>
void CreateEmptyShapfile(long &shpLayerID, const int shpType, const unsigned long drawColor);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>shpfileͼ<65><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD>룺ʸ<EBA3BA><CAB8>ͼ<EFBFBD><CDBC>ID<49><44>shpLayerID<49><44>shp<68><70><EFBFBD><EFBFBD>shpType
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>ȡ<EFBFBD>lon; γ<>ȡ<EFBFBD>lat
void AddOnePoint2Shapfile(const long shpLayerID, const int shpType, const double lon, const double lat);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ݵ<EFBFBD>ͼ<EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>ͼ<EFBFBD>ؼ<EFBFBD>
//˵<><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ֱ<EFBFBD><D6B1>ʺ<EFBFBD><CABA><EFBFBD><EFBFBD>Ʒֱ<C6B7><D6B1><EFBFBD>֮<EFBFBD><D6AE><EFBFBD>ļ<EFBFBD><C4BC>ι<EFBFBD>ϵ
//<2F><><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>moveToArea
void MoveGISShowWindow(const CRect moveToArea);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void CreateFloatToolBar();
BOOL OnToolTipText(UINT,NMHDR* pNMHDR,LRESULT* pResult);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>shpfile<6C><65>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD>룺ʸ<EBA3BA><CAB8>ͼ<EFBFBD><CDBC>ID<49><44>shpLayerID
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>pts<74><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ptNum
void AddPoints2PointShapfile(const long shpLayerID, const PtStruct *pts, const int ptNum);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>shpfile<6C><65>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD>룺ʸ<EBA3BA><CAB8>ͼ<EFBFBD><CDBC>ID<49><44>shpLayerID
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>pts<74><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ptNum
void AddPoints2LineShapfile(const long shpLayerID, const PtStruct *pts, const int ptNum);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽһ<CABD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void OnGuideMode1();
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void OnGuideMode2();
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ʾ1<CABE>ź<EFBFBD><C5BA><EFBFBD>
void OnShowLine1();
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ʾ2<CABE>ź<EFBFBD><C5BA><EFBFBD>
void OnShowLine2();
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ʾ3<CABE>ź<EFBFBD><C5BA><EFBFBD>
void OnShowLine3();
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ʾ4<CABE>ź<EFBFBD><C5BA><EFBFBD>
void OnShowLine4();
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ʾ5<CABE>ź<EFBFBD><C5BA><EFBFBD>
void OnShowLine5();
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD><D0BA><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EBA3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lineData
void DrawFlyLine(const DrawLineDataStruct lineData);
afx_msg void OnUpdateLineDisplay1(CCmdUI* pCmdUI);
afx_msg void OnUpdateLineDisplay2(CCmdUI* pCmdUI);
afx_msg void OnUpdateLineDisplay3(CCmdUI* pCmdUI);
afx_msg void OnUpdateLineDisplay4(CCmdUI* pCmdUI);
afx_msg void OnUpdateLineDisplay5(CCmdUI* pCmdUI);
afx_msg void OnData(); //test
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EBA3BA><EFBFBD>߱<EFBFBD><DFB1><EFBFBD>lineID<49><44><EFBFBD><EFBFBD>0<EFBFBD><30>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
void ClearDrawedLine(const int lineID);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>Ϣ
//<2F><><EFBFBD><EFBFBD><EBA3BA>ͼ<EFBFBD><CDBC>ID<49><44>layerID
void ClearPointShape(long layerID);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ڵ<EFBFBD>ʸ<EFBFBD><CAB8>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EBA3BA>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>drawLayerID
// <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD><EFBFBD>lon, γ<><CEB3>lat
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>strPtName
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫstrColor
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>ֵfontColor
void AddPointShapeLayer(long &drawLayerID, const double lon, const double lat,
const CString strPtName, const CString strColor, unsigned long fontColor);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD>ʾ״̬
LRESULT OnCheckFlyLineShowStatus(WPARAM wParam, LPARAM lParam);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ѡ<EFBFBD>к<EFBFBD><D0BA><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EBA3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>curpoint<6E><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78>y
//<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>true<75><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>к<EFBFBD><D0BA><EFBFBD>
// false<73><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δѡ<CEB4>к<EFBFBD><D0BA><EFBFBD>
bool BeMouseClickedLinePoint(const PtStruct curpoint, const long x, const long y);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
void OnAutoMove();
void OnUpdateAutoMov( CCmdUI *pCmdUI );
void OnUpdateGuideMode1( CCmdUI *pCmdUI);
void OnUpdateGuideMode2( CCmdUI *pCmdUI);
int GetPtSel(int x,int y);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ѡȡ<D1A1>ĵ<EFBFBD><C4B5><EFBFBD>
int GetPtSel(PtStruct* m_pLinePtStruct,int m_PointNum,int x,int y); //<2F><><EFBFBD><EFBFBD> by Wu 2023.09.14
void DrawLineDesign();
void DrawCanvas();
/*!
brief:<EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>עʱʹ<EFBFBD><EFBFBD>
param: shapeIDͼ<EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD>, fontSize<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>colorName<EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,fontColor<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
param: XOffset/YOffset<EFBFBD><EFBFBD>עλ<EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
return: void
*/
void SetLabelCategory(const long& shapeID, int fontSize = 12, unsigned long fontColor = RGB(255,0,0),
unsigned long frameBackColor = RGB(0,0,0), double XOffset = 0, double YOffset = 0);
void ReadTargetIni(bool bDraw);
private:
DECLARE_EVENTSINK_MAP()
void MouseDownMap1(short Button, short Shift, long x, long y);
void MouseMoveMap1(short Button, short Shift, long x, long y);
void MouseUpMap1(short Button, short Shift, long x, long y);
void MouseDblClickMap1();
afx_msg void OnFlyLineDesign();
public:
afx_msg void OnClearpoint();
afx_msg void OnEditpoint();
afx_msg void OnEditProper();
afx_msg void OnDelpoint();
afx_msg void OnEditLine(); // -----by Wu 2023.09.14
//afx_msg void OnBindline1();
afx_msg void OnBindline2();
afx_msg void OnLoadMyline1();
afx_msg void OnBindline3();
afx_msg void OnBindline4();
afx_msg void OnBindline5();
afx_msg void OnLayermng();
afx_msg void OnAddgtarget();
afx_msg void ShowModifyPointDlg();
// afx_msg void OnMouseHWheel(UINT nFlags, short zDelta, CPoint pt);
afx_msg void OnNlinedesign();
afx_msg void OnUpdateNlinedesign(CCmdUI *pCmdUI);
afx_msg void OnShowPd10();
afx_msg void OnUpdateShowPd10(CCmdUI *pCmdUI);
afx_msg void OnShowHs11();
afx_msg void OnUpdateShowHs11(CCmdUI *pCmdUI);
afx_msg void OnBindHs11();
afx_msg void OnShowTc12();
afx_msg void OnBindTc12();
afx_msg void OnUpdateShowTc12(CCmdUI *pCmdUI);
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void On32855();
afx_msg void OnMove(int x, int y);
virtual BOOL OnWndMsg(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult);
protected:
afx_msg LRESULT OnSelUav(WPARAM wParam, LPARAM lParam);
public:
afx_msg void OnAddTarget();
protected:
afx_msg LRESULT OnDrawTarget(WPARAM wParam, LPARAM lParam);
public:
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
afx_msg void OnTargetDelete();
afx_msg LRESULT OnSendSelectTarget(WPARAM wParam, LPARAM lParam); //<2F>ڵ<EFBFBD>ͼ<EFBFBD><CDBC>ѡ<EFBFBD><D1A1>
afx_msg LRESULT OnSendCloseDemAlt(WPARAM wParam, LPARAM lParam); //<2F>ڵ<EFBFBD>ͼ<EFBFBD><CDBC>ѡ<EFBFBD><D1A1>
afx_msg LRESULT OnShowPointInMap(WPARAM wParam, LPARAM lParam); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>վλ<D5BE><CEBB>
afx_msg LRESULT OnShowPointVisible(WPARAM wParam, LPARAM lParam); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
afx_msg LRESULT OnShowPointNotVisible(WPARAM wParam, LPARAM lParam); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
afx_msg LRESULT OnSendClearShape(WPARAM wParam, LPARAM lParam); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
afx_msg LRESULT OnShowAreaVisible(WPARAM wParam, LPARAM lParam); //<2F><>ʾʵʱ<CAB5><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
afx_msg LRESULT OnShowAreaNotVisible(WPARAM wParam, LPARAM lParam); //<2F><>ʾʵʱ<CAB5><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
afx_msg LRESULT OnShowClearArea(WPARAM wParam, LPARAM lParam); //<2F><><EFBFBD><EFBFBD>ʵʱ<CAB5><CAB1><EFBFBD><EFBFBD>
afx_msg LRESULT OnDelLineLayer(WPARAM wParam, LPARAM lParam); //ɾ<><C9BE>ͨ<EFBFBD>ӵȸ<D3B5><C8B8><EFBFBD>ͼ<EFBFBD><CDBC>
afx_msg LRESULT OnAddLineLayer(WPARAM wParam, LPARAM lParam); //<2F><><EFBFBD>ӵ㵽ͨ<E3B5BD>ӵȸ<D3B5><C8B8><EFBFBD>ͼ<EFBFBD><CDBC>
afx_msg LRESULT OnSendRegionToGis(WPARAM wParam, LPARAM lParam); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GIS<49>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>
afx_msg LRESULT OnDrawLinePoint(WPARAM wParam, LPARAM lParam); //<2F><><EFBFBD><EFBFBD><E6BABD><EFBFBD>ϵĵ<CFB5>
afx_msg LRESULT OnShowCrashArea(WPARAM wParam, LPARAM lParam); //<2F><>ʾʵʱ<CAB5><CAB1>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
afx_msg LRESULT OnSendDrawFight(WPARAM wParam, LPARAM lParam); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>Χ
afx_msg LRESULT OnSendDrawDemRegion(WPARAM wParam, LPARAM lParam); //<2F><><EFBFBD>Ƹ߳<C6B8><DFB3><EFBFBD><EFBFBD><EFBFBD>
afx_msg LRESULT OnZoomToLocation(WPARAM wParam,LPARAM lParam); //<2F><><EFBFBD>ߵ<EFBFBD>ͼ<EFBFBD><CDBC>λ
GISManager* m_gisManager;
CDlgLightRegion m_dlgLightRegion;
afx_msg void OnMenuLightRegion();
//<2F>Ƿ<EFBFBD>ѡ<EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD>
bool m_bPlotDemArea;
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ڵ<EFBFBD>ʸ<EFBFBD><CAB8>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ע
//<2F><><EFBFBD><EFBFBD><EBA3BA>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>drawLayerID
// <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD><EFBFBD>lon, γ<><CEB3>lat
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>strPtName
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫstrColor
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>ֵfontColor
void AddTextToPointShapeLayer(long &drawLayerID, const double lon, const double lat,
const CString strPtName, const CString strColor, unsigned long fontColor);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶εľ<CEB5><C4BE><EFBFBD><EFBFBD>ͷ<EFBFBD>λ
void DrawLineLabel(long &drawLayerID, const double ptLon1, const double ptLat1, const double ptLon2, const double ptLat2);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶εľ<CEB5><C4BE><EFBFBD><EFBFBD>ͷ<EFBFBD>λ
void DrawDistLabelEx(long drawLayerID, const double ptLon1, const double ptLat1, const double ptLon2, const double ptLat2,int pos=1);
//<2F><><EFBFBD><EFBFBD>:<3A><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD>ͷ<EFBFBD>λ
void DrawDistLabel(long drawLayerID,const double pts[][2], const int ptNum,int pos=1);
void DrawDistLebel(long drawLayerID,const PtStruct *pts, const int ptNum);
afx_msg void OnMenuEntryPoint();
afx_msg void OnMenuPlotdemArea();
//<2F><><EFBFBD>ǵ<EFBFBD><C7B5>Ի<EFBFBD><D4BB><EFBFBD>
CDlgMarker m_dlgMarker;
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3>ı<EFBFBD>CursorMode
afx_msg LRESULT OnSetMapCursorMode(WPARAM wParam, LPARAM lParam);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1>ǵ<EFBFBD>
afx_msg LRESULT OnDrawMarker(WPARAM wParam, LPARAM lParam);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>վ<EFBFBD><D5BE><EFBFBD><EFBFBD>
afx_msg void OnMenuClearGCS();
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʾADS<44>ɻ<EFBFBD><C9BB><EFBFBD>Ϣ
bool m_bEnableShowADSB;
afx_msg void OnMenuADSB();
bool m_bWithin100km_ADS[MAX_PLANE_NUM_ADS];
double m_dLon_ADS[MAX_PLANE_NUM_ADS];
double m_dLat_ADS[MAX_PLANE_NUM_ADS];
double m_dYaw_ADS[MAX_PLANE_NUM_ADS];
CString m_strPlaneName_ADS[MAX_PLANE_NUM_ADS];
CString m_strColor_ADS[MAX_PLANE_NUM_ADS];
long m_fontColor_ADS[MAX_PLANE_NUM_ADS];
int m_iCurrentADSid;
int m_iTotalADSnum;
UINT TimerID_Draw; //<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒɻ<C6B7>
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD>
afx_msg LRESULT OnTimerDrawUAV(WPARAM wParam, LPARAM lParam);
afx_msg void OnShowLine6();
afx_msg void OnUpdateShowLine6(CCmdUI *pCmdUI);
afx_msg void OnShowLine7();
afx_msg void OnUpdateShowLine7(CCmdUI *pCmdUI);
afx_msg void OnShowLine8();
afx_msg void OnUpdateShowLine8(CCmdUI *pCmdUI);
afx_msg void OnBindline6();
afx_msg void OnBindline7();
afx_msg void OnBindline8();
afx_msg void OnShowLine9();
afx_msg void OnUpdateShowLine9(CCmdUI *pCmdUI);
afx_msg void OnShowLine10();
afx_msg void OnUpdateShowLine10(CCmdUI *pCmdUI);
afx_msg void OnBindline9();
afx_msg void OnBindline10();
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_GISDLG_H__C9D2192D_FC93_4663_863B_24AB8906C0A2__INCLUDED_)