|
@@ -1329,6 +1329,13 @@ void MainWindow::onClickXY(double x, double y)
|
|
|
mpLE_SelLon->setText(QString::number(lon,'f',7));
|
|
|
mpLE_SelLat->setText(QString::number(lat,'f',7));
|
|
|
update();
|
|
|
+
|
|
|
+ if(mpCBViewMode->currentIndex() == 1)
|
|
|
+ {
|
|
|
+ UpdateScene_SelectRoadRefGeo();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
void MainWindow::ComboToString(std::string strroadid,QComboBox * pCB)
|
|
@@ -5475,7 +5482,14 @@ void MainWindow::UpdateScene()
|
|
|
mpscene->removeItem(mvectorviewitem.at(i));
|
|
|
delete mvectorviewitem.at(i);
|
|
|
}
|
|
|
+ nsize = mvectorgeoitem.size();
|
|
|
+ for(i=0;i<nsize;i++)
|
|
|
+ {
|
|
|
+ mpscene->removeItem(mvectorgeoitem.at(i));
|
|
|
+ delete mvectorgeoitem.at(i);
|
|
|
+ }
|
|
|
mvectorviewitem.clear();
|
|
|
+ mvectorgeoitem.clear();
|
|
|
|
|
|
nsize = mxodr.GetRoadCount();
|
|
|
|
|
@@ -5493,6 +5507,7 @@ void MainWindow::UpdateScene()
|
|
|
{
|
|
|
continue;
|
|
|
}
|
|
|
+
|
|
|
std::vector<QGraphicsPathItem *> xvectorlanepath = xodrscenfunc::GetRoadLaneItem(&(xvectorrd[i]));
|
|
|
int j;
|
|
|
int ncount = xvectorlanepath.size();
|
|
@@ -5503,6 +5518,7 @@ void MainWindow::UpdateScene()
|
|
|
mpscene->addItem(pitem);
|
|
|
mvectorviewitem.push_back(pitem);
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
for(i=0;i<nsize;i++)
|
|
@@ -5559,10 +5575,53 @@ void MainWindow::UpdateScene()
|
|
|
mvectorviewitem.push_back(pitem);
|
|
|
}
|
|
|
}
|
|
|
+ UpdateScene_SelectRoadRefGeo();
|
|
|
mbRefresh = false;
|
|
|
// mpscene->addLine(0,0,1000,100);
|
|
|
}
|
|
|
|
|
|
+void MainWindow::UpdateScene_SelectRoadRefGeo()
|
|
|
+{
|
|
|
+
|
|
|
+ int i;
|
|
|
+ int nsize;
|
|
|
+ nsize = mvectorgeoitem.size();
|
|
|
+ for(i=0;i<nsize;i++)
|
|
|
+ {
|
|
|
+ mpscene->removeItem(mvectorgeoitem.at(i));
|
|
|
+ delete mvectorgeoitem.at(i);
|
|
|
+ }
|
|
|
+ mvectorgeoitem.clear();
|
|
|
+
|
|
|
+ if(mbHideSelected)return;
|
|
|
+
|
|
|
+ int selid = mpCBRoad->currentText().toInt();
|
|
|
+ nsize = mxodr.GetRoadCount();
|
|
|
+ for(i=0;i<nsize;i++)
|
|
|
+ {
|
|
|
+ if(IsHidenRoad(atoi(mxodr.GetRoad(i)->GetRoadId().data())))
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if(selid == atoi(mxodr.GetRoad(i)->GetRoadId().data()))
|
|
|
+ {
|
|
|
+ RoadDigit xrd(mxodr.GetRoad(i),5.0);
|
|
|
+ std::vector<QGraphicsPathItem *> xvectorlanepath = xodrscenfunc::GetRoadRefGeoItem(&(xrd));
|
|
|
+ int j;
|
|
|
+ int ncount = xvectorlanepath.size();
|
|
|
+ for(j=0;j<ncount;j++)
|
|
|
+ {
|
|
|
+ QGraphicsPathItem * pitem = xvectorlanepath[j];
|
|
|
+ pitem->setPos(mfViewMoveX +VIEW_WIDTH/2,-mfViewMoveY+VIEW_HEIGHT/2);
|
|
|
+ mpscene->addItem(pitem);
|
|
|
+ mvectorgeoitem.push_back(pitem);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
void MainWindow::onViewModeChange(int index)
|
|
|
{
|
|
@@ -5693,3 +5752,18 @@ bool MainWindow::IsHidenRoad(int nroadid)
|
|
|
}
|
|
|
return bIsHiden;
|
|
|
}
|
|
|
+
|
|
|
+void MainWindow::on_actionHide_Selected_triggered()
|
|
|
+{
|
|
|
+ if(mbHideSelected)
|
|
|
+ {
|
|
|
+ mbHideSelected = false;
|
|
|
+ ui->actionHide_Selected->setText("Hide Selected");
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ mbHideSelected = true;
|
|
|
+ ui->actionHide_Selected->setText("Show Selected");
|
|
|
+ }
|
|
|
+ UpdateScene_SelectRoadRefGeo();
|
|
|
+}
|