diff --git a/DlgMarker.cpp b/DlgMarker.cpp index 32e8b8f..b776a45 100644 --- a/DlgMarker.cpp +++ b/DlgMarker.cpp @@ -545,3 +545,4 @@ void CDlgMarker::SetParentCheck(HTREEITEM item, BOOL bCheck) SetParentCheck(parent, m_treeMarkers.GetCheck(parent)); } + diff --git a/GISControlDlg.rc b/GISControlDlg.rc index baf99ec..2caec7a 100644 --- a/GISControlDlg.rc +++ b/GISControlDlg.rc @@ -490,25 +490,62 @@ END // Bitmap // -IDB_BITMAP_FLYLINE_DESIGN BITMAP "res\\编辑.bmp" -IDB_BITMAP_ZOOMIN BITMAP "res\\放大.bmp" -IDB_BITMAP_ADD_FLYLINE BITMAP "res\\加载弹道数据.bmp" -IDB_BITMAP_ADD_SHPFILE BITMAP "res\\加载矢量数据.bmp" -IDB_BITMAP_ADD_IMGFILE BITMAP "res\\加载影像数据.bmp" -IDB_BITMAP_RULER BITMAP "res\\清除航迹.bmp" -IDB_BITMAP_FULLSCREEN BITMAP "res\\全图.bmp" -IDB_BITMAP_DELETE_LAYER BITMAP "res\\删除图层.bmp" -IDB_BITMAP_ZOOMOUT BITMAP "res\\缩小.bmp" -IDB_BITMAP10 BITMAP "res\\添加文字.bmp" -IDB_BITMAP_LAYER_MANAGE BITMAP "res\\图层管理.bmp" -IDB_BITMAP_SELECT BITMAP "res\\选择.bmp" -IDB_BITMAP_MOVE BITMAP "res\\移动.bmp" -IDB_BITMAP14 BITMAP "res\\鹰眼图.bmp" -IDB_BITMAP_XY BITMAP "res\\坐标.bmp" -IDB_BITMAP_SURVEY BITMAP "res\\测量.bmp" -IDB_BITMAP_PRINT BITMAP "res\\打印.bmp" -IDB_BITMAP_REFRESH BITMAP "res\\刷新.bmp" -ID_STR_ZCW BITMAP "res\\放大.bmp" +IDB_BITMAP_FLYLINE_DESIGN BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\编辑.bmp" +IDB_BITMAP_ZOOMIN BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\放大.bmp" +IDB_BITMAP_ADD_FLYLINE BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\加载弹道数据.bmp" +IDB_BITMAP_ADD_SHPFILE BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\加载矢量数据.bmp" +IDB_BITMAP_ADD_IMGFILE BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\加载影像数据.bmp" +IDB_BITMAP_RULER BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\清除航迹.bmp" +IDB_BITMAP_FULLSCREEN BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\全图.bmp" +IDB_BITMAP_DELETE_LAYER BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\删除图层.bmp" +IDB_BITMAP_ZOOMOUT BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\缩小.bmp" +IDB_BITMAP10 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\添加文字.bmp" +IDB_BITMAP_LAYER_MANAGE BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\图层管理.bmp" +IDB_BITMAP_SELECT BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\选择.bmp" +IDB_BITMAP_MOVE BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\移动.bmp" +IDB_BITMAP14 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\鹰眼图.bmp" +IDB_BITMAP_XY BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\坐标.bmp" +IDB_BITMAP_SURVEY BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\测量.bmp" +IDB_BITMAP_PRINT BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\打印.bmp" +IDB_BITMAP_REFRESH BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\刷新.bmp" +ID_STR_ZCW BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\放大.bmp" +IDB_BITMAP3 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\编辑.bmp" +IDB_BITMAP4 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\测量.bmp" +IDB_BITMAP5 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\打印.bmp" +IDB_BITMAP6 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\加载弹道数据.bmp" +IDB_BITMAP7 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\加载矢量数据.bmp" +IDB_BITMAP8 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\加载影像数据.bmp" +IDB_BITMAP9 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\清除航迹.bmp" +IDB_BITMAP11 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\全图.bmp" +IDB_BITMAP12 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\删除图层.bmp" +IDB_BITMAP13 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\刷新.bmp" +IDB_BITMAP15 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\缩小.bmp" +IDB_BITMAP16 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\添加文字.bmp" +IDB_BITMAP17 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\图层管理.bmp" +IDB_BITMAP18 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\选择.bmp" +IDB_BITMAP19 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\移动.bmp" +IDB_BITMAP20 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\鹰眼图.bmp" +IDB_BITMAP21 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\坐标.bmp" +IDB_BITMAP22 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\放大.bmp" +IDB_BITMAP23 BITMAP "C:\\Users\\DELL\\Desktop\\bmp32\\加载弹道数据.bmp" +IDB_BITMAP24 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\编辑.bmp" +IDB_BITMAP25 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\测量.bmp" +IDB_BITMAP26 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\打印.bmp" +IDB_BITMAP27 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\加载弹道数据.bmp" +IDB_BITMAP28 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\加载矢量数据.bmp" +IDB_BITMAP29 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\加载影像数据.bmp" +IDB_BITMAP30 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\清除航迹.bmp" +IDB_BITMAP31 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\全图.bmp" +IDB_BITMAP32 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\删除图层.bmp" +IDB_BITMAP33 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\刷新.bmp" +IDB_BITMAP34 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\缩小.bmp" +IDB_BITMAP35 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\添加文字.bmp" +IDB_BITMAP36 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\图层管理.bmp" +IDB_BITMAP37 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\选择.bmp" +IDB_BITMAP38 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\移动.bmp" +IDB_BITMAP39 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\鹰眼图.bmp" +IDB_BITMAP40 BITMAP "C:\\GCS-JE20230622-981A\\GISControlDlg\\res\\坐标.bmp" +IDB_BITMAP41 BITMAP "res\\放大.bmp" ///////////////////////////////////////////////////////////////////////////// // diff --git a/GISControlDlg.vcxproj b/GISControlDlg.vcxproj index 837ea0e..43348d4 100644 --- a/GISControlDlg.vcxproj +++ b/GISControlDlg.vcxproj @@ -333,6 +333,7 @@ + @@ -340,6 +341,7 @@ + @@ -358,7 +360,6 @@ - diff --git a/GISControlDlg.vcxproj.filters b/GISControlDlg.vcxproj.filters index 9adca69..c37c0ac 100644 --- a/GISControlDlg.vcxproj.filters +++ b/GISControlDlg.vcxproj.filters @@ -194,68 +194,71 @@ Resource Files - + + Resource Files - + Resource Files - + Resource Files - + Resource Files - + Resource Files - + Resource Files - + Resource Files - + Resource Files - + Resource Files - + Resource Files - + Resource Files - + Resource Files - + Resource Files - + Resource Files - + Resource Files - + + Resource Files + + Resource Files Resource Files - + Resource Files - - + Resource Files - + Resource Files - + Resource Files diff --git a/GISDlg.cpp b/GISDlg.cpp index 3316bbb..e95e0e4 100644 --- a/GISDlg.cpp +++ b/GISDlg.cpp @@ -646,7 +646,7 @@ BOOL CGISDlg::OnInitDialog() //测试 m_rcgisSmallArea = m_rcGISArea; - m_rcgisSmallArea.top = 24; + m_rcgisSmallArea.top = 24; //工具栏高度 m_toolbarHeight = m_rcgisSmallArea.top; @@ -1539,6 +1539,7 @@ void CGISDlg::OnShowRMenu() // 获取子菜单 CMenu* pSubMenu = menu.GetSubMenu(0); // 第一个子菜单 //int nn = pSubMenu->GetMenuItemCount(); + if (pSubMenu) { pSubMenu->ModifyMenu(5, MF_BYPOSITION | MF_DISABLED | MF_GRAYED); //隐藏高程分析 @@ -4461,21 +4462,19 @@ void CGISDlg::CreateFloatToolBar() m_ImageList.Create(24, 24, ILC_COLOR24|ILC_MASK, 0, 0); //创建Image List - CRect rcToolBar; - /*rcToolBar.top = m_rcGISArea.top; +/* + rcToolBar.top = m_rcGISArea.top; rcToolBar.left = m_rcGISArea.right-24; rcToolBar.bottom = m_rcGISArea.bottom; rcToolBar.right = m_rcGISArea.right;*/ //m_ToolBar.Create(TBSTYLE_FLAT | CCS_TOP | WS_VISIBLE | /*WS_BORDER |*/ CCS_ADJUSTABLE | TBSTYLE_TOOLTIPS, rcToolBar, this, IDR_TOOLBAR1); //创建Toolbar Control m_ToolBar.Create(TBSTYLE_FLAT | CCS_TOP | WS_VISIBLE | /*WS_BORDER |*/ TBSTYLE_TOOLTIPS, rcToolBar, this, IDR_TOOLBAR1); //创建Toolbar Control - m_ToolBar.SetBitmapSize(CSize(24, 24)); int buttonItems = 14; int i; - for(i=0; i0) + { + BCGPMessageBox("航点数不得少于3!!!"); + return; + } //m_bEndSetPoint=TRUE; m_bSetPointModel=FALSE; @@ -7287,6 +7291,12 @@ bool CGISDlg::RemovePointInLine(int ptPos,DrawLineDataStruct& backLineDataGroup) // 是否选中线要素,若选中返回航线编号,否则返回-1 int CGISDlg::IsSelectLine(double* pt) { + float tolerance = 0.001; + //平板模式增大选中触发范围 + if (g_b981APad) + { + tolerance = 0.003; + } if (m_ShowedLineDataList.size()==0) { return false; @@ -7297,7 +7307,7 @@ int CGISDlg::IsSelectLine(double* pt) std::vector lineX,lineY; DrawLineDataStruct lineData = i->second; TransformToVectorPoints(lineData,lineX,lineY); - if(topologicalAnalysis.isPointInPolyLine(pt,lineX,lineY)) + if(topologicalAnalysis.isPointInPolyLine(pt,lineX,lineY,tolerance)) { return lineData.lineID; }; diff --git a/LonLatDlg.cpp b/LonLatDlg.cpp index 4b07326..c106d11 100644 --- a/LonLatDlg.cpp +++ b/LonLatDlg.cpp @@ -6,6 +6,7 @@ //#include "afxdialogex.h" #include "Globe.h" #include "afxwin.h" +#include "afxdialogex.h" // CLonLatDlg 对话框 @@ -32,6 +33,7 @@ void CLonLatDlg::DoDataExchange(CDataExchange* pDX) DDX_Control(pDX, IDC_EDIT_LON, m_lon_edit); DDX_Control(pDX, IDC_EDIT_LAT, m_lat_edit); DDX_Control(pDX, IDC_COMBO_TYPE_XY, m_coord_type); + DDX_Control(pDX, IDC_CONFIRM_BTN, m_BtnOK); } diff --git a/LonLatDlg.h b/LonLatDlg.h index 66eb2ee..b3074b8 100644 --- a/LonLatDlg.h +++ b/LonLatDlg.h @@ -14,7 +14,6 @@ public: virtual ~CLonLatDlg(); bool GetAutoEditStatus(); - //输入经度、纬度,并显示出来 //输入:经度lon,纬度lat void SetLonLatInfo(const double lon, const double lat); @@ -52,4 +51,5 @@ public: afx_msg void OnCbnSelchangeComboType(); // 坐标类型 CComboBox m_coord_type; + CButton m_BtnOK; }; diff --git a/TopologicalAnalysis.cpp b/TopologicalAnalysis.cpp index fe2f4bf..d42d155 100644 --- a/TopologicalAnalysis.cpp +++ b/TopologicalAnalysis.cpp @@ -12,7 +12,7 @@ TopologicalAnalysis::~TopologicalAnalysis(void) } -bool TopologicalAnalysis::isPointInLine(double* point, double* startPoint, double* endPoint) +bool TopologicalAnalysis::isPointInLine(double* point, double* startPoint, double* endPoint,float tolerance) { double AX = startPoint[0]; double AY = startPoint[1]; @@ -32,7 +32,7 @@ bool TopologicalAnalysis::isPointInLine(double* point, double* startPoint, doubl double PA = sqrt(dx_PA*dx_PA + dy_PA*dy_PA); double PB = sqrt(dx_PB*dx_PB + dy_PB*dy_PB); double rate = abs(PA + PB - AB) / AB; - if (rate < 0.001) + if (rate < tolerance) { return true; } @@ -43,7 +43,7 @@ bool TopologicalAnalysis::isPointInLine(double* point, double* startPoint, doubl } //判断线是否在折线上 -int TopologicalAnalysis::isPointInPolyLine(double* point, vector& lineX,vector& lineY) +int TopologicalAnalysis::isPointInPolyLine(double* point, vector& lineX,vector& lineY,float tolerance) { int lineNum = lineX.size(); double startPoint[2],endPoint[2]; @@ -53,7 +53,7 @@ int TopologicalAnalysis::isPointInPolyLine(double* point, vector& lineX, startPoint[1] = lineY.at(i); endPoint[0] = lineX.at(i+1); endPoint[1] = lineY.at(i+1); - bool b_in = isPointInLine(point,startPoint,endPoint); + bool b_in = isPointInLine(point,startPoint,endPoint,tolerance); if(b_in) { return (i+1); @@ -64,7 +64,7 @@ int TopologicalAnalysis::isPointInPolyLine(double* point, vector& lineX, startPoint[1] = lineY.at(lineNum-1); endPoint[0] = lineX.at(0); endPoint[1] = lineY.at(0); - bool b_end = isPointInLine(point,startPoint,endPoint); + bool b_end = isPointInLine(point,startPoint,endPoint,tolerance); if (b_end) { return lineNum; diff --git a/TopologicalAnalysis.h b/TopologicalAnalysis.h index ea812d0..79acd10 100644 --- a/TopologicalAnalysis.h +++ b/TopologicalAnalysis.h @@ -9,10 +9,10 @@ public: TopologicalAnalysis(void); ~TopologicalAnalysis(void); - bool isPointInLine(double* point, double* startPoint, double* endPoint); + bool isPointInLine(double* point, double* startPoint, double* endPoint,float tolerance=0.001); // 判断点是否在线上 - int isPointInPolyLine(double* point, vector& lineX,vector& lineY); + int isPointInPolyLine(double* point, vector& lineX,vector& lineY,float tolerance=0.001); bool isPointInLine(CPoint1 point, CPoint1 startPoint, CPoint1 endPoint); //根据两点求出垂线过第三点的直线的交点 diff --git a/res/GISControlDlg.rc2 b/res/GISControlDlg.rc2 index 23dc028..63186b0 100644 --- a/res/GISControlDlg.rc2 +++ b/res/GISControlDlg.rc2 @@ -1,13 +1,13 @@ -// -// GISCONTROLDLG.RC2 - resources Microsoft Visual C++ does not edit directly -// - -#ifdef APSTUDIO_INVOKED - #error this file is not editable by Microsoft Visual C++ -#endif //APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// Add manually edited resources here... - -///////////////////////////////////////////////////////////////////////////// +// +// GISCONTROLDLG.RC2 - resources Microsoft Visual C++ does not edit directly +// + +#ifdef APSTUDIO_INVOKED + #error this file is not editable by Microsoft Visual C++ +#endif //APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// Add manually edited resources here... + +///////////////////////////////////////////////////////////////////////////// diff --git a/res/Thumbs.db b/res/Thumbs.db new file mode 100644 index 0000000..01aacda Binary files /dev/null and b/res/Thumbs.db differ diff --git a/resource.h b/resource.h index d8350f3..2640f0a 100644 --- a/resource.h +++ b/resource.h @@ -164,19 +164,37 @@ #define IDD_DIALOG_DEMALT 1074 #define IDD_DLG_MODIFY_POINT 1075 #define IDD_DIALOG_EDITINGSAVE 1077 +#define IDB_BITMAP3 1096 +#define IDB_BITMAP4 1097 +#define IDB_BITMAP5 1098 +#define IDB_BITMAP6 1100 +#define IDB_BITMAP7 1101 +#define IDB_BITMAP8 1102 +#define IDB_BITMAP9 1103 +#define IDB_BITMAP11 1104 #define IDC_BUTTON_SAVEIMAGE 1105 +#define IDB_BITMAP12 1105 #define IDC_BUTTON_LOADROUTE 1106 +#define IDB_BITMAP13 1106 #define IDC_BUTTON_STOPROUTE 1107 +#define IDB_BITMAP15 1107 #define IDC_BUTTON_DRAWPOINT 1108 +#define IDB_BITMAP16 1108 #define IDC_BUTTON_SELECTPTINMAP 1109 +#define IDB_BITMAP17 1109 #define IDC_BUTTON_GETALTVALUE 1110 +#define IDB_BITMAP18 1110 #define IDC_BUTTON_REGIONANAYLSIS 1111 +#define IDB_BITMAP19 1111 #define IDC_CHECK_REALTIME 1112 +#define IDB_BITMAP20 1112 #define IDC_BUTTON_REGIONDELETE 1113 +#define IDB_BITMAP21 1113 #define IDC_BUTTON_DRAWFIGHT 1114 #define IDC_BUTTON_CLEARRESULT 1115 #define IDC_CHECK_RT_LIGHT 1116 #define IDC_BUTTON_CONTOURLINE 1117 +#define IDB_BITMAP22 1117 #define IDC_GAUGE_PROMPT_LINE 1118 #define IDC_BUTTON_CONTOURDELETE 1119 #define IDC_BUTTON_CLEARLINELAYER 1120 @@ -186,6 +204,25 @@ #define IDC_GAUGE_PROMPT_CONTOUR 1124 #define IDC_BUTTON_DELETEFIGHT 1125 #define IDC_BUTTON_GETDEMREGION 1126 +#define IDB_BITMAP23 1132 +#define IDB_BITMAP24 1133 +#define IDB_BITMAP25 1134 +#define IDB_BITMAP26 1135 +#define IDB_BITMAP27 1137 +#define IDB_BITMAP28 1138 +#define IDB_BITMAP29 1139 +#define IDB_BITMAP30 1140 +#define IDB_BITMAP31 1141 +#define IDB_BITMAP32 1142 +#define IDB_BITMAP33 1143 +#define IDB_BITMAP34 1144 +#define IDB_BITMAP35 1145 +#define IDB_BITMAP36 1146 +#define IDB_BITMAP37 1147 +#define IDB_BITMAP38 1148 +#define IDB_BITMAP39 1149 +#define IDB_BITMAP40 1150 +#define IDB_BITMAP41 1154 #define IDT_GIS_CTRL_BUTTON1 1231 #define IDT_GIS_CTRL_BUTTON2 1232 #define IDT_GIS_CTRL_BUTTON3 1233 @@ -338,7 +375,7 @@ // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 1078 +#define _APS_NEXT_RESOURCE_VALUE 1169 #define _APS_NEXT_COMMAND_VALUE 32911 #define _APS_NEXT_CONTROL_VALUE 1050 #define _APS_NEXT_SYMED_VALUE 1000