100 if (selected && (
myViewNet->getViewParent()->getGNEAppWindows()->getLockMenuCommands().menuCheckLockSelectedElements->getCheck() == TRUE)) {
241 if (ACs.size() > 0) {
243 for (
const auto& AC : ACs) {
280const std::unordered_set<GNEAttributeCarrier*>&
335const std::unordered_set<GNEAttributeCarrier*>&
345 for (
auto& AC : copy) {
346 AC->unmarkForDrawingFront();
430 std::vector<const GUIGlObject*> glElements;
432 if (glElement->getType() != exception) {
433 glElements.push_back(glElement);
442 if (
myViewNet->getEditModes().isCurrentSupermodeNetwork()) {
445 }
else if (
myViewNet->getEditModes().isCurrentSupermodeDemand()) {
449 }
else if (
myViewNet->getEditModes().isCurrentSupermodeData()) {
459 std::vector<const GUIGlObject*> junctions;
461 junctions.push_back(junction);
470 std::vector<const GUIGlObject*> edges;
472 edges.push_back(edge);
481 std::vector<const GUIGlObject*> lanes;
483 lanes.push_back(lane);
492 std::vector<const GUIGlObject*> connections;
494 connections.push_back(connection);
503 std::vector<const GUIGlObject*> crossings;
505 crossings.push_back(crossing);
514 std::vector<const GUIGlObject*> walkingAreas;
516 walkingAreas.push_back(walkingArea);
525 std::vector<const GUIGlObject*> shapes;
527 shapes.push_back(poly);
530 shapes.push_back(
POI);
539 std::vector<const GUIGlObject*> additionals;
543 }
else if (!includeTAZs && (additional->getType() ==
GLO_TAZ)) {
546 additionals.push_back(additional);
556 std::vector<const GUIGlObject*> networkElements;
557 for (
const auto& networkElement :
myViewObjects.networkElements) {
558 networkElements.push_back(networkElement);
567 std::vector<const GUIGlObject*> demandElements;
568 for (
const auto& demandElement :
myViewObjects.demandElements) {
569 if (!includeRoutes && (demandElement->getType() ==
GLO_ROUTE)) {
572 demandElements.push_back(demandElement);
582 std::vector<const GUIGlObject*> datadElements;
584 datadElements.push_back(datadElement);
586 for (
const auto& datadElement :
myViewObjects.edgeRelDatas) {
587 datadElements.push_back(datadElement);
590 datadElements.push_back(datadElement);
599 std::vector<const GUIGlObject*> GUIGlObjects;
607 for (
const auto& ignoredType : ignoreFilter) {
608 auto it = GUIGlObjects.begin();
609 while (it != GUIGlObjects.end()) {
610 if ((*it)->getType() == ignoredType) {
611 it = GUIGlObjects.erase(it);
716 if (!(lane->isAttributeCarrierSelected() || lane->getParentEdge()->isAttributeCarrierSelected()) ||
717 !
myViewNet->getViewParent()->getGNEAppWindows()->getLockMenuCommands().menuCheckLockSelectedElements->getCheck()) {
729const std::vector<GNELane*>&
835const std::vector<GUIGlObject*>&
841const std::vector<GNEAttributeCarrier*>&
847const std::vector<GNEJunction*>&
853const std::vector<GNEEdge*>&
859const std::vector<GNETAZ*>&
865const std::vector<GNEAdditional*>&
871const std::vector<GNEDemandElement*>&
877const std::vector<const GNEJunction*>&
936 for (
const auto&
object : objects) {
940 if (*itGlObjects ==
object) {
949 if ((*itACs)->getGUIGlObject() ==
object) {
958 if ((*itNetworkElements)->getGUIGlObject() ==
object) {
967 if ((*itAdditionals)->getGUIGlObject() ==
object) {
976 if ((*itDemandElements)->getGUIGlObject() ==
object) {
985 if ((*itGenericDatas)->getGUIGlObject() ==
object) {
994 if ((*itJunctions)->getGUIGlObject() ==
object) {
995 itJunctions =
junctions.erase(itJunctions);
1001 auto itEdges =
edges.begin();
1002 while (itEdges !=
edges.end()) {
1003 if ((*itEdges)->getGUIGlObject() ==
object) {
1004 itEdges =
edges.erase(itEdges);
1010 auto itLanes =
lanes.begin();
1011 while (itLanes !=
lanes.end()) {
1012 if ((*itLanes)->getGUIGlObject() ==
object) {
1013 itLanes =
lanes.erase(itLanes);
1020 while (itCrossings !=
crossings.end()) {
1021 if ((*itCrossings)->getGUIGlObject() ==
object) {
1022 itCrossings =
crossings.erase(itCrossings);
1030 if ((*itWalkingAreas)->getGUIGlObject() ==
object) {
1039 if ((*itConnections)->getGUIGlObject() ==
object) {
1048 if ((*itInternalLanes)->getGUIGlObject() ==
object) {
1055 auto itTAZs =
TAZs.begin();
1056 while (itTAZs !=
TAZs.end()) {
1057 if ((*itTAZs)->getGUIGlObject() ==
object) {
1058 itTAZs =
TAZs.erase(itTAZs);
1064 auto itPOIs =
POIs.begin();
1065 while (itPOIs !=
POIs.end()) {
1066 if ((*itPOIs)->getGUIGlObject() ==
object) {
1067 itPOIs =
POIs.erase(itPOIs);
1073 auto itPolys =
polys.begin();
1074 while (itPolys !=
polys.end()) {
1075 if ((*itPolys)->getGUIGlObject() ==
object) {
1076 itPolys =
polys.erase(itPolys);
1083 while (itEdgeDatas !=
edgeDatas.end()) {
1084 if ((*itEdgeDatas)->getGUIGlObject() ==
object) {
1085 itEdgeDatas =
edgeDatas.erase(itEdgeDatas);
1093 if ((*itEdgeRelDatas)->getGUIGlObject() ==
object) {
1102 if ((*itTAZRelDatas)->getGUIGlObject() ==
object) {
1115 switch (glObject->
getType()) {
1118 auto junction =
myViewNet->getNet()->getAttributeCarriers()->retrieveJunction(glObject->
getMicrosimID());
1120 if (junction->isMarkedForDrawingFront()) {
1128 container.
junctions.push_back(junction);
1139 if (edge->isMarkedForDrawingFront()) {
1141 container.
edges.insert(container.
edges.begin(), edge);
1147 container.
edges.push_back(edge);
1156 auto lane =
myViewNet->getNet()->getAttributeCarriers()->retrieveLane(glObject);
1158 if (lane->isMarkedForDrawingFront()) {
1160 container.
lanes.insert(container.
lanes.begin(), lane);
1166 container.
lanes.push_back(lane);
1175 auto crossing =
myViewNet->getNet()->getAttributeCarriers()->retrieveCrossing(glObject);
1177 if (crossing->isMarkedForDrawingFront()) {
1185 container.
crossings.push_back(crossing);
1194 auto walkingArea =
myViewNet->getNet()->getAttributeCarriers()->retrieveWalkingArea(glObject);
1196 if (walkingArea->isMarkedForDrawingFront()) {
1213 auto connection =
myViewNet->getNet()->getAttributeCarriers()->retrieveConnection(glObject);
1215 if (connection->isMarkedForDrawingFront()) {
1232 auto internalLane =
myViewNet->getNet()->getAttributeCarriers()->retrieveInternalLane(glObject);
1234 if (internalLane->isMarkedForDrawingFront()) {
1256 auto additionalElement =
myViewNet->getNet()->getAttributeCarriers()->retrieveAdditional(glObject,
false);
1257 if (additionalElement) {
1259 if (additionalElement->isMarkedForDrawingFront()) {
1266 container.
additionals.push_back(additionalElement);
1281 if (
POI->isMarkedForDrawingFront()) {
1283 container.
POIs.insert(container.
POIs.begin(),
POI);
1286 container.
POIs.push_back(
POI);
1292 if (poly->isMarkedForDrawingFront()) {
1294 container.
polys.insert(container.
polys.begin(), poly);
1297 container.
polys.push_back(poly);
1310 if (
TAZ->isMarkedForDrawingFront()) {
1312 container.
TAZs.insert(container.
TAZs.begin(),
TAZ);
1315 container.
TAZs.push_back(
TAZ);
1325 if (demandElement) {
1345 switch (glObject->
getType()) {
1350 if (edgeData->isMarkedForDrawingFront()) {
1358 container.
edgeDatas.push_back(edgeData);
1369 if (edgeRelData->isMarkedForDrawingFront()) {
1388 if (TAZRelData->isMarkedForDrawingFront()) {
1412 for (
const auto& glObjectLayer : objectsContainer) {
1413 for (
const auto& glObject : glObjectLayer.second) {
1478 return (
myEventInfo->state & LEFTBUTTONMASK) != 0;
1488 return (
myEventInfo->state & RIGHTBUTTONMASK) != 0;
1510 if (
myViewNet->myViewObjectsSelector.getJunctionFront() && (
myViewNet->myViewObjectsSelector.getJunctionFront() == editedElement)) {
1512 GNEMoveOperation* moveOperation =
myViewNet->myViewObjectsSelector.getJunctionFront()->getMoveElement()->getMoveOperation();
1514 if (moveOperation) {
1520 }
else if (
myViewNet->myViewObjectsSelector.getLaneFront() && (
myViewNet->myViewObjectsSelector.getLaneFront() == editedElement)) {
1522 GNEMoveOperation* moveOperation =
myViewNet->myViewObjectsSelector.getLaneFront()->getMoveElement()->getMoveOperation();
1524 if (moveOperation) {
1530 }
else if (
myViewNet->myViewObjectsSelector.getCrossingFront() && (
myViewNet->myViewObjectsSelector.getCrossingFront() == editedElement)) {
1532 GNEMoveOperation* moveOperation =
myViewNet->myViewObjectsSelector.getCrossingFront()->getMoveElement()->getMoveOperation();
1534 if (moveOperation) {
1540 }
else if (
myViewNet->myViewObjectsSelector.getConnectionFront() && (
myViewNet->myViewObjectsSelector.getConnectionFront() == editedElement)) {
1542 GNEMoveOperation* moveOperation =
myViewNet->myViewObjectsSelector.getConnectionFront()->getMoveElement()->getMoveOperation();
1544 if (moveOperation) {
1550 }
else if (
myViewNet->myViewObjectsSelector.getWalkingAreaFront() && (
myViewNet->myViewObjectsSelector.getWalkingAreaFront() == editedElement)) {
1567 if (
myViewNet->myViewObjectsSelector.getPolyFront() && (markAC ==
myViewNet->myViewObjectsSelector.getPolyFront())) {
1569 GNEMoveOperation* moveOperation =
myViewNet->myViewObjectsSelector.getPolyFront()->getMoveElement()->getMoveOperation();
1571 if (moveOperation) {
1577 }
else if (
myViewNet->myViewObjectsSelector.getPOIFront() && (markAC ==
myViewNet->myViewObjectsSelector.getPOIFront())) {
1581 if (moveOperation) {
1587 }
else if (
myViewNet->myViewObjectsSelector.getAdditionalFront() && (markAC ==
myViewNet->myViewObjectsSelector.getAdditionalFront()) &&
1588 myViewNet->myViewObjectsSelector.getAdditionalFront()->getMoveElement()) {
1590 GNEMoveOperation* moveOperation =
myViewNet->myViewObjectsSelector.getAdditionalFront()->getMoveElement()->getMoveOperation();
1592 if (moveOperation) {
1598 }
else if (
myViewNet->myViewObjectsSelector.getJunctionFront() && (markAC ==
myViewNet->myViewObjectsSelector.getJunctionFront())) {
1602 GNEMoveOperation* moveOperation =
myViewNet->myViewObjectsSelector.getEdgeFront()->getMoveElement()->getMoveOperation();
1604 if (moveOperation) {
1612 GNEMoveOperation* moveOperation =
myViewNet->myViewObjectsSelector.getJunctionFront()->getMoveElement()->getMoveOperation();
1614 if (moveOperation) {
1621 }
else if (
myViewNet->myViewObjectsSelector.getEdgeFront() && (markAC ==
myViewNet->myViewObjectsSelector.getEdgeFront())) {
1623 if (
myViewNet->myMouseButtonKeyPressed.shiftKeyPressed()) {
1630 GNEMoveOperation* moveOperation =
myViewNet->myViewObjectsSelector.getEdgeFront()->getMoveElement()->getMoveOperation();
1632 if (moveOperation) {
1639 }
else if (
myViewNet->myViewObjectsSelector.getLaneFront() && (markAC ==
myViewNet->myViewObjectsSelector.getLaneFront())) {
1641 GNEMoveOperation* moveOperation =
myViewNet->myViewObjectsSelector.getLaneFront()->getMoveElement()->getMoveOperation();
1643 if (moveOperation) {
1663 if (
myViewNet->myViewObjectsSelector.getDemandElementFront() && (markAC ==
myViewNet->myViewObjectsSelector.getDemandElementFront() &&
1664 myViewNet->myViewObjectsSelector.getDemandElementFront()->getMoveElement())) {
1666 GNEMoveOperation* moveOperation =
myViewNet->myViewObjectsSelector.getDemandElementFront()->getMoveElement()->getMoveOperation();
1668 if (moveOperation) {
1687 if (mouseLeftButtonPressed) {
1736 if (
myViewNet->myNetworkViewOptions.menuCheckMoveElevation->shown() &&
myViewNet->myNetworkViewOptions.menuCheckMoveElevation->amChecked() == TRUE) {
1761 if (
myViewNet->myViewObjectsSelector.getJunctionFront()) {
1763 }
else if (
myViewNet->myViewObjectsSelector.getEdgeFront()) {
1775 if (mouseLeftButtonPressed) {
1789 delete moveOperation;
1809 delete moveOperation;
1854 if (
myViewNet->myNetworkViewOptions.menuCheckMoveElevation->shown() &&
myViewNet->myNetworkViewOptions.menuCheckMoveElevation->amChecked() == TRUE) {
1869 const auto selectedJunctions =
myViewNet->getNet()->getAttributeCarriers()->getSelectedJunctions();
1871 for (
const auto& junction : selectedJunctions) {
1872 moveOperation = junction->getMoveElement()->getMoveOperation();
1873 if (moveOperation) {
1878 const auto selectedEdges =
myViewNet->getNet()->getAttributeCarriers()->getSelectedEdges();
1880 for (
const auto& edge : selectedEdges) {
1881 moveOperation = edge->getMoveElement()->getMoveOperation();
1882 if (moveOperation) {
1892 const auto selectedJunctions =
myViewNet->getNet()->getAttributeCarriers()->getSelectedJunctions();
1894 for (
const auto& junction : selectedJunctions) {
1895 GNEMoveOperation* moveOperation = junction->getMoveElement()->getMoveOperation();
1896 if (moveOperation) {
1908 myEdgeOffset = shape.length2D() - shape.nearest_offset_to_point2D(
myViewNet->getPositionInformation());
1911 const auto selectedEdges =
myViewNet->getNet()->getAttributeCarriers()->getSelectedEdges();
1913 for (
const auto& edge : selectedEdges) {
1914 GNEMoveOperation* moveOperation = edge->getMoveElement()->getMoveOperation();
1916 if (moveOperation) {
2011 myViewNet->myMouseButtonKeyPressed.shiftKeyPressed()) {
2022std::vector<GNEEdge*>
2027 myViewNet->myMouseButtonKeyPressed.shiftKeyPressed()) {
2035 return myViewNet->getViewObjectsSelector().getEdges();
2049 glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
2063 const bool selEdges =
myViewNet->myNetworkViewOptions.selectEdges();
2067 std::vector<GNEAttributeCarrier*> ACsFiltered;
2068 ACsFiltered.reserve(
myViewNet->getViewObjectsSelector().getAttributeCarriers().size());
2069 for (
const auto& AC :
myViewNet->getViewObjectsSelector().getAttributeCarriers()) {
2071 if (!AC->getGUIGlObject()->isGLObjectLocked()) {
2072 const auto tagProperty = AC->getTagProperty();
2073 if (tagProperty->isNetworkElement() || tagProperty->isAdditionalElement()) {
2075 if (((tagProperty->getTag() ==
SUMO_TAG_EDGE) && !selEdges) ||
2079 ACsFiltered.push_back(AC);
2081 }
else if (tagProperty->isDemandElement()) {
2082 ACsFiltered.push_back(AC);
2083 }
else if (tagProperty->isGenericData()) {
2084 ACsFiltered.push_back(AC);
2089 std::vector<GNEAttributeCarrier*> ACToSelect;
2090 std::vector<GNEAttributeCarrier*> ACToUnselect;
2092 ACToSelect.reserve(ACsFiltered.size());
2093 ACToUnselect.reserve(ACsFiltered.size());
2095 const auto modificationMode =
myViewNet->myViewParent->getSelectorFrame()->getModificationModeModul()->getModificationMode();
2098 const auto selectedAC =
myViewNet->getNet()->getAttributeCarriers()->getSelectedAttributeCarriers(
false);
2100 for (
const auto& AC : selectedAC) {
2101 ACToUnselect.push_back(AC);
2105 for (
const auto& AC : ACsFiltered) {
2106 switch (
myViewNet->myViewParent->getSelectorFrame()->getModificationModeModul()->getModificationMode()) {
2108 ACToUnselect.push_back(AC);
2111 if (std::find(ACToUnselect.begin(), ACToUnselect.end(), AC) != ACToUnselect.end()) {
2112 ACToSelect.push_back(AC);
2116 ACToSelect.push_back(AC);
2122 std::vector<GNEEdge*> edgesToSelect;
2124 for (
const auto& AC : ACToSelect) {
2126 edgesToSelect.push_back(
dynamic_cast<GNEEdge*
>(AC));
2130 for (
const auto& edge : edgesToSelect) {
2132 ACToSelect.push_back(edge->getFromJunction());
2133 for (
const auto& connection : edge->getFromJunction()->getGNEConnections()) {
2134 ACToSelect.push_back(connection);
2136 for (
const auto& crossing : edge->getFromJunction()->getGNECrossings()) {
2137 ACToSelect.push_back(crossing);
2140 ACToSelect.push_back(edge->getToJunction());
2141 for (
const auto& connection : edge->getToJunction()->getGNEConnections()) {
2142 ACToSelect.push_back(connection);
2144 for (
const auto& crossing : edge->getToJunction()->getGNECrossings()) {
2145 ACToSelect.push_back(crossing);
2150 if ((ACToSelect.size() + ACToUnselect.size()) > 0) {
2153 for (
const auto& AC : ACToUnselect) {
2156 for (
const auto& AC : ACToSelect) {
2157 if (AC->getTagProperty()->isSelectable()) {
2207 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
2210 glVertex2d(0, -size);
2211 glVertex2d(size, -size);
2212 glVertex2d(size, 0);
2219 glScaled(0.7, 0.7, 0);
2220 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
2223 glVertex2d(0, -size);
2224 glVertex2d(size, -size);
2225 glVertex2d(size, 0);
2232 glScaled(0.4, 0.4, 0);
2233 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
2236 glVertex2d(0, -size);
2237 glVertex2d(size, -size);
2238 glVertex2d(size, 0);
2261 auto gripSaveElements =
myViewNet->getViewParent()->getGNEAppWindows()->getToolbarsGrip().saveElements;
2263 auto tooltipMenu =
myViewNet->myViewParent->getGNEAppWindows()->getStaticTooltipMenu();
2284 std::string(
"\t") +
TL(
"Save individual files") + std::string(
"\t") +
TL(
"Save individual files."),
2308 gripSaveElements->recalc();
2310 gripSaveElements->show();
2336 myViewNet->myViewParent->getGNEAppWindows()->getStaticTooltipMenu(),
2337 gHumanReadableTime ?
"H" :
"S" + std::string(
"\t") +
TL(
"Switch between seconds and HH:MM:SS") + std::string(
"\t") +
TL(
"Switch between seconds and HH:MM:SS"),
nullptr,
2376 if (neteditOptions.getBool(
"new")) {
2378 neteditOptions.resetWritable();
2379 neteditOptions.set(
"new",
"false");
2392 auto gripSupermodes =
myViewNet->getViewParent()->getGNEAppWindows()->getToolbarsGrip().superModes;
2394 auto toolTipMenu =
myViewNet->myViewParent->getGNEAppWindows()->getStaticTooltipMenu();
2397 TL(
"Network") + std::string(
"\t") +
TL(
"Edit network elements") + std::string(
"\t") +
TL(
"Set mode for editing network elements. (F2)"),
2402 TL(
"Demand") + std::string(
"\t") +
TL(
"Edit traffic demand elements") + std::string(
"\t") +
TL(
"Set mode for editing traffic demand. (F3)"),
2407 TL(
"Data") + std::string(
"\t") +
TL(
"Edit data elements") + std::string(
"\t") +
TL(
"Set mode for editing data demand. (F4)"),
2415 (std::string(
"\t") +
TL(
"Change netedit view") + std::string(
"\t") +
TL(
"Change netedit view.")).c_str(),
2420 (std::string(
"Default\t") +
TL(
"Set default view") + std::string(
"\t") +
TL(
"Set default view.")).c_str(),
2425 (std::string(
"JuPedSim\t") +
TL(
"Set JuPedSim view") + std::string(
"\t") +
TL(
"Set JuPedSim view.")).c_str(),
2430 gripSupermodes->setWidth(353);
2432 gripSupermodes->show();
2439 myViewNet->setStatusBarText(
TL(
"Mode already selected"));
2440 if (
myViewNet->myCurrentFrame !=
nullptr) {
2441 myViewNet->myCurrentFrame->focusUpperElement();
2456 myViewNet->myNetworkCheckableButtons.showNetworkCheckableButtons();
2458 myViewNet->myDemandCheckableButtons.hideDemandCheckableButtons();
2460 myViewNet->myDataCheckableButtons.hideDataCheckableButtons();
2469 myViewNet->myNetworkCheckableButtons.hideNetworkCheckableButtons();
2471 myViewNet->myDemandCheckableButtons.showDemandCheckableButtons();
2473 myViewNet->myDataCheckableButtons.hideDataCheckableButtons();
2479 if (!
myViewNet->myNet->getDemandPathManager()->getPathCalculator()->isPathCalculatorUpdated()) {
2481 myViewNet->myNet->getDemandPathManager()->getPathCalculator()->updatePathCalculator();
2483 myViewNet->myNet->computeDemandElements(
myViewNet->myViewParent->getGNEAppWindows());
2491 myViewNet->myNetworkCheckableButtons.hideNetworkCheckableButtons();
2493 myViewNet->myDemandCheckableButtons.hideDemandCheckableButtons();
2495 myViewNet->myDataCheckableButtons.showDataCheckableButtons();
2499 if (
myViewNet->getViewParent()->getGNEAppWindows()->getProcessingMenuCommands().menuCheckRecomputeDataMode->getCheck() == TRUE) {
2505 TAZ.second->resetAdditionalContour();
2521 myViewNet->setStatusBarText(
TL(
"Network mode already selected"));
2522 if (
myViewNet->myCurrentFrame !=
nullptr) {
2523 myViewNet->myCurrentFrame->focusUpperElement();
2526 myViewNet->setStatusBarText(
TL(
"Save modifications in TLS before change mode"));
2527 myViewNet->myCurrentFrame->focusUpperElement();
2532 myViewNet->myEditNetworkElementShapes.stopEditCustomShape();
2563 myViewNet->updateNetworkModeSpecificControls();
2571 myViewNet->setStatusBarText(
TL(
"Demand mode already selected"));
2572 if (
myViewNet->myCurrentFrame !=
nullptr) {
2573 myViewNet->myCurrentFrame->focusUpperElement();
2579 myViewNet->myEditNetworkElementShapes.stopEditCustomShape();
2598 myViewNet->updateDemandModeSpecificControls();
2606 myViewNet->setStatusBarText(
TL(
"Data mode already selected"));
2607 if (
myViewNet->myCurrentFrame !=
nullptr) {
2608 myViewNet->myCurrentFrame->focusUpperElement();
2614 myViewNet->myEditNetworkElementShapes.stopEditCustomShape();
2629 for (
const auto& dataSet :
myViewNet->getNet()->getAttributeCarriers()->getDataSets()) {
2630 dataSet.second->updateAttributeColors();
2635 myViewNet->updateDataModeSpecificControls();
2661 auto gripSupermodes =
myViewNet->getViewParent()->getGNEAppWindows()->getToolbarsGrip().superModes;
2663 auto& fileMenuCommands =
myViewNet->getViewParent()->getGNEAppWindows()->getFileMenuCommands();
2667 gripSupermodes->setWidth(353);
2669 fileMenuCommands.setDefaultView();
2672 gripSupermodes->setWidth(250);
2674 fileMenuCommands.setJuPedSimView();
2704 auto gripModes =
myViewNet->myViewParent->getGNEAppWindows()->getToolbarsGrip().modes;
2706 auto toolTipMenu =
myViewNet->myViewParent->getGNEAppWindows()->getStaticTooltipMenu();
2709 (std::string(
"\t") +
TL(
"Show grid") + std::string(
"\t") +
TL(
"Show grid and restrict movement to the grid - define grid size in visualization options. (Ctrl+G)")),
2716 (std::string(
"\t") +
TL(
"Hide junction shape") + std::string(
"\t") +
TL(
"Toggle hiding junction shape. (Ctrl+J)")),
2723 (std::string(
"\t") +
TL(
"Draw vehicles spread in lane or depart position") + std::string(
"\t") +
TL(
"Draw vehicles spread in lane or in depart position.")),
2730 (std::string(
"\t") +
TL(
"Show demand elements") + std::string(
"\t") +
TL(
"Toggle show demand elements.")),
2737 (std::string(
"\t") +
TL(
"Clicks target lanes") + std::string(
"\t") +
TL(
"Toggle whether clicking should inspect/select/delete lanes instead of edges.")),
2743 (std::string(
"\t") +
TL(
"Show connections over junctions") + std::string(
"\t") +
TL(
"Toggle show connections over junctions.")),
2750 (std::string(
"\t") +
TL(
"Hide connections") + std::string(
"\t") +
TL(
"Toggle hide connections.")),
2757 (std::string(
"\t") +
TL(
"Show additional sub-elements") + std::string(
"\t") +
TL(
"Toggle show additional sub-elements.")),
2764 (std::string(
"\t") +
TL(
"Show TAZ elements") + std::string(
"\t") +
TL(
"Toggle show TAZ elements.")),
2771 (std::string(
"\t") +
TL(
"Automatic select junctions") + std::string(
"\t") +
TL(
"Toggle whether selecting multiple edges should automatically select their junctions.")),
2778 (std::string(
"\t") +
TL(
"Apply state to all phases") + std::string(
"\t") +
TL(
"Toggle whether clicking should apply state changes to all phases of the current TLS plan.")),
2785 (std::string(
"\t") +
TL(
"Automatic merging junction") + std::string(
"\t") +
TL(
"Toggle ask for confirmation before merging junction.")),
2791 (std::string(
"\t") +
TL(
"Edge chain mode") + std::string(
"\t") +
TL(
"Create consecutive edges with a single click (hit ESC to cancel chain).")),
2798 (std::string(
"\t") +
TL(
"Edge opposite direction") + std::string(
"\t") +
TL(
"Automatically create an edge in the opposite direction.")),
2805 (std::string(
"\t") +
TL(
"Move elevation") + std::string(
"\t") +
TL(
"Apply mouse movement to elevation instead of x,y position.")),
2812 (std::string(
"\t") +
TL(
"Show bubbles") + std::string(
"\t") +
TL(
"Toggle show bubbles over junctions shapes.")),
2819 gripModes->recalc();
2928 if (
myViewNet->myEditModes.isCurrentSupermodeData()) {
2938 return (
myViewNet->getVisualisationSettings().showLane2Lane);
2945 if (!
myViewNet->myEditModes.isCurrentSupermodeNetwork()) {
2957 if (!
myViewNet->myEditModes.isCurrentSupermodeNetwork()) {
2988 auto gripModes =
myViewNet->getViewParent()->getGNEAppWindows()->getToolbarsGrip().modes;
2990 auto tooltipMenu =
myViewNet->myViewParent->getGNEAppWindows()->getStaticTooltipMenu();
2993 (std::string(
"\t") +
TL(
"Show grid") + std::string(
"\t") +
TL(
"Show grid and restrict movement to the grid - define grid size in visualization options. (Ctrl+G)")),
3000 (std::string(
"\t") +
TL(
"Hide junction shape") + std::string(
"\t") +
TL(
"Toggle hiding junction shape. (Ctrl+J)")),
3007 (std::string(
"\t") +
TL(
"Draw vehicles spread/depart position") + std::string(
"\t") +
TL(
"Draw vehicles spread in lane or in depart position.")),
3014 (std::string(
"\t") +
TL(
"Show shapes") + std::string(
"\t") +
TL(
"Toggle show shapes (Polygons and POIs).")),
3021 (std::string(
"\t") +
TL(
"Show all trips") + std::string(
"\t") +
TL(
"Toggle show all trips (requires updated demand - F5).")),
3028 (std::string(
"\t") +
TL(
"Show all person plans") + std::string(
"\t") +
TL(
"Toggle show all person plans.")),
3035 (std::string(
"\t") +
TL(
"Lock selected person") + std::string(
"\t") +
TL(
"Toggle lock selected person.")),
3042 (std::string(
"\t") +
TL(
"Show all containers plans") + std::string(
"\t") +
TL(
"Toggle show all container plans.")),
3049 (std::string(
"\t") +
TL(
"Lock selected container") + std::string(
"\t") +
TL(
"Toggle lock selected container.")),
3056 (std::string(
"\t") +
TL(
"Show non-inspected demand elements") + std::string(
"\t") +
TL(
"Toggle show non-inspected demand elements.")),
3063 (std::string(
"\t") +
TL(
"Show number of overlapped routes") + std::string(
"\t") +
TL(
"Toggle show number of overlapped routes.")),
3070 gripModes->recalc();
3138 const auto& inspectedElements =
myViewNet->getInspectedElements();
3143 }
else if (inspectedElements.getFirstAC() && inspectedElements.getFirstAC()->getTagProperty()->isDemandElement()) {
3144 if (inspectedElements.isACInspected(demandElement)) {
3150 if (inspectedElements.isACInspected(demandElementChild)) {
3156 if (inspectedElements.isACInspected(demandElementParent)) {
3267 auto gripModes =
myViewNet->getViewParent()->getGNEAppWindows()->getToolbarsGrip().modes;
3269 auto tooltipMenu =
myViewNet->myViewParent->getGNEAppWindows()->getStaticTooltipMenu();
3272 (std::string(
"\t") +
TL(
"Hide junction shape") + std::string(
"\t") +
TL(
"Toggle hiding junction shape. (Ctrl+J)")),
3279 (std::string(
"\t") +
TL(
"Show additionals") + std::string(
"\t") +
TL(
"Toggle show additionals.")),
3285 (std::string(
"\t") +
TL(
"Show shapes") + std::string(
"\t") +
TL(
"Toggle show shapes (Polygons and POIs).")),
3291 (std::string(
"\t") +
TL(
"Show demand elements") + std::string(
"\t") +
TL(
"Toggle show demand elements.")),
3297 (std::string(
"\t") +
TL(
"Draw TAZREL drawing mode") + std::string(
"\t") +
TL(
"Toggle draw TAZREL drawing mode.")),
3303 (std::string(
"\t") +
TL(
"Toggle draw TAZ fill") + std::string(
"\t") +
TL(
"Toggle draw TAZ fill")),
3309 (std::string(
"\t") +
TL(
"Toggle draw TAZRel only from") + std::string(
"\t") +
TL(
"Toggle draw TAZRel only from")),
3315 (std::string(
"\t") +
TL(
"Toggle draw TAZRel only to") + std::string(
"\t") +
TL(
"Toggle draw TAZRel only to")),
3321 gripModes->recalc();
3444 const auto staticTooltip =
myViewNet->myViewParent->getGNEAppWindows()->getStaticTooltipMenu();
3446 FXLabel* genericDataLabel =
new FXLabel(
myViewNet->myViewParent->getGNEAppWindows()->getToolbarsGrip().intervalBar,
3448 genericDataLabel->create();
3460 FXLabel* dataSetLabel =
new FXLabel(
myViewNet->myViewParent->getGNEAppWindows()->getToolbarsGrip().intervalBar,
3462 dataSetLabel->create();
3481 FXLabel* parameterLabel =
new FXLabel(
myViewNet->myViewParent->getGNEAppWindows()->getToolbarsGrip().intervalBar,
3483 parameterLabel->create();
3490 myViewNet->myViewParent->getGNEAppWindows()->getToolbarsGrip().intervalBar->recalc();
3499 myViewNet->myViewParent->getGNEAppWindows()->getToolbarsGrip().intervalBar->show();
3506 myViewNet->myViewParent->getGNEAppWindows()->getToolbarsGrip().intervalBar->hide();
3522 for (
const auto& dataSet :
myViewNet->getNet()->getAttributeCarriers()->getDataSets()) {
3524 myDataSets.push_back(dataSet.second->getID());
3526 for (
const auto& interval : dataSet.second->getDataIntervalChildren()) {
3529 begin = interval.first;
3532 end = interval.first;
3535 for (
const auto& genericData : interval.second->getGenericDataChildren()) {
3537 for (
const auto& parameter : genericData->getParametersMap()) {
3792 auto gripModes =
myViewNet->getViewParent()->getGNEAppWindows()->getToolbarsGrip().modes;
3794 auto tooltipMenu =
myViewNet->myViewParent->getGNEAppWindows()->getStaticTooltipMenu();
3797 std::string(
"\t") +
TL(
"Inspect mode") + std::string(
"\t") +
TL(
"Mode to inspect elements and change their attributes. (I)"),
3802 std::string(
"\t") +
TL(
"Delete mode") + std::string(
"\t") +
TL(
"Mode for deleting elements. (D)"),
3807 std::string(
"\t") +
TL(
"Select mode") + std::string(
"\t") +
TL(
"Mode for selecting elements. (S)"),
3811 gripModes->recalc();
3858 auto gripModes =
myViewNet->getViewParent()->getGNEAppWindows()->getToolbarsGrip().modes;
3860 auto tooltipMenu =
myViewNet->myViewParent->getGNEAppWindows()->getStaticTooltipMenu();
3863 std::string(
"\t") +
TL(
"Move mode") + std::string(
"\t") +
TL(
"Mode for moving elements. (M)"),
3868 std::string(
"\t") +
TL(
"Edge mode") + std::string(
"\t") +
TL(
"Mode for creating junctions and edges. (E)"),
3873 std::string(
"\t") +
TL(
"Traffic light mode") + std::string(
"\t") +
TL(
"Mode for editing traffic lights over junctions. (T)"),
3878 std::string(
"\t") +
TL(
"Connection mode") + std::string(
"\t") +
TL(
"Mode for edit connections between lanes. (C)"),
3883 std::string(
"\t") +
TL(
"Prohibition mode") + std::string(
"\t") +
TL(
"Mode for editing connection prohibitions. (H)"),
3888 std::string(
"\t") +
TL(
"Crossing mode") + std::string(
"\t") +
TL(
"Mode for creating crossings between edges. (R)"),
3893 std::string(
"\t") +
TL(
"Additional mode") + std::string(
"\t") +
TL(
"Mode for creating additional elements. (A)"),
3898 std::string(
"\t") +
TL(
"Wire mode") + std::string(
"\t") +
TL(
"Mode for editing overhead wires. (W)"),
3903 std::string(
"\t") +
TL(
"TAZ mode") + std::string(
"\t") +
TL(
"Mode for creating Traffic Assignment Zones. (Z)"),
3908 std::string(
"\t") +
TL(
"Polygon mode") + std::string(
"\t") +
TL(
"Mode for creating polygons and POIs. (P)"),
3913 std::string(
"\t") +
TL(
"Decal mode") + std::string(
"\t") +
TL(
"Mode for editing decals. (U)"),
3917 gripModes->recalc();
3924 if (
myViewNet->getEditModes().isJuPedSimView()) {
4011 auto gripModes =
myViewNet->getViewParent()->getGNEAppWindows()->getToolbarsGrip().modes;
4013 auto tooltipMenu =
myViewNet->myViewParent->getGNEAppWindows()->getStaticTooltipMenu();
4016 std::string(
"\t") +
TL(
"Move mode") + std::string(
"\t") +
TL(
"Mode for moving elements. (M)"),
4021 std::string(
"\t") +
TL(
"Route mode") + std::string(
"\t") +
TL(
"Mode for creating routes. (R)"),
4026 std::string(
"\t") +
TL(
"Route distribution mode") + std::string(
"\t") +
TL(
"Mode for creating and editing rout distributions. (W)"),
4031 std::string(
"\t") +
TL(
"Vehicle mode") + std::string(
"\t") +
TL(
"Mode for creating vehicles. (V)"),
4036 std::string(
"\t") +
TL(
"Type mode") + std::string(
"\t") +
TL(
"Mode for creating types (of vehicles, persons and containers). (T)"),
4041 std::string(
"\t") +
TL(
"Type distribution mode") + std::string(
"\t") +
TL(
"Mode for creating and editing type distribution. (U)"),
4046 std::string(
"\t") +
TL(
"Stop mode") + std::string(
"\t") +
TL(
"Mode for creating stops. (A)"),
4051 std::string(
"\t") +
TL(
"Person mode") + std::string(
"\t") +
TL(
"Mode for creating persons. (P)"),
4056 std::string(
"\t") +
TL(
"Person plan mode") + std::string(
"\t") +
TL(
"Mode for creating person plans. (L)"),
4061 std::string(
"\t") +
TL(
"Container mode") + std::string(
"\t") +
TL(
"Mode for creating containers. (C)"),
4066 std::string(
"\t") +
TL(
"Container plan mode") + std::string(
"\t") +
TL(
"Mode for creating container plans. (H)"),
4070 gripModes->recalc();
4076 if (
myViewNet->getEditModes().isJuPedSimView()) {
4163 auto gripModes =
myViewNet->getViewParent()->getGNEAppWindows()->getToolbarsGrip().modes;
4165 auto tooltipMenu =
myViewNet->myViewParent->getGNEAppWindows()->getStaticTooltipMenu();
4168 std::string(
"\t") +
TL(
"Edge data mode") + std::string(
"\t") +
TL(
"Mode for creating edge datas. (E)"),
4173 std::string(
"\t") +
TL(
"Edge relation data mode") + std::string(
"\t") +
TL(
"Mode for creating edge relation datas. (R)"),
4178 std::string(
"\t") +
TL(
"TAZ relation data mode") + std::string(
"\t") +
TL(
"Mode for creating TAZ relation datas. (Z)"),
4183 std::string(
"\t") +
TL(
"MeanData mode") + std::string(
"\t") +
TL(
"Mode for MeanData elements. (M)"),
4187 gripModes->recalc();
4291 const double size,
const double offsetx,
const double offsety) {
4299 glTranslated(offsetx, offsety, 0);
4301 glRotated(180, 0, 0, 1);
4325 if (exaggeration == 0) {
4329 if (viewNet->getEditModes().isCurrentSupermodeNetwork() &&
4351const std::vector<RGBColor>&
4376 }
else if (
value >= max) {
4380 const double procent = ((
value - min) * 100) / (max - min);
4384 }
else if (procent >= 100) {
4394std::vector<GUIGlObject*>
4396 std::vector<GUIGlObject*> filteredGLObjects;
4397 if (GLObjects.size() > 0) {
4398 const auto firstLayer = GLObjects.front()->getType();
4399 for (
const auto& GLObject : GLObjects) {
4402 filteredGLObjects.push_back(GLObject);
4405 filteredGLObjects.push_back(GLObject);
4408 filteredGLObjects.push_back(GLObject);
4411 filteredGLObjects.push_back(GLObject);
4414 filteredGLObjects.push_back(GLObject);
4415 }
else if (GLObject->getType() == firstLayer) {
4416 filteredGLObjects.push_back(GLObject);
4420 return filteredGLObjects;
DataEditMode
enum for data edit modes
@ DATA_SELECT
mode for selecting data elements
@ DATA_INSPECT
mode for inspecting data elements
@ DATA_DELETE
mode for deleting data elements
Supermode
@brie enum for supermodes
@ NETWORK
Network mode (Edges, junctions, etc..).
@ DATA
Data mode (edgeData, LaneData etc..).
@ DEMAND
Demand mode (Routes, Vehicles etc..).
NetworkEditMode
@brie enum for network edit modes
@ NETWORK_DELETE
mode for deleting network elements
@ NETWORK_MOVE
mode for moving network elements
@ NETWORK_WIRE
Mode for editing wires.
@ NETWORK_CREATE_EDGE
mode for creating new edges
@ NETWORK_TLS
mode for editing tls
@ NETWORK_SELECT
mode for selecting network elements
@ NETWORK_INSPECT
mode for inspecting network elements
@ NETWORK_PROHIBITION
Mode for editing connection prohibitions.
@ NETWORK_NONE
empty Network mode
@ NETWORK_CONNECT
mode for connecting lanes
DemandEditMode
@brie enum for demand edit modes
@ DEMAND_INSPECT
mode for inspecting demand elements
@ DEMAND_DELETE
mode for deleting demand elements
@ DEMAND_SELECT
mode for selecting demand elements
@ DEMAND_MOVE
mode for moving demand elements
@ MID_GNE_NETWORKVIEWOPTIONS_AUTOOPPOSITEEDGES
automatically create opposite edge
@ MID_HOTKEY_CTRL_SHIFT_B_SAVEDATAELEMENTS
save Data Elements
@ MID_HOTKEY_F3_SUPERMODE_DEMAND
select demand supermode in netedit
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWALLPERSONPLANS
show all person plans
@ MID_GNE_DATAVIEWOPTIONS_TAZRELDRAWING
toggle TAZRel drawing
@ MID_HOTKEY_U_MODE_DECAL_TYPEDISTRIBUTION
hotkey for mode decal AND type distribution
@ MID_GNE_NETWORKVIEWOPTIONS_DRAWSPREADVEHICLES
Draw vehicles in begin position or spread in lane.
@ MID_GNE_NETWORKVIEWOPTIONS_MOVEELEVATION
move elevation instead of x,y
@ MID_GNE_NETWORKVIEWOPTIONS_HIDECONNECTIONS
hide connections
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWCONNECTIONS
show connections
@ MID_GNE_INTERVALBAR_BEGIN
begin changed in InterbalBar
@ MID_GNE_DATAVIEWOPTIONS_TAZRELONLYTO
toggle draw TAZRel only to
@ MID_GNE_DATAVIEWOPTIONS_TOGGLEDRAWJUNCTIONSHAPE
toggle draw junction shape
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWTAZELEMENTS
show TAZ elements
@ MID_GNE_DEMANDVIEWOPTIONS_LOCKPERSON
lock person
@ MID_HOTKEY_Z_MODE_TAZ_TAZREL
hotkey for mode editing TAZ and TAZRel
@ MID_GNE_DEMANDVIEWOPTIONS_TOGGLEDRAWJUNCTIONSHAPE
toggle draw junction shape
@ MID_HOTKEY_A_MODE_STARTSIMULATION_ADDITIONALS_STOPS
hotkey for start simulation in SUMO and set editing mode additionals AND stops in netedit
@ MID_GNE_TOGGLE_TIMEFORMAT
switch time format
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWGRID
show grid
@ MID_HOTKEY_CTRL_SHIFT_D_SAVEDEMANDELEMENTS
Save Demand Elements.
@ MID_HOTKEY_CTRL_S_STOPSIMULATION_SAVENETWORK
Stop the simulation in SUMO and save network in netedit.
@ MID_HOTKEY_D_MODE_SINGLESIMULATIONSTEP_DELETE
hotkey for perform a single simulation step in SUMO and set delete mode in netedit
@ MID_GNE_NETWORKVIEWOPTIONS_CHAINEDGES
create edges in chain mode
@ MID_GNE_DATAVIEWOPTIONS_SHOWDEMANDELEMENTS
show demand elements
@ MID_HOTKEY_C_MODE_CONNECT_CONTAINER
hotkey for mode connecting lanes AND container
@ MID_HOTKEY_H_MODE_PROHIBITION_CONTAINERPLAN
hotkey for mode prohibition AND container plan
@ MID_HOTKEY_W_MODE_WIRE_ROUTEDISTRIBUTION
hotkey for mode editing overhead wires AND route distributions
@ MID_HOTKEY_T_MODE_TLS_TYPE
hotkey for mode editing TLS AND Vehicle Types
@ MID_GNE_DEMANDVIEWOPTIONS_HIDESHAPES
hide shapes
@ MID_GNE_DATAVIEWOPTIONS_SHOWADDITIONALS
show additionals
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWBUBBLES
show junctions as bubbles
@ MID_GNE_INTERVALBAR_END
end changed in InterbalBar
@ MID_GNE_NETWORKVIEWOPTIONS_EXTENDSELECTION
extend selection
@ MID_HOTKEY_S_MODE_STOPSIMULATION_SELECT
hotkey for stop simulation in SUMO and set select mode in netedit
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWSUBADDITIONALS
show sub-additionals
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWALLCONTAINERPLANS
show all container plans
@ MID_GNE_VIEW_DEFAULT
set default view
@ MID_HOTKEY_F4_SUPERMODE_DATA
select data supermode in netedit
@ MID_GNE_VIEW_JUPEDSIM
set juPedSim view
@ MID_GNE_INTERVALBAR_PARAMETER
parameter changed in InterbalBar
@ MID_HOTKEY_R_MODE_CROSSING_ROUTE_EDGERELDATA
hotkey for mode editing crossing, routes and edge rel datas
@ MID_GNE_DATAVIEWOPTIONS_TAZDRAWFILL
toggle draw TAZ fill
@ MID_HOTKEY_L_MODE_PERSONPLAN
hotkey for mode person plan
@ MID_HOTKEY_V_MODE_VEHICLE
hotkey for mode create vehicles
@ MID_HOTKEY_I_MODE_INSPECT
hotkey for mode inspecting object attributes
@ MID_GNE_NETWORKVIEWOPTIONS_SHOWDEMANDELEMENTS
show demand elements
@ MID_HOTKEY_CTRL_SHIFT_E_SAVENETEDITCONFIG
save netedit Config
@ MID_GNE_DEMANDVIEWOPTIONS_HIDENONINSPECTED
hide non-inspected demand element
@ MID_GNE_INTERVALBAR_GENERICDATATYPE
generic data selected
@ MID_GNE_NETWORKVIEWOPTIONS_MERGEAUTOMATICALLY
don't ask before merging junctions
@ MID_HOTKEY_CTRL_SHIFT_M_SAVEMEANDATAELEMENTS
save Mean Datas
@ MID_GNE_NETWORKVIEWOPTIONS_CHANGEALLPHASES
change all phases
@ MID_GNE_DATAVIEWOPTIONS_SHOWSHAPES
show shapes
@ MID_HOTKEY_E_MODE_EDGE_EDGEDATA
hotkey for mode adding edges AND edgeDatas
@ MID_GNE_DATAVIEWOPTIONS_TAZRELONLYFROM
toggle draw TAZRel only from
@ MID_GNE_NETWORKVIEWOPTIONS_TOGGLEDRAWJUNCTIONSHAPE
toggle draw junction shape
@ MID_GNE_DEMANDVIEWOPTIONS_DRAWSPREADVEHICLES
Draw vehicles in begin position or spread in lane.
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWOVERLAPPEDROUTES
show overlapped routes
@ MID_HOTKEY_CTRL_SHIFT_S_SAVESUMOCONFIG
save SUMOConfig (SUMO AND netedit)
@ MID_GNE_INTERVALBAR_DATASET
data set selected
@ MID_HOTKEY_M_MODE_MOVE_MEANDATA
hotkey for mode moving element AND mean data
@ MID_HOTKEY_F2_SUPERMODE_NETWORK
select network supermode in netedit
@ MID_GNE_DEMANDVIEWOPTIONS_LOCKCONTAINER
lock container
@ MID_GNE_NETWORKVIEWOPTIONS_SELECTEDGES
select edges
@ MID_GNE_DEMANDVIEWOPTIONS_SHOWTRIPS
show all trips
@ MID_GNE_NETWORKVIEWOPTIONS_TOGGLEGRID
show grid
@ MID_GNE_INTERVALBAR_LIMITED
enable/disable show data elements by interval
@ MID_HOTKEY_P_MODE_POLYGON_PERSON
hotkey for mode creating polygons
@ MID_HOTKEY_CTRL_SHIFT_A_SAVEADDITIONALELEMENTS
Save Additional Elements.
#define GUIDesignTextColorRed
red color (for invalid text)
#define GUIDesignButtonPopup
checkable button placed in popup (for example, locate buttons)
#define GUIDesignButtonToolbar
little button with icon placed in navigation toolbar
#define GUIDesignButtonLeft
button extended over over Frame with thick and raise frame
#define GUIDesignComboBoxFixed(customWidth)
comboBox with thick frame, fixed width
#define GUIDesignTextFieldNCol
Num of column of text field.
#define GUIDesignTLSTableCheckableButtonIcon
checkable button only with icon used in TLSTable
#define GUIDesignComboBoxVisibleItemsFixed
combo box size fixed
#define GUIDesignTextColorBlack
black color (for correct text)
#define GUIDesignTextFieldFixedRestricted(width, type)
text field with fixed width
#define GUIDesignMFXCheckableButtonSquare
#define GUIDesignButtonToolbarLocator
little checkable button with icon placed in navigation toolbar used specify for Locator
#define GUIDesignMFXCheckableButtonSupermode
checkable button with icon placed in navigation toolbar for supermodes
#define GUIDesignCheckButtonAttribute
checkButton without thick extended over the frame used for attributes
#define GUIDesignLabelThickedFixed(width)
label thicked, icon before text, text centered and custom width
@ GLO_EDGERELDATA
edge relation data
@ GLO_TAZRELDATA
TAZ relation data.
@ GLO_WALKINGAREA
a walkingArea
@ GLO_JPS_WALKABLEAREA
walkable area
@ GLO_TESTELEMENT
test element (used in netedit)
@ GLO_TRANSHIP
a container tranship
@ GLO_STOPPING_PLACE_LAST
reserved GLO type for packing all StoppingPlace elements
@ GLO_STOP_PLAN
a stop plan stop
@ GLO_ROUTEFLOW
a routeFlow
@ GLO_WIRE
reserved GLO type for packing all wire elements
@ GLO_TAZ
Traffic Assignment Zones (TAZs).
@ GLO_CONTAINER
a container
@ GLO_JPS_OBSTACLE
obstacles
@ GLO_CONNECTION
a connection
@ GLO_ADDITIONALELEMENT
reserved GLO type for packing all additionals elements
@ GLO_PERSONTRIP
a person trip
@ GLO_STOPPING_PLACE
reserved GLO type for packing all StoppingPlace elements
@ GLO_TRANSPORT
a container transport
@ GLO_POI
poi (over view, geo and lane)
@ GLO_RECTANGLESELECTION
rectangle selection shape (used in netedit)
@ GLO_CONTAINERFLOW
a person flow
@ GLO_PERSONFLOW
a person flow
@ GLO_TRACTIONSUBSTATION
a segment of an overhead line
@ GLO_ROUTE_DISTRIBUTION
route distribution
@ GLO_LOCKICON
Lock icon (used in netedit).
GUIViewObjectsHandler gViewObjectsHandler
@ DATAMODE_CHECKBOX_SHOWADDITIONALS
@ NETWORKMODE_CHECKBOX_BUBBLES
@ DATAMODE_CHECKBOX_TAZRELONLYFROM
@ SAVE_ADDITIONALELEMENTS
@ DEMANDMODE_CHECKBOX_HIDENONINSPECTEDDEMANDELEMENTS
@ NETWORKMODE_CHECKBOX_HIDECONNECTIONS
@ DEMANDMODE_CHECKBOX_SHOWTRIPS
@ COMMONMODE_CHECKBOX_TOGGLEDRAWJUNCTIONSHAPE
@ DATAMODE_CHECKBOX_SHOWSHAPES
@ NETWORKMODE_CHECKBOX_SELECTEDGES
@ COMMONMODE_CHECKBOX_SHOWDEMANDELEMENTS
@ DEMANDMODE_CHECKBOX_LOCKPERSON
@ NETWORKMODE_CHECKBOX_MERGEAUTOMATICALLY
@ NETWORKMODE_CHECKBOX_APPLYTOALLPHASES
@ DATAMODE_CHECKBOX_TAZRELONLYTO
@ NETWORKMODE_CHECKBOX_AUTOSELECTJUNCTIONS
@ DATAMODE_CHECKBOX_TAZRELDRAWING
@ NETWORKMODE_CHECKBOX_SHOWCONNECTIONS
@ DEMANDMODE_CHECKBOX_SHOWPERSONPLANS
@ DEMANDMODE_CHECKBOX_HIDESHAPES
@ DATAMODE_CHECKBOX_TAZDRAWFILL
@ NETWORKMODE_CHECKBOX_ELEVATION
@ COMMONMODE_CHECKBOX_SPREADVEHICLE
@ DEMANDMODE_CHECKBOX_LOCKCONTAINER
@ NETWORKMODE_CHECKBOX_SHOWSUBADDITIONALS
@ NETWORKMODE_CHECKBOX_SHOWTAZELEMENTS
@ NETWORKMODE_CHECKBOX_CHAIN
@ DEMANDMODE_CHECKBOX_SHOWOVERLAPPEDROUTES
@ COMMONMODE_CHECKBOX_TOGGLEGRID
@ DEMANDMODE_CHECKBOX_SHOWCONTAINERPLANS
@ NETWORKMODE_CHECKBOX_TWOWAY
#define WRITE_ERRORF(...)
const std::string invalid_return< std::string >::value
SumoXMLTag
Numbers representing SUMO-XML - element names.
@ SUMO_TAG_EDGEREL
a relation between two edges
@ SUMO_TAG_TAZ
a traffic assignment zone
@ SUMO_TAG_NOTHING
invalid tag, must be the last one
@ SUMO_TAG_CONNECTION
connectioon between two lanes
@ SUMO_TAG_WALKINGAREA
walking area for pedestrians
@ SUMO_TAG_JUNCTION
begin/end of the description of a junction
@ SUMO_TAG_CROSSING
crossing between edges for pedestrians
@ SUMO_TAG_LANE
begin/end of the description of a single lane
@ SUMO_TAG_TAZREL
a relation between two TAZs
@ SUMO_TAG_EDGE
begin/end of the description of an edge
@ GNE_ATTR_SELECTED
element is selected
const double INVALID_DOUBLE
invalid double
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
A class that stores a 2D geometrical boundary.
void add(double x, double y, double z=0)
Makes the boundary include the given coordinate.
PositionVector getShape(const bool closeShape) const
get position vector (shape) based on this boundary
void addParentID(const SumoXMLTag tag, const std::string &ID)
add parent (string) attribute into current SumoBaseObject node
static void setColor(const RGBColor &c)
Sets the gl-color to this value.
static void popMatrix()
pop matrix
static void pushMatrix()
push matrix
bool isAttributeCarrierSelected() const
check if attribute carrier is selected
bool isMarkedForDrawingFront() const
check if this AC is marked for drawing front
static T parse(const std::string &string)
parses a value of type T from string (used for basic types: int, double, bool, etc....
static bool canParse(const std::string &string)
true if a value of type T can be parsed from string
const GNETagProperties * getTagProperty() const
get tagProperty associated with this Attribute Carrier
GNENet * getNet() const
get pointer to net
An Element which don't belong to GNENet but has influence in the simulation.
bool isConvexAngle() const
check if edge makes a convex angle [0 - 180) degrees
NBEdge * getNBEdge() const
returns the internal NBEdge
An Element which don't belong to GNENet but has influence in the simulation.
const GNEHierarchicalContainerParents< GNEDemandElement * > & getParentDemandElements() const
get parent demand elements
const GNEHierarchicalContainerChildren< GNEDemandElement * > & getChildDemandElements() const
return child demand elements
static void commitMove(const GNEViewNet *viewNet, GNEMoveOperation *moveOperation, const GNEMoveOffset &offset, GNEUndoList *undoList)
commit move element for the given offset
static void moveElement(const GNEViewNet *viewNet, GNEMoveOperation *moveOperation, const GNEMoveOffset &offset)
move element the for given offset (note: offset can be X-Y-0, 0-0-Z or X-Y-Z)
GNEViewNet * getViewNet() const
get view net
An Element which don't belong to GNENet but has influence in the simulation.
bool isNetworkElement() const
network elements
bool isDataElement() const
return true if tag correspond to a data element
bool isDemandElement() const
return true if tag correspond to a demand element
bool isAdditionalElement() const
return true if tag correspond to an additional element (note: this include TAZ, shapes and wires)
bool isInspectingElements() const
check if we're inspecting at least one element
void inspectAC(GNEAttributeCarrier *AC)
void inspectACs(const std::vector< GNEAttributeCarrier * > &ACs)
inspect multiple ACs
bool isACInspected(GNEAttributeCarrier *AC) const
std::unordered_set< GNEAttributeCarrier * > myInspectedACs
hash table with all inspected ACs (we use a set to make deletion of massive elements more quickly)
const std::unordered_set< GNEAttributeCarrier * > & getACs() const
get hash table with all inspected ACs
GNEAttributeCarrier * getFirstAC() const
void uninspectAC(GNEAttributeCarrier *AC)
uninspect AC
GNEAttributeCarrier * myFirstInspectedAC
first inspected element (usually the clicked element)
bool isInspectingSingleElement() const
check if we're inspecting exactly one element
bool isInspectingMultipleElements() const
check if we're inspecting more than one elements
void clearInspectedElements()
clear inspected AC
InspectedElements()
constructor
MFXComboBoxIcon * myParametersComboBox
combo box for filtered parameters
FXCheckButton * myIntervalCheckBox
checkbox for limit data elements by interval
void setDataSet()
set dataSet
FXTextField * myEndTextField
text field for interval end
void setParameter()
set parameter
std::string getParameter() const
get parameter
std::set< std::string > myParameters
current parameters
void hideIntervalBar()
hide all options menu checks
void setGenericDataType()
set generic data type
GNEViewNet * myViewNet
pointer to net
double getBegin() const
get begin
void showIntervalBar()
show interval option bar
void disableIntervalBar()
disable interval bar
FXTextField * myBeginTextField
text field for interval begin
void updateIntervalBar()
update interval bar
bool myUpdateInterval
flag for update interval bar
void buildIntervalBarElements()
build interval bar elements
GNEDataSet * getDataSet() const
get dataSet
MFXComboBoxIcon * myDataSetsComboBox
combo box for data sets
std::vector< std::string > myDataSets
current dataSets
IntervalBar(GNEViewNet *viewNet)
default constructor
void enableIntervalBar()
enable interval bar
MFXComboBoxIcon * myGenericDataTypesComboBox
combo box for generic data types
void setInterval()
update limit by interval
double getEnd() const
get end
SumoXMLTag getGenericDataType() const
get generic data type
Supermode mySupermode
supermode associated with this operation locked
~OperationLocked()
destructor
Supermode getSupermode() const
get supermode
OperationLocked()
constructor
void updateLockMenuBar()
update lock inspect menuBar
bool isObjectLocked(GUIGlObjectType objectType, const bool selected) const
check if given GLObject is locked for inspect, select, delete and move
LockManager(GNEViewNet *viewNet)
constructor
std::map< GUIGlObjectType, OperationLocked > myLockedElements
map with locked elements
void updateFlags()
update flags
GNEViewNet * myViewNet
pointer to viewNet
void unmarkAC(GNEAttributeCarrier *AC)
unmark AC for drawing front
std::unordered_set< GNEAttributeCarrier * > myMarkedACs
hash table with all marked ACs (we use a set to make deletion of massive elements more quickly)
MarkFrontElements()
constructor
void markAC(GNEAttributeCarrier *AC)
mark AC as drawing front
void unmarkAll()
unmark all ACs
friend class GNEAttributeCarrier
only GNEAttributeCarrier have access to mark/unmarkAC
const std::unordered_set< GNEAttributeCarrier * > & getACs() const
get hash table with all fronted ACs
std::vector< GNEConnection * > connections
vector with the connections
std::vector< GNEGenericData * > genericDatas
vector with the generic datas
std::vector< GNEPOI * > POIs
vector with the POIs
std::vector< GNEInternalLane * > internalLanes
vector with the internal lanes
std::vector< GUIGlObject * > GUIGlObjects
vector with the GUIGlObjects
std::vector< GNELane * > lanes
vector with the lanes
std::vector< GNETAZRelData * > TAZRelDatas
vector with the TAZ relation datas
void reserve(int size)
reseve memory for all elements
std::vector< GNECrossing * > crossings
vector with the crossings
std::vector< GNEPoly * > polys
vector with the polys
std::vector< GNETAZ * > TAZs
vector with the TAZ elements
std::vector< GNEAdditional * > additionals
vector with the additional elements
std::vector< GNEAttributeCarrier * > attributeCarriers
vector with the attribute carriers
void clearElements()
clear elements
std::vector< GNENetworkElement * > networkElements
vector with the network elements
std::vector< GNEEdgeData * > edgeDatas
vector with the edge datas
std::vector< GNEEdgeRelData * > edgeRelDatas
vector with the edge relation datas
std::vector< GNEEdge * > edges
vector with the edges
void filterElements(const std::vector< const GUIGlObject * > &objects)
filter elements
std::vector< GNEJunction * > junctions
vector with the junctions
std::vector< GNEWalkingArea * > walkingAreas
vector with the walkingAreas
std::vector< GNEDemandElement * > demandElements
vector with the demand elements
ViewObjectsContainer()
constructor
GNEEdgeRelData * getEdgeRelDataElementFront() const
get edge rel data element or a pointer to nullptr
void updateObjects()
update objects (using gViewObjectsHandler)
void filterConnections()
filter (remove) connections
void filterAllExcept(GUIGlObjectType exception)
filter all elements except the given GLO type
GNEEdgeData * getEdgeDataElementFront() const
get edge data element or a pointer to nullptr
const std::vector< const GNEJunction * > & getMergingJunctions() const
get merging junctions
void updateShapeElements(ViewObjectsContainer &container, const GUIGlObject *glObject)
update shape elements
void updateMergingJunctions()
update merging junctions
GNEConnection * getConnectionFront() const
get front connection or a pointer to nullptr
const std::vector< GNEAttributeCarrier * > & getAttributeCarriers() const
get vector with ACs
void filterEdges()
filter (remove) edges
GNEPoly * getPolyFront() const
get front Poly or a pointer to nullptr
void updateDemandElements(ViewObjectsContainer &container, const GUIGlObject *glObject)
update demand elements
void filterLockedElements(const std::vector< GUIGlObjectType > ignoreFilter={})
filter locked elements (except the ignoreFilter)
void filterCrossings()
filter (remove) crossings
GNEPOI * getPOIFront() const
get front POI or a pointer to nullptr
GNEInternalLane * getInternalLaneFront() const
get front internal lane or a pointer to nullptr
const GNEViewNet * myViewNet
pointer to viewNet
void filterNetworkElements()
filter (remove) network elements
void processGUIGlObjects(const GUIViewObjectsHandler::GLObjectsSortedContainer &objectsContainer)
process GL objects
std::vector< const GNEJunction * > myMergingJunctions
merging junctions
const std::vector< GNETAZ * > & getTAZs() const
get vector with TAZs
ViewObjectsContainer myViewObjects
objects container with selected objects
GNEWalkingArea * getWalkingAreaFront() const
get front walkingArea or a pointer to nullptr
void filterBySuperMode()
filter by supermode
GNEEdge * getEdgeFront() const
get front edge or a pointer to nullptr
GNEAttributeCarrier * getAttributeCarrierFront() const
get front attribute carrier or a pointer to nullptr
void updateAdditionalElements(ViewObjectsContainer &container, const GUIGlObject *glObject)
update additional elements
void updateGenericDataElements(ViewObjectsContainer &container, const GUIGlObject *glObject)
update generic data elements
void filterDemandElements(const bool includeRoutes)
filter (remove) demand elements
void updateTAZElements(ViewObjectsContainer &container, const GUIGlObject *glObject)
update TAZ elements
const std::vector< GNEDemandElement * > & getDemandElements() const
get vector with Demand Elements
void filterWalkingAreas()
filter (remove) walkingAreas
GNETAZ * getTAZFront() const
get front TAZ or a pointer to nullptr
void filterAdditionals(const bool includeStoppigPlaces, const bool includeTAZs)
filter (remove) additionals
GNELane * getLaneFront() const
get front lane or a pointer to nullptr
void updateNetworkElements(ViewObjectsContainer &container, const GUIGlObject *glObject)
update network elements
GNEGenericData * getGenericDataElementFront() const
get generic data element or a pointer to nullptr
void fillSumoBaseObject(CommonXMLStructure::SumoBaseObject *baseObjet) const
fill the given SUMO base object with the current single objects
GNEAdditional * getAdditionalFront() const
get front additional element or a pointer to nullptr
GNELane * getLaneFrontNonLocked() const
get front lane or a pointer to nullptr checking if is locked
const GUIGlObject * getGUIGlObjectFront() const
get front GUIGLObject or a pointer to nullptr
GNENetworkElement * getNetworkElementFront() const
get front network element or a pointer to nullptr
const std::vector< GNEEdge * > & getEdges() const
get vector with edges
GNECrossing * getCrossingFront() const
get front crossing or a pointer to nullptr
ViewObjectsSelector()
default constructor
GNEJunction * getJunctionFront() const
get front junction or a pointer to nullptr
void filterLanes()
filter (remove) lanes
void filterJunctions()
filter (remove) junctions
GNETAZRelData * getTAZRelDataElementFront() const
get TAZ rel data element or a pointer to nullptr
const std::vector< GUIGlObject * > & getGLObjects() const
get vector with GL objects
void filterShapes()
filter (remove) polys and POIs
const std::vector< GNEJunction * > & getJunctions() const
get vector with junctions
GNEDemandElement * getDemandElementFront() const
get front demand element or a pointer to nullptr
void filterDataElements()
filter (remove) datga elements
const std::vector< GNELane * > & getLanes() const
get lanes
const std::vector< GNEAdditional * > & getAdditionals() const
get vector with additionals
const std::string & getMicrosimID() const
Returns the id of the object as known to microsim.
GUIGlObjectType getType() const
Returns the type of the object as coded in GUIGlObjectType.
virtual bool isGLObjectLocked() const
check if element is locked (Currently used only in netedit)
static FXIcon * getIcon(const GUIIcon which)
returns a icon previously defined in the enum GUIIcon
static GUIGlID getTexture(GUITexture which)
returns a texture previously defined in the enum GUITexture
static void drawTexturedBox(int which, double size)
Draws a named texture as a box with the given size.
std::map< double, ObjectContainerLayer > GLObjectsSortedContainer
typedef for pack elements sorted by layer
const PositionVector & getGeometry() const
Returns the geometry of the edge.
bool set(const std::string &name, const std::string &value, const bool append=false)
Sets the given value for the named option.
const StringVector & getStringVector(const std::string &name) const
Returns the list of string-value of the named option (only for Option_StringVector).
void resetWritable()
Resets all options to be writeable.
static OptionsCont & getOptions()
Retrieves the options.
C++ TraCI client API implementation.
A point in 2D or 3D with translation and scaling methods.
double x() const
Returns the x-position.
double y() const
Returns the y-position.
static const RGBColor BLUE
static const RGBColor YELLOW
static const RGBColor MAGENTA
#define UNUSED_PARAMETER(x)
struct for processing menu commands
MFXMenuCheckIcon * menuCheckLockConnections
menu check to lock connections
MFXMenuCheckIcon * menuCheckLockPersons
menu check to lock persons
MFXMenuCheckIcon * menuCheckLockVehicles
menu check to lock vehicles
MFXMenuCheckIcon * menuCheckLockCrossings
menu check to lock crossings
MFXMenuCheckIcon * menuCheckLockRoutes
MFXMenuCheckIcon * menuCheckLockTAZs
menu check to lock TAZs
MFXMenuCheckIcon * menuCheckLockEdgeTAZRels
menu check to lock edgeTAZRels
MFXMenuCheckIcon * menuCheckLockJunctions
MFXMenuCheckIcon * menuCheckLockPersonTrips
menu check to lock personTrips
MFXMenuCheckIcon * menuCheckLockWires
menu check to lock Wires
MFXMenuCheckIcon * menuCheckLockPOIs
menu check to lock POIs
MFXMenuCheckIcon * menuCheckLockPolygons
menu check to lock polygons
MFXMenuCheckIcon * menuCheckLockWalkingAreas
menu check to lock walkingAreas
MFXMenuCheckIcon * menuCheckLockEdgeDatas
MFXMenuCheckIcon * menuCheckLockEdges
menu check to lock edges
MFXMenuCheckIcon * menuCheckLockRides
menu check to lock rides
MFXMenuCheckIcon * menuCheckLockContainers
menu check to lock containers
MFXMenuCheckIcon * menuCheckLockJpsWalkableAreas
menu check to lock jps walkableareas
MFXMenuCheckIcon * menuCheckLockEdgeRelDatas
menu check to lock edgeRelDatas
MFXMenuCheckIcon * menuCheckLockStops
menu check to lock stops
MFXMenuCheckIcon * menuCheckLockLanes
menu check to lock lanes
MFXMenuCheckIcon * menuCheckLockAdditionals
menu check to lock additionals
MFXMenuCheckIcon * menuCheckLockWalks
menu check to lock walks
MFXMenuCheckIcon * menuCheckLockJpsObstacles
menu check to lock jps obstacles
MFXMenuCheckIcon * menuCheckLockTranships
menu check to lock tranships
MFXMenuCheckIcon * menuCheckLockTransports
menu check to lock transports
DataViewOptions(GNEViewNet *viewNet)
default constructor
bool TAZRelOnlyTo() const
check if toggle TAZRel only to checkbox is enabled
void hideDataViewOptionsMenuChecks()
hide all options menu checks
bool showAdditionals() const
check if additionals has to be drawn
MFXCheckableButton * menuCheckToggleTAZDrawFill
menu check to toggle TAZ draw fill
bool showDemandElements() const
check if show demand elements checkbox is enabled
bool TAZRelOnlyFrom() const
check if toggle TAZRel only from checkbox is enabled
MFXCheckableButton * menuCheckShowAdditionals
menu check to show Additionals
bool TAZDrawFill() const
check if toggle TAZ draw fill checkbox is enabled
MFXCheckableButton * menuCheckShowShapes
menu check to show Shapes
MFXCheckableButton * menuCheckToggleTAZRelOnlyFrom
menu check to toggle TAZRel only from
GNEViewNet * myViewNet
pointer to net
MFXCheckableButton * menuCheckToggleDrawJunctionShape
checkable button to show junction shapes
void buildDataViewOptionsMenuChecks()
build menu checks
void getVisibleDataMenuCommands(std::vector< MFXCheckableButton * > &commands) const
get visible demand menu commands
MFXCheckableButton * menuCheckToggleTAZRelDrawing
menu check to toggle TAZ Rel drawing
MFXCheckableButton * menuCheckShowDemandElements
menu check to show Demand Elements
bool showShapes() const
check if shapes has to be drawn
bool TAZRelDrawing() const
check if toggle TAZRel drawing checkbox is enabled
MFXCheckableButton * menuCheckToggleTAZRelOnlyTo
menu check to toggle TAZRel only to
MFXCheckableButton * menuCheckShowAllTrips
show all trips
void lockPerson(const GNEDemandElement *person)
lock person
bool showAllPersonPlans() const
check all person plans has to be show
MFXCheckableButton * menuCheckToggleGrid
menu check to show grid button
MFXCheckableButton * menuCheckToggleDrawJunctionShape
checkable button to show junction shapes
void lockContainer(const GNEDemandElement *container)
lock container
void buildDemandViewOptionsMenuChecks()
build menu checks
const GNEDemandElement * myLockedPerson
pointer to locked person
const GNEDemandElement * getLockedPerson() const
get locked person
MFXCheckableButton * menuCheckDrawSpreadVehicles
menu check to draw vehicles in begin position or spread in lane
MFXCheckableButton * menuCheckShowOverlappedRoutes
show overlapped routes
GNEViewNet * myViewNet
pointer to net
const GNEDemandElement * getLockedContainer() const
get locked container
bool showShapes() const
check if shapes has to be drawn
void hideDemandViewOptionsMenuChecks()
hide all options menu checks
bool showAllContainerPlans() const
check all container plans has to be show
void unlockContainer()
unlock container
MFXCheckableButton * menuCheckShowAllPersonPlans
show all person plans
const GNEDemandElement * myLockedContainer
pointer to locked container
MFXCheckableButton * menuCheckShowAllContainerPlans
show all container plans
MFXCheckableButton * menuCheckHideNonInspectedDemandElements
Hide non inspected demand elements.
void unlockPerson()
unlock person
MFXCheckableButton * menuCheckHideShapes
Hide shapes (Polygons and POIs).
bool drawSpreadVehicles() const
check if vehicles must be drawn spread
bool showNonInspectedDemandElements(const GNEDemandElement *demandElement) const
check if non inspected element has to be hidden
MFXCheckableButton * menuCheckLockPerson
Lock Person.
DemandViewOptions(GNEViewNet *viewNet)
default constructor
bool showOverlappedRoutes() const
show overlapped routes
void getVisibleDemandMenuCommands(std::vector< MFXCheckableButton * > &commands) const
get visible demand menu commands
bool showAllTrips() const
check if trips has to be drawn
MFXCheckableButton * menuCheckLockContainer
Lock Container.
DataEditMode dataEditMode
the current Data edit mode
void buildSuperModeButtons()
build checkable buttons
bool isDefaultView() const
check if default view is enabled
DemandEditMode demandEditMode
the current Demand edit mode
Supermode currentSupermode
the current supermode
FXPopup * myNeteditViewsPopup
The netedit views menu.
MFXMenuButtonTooltip * myNeteditViewsButton
The netedit views button.
NetworkEditMode networkEditMode
the current Network edit mode
bool isCurrentSupermodeDemand() const
@check if current supermode is Demand
void setDemandEditMode(DemandEditMode demandMode, const bool force=false)
set Demand edit mode
MFXCheckableButton * dataButton
checkable button for supermode Data
MFXButtonTooltip * myJuPedSimViewButton
The jupedsim view button.
bool isCurrentSupermodeData() const
@check if current supermode is Data
void setView(FXSelector sel)
set view
GNEViewNet * myViewNet
pointer to net
bool isCurrentSupermodeNetwork() const
@check if current supermode is Network
MFXCheckableButton * networkButton
checkable button for supermode Network
bool isJuPedSimView() const
check if default view is enabled
void setSupermode(Supermode supermode, const bool force)
set supermode
MFXCheckableButton * demandButton
checkable button for supermode Demand
void setNetworkEditMode(NetworkEditMode networkMode, const bool force=false)
set Network edit mode
EditModes(GNEViewNet *viewNet)
constructor
void setDataEditMode(DataEditMode dataMode, const bool force=false)
set Data edit mode
MFXButtonTooltip * myDefaultViewButton
The default view button.
GNENetworkElement * getEditedNetworkElement() const
pointer to edited network element
void stopEditCustomShape()
edit edit shape
GNEViewNet * myViewNet
pointer to viewNet
EditNetworkElementShapes(GNEViewNet *viewNet)
default constructor
NetworkEditMode myPreviousNetworkEditMode
the previous edit mode before edit NetworkElement's shapes
GNENetworkElement * myEditedNetworkElement
pointer to edited network element
void startEditCustomShape(GNENetworkElement *element)
start edit custom shape
void commitShapeEdited()
save edited shape
static bool checkDrawing(const GUIVisualizationSettings::Detail d, const GNEAttributeCarrier *AC, GUIGlObjectType type, const double exaggeration)
check if icon can be drawn
static void drawLockIcon(const GUIVisualizationSettings::Detail d, const GNEAttributeCarrier *AC, GUIGlObjectType type, const Position position, const double exaggeration, const double size=0.5, const double offsetx=0, const double offsety=0)
draw lock icon
void moveSelection(const bool mouseLeftButtonPressed)
move selection
void calculateEdgeSelection(const GNEEdge *clickedEdge)
calculate edge selection
const GNEMoveOffset calculateMoveOffset() const
calculate move offset
bool isCurrentlyMovingMultipleElements() const
check if there are moving elements
void finishMoveSelection()
finish moving selection
double getEdgeOffset() const
edge offset
bool isMovingSelection() const
check if currently there is element being moved
void beginMoveSelection()
begin move selection
bool myMovingSelectedEdge
flag for enable moving edge
void resetMovingSelectedEdge()
reset flag for moving edge
double myEdgeOffset
offset of moved edge
std::vector< GNEMoveOperation * > myMoveOperations
move operations
void calculateJunctionSelection()
calculate junction selection
MoveMultipleElementModul(GNEViewNet *viewNet)
constructor
GNEViewNet * myViewNet
pointer to net
bool isMovingSelectedEdge() const
flag for moving edge
Position myClickedPosition
original clicked position when moveSelection is called (used for calculate offset during moveSelectio...
GNEMoveOperation * myMoveOperation
move operations
const GNEMoveOffset calculateMoveOffset() const
calculate offset
Position myRelativeClickedPosition
relative position of Clicked Position regarding to originalGeometryPointPosition (Used when user does...
MoveSingleElementModul(GNEViewNet *viewNet)
constructor
bool beginMoveSingleElementDemandMode()
begin move single element in Demand mode
void moveSingleElement(const bool mouseLeftButtonPressed)
move single element in Network AND Demand mode
GNEMoveElement * getMovedElement() const
get moved element
bool isCurrentlyMovingSingleElement() const
check if there are moving elements
bool beginMoveSingleElementNetworkMode()
begin move single element in Network mode
bool beginMoveNetworkElementShape()
begin move network elementshape
GNEViewNet * myViewNet
pointer to net
void finishMoveSingleElement()
finish moving single elements in Network AND Demand mode
MFXCheckableButton * menuCheckSelectEdges
checkable button to select only edges
MFXCheckableButton * menuCheckChainEdges
checkable button to the endpoint for a created edge should be set as the new source
MFXCheckableButton * menuCheckShowDemandElements
checkable button to show Demand Elements
bool showConnections() const
check if select show connections checkbox is enabled
MFXCheckableButton * menuCheckMoveElevation
checkable button to apply movement to elevation
MFXCheckableButton * menuCheckShowTAZElements
checkable button to show TAZ elements
bool drawSpreadVehicles() const
check if vehicles must be drawn spread
bool editingElevation() const
check if we're editing elevation
void getVisibleNetworkMenuCommands(std::vector< MFXCheckableButton * > &commands) const
get visible network menu commands
MFXCheckableButton * menuCheckAutoOppositeEdge
check checkable to create auto create opposite edge
bool showDemandElements() const
check if show demand elements checkbox is enabled
bool showSubAdditionals() const
check if show sub-additionals
MFXCheckableButton * menuCheckDrawSpreadVehicles
checkable button to draw vehicles in begin position or spread in lane
MFXCheckableButton * menuCheckShowConnections
checkable button to show connections
MFXCheckableButton * menuCheckHideConnections
checkable button to hide connections in connect mode
MFXCheckableButton * menuCheckToggleDrawJunctionShape
checkable button to show junction shapes
MFXCheckableButton * menuCheckToggleGrid
checkable button to show grid button
MFXCheckableButton * menuCheckMergeAutomatically
checkable button to we should't warn about merging junctions
bool selectEdges() const
check if select edges checkbox is enabled
MFXCheckableButton * menuCheckShowJunctionBubble
checkable button to show connection as bubble in "Move" mode.
bool showTAZElements() const
check if show TAZ Elements
NetworkViewOptions(GNEViewNet *viewNet)
default constructor
void hideNetworkViewOptionsMenuChecks()
hide all options menu checks
MFXCheckableButton * menuCheckShowAdditionalSubElements
checkable button to show additional sub-elements
void buildNetworkViewOptionsMenuChecks()
build menu checks
MFXCheckableButton * menuCheckChangeAllPhases
checkable button to set change all phases
GNEViewNet * myViewNet
pointer to net
MFXCheckableButton * menuCheckExtendSelection
checkable button to extend to edge nodes
MFXButtonTooltip * mySaveMeanDataElements
checkable button for save meanData elements
MFXButtonTooltip * mySaveDataElements
checkable button for save genericdata elements
GNEViewNet * myViewNet
pointer to net
MFXButtonTooltip * mySaveNetwork
checkable button for save network
~SaveElements()
destructor
MFXButtonTooltip * mySaveAdditionalElements
checkable button for save additional elements
SaveElements(GNEViewNet *viewNet)
default constructor
MFXButtonTooltip * mySaveSumoConfig
checkable button for save SUMO config
MFXButtonTooltip * mySaveDemandElements
checkable button for save demand elements
FXPopup * mySaveIndividualFilesPopup
The locator menu.
void setSaveIndividualFiles(bool value)
enable or disable save individual files
MFXButtonTooltip * mySaveNeteditConfig
checkable button for save netedit config
MFXMenuButtonTooltip * mySaveIndividualFiles
checkable button for save individual files
void buildSaveElementsButtons()
build save buttons
void finishRectangleSelection()
finish rectangle selection
void drawRectangleSelection(const RGBColor &color) const
draw rectangle selection
Position selectionCorner1
first corner of the rectangle-selection
void beginRectangleSelection()
begin rectangle selection
bool selectingUsingRectangle
whether we have started rectangle-selection
void moveRectangleSelection()
move rectangle selection
GNEViewNet * myViewNet
pointer to net
void processBoundarySelection(const Boundary &boundary)
Process boundary Selection.
Position selectionCorner2
second corner of the rectangle-selection
bool startDrawing
whether we have started rectangle-selection
void processRectangleSelection()
process rectangle Selection
std::vector< GNEEdge * > processEdgeRectangleSelection()
process rectangle Selection (only limited to Edges)
SelectingArea(GNEViewNet *viewNet)
default constructor
GNEViewNet * myViewNet
pointer to net
int myTestingHeight
Height of net in testing mode.
void drawTestingElements(GUIMainWindow *mainWindow)
draw testing element
int myTestingWidth
Width of net in testing mode.
TestingMode(GNEViewNet *viewNet)
default constructor
void initTestingMode()
init testing mode
void buildVehicleOptionsMenuChecks()
build menu checks
VehicleOptions(GNEViewNet *viewNet)
constructor
void hideVehicleOptionsMenuChecks()
hide all options menu checks
GNEViewNet * myViewNet
pointer to net
VehicleTypeOptions(GNEViewNet *viewNet)
constructor
GNEViewNet * myViewNet
pointer to net
void buildVehicleTypeOptionsMenuChecks()
build menu checks
void hideVehicleTypeOptionsMenuChecks()
hide all options menu checks
static std::vector< RGBColor > myRainbowScaledColors
scale (rainbow) colors
static const RGBColor & getRainbowScaledColor(const double min, const double max, const double value)
get rainbow scaled color
static std::vector< GUIGlObject * > filterElementsByLayer(const std::vector< GUIGlObject * > &GLObjects)
filter elements based on the layer
static const std::vector< RGBColor > & getRainbowScaledColors()
get scaled rainbow colors