Skip to content

Commit

Permalink
Updated checkDrawOverContour() in some network elements. Refs #14803
Browse files Browse the repository at this point in the history
  • Loading branch information
palvarezlopez committed Sep 12, 2024
1 parent 64a1651 commit a85825c
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 37 deletions.
15 changes: 11 additions & 4 deletions src/netedit/elements/network/GNEEdge.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,7 @@ GNEEdge::checkDrawOverContour() const {
// get modes and viewParent (for code legibility)
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;
Expand All @@ -331,16 +332,22 @@ GNEEdge::checkDrawOverContour() const {
planSelector = viewParent->getContainerPlanFrame()->getPlanSelector();
}
// continue depending of plan selector
if (planSelector) {
if (planSelector->markEdges()) {
return myNet->getViewNet()->getViewObjectsSelector().getGUIGlObjectFront() == this;
if (planSelector && planSelector->markEdges() && (viewObjectsSelector.getEdgeFront() == this)) {
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;
}
} 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 myNet->getViewNet()->getViewObjectsSelector().getGUIGlObjectFront() == this;
return myNet->getViewNet()->getViewObjectsSelector().getEdgeFront() == this;
}
}
}
Expand Down
15 changes: 11 additions & 4 deletions src/netedit/elements/network/GNEJunction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,7 @@ GNEJunction::checkDrawOverContour() const {
// get modes and viewParent (for code legibility)
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;
Expand All @@ -251,16 +252,22 @@ GNEJunction::checkDrawOverContour() const {
planSelector = viewParent->getContainerPlanFrame()->getPlanSelector();
}
// continue depending of plan selector
if (planSelector) {
if (planSelector->markJunctions()) {
return myNet->getViewNet()->getViewObjectsSelector().getGUIGlObjectFront() == this;
if (planSelector && planSelector->markEdges() && (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;
}
} 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().getGUIGlObjectFront() == this;
return myNet->getViewNet()->getViewObjectsSelector().getJunctionFront() == this;
}
}
}
Expand Down
28 changes: 0 additions & 28 deletions src/netedit/elements/network/GNELane.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -357,34 +357,6 @@ GNELane::checkDrawRelatedContour() const {

bool
GNELane::checkDrawOverContour() const {
// get modes
const auto& modes = myNet->getViewNet()->getEditModes();
// get vehicle frame
const auto& vehicleFrame = myNet->getViewNet()->getViewParent()->getVehicleFrame();
const auto& personFramePlanSelector = myNet->getViewNet()->getViewParent()->getPersonFrame()->getPlanSelector();
const auto& personPlanFramePlanSelector = myNet->getViewNet()->getViewParent()->getPersonPlanFrame()->getPlanSelector();
const auto& containerFramePlanSelector = myNet->getViewNet()->getViewParent()->getContainerFrame()->getPlanSelector();
const auto& containerPlanFramePlanSelector = myNet->getViewNet()->getViewParent()->getContainerPlanFrame()->getPlanSelector();
// check if we're in vehicle mode
if (vehicleFrame->shown()) {
// get current vehicle template
const auto vehicleTemplate = vehicleFrame->getVehicleTagSelector()->getCurrentTemplateAC();
// check if vehicle can be placed over from-to edges
if (vehicleTemplate && vehicleTemplate->getTagProperty().vehicleEdges()) {
// check if lane is under cursor
return gViewObjectsHandler.isElementSelected(this);
} else {
return false;
}
} else if (modes.isCurrentSupermodeDemand()) {
// check if we're in person or personPlan modes
if (((modes.demandEditMode == DemandEditMode::DEMAND_PERSON) && personFramePlanSelector->markEdges()) ||
((modes.demandEditMode == DemandEditMode::DEMAND_PERSONPLAN) && personPlanFramePlanSelector->markEdges()) ||
((modes.demandEditMode == DemandEditMode::DEMAND_CONTAINER) && containerFramePlanSelector->markEdges()) ||
((modes.demandEditMode == DemandEditMode::DEMAND_CONTAINERPLAN) && containerPlanFramePlanSelector->markEdges())) {
return myNet->getViewNet()->getViewObjectsSelector().getGUIGlObjectFront() == this;
}
}
return false;
}

Expand Down
2 changes: 1 addition & 1 deletion src/netedit/elements/network/GNEWalkingArea.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ GNEWalkingArea::checkDrawRelatedContour() const {

bool
GNEWalkingArea::checkDrawOverContour() const {
return myParentJunction->checkDrawOverContour();
return false;
}


Expand Down

0 comments on commit a85825c

Please sign in to comment.