Skip to content

Commit

Permalink
Updated GNEVehicleFrame. Refs #13311
Browse files Browse the repository at this point in the history
  • Loading branch information
palvarezlopez committed Jun 20, 2023
1 parent 6179b00 commit 6bf10e2
Showing 1 changed file with 47 additions and 0 deletions.
47 changes: 47 additions & 0 deletions src/netedit/frames/demand/GNEVehicleFrame.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@

#include <netedit/GNENet.h>
#include <netedit/GNEViewNet.h>
#include <netedit/elements/additional/GNETAZ.h>
#include <utils/gui/div/GUIDesigns.h>
#include <utils/vehicle/SUMOVehicleParserHelper.h>
#include <utils/xml/SUMOSAXAttributesImpl_Cached.h>
Expand Down Expand Up @@ -480,6 +481,27 @@ GNEVehicleFrame::createPath(const bool useLastRoute) {
// delete tripParameters and base object
delete tripParameters;
}
} else if (vehicleTag == GNE_TAG_TRIP_TAZS) {
// set tag
myVehicleBaseObject->setTag(SUMO_TAG_TRIP);
// Add parameter departure
if (!myVehicleBaseObject->hasStringAttribute(SUMO_ATTR_DEPART) || myVehicleBaseObject->getStringAttribute(SUMO_ATTR_DEPART).empty()) {
myVehicleBaseObject->addStringAttribute(SUMO_ATTR_DEPART, "0");
}
// declare SUMOSAXAttributesImpl_Cached to convert valuesMap into SUMOSAXAttributes
SUMOSAXAttributesImpl_Cached SUMOSAXAttrs(myVehicleBaseObject->getAllAttributes(), getPredefinedTagsMML(), toString(vehicleTag));
// obtain trip parameters
SUMOVehicleParameter* tripParameters = SUMOVehicleParserHelper::parseVehicleAttributes(vehicleTag, SUMOSAXAttrs, false);
// check trip parameters
if (tripParameters) {
myVehicleBaseObject->setVehicleParameter(tripParameters);
myVehicleBaseObject->addStringAttribute(SUMO_ATTR_FROM_TAZ, myPathCreator->getSelectedTAZs().front()->getID());
myVehicleBaseObject->addStringAttribute(SUMO_ATTR_TO_TAZ, myPathCreator->getSelectedTAZs().back()->getID());
// parse vehicle
myRouteHandler.parseSumoBaseObject(myVehicleBaseObject);
// delete tripParameters and base object
delete tripParameters;
}
} else if (vehicleTag == GNE_TAG_FLOW_JUNCTIONS) {
// set tag
myVehicleBaseObject->setTag(SUMO_TAG_FLOW);
Expand All @@ -505,6 +527,31 @@ GNEVehicleFrame::createPath(const bool useLastRoute) {
// delete flowParameters and base object
delete flowParameters;
}
} else if (vehicleTag == GNE_TAG_FLOW_TAZS) {
// set tag
myVehicleBaseObject->setTag(SUMO_TAG_FLOW);
// set begin and end attributes
if (!myVehicleBaseObject->hasStringAttribute(SUMO_ATTR_BEGIN) || myVehicleBaseObject->getStringAttribute(SUMO_ATTR_BEGIN).empty()) {
myVehicleBaseObject->addStringAttribute(SUMO_ATTR_BEGIN, "0");
}
// adjust poisson value
if (myVehicleBaseObject->hasDoubleAttribute(GNE_ATTR_POISSON)) {
myVehicleBaseObject->addStringAttribute(SUMO_ATTR_PERIOD, "exp(" + toString(myVehicleBaseObject->getDoubleAttribute(GNE_ATTR_POISSON)) + ")");
}
// declare SUMOSAXAttributesImpl_Cached to convert valuesMap into SUMOSAXAttributes
SUMOSAXAttributesImpl_Cached SUMOSAXAttrs(myVehicleBaseObject->getAllAttributes(), getPredefinedTagsMML(), toString(vehicleTag));
// obtain flow parameters
SUMOVehicleParameter* flowParameters = SUMOVehicleParserHelper::parseFlowAttributes(vehicleTag, SUMOSAXAttrs, false, true, 0, SUMOTime_MAX);
// check flowParameters
if (flowParameters) {
myVehicleBaseObject->setVehicleParameter(flowParameters);
myVehicleBaseObject->addStringAttribute(SUMO_ATTR_FROM_TAZ, myPathCreator->getSelectedTAZs().front()->getID());
myVehicleBaseObject->addStringAttribute(SUMO_ATTR_TO_TAZ, myPathCreator->getSelectedTAZs().back()->getID());
// parse vehicle
myRouteHandler.parseSumoBaseObject(myVehicleBaseObject);
// delete flowParameters and base object
delete flowParameters;
}
}
// abort path creation
myPathCreator->abortPathCreation();
Expand Down

0 comments on commit 6bf10e2

Please sign in to comment.