|
|
@ -646,7 +646,7 @@ BOOL CGISDlg::OnInitDialog()
|
|
|
|
|
|
|
|
|
|
|
|
//测试
|
|
|
|
//测试
|
|
|
|
m_rcgisSmallArea = m_rcGISArea;
|
|
|
|
m_rcgisSmallArea = m_rcGISArea;
|
|
|
|
m_rcgisSmallArea.top = 24;
|
|
|
|
m_rcgisSmallArea.top = 24;
|
|
|
|
|
|
|
|
|
|
|
|
//工具栏高度
|
|
|
|
//工具栏高度
|
|
|
|
m_toolbarHeight = m_rcgisSmallArea.top;
|
|
|
|
m_toolbarHeight = m_rcgisSmallArea.top;
|
|
|
@ -1539,6 +1539,7 @@ void CGISDlg::OnShowRMenu()
|
|
|
|
// 获取子菜单
|
|
|
|
// 获取子菜单
|
|
|
|
CMenu* pSubMenu = menu.GetSubMenu(0); // 第一个子菜单
|
|
|
|
CMenu* pSubMenu = menu.GetSubMenu(0); // 第一个子菜单
|
|
|
|
//int nn = pSubMenu->GetMenuItemCount();
|
|
|
|
//int nn = pSubMenu->GetMenuItemCount();
|
|
|
|
|
|
|
|
|
|
|
|
if (pSubMenu)
|
|
|
|
if (pSubMenu)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
pSubMenu->ModifyMenu(5, MF_BYPOSITION | MF_DISABLED | MF_GRAYED); //隐藏高程分析
|
|
|
|
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
|
|
|
|
m_ImageList.Create(24, 24, ILC_COLOR24|ILC_MASK, 0, 0); //创建Image List
|
|
|
|
|
|
|
|
|
|
|
|
CRect rcToolBar;
|
|
|
|
CRect rcToolBar;
|
|
|
|
/*rcToolBar.top = m_rcGISArea.top;
|
|
|
|
/*
|
|
|
|
|
|
|
|
rcToolBar.top = m_rcGISArea.top;
|
|
|
|
rcToolBar.left = m_rcGISArea.right-24;
|
|
|
|
rcToolBar.left = m_rcGISArea.right-24;
|
|
|
|
rcToolBar.bottom = m_rcGISArea.bottom;
|
|
|
|
rcToolBar.bottom = m_rcGISArea.bottom;
|
|
|
|
rcToolBar.right = m_rcGISArea.right;*/
|
|
|
|
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 |*/ 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.Create(TBSTYLE_FLAT | CCS_TOP | WS_VISIBLE | /*WS_BORDER |*/ TBSTYLE_TOOLTIPS, rcToolBar, this, IDR_TOOLBAR1); //创建Toolbar Control
|
|
|
|
|
|
|
|
|
|
|
|
m_ToolBar.SetBitmapSize(CSize(24, 24));
|
|
|
|
m_ToolBar.SetBitmapSize(CSize(24, 24));
|
|
|
|
|
|
|
|
|
|
|
|
int buttonItems = 14;
|
|
|
|
int buttonItems = 14;
|
|
|
|
|
|
|
|
|
|
|
|
int i;
|
|
|
|
int i;
|
|
|
|
|
|
|
|
|
|
|
|
for(i=0; i<buttonItems; i++)
|
|
|
|
for(i=0; i<buttonItems; i++)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
bm.LoadBitmap(Resource[i]);
|
|
|
|
bm.LoadBitmap(Resource[i]);
|
|
|
@ -4736,21 +4735,20 @@ void CGISDlg::SetFlyLineShowStatus(const int lineID)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
TCHAR filter[500]=_T("航线文件(*.txt)\0*.txt\0)");
|
|
|
|
TCHAR filter[500]=_T("航线文件(*.txt)\0*.txt\0)");
|
|
|
|
|
|
|
|
|
|
|
|
CFileDialog LineRouteDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, filter, NULL);
|
|
|
|
CFileDialog LineRouteDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, filter, NULL);
|
|
|
|
/*LineRouteDlg.m_ofn.lpstrInitialDir = strRouteFileDir;*/
|
|
|
|
//LineRouteDlg.m_ofn.lpstrInitialDir = strRouteFileDir;
|
|
|
|
LineRouteDlg.m_ofn.lpstrFilter="txt(*.txt)\0*.txt";
|
|
|
|
LineRouteDlg.m_ofn.lpstrFilter="txt(*.txt)\0*.txt";
|
|
|
|
LineRouteDlg.m_ofn.lpstrTitle = "选择显示最新生成的航线";
|
|
|
|
LineRouteDlg.m_ofn.lpstrTitle = "选择显示最新生成的航线";
|
|
|
|
if (LineRouteDlg.DoModal() == IDOK) //用户单击OK按钮中止对话框的返回值
|
|
|
|
if (LineRouteDlg.DoModal() == IDOK) //用户单击OK按钮中止对话框的返回值
|
|
|
|
{
|
|
|
|
{
|
|
|
|
CString str = LineRouteDlg.GetPathName(); //获取文件路径名
|
|
|
|
CString str = LineRouteDlg.GetPathName(); //获取文件路径名
|
|
|
|
OnShowGivenLine(str/*GetFlyLineName(lineID)*/);
|
|
|
|
//OnShowGivenLine(GetFlyLineName(lineID));
|
|
|
|
|
|
|
|
OnShowGivenLine(str);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -5236,6 +5234,12 @@ void CGISDlg::OnAddpoint() //
|
|
|
|
void CGISDlg::OnEnddesign() //结束编辑
|
|
|
|
void CGISDlg::OnEnddesign() //结束编辑
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// TODO: Add your command handler code here
|
|
|
|
// TODO: Add your command handler code here
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (m_designLinePointNum < 3 && m_designLinePointNum>0)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
BCGPMessageBox("航点数不得少于3!!!");
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//m_bEndSetPoint=TRUE;
|
|
|
|
//m_bEndSetPoint=TRUE;
|
|
|
|
m_bSetPointModel=FALSE;
|
|
|
|
m_bSetPointModel=FALSE;
|
|
|
@ -7287,6 +7291,12 @@ bool CGISDlg::RemovePointInLine(int ptPos,DrawLineDataStruct& backLineDataGroup)
|
|
|
|
// 是否选中线要素,若选中返回航线编号,否则返回-1
|
|
|
|
// 是否选中线要素,若选中返回航线编号,否则返回-1
|
|
|
|
int CGISDlg::IsSelectLine(double* pt)
|
|
|
|
int CGISDlg::IsSelectLine(double* pt)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
float tolerance = 0.001;
|
|
|
|
|
|
|
|
//平板模式增大选中触发范围
|
|
|
|
|
|
|
|
if (g_b981APad)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
tolerance = 0.003;
|
|
|
|
|
|
|
|
}
|
|
|
|
if (m_ShowedLineDataList.size()==0)
|
|
|
|
if (m_ShowedLineDataList.size()==0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
@ -7297,7 +7307,7 @@ int CGISDlg::IsSelectLine(double* pt)
|
|
|
|
std::vector<double> lineX,lineY;
|
|
|
|
std::vector<double> lineX,lineY;
|
|
|
|
DrawLineDataStruct lineData = i->second;
|
|
|
|
DrawLineDataStruct lineData = i->second;
|
|
|
|
TransformToVectorPoints(lineData,lineX,lineY);
|
|
|
|
TransformToVectorPoints(lineData,lineX,lineY);
|
|
|
|
if(topologicalAnalysis.isPointInPolyLine(pt,lineX,lineY))
|
|
|
|
if(topologicalAnalysis.isPointInPolyLine(pt,lineX,lineY,tolerance))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return lineData.lineID;
|
|
|
|
return lineData.lineID;
|
|
|
|
};
|
|
|
|
};
|
|
|
|