diff --git a/src/netedit/elements/network/GNEEdge.cpp b/src/netedit/elements/network/GNEEdge.cpp index 768d6ee9468..7a993fa8048 100644 --- a/src/netedit/elements/network/GNEEdge.cpp +++ b/src/netedit/elements/network/GNEEdge.cpp @@ -338,21 +338,13 @@ GNEEdge::checkDrawOverContour() const { } // continue depending of plan selector if (planSelector && planSelector->markEdges()) { - if (viewObjectsSelector.getAttributeCarrierFront()->getTagProperty().isStoppingPlace()) { - return false; - } else if (viewObjectsSelector.getAttributeCarrierFront()->getTagProperty().isTAZElement()) { - return false; - } else if (viewObjectsSelector.getAttributeCarrierFront()->getTagProperty().getTag() == SUMO_TAG_JUNCTION) { - return false; - } else { - return true; - } + return (viewObjectsSelector.getAttributeCarrierFront()->getTagProperty().getTag() == SUMO_TAG_LANE); } else if (modes.demandEditMode == DemandEditMode::DEMAND_VEHICLE) { // get current vehicle template const auto& vehicleTemplate = viewParent->getVehicleFrame()->getVehicleTagSelector()->getCurrentTemplateAC(); // check if vehicle can be placed over from-to TAZs if (vehicleTemplate && vehicleTemplate->getTagProperty().vehicleEdges()) { - return true; + return (viewObjectsSelector.getAttributeCarrierFront()->getTagProperty().getTag() == SUMO_TAG_LANE); } } } else if (modes.isCurrentSupermodeData()) { diff --git a/src/netedit/elements/network/GNEJunction.cpp b/src/netedit/elements/network/GNEJunction.cpp index 94e437bdbaf..343e9f3092b 100644 --- a/src/netedit/elements/network/GNEJunction.cpp +++ b/src/netedit/elements/network/GNEJunction.cpp @@ -277,39 +277,35 @@ GNEJunction::checkDrawOverContour() const { const auto& modes = myNet->getViewNet()->getEditModes(); const auto& viewParent = myNet->getViewNet()->getViewParent(); const auto& viewObjectsSelector = myNet->getViewNet()->getViewObjectsSelector(); - if (modes.isCurrentSupermodeDemand()) { - // get current plan selector - GNEPlanSelector* planSelector = nullptr; - if (modes.demandEditMode == DemandEditMode::DEMAND_PERSON) { - planSelector = viewParent->getPersonFrame()->getPlanSelector(); - } else if (modes.demandEditMode == DemandEditMode::DEMAND_PERSONPLAN) { - planSelector = viewParent->getPersonPlanFrame()->getPlanSelector(); - } else if (modes.demandEditMode == DemandEditMode::DEMAND_CONTAINER) { - planSelector = viewParent->getContainerFrame()->getPlanSelector(); - } else if (modes.demandEditMode == DemandEditMode::DEMAND_CONTAINERPLAN) { - planSelector = viewParent->getContainerPlanFrame()->getPlanSelector(); - } - // continue depending of plan selector - if (planSelector && planSelector->markJunctions() && (viewObjectsSelector.getJunctionFront() == this)) { - if (viewObjectsSelector.getAttributeCarrierFront()->getTagProperty().isStoppingPlace()) { - return false; - } else if (viewObjectsSelector.getAttributeCarrierFront()->getTagProperty().isTAZElement()) { - return false; - } else if (viewObjectsSelector.getAttributeCarrierFront()->getTagProperty().getTag() == SUMO_TAG_EDGE) { - return false; - } else { - return true; + if (viewObjectsSelector.getJunctionFront() != this) { + return false; + } else { + if (modes.isCurrentSupermodeDemand()) { + // get current plan selector + GNEPlanSelector* planSelector = nullptr; + if (modes.demandEditMode == DemandEditMode::DEMAND_PERSON) { + planSelector = viewParent->getPersonFrame()->getPlanSelector(); + } else if (modes.demandEditMode == DemandEditMode::DEMAND_PERSONPLAN) { + planSelector = viewParent->getPersonPlanFrame()->getPlanSelector(); + } else if (modes.demandEditMode == DemandEditMode::DEMAND_CONTAINER) { + planSelector = viewParent->getContainerFrame()->getPlanSelector(); + } else if (modes.demandEditMode == DemandEditMode::DEMAND_CONTAINERPLAN) { + planSelector = viewParent->getContainerPlanFrame()->getPlanSelector(); } - } else if (modes.demandEditMode == DemandEditMode::DEMAND_VEHICLE) { - // get current vehicle template - const auto& vehicleTemplate = viewParent->getVehicleFrame()->getVehicleTagSelector()->getCurrentTemplateAC(); - // check if vehicle can be placed over from-to TAZs - if (vehicleTemplate && vehicleTemplate->getTagProperty().vehicleJunctions()) { - return myNet->getViewNet()->getViewObjectsSelector().getJunctionFront() == this; + // continue depending of plan selector + if (planSelector && planSelector->markJunctions()) { + return (viewObjectsSelector.getAttributeCarrierFront() == viewObjectsSelector.getJunctionFront()); + } else if (modes.demandEditMode == DemandEditMode::DEMAND_VEHICLE) { + // get current vehicle template + const auto& vehicleTemplate = viewParent->getVehicleFrame()->getVehicleTagSelector()->getCurrentTemplateAC(); + // check if vehicle can be placed over from-to TAZs + if (vehicleTemplate && vehicleTemplate->getTagProperty().vehicleJunctions()) { + return (viewObjectsSelector.getAttributeCarrierFront() == viewObjectsSelector.getJunctionFront()); + } } } + return false; } - return false; }