Eclipse SUMO - Simulation of Urban MObility
GNEVehicleFrame.cpp
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
15 // The Widget for add Vehicles/Flows/Trips/etc. elements
16 /****************************************************************************/
17 
18 // ===========================================================================
19 // included modules
20 // ===========================================================================
21 #include <config.h>
22 
23 #include <netedit/GNENet.h>
24 #include <netedit/GNEViewNet.h>
31 
32 #include "GNEVehicleFrame.h"
33 
34 // ===========================================================================
35 // method definitions
36 // ===========================================================================
37 
38 // ---------------------------------------------------------------------------
39 // GNEVehicleFrame::HelpCreation - methods
40 // ---------------------------------------------------------------------------
41 
43  FXGroupBox(vehicleFrameParent->myContentFrame, "Help", GUIDesignGroupBoxFrame),
44  myVehicleFrameParent(vehicleFrameParent) {
45  myInformationLabel = new FXLabel(this, "", 0, GUIDesignLabelFrameInformation);
46 }
47 
48 
50 
51 
52 void
54  // first update help cration
55  updateHelpCreation();
56  // show modul
57  show();
58 }
59 
60 
61 void
63  hide();
64 }
65 
66 void
68  // create information label
69  std::ostringstream information;
70  // set text depending of selected vehicle type
71  switch (myVehicleFrameParent->myVehicleTagSelector->getCurrentTagProperties().getTag()) {
72  case SUMO_TAG_VEHICLE:
73  information
74  << "- Click over a route to\n"
75  << " create a vehicle.";
76  break;
77  case SUMO_TAG_TRIP:
78  information
79  << "- Select two edges to\n"
80  << " create a Trip.";
81  break;
82  case SUMO_TAG_ROUTEFLOW:
83  information
84  << "- Click over a route to\n"
85  << " create a routeFlow.";
86  break;
87  case SUMO_TAG_FLOW:
88  information
89  << "- Select two edges to\n"
90  << " create a flow.";
91  break;
92  default:
93  break;
94  }
95  // set information label
96  myInformationLabel->setText(information.str().c_str());
97 }
98 
99 // ---------------------------------------------------------------------------
100 // GNEVehicleFrame - methods
101 // ---------------------------------------------------------------------------
102 
103 GNEVehicleFrame::GNEVehicleFrame(FXHorizontalFrame* horizontalFrameParent, GNEViewNet* viewNet) :
104  GNEFrame(horizontalFrameParent, viewNet, "Vehicles") {
105 
106  // Create item Selector modul for vehicles
107  myVehicleTagSelector = new GNEFrameModuls::TagSelector(this, GNEAttributeCarrier::TagType::TAGTYPE_VEHICLE);
108 
109  // Create vehicle type selector
111 
112  // Create vehicle parameters
114 
115  // create EdgePathCreator Modul
116  myEdgePathCreator = new GNEFrameModuls::EdgePathCreator(this, GNEFrameModuls::EdgePathCreator::EdgePathCreatorModes::GNE_EDGEPATHCREATOR_FROM_TO_VIA);
117 
118  // Create Help Creation Modul
119  myHelpCreation = new HelpCreation(this);
120 
121  // set Vehicle as default vehicle
123 }
124 
125 
127 
128 
129 void
131  // refresh item selector
133  // show frame
134  GNEFrame::show();
135 }
136 
137 
138 bool
140  // obtain tag (only for improve code legibility)
142  // first check that current selected vehicle is valid
143  if (vehicleTag == SUMO_TAG_NOTHING) {
144  myViewNet->setStatusBarText("Current selected vehicle isn't valid.");
145  return false;
146  }
147  // now check if VType is valid
148  if (myVTypeSelector->getCurrentDemandElement() == nullptr) {
149  myViewNet->setStatusBarText("Current selected vehicle type isn't valid.");
150  return false;
151  }
152  // now check if parameters are valid
155  return false;
156  }
157  // Declare map to keep attributes from Frames from Frame
158  std::map<SumoXMLAttr, std::string> valuesMap = myVehicleAttributes->getAttributesAndValues(false);
159  // add ID parameter
160  valuesMap[SUMO_ATTR_ID] = myViewNet->getNet()->generateDemandElementID("", vehicleTag);
161  // add VType
163  // set route or edges depending of vehicle type
164  if ((vehicleTag == SUMO_TAG_VEHICLE) || (vehicleTag == SUMO_TAG_ROUTEFLOW)) {
165  if (objectsUnderCursor.getDemandElementFront() && (objectsUnderCursor.getDemandElementFront()->getTagProperty().isRoute())) {
166  // obtain route
167  valuesMap[SUMO_ATTR_ROUTE] = (objectsUnderCursor.getDemandElementFront()->getTagProperty().getTag() == SUMO_TAG_ROUTE) ? objectsUnderCursor.getDemandElementFront()->getID() : "embedded";
168  // check if departLane is valid
169  if ((objectsUnderCursor.getDemandElementFront()->getTagProperty().getTag() == SUMO_TAG_ROUTE) &&
170  (valuesMap.count(SUMO_ATTR_DEPARTLANE) > 0) && GNEAttributeCarrier::canParse<double>(valuesMap[SUMO_ATTR_DEPARTLANE])) {
171  double departLane = GNEAttributeCarrier::parse<double>(valuesMap[SUMO_ATTR_DEPARTLANE]);
172  if (departLane >= objectsUnderCursor.getDemandElementFront()->getEdgeParents().front()->getLanes().size()) {
174  return false;
175  }
176  }
177  // check if departSpeed is valid
178  if ((valuesMap.count(SUMO_ATTR_DEPARTSPEED) > 0) && GNEAttributeCarrier::canParse<double>(valuesMap[SUMO_ATTR_DEPARTSPEED])) {
179  double departSpeed = GNEAttributeCarrier::parse<double>(valuesMap[SUMO_ATTR_DEPARTSPEED]);
182  return false;
183  }
184  }
185  // check if we're creating a vehicle or a flow
186  if (vehicleTag == SUMO_TAG_VEHICLE) {
187  // Add parameter departure
188  if (valuesMap[SUMO_ATTR_DEPART].empty()) {
189  valuesMap[SUMO_ATTR_DEPART] = "0";
190  }
191  // declare SUMOSAXAttributesImpl_Cached to convert valuesMap into SUMOSAXAttributes
192  SUMOSAXAttributesImpl_Cached SUMOSAXAttrs(valuesMap, getPredefinedTagsMML(), toString(vehicleTag));
193  // obtain vehicle parameters in vehicleParameters
194  SUMOVehicleParameter* vehicleParameters = SUMOVehicleParserHelper::parseVehicleAttributes(SUMOSAXAttrs, false);
195  // check if vehicle was sucesfully created)
196  if (vehicleParameters) {
197  // check if we're creating a vehicle over a existent route or over a embedded route
198  if (objectsUnderCursor.getDemandElementFront()->getTagProperty().getTag() == SUMO_TAG_ROUTE) {
199  GNERouteHandler::buildVehicleOverRoute(myViewNet, true, *vehicleParameters);
200  } else {
201  GNERouteHandler::buildVehicleWithEmbeddedRoute(myViewNet, true, *vehicleParameters, objectsUnderCursor.getDemandElementFront());
202  }
203  // delete vehicleParameters
204  delete vehicleParameters;
205  }
206  } else {
207  // set begin and end attributes
208  if (valuesMap[SUMO_ATTR_BEGIN].empty()) {
209  valuesMap[SUMO_ATTR_BEGIN] = "0";
210  }
211  if (valuesMap[SUMO_ATTR_END].empty()) {
212  valuesMap[SUMO_ATTR_END] = "3600";
213  }
214  // declare SUMOSAXAttributesImpl_Cached to convert valuesMap into SUMOSAXAttributes
215  SUMOSAXAttributesImpl_Cached SUMOSAXAttrs(valuesMap, getPredefinedTagsMML(), toString(vehicleTag));
216  // obtain routeFlow parameters in routeFlowParameters
217  SUMOVehicleParameter* routeFlowParameters = SUMOVehicleParserHelper::parseFlowAttributes(SUMOSAXAttrs, false, 0, SUMOTime_MAX);
218  // check if flow was sucesfully created)
219  if (routeFlowParameters) {
220  // check if we're creating a vehicle over a existent route or over a embedded route
221  if (objectsUnderCursor.getDemandElementFront()->getTagProperty().getTag() == SUMO_TAG_ROUTE) {
222  GNERouteHandler::buildFlowOverRoute(myViewNet, true, *routeFlowParameters);
223  } else {
224  GNERouteHandler::buildFlowWithEmbeddedRoute(myViewNet, true, *routeFlowParameters, objectsUnderCursor.getDemandElementFront());
225  }
226  // delete routeFlowParameters
227  delete routeFlowParameters;
228  }
229  }
230  // all ok, then return true;
231  return true;
232  } else {
233  myViewNet->setStatusBarText(toString(vehicleTag) + " has to be placed within a route.");
234  return false;
235  }
236  } else if (((vehicleTag == SUMO_TAG_TRIP) || (vehicleTag == SUMO_TAG_FLOW)) && objectsUnderCursor.getEdgeFront()) {
237  // add clicked edge in EdgePathCreator
238  return myEdgePathCreator->addEdge(objectsUnderCursor.getEdgeFront());
239  } else {
240  return false;
241  }
242 }
243 
244 
247  return myEdgePathCreator;
248 }
249 
250 // ===========================================================================
251 // protected
252 // ===========================================================================
253 
254 void
257  // show vehicle type selector modul
259  // show AutoRute creator if we're editing a trip
263  } else {
265  }
266  } else {
267  // hide all moduls if vehicle isn't valid
271  }
272 }
273 
274 
275 void
278  // show vehicle attributes modul
280  // set current VTypeClass in TripCreator
282  // show help creation
284  } else {
285  // hide all moduls if selected item isn't valid
287  // hide help creation
289 
290  }
291 }
292 
293 
294 void
296  // obtain tag (only for improve code legibility)
298  // Declare map to keep attributes from Frames from Frame
299  std::map<SumoXMLAttr, std::string> valuesMap = myVehicleAttributes->getAttributesAndValues(false);
300  // add ID parameter
301  valuesMap[SUMO_ATTR_ID] = myViewNet->getNet()->generateDemandElementID("", vehicleTag);
302  // add VType
304  // check if we're creating a trip or flow
305  if (vehicleTag == SUMO_TAG_TRIP) {
306  // Add parameter departure
307  if (valuesMap[SUMO_ATTR_DEPART].empty()) {
308  valuesMap[SUMO_ATTR_DEPART] = "0";
309  }
310  // declare SUMOSAXAttributesImpl_Cached to convert valuesMap into SUMOSAXAttributes
311  SUMOSAXAttributesImpl_Cached SUMOSAXAttrs(valuesMap, getPredefinedTagsMML(), toString(vehicleTag));
312  // obtain trip parameters
313  SUMOVehicleParameter* tripParameters = SUMOVehicleParserHelper::parseVehicleAttributes(SUMOSAXAttrs, false);
314  // build trip in GNERouteHandler
316  // delete tripParameters
317  delete tripParameters;
318  } else {
319  // set begin and end attributes
320  if (valuesMap[SUMO_ATTR_BEGIN].empty()) {
321  valuesMap[SUMO_ATTR_BEGIN] = "0";
322  }
323  if (valuesMap[SUMO_ATTR_END].empty()) {
324  valuesMap[SUMO_ATTR_END] = "3600";
325  }
326  // declare SUMOSAXAttributesImpl_Cached to convert valuesMap into SUMOSAXAttributes
327  SUMOSAXAttributesImpl_Cached SUMOSAXAttrs(valuesMap, getPredefinedTagsMML(), toString(vehicleTag));
328  // obtain flow parameters
329  SUMOVehicleParameter* flowParameters = SUMOVehicleParserHelper::parseFlowAttributes(SUMOSAXAttrs, false, 0, SUMOTime_MAX);
330  // build flow in GNERouteHandler
332  // delete flowParameters
333  delete flowParameters;
334  }
335 }
336 
337 /****************************************************************************/
SUMO_ATTR_MAXSPEED
Definition: SUMOXMLDefinitions.h:442
SUMO_ATTR_TYPE
Definition: SUMOXMLDefinitions.h:382
GNEVehicleFrame::HelpCreation::hideHelpCreation
void hideHelpCreation()
hide HelpCreation
Definition: GNEVehicleFrame.cpp:62
SUMO_ATTR_DEPART
Definition: SUMOXMLDefinitions.h:432
GNEVehicleFrame::HelpCreation::myInformationLabel
FXLabel * myInformationLabel
Label with creation information.
Definition: GNEVehicleFrame.h:64
GNEDemandElement::getVClass
virtual SUMOVehicleClass getVClass() const =0
obtain VClass related with this demand element
GNEAttributeCarrier::getID
const std::string getID() const
function to support debugging
Definition: GNEAttributeCarrier.cpp:1187
GNEFrameModuls::EdgePathCreator::setVClass
void setVClass(SUMOVehicleClass vClass)
set SUMOVehicleClass
Definition: GNEFrameModuls.cpp:573
GNERouteHandler::buildVehicleOverRoute
static void buildVehicleOverRoute(GNEViewNet *viewNet, bool undoDemandElements, const SUMOVehicleParameter &vehicleParameters)
build functions
Definition: GNERouteHandler.cpp:147
SUMOVehicleParserHelper.h
GNEVehicleFrame::GNEVehicleFrame
GNEVehicleFrame(FXHorizontalFrame *horizontalFrameParent, GNEViewNet *viewNet)
Constructor.
Definition: GNEVehicleFrame.cpp:103
GNEFrameModuls::EdgePathCreator::showEdgePathCreator
void showEdgePathCreator()
show EdgePathCreator
Definition: GNEFrameModuls.cpp:547
GNEFrameAttributesModuls::AttributesCreator
Definition: GNEFrameAttributesModuls.h:157
GNEFrameAttributesModuls::AttributesCreator::areValuesValid
bool areValuesValid() const
check if parameters of attributes are valid
Definition: GNEFrameAttributesModuls.cpp:725
GNEViewNet::setStatusBarText
void setStatusBarText(const std::string &text)
set staturBar text
Definition: GNEViewNet.cpp:482
GNEFrameModuls::DemandElementSelector::showDemandElementSelector
void showDemandElementSelector()
show demand element selector
Definition: GNEFrameModuls.cpp:378
GNEAttributeCarrier::TagProperties::isRoute
bool isRoute() const
return true if tag correspond to a route element
Definition: GNEAttributeCarrier.cpp:742
GNEFrame
Definition: GNEFrame.h:35
GNEViewNet
Definition: GNEViewNet.h:43
GNEViewNetHelper::ObjectsUnderCursor::getEdgeFront
GNEEdge * getEdgeFront() const
get front edge (or a pointer to nullptr if there isn't)
Definition: GNEViewNetHelper.cpp:279
GNEHierarchicalElementParents::getEdgeParents
const std::vector< GNEEdge * > & getEdgeParents() const
get edge parents
Definition: GNEHierarchicalElementParents.cpp:150
SUMO_ATTR_ID
Definition: SUMOXMLDefinitions.h:379
SUMOVehicleParameter
Structure representing possible vehicle parameter.
Definition: SUMOVehicleParameter.h:291
SUMO_TAG_NOTHING
invalid tag
Definition: SUMOXMLDefinitions.h:44
GUIDesigns.h
SUMO_TAG_VTYPE
description of a vehicle type
Definition: SUMOXMLDefinitions.h:122
GNEVehicleFrame::HelpCreation::~HelpCreation
~HelpCreation()
destructor
Definition: GNEVehicleFrame.cpp:49
GNEVehicleFrame::HelpCreation::showHelpCreation
void showHelpCreation()
show HelpCreation
Definition: GNEVehicleFrame.cpp:53
SumoXMLTag
SumoXMLTag
Numbers representing SUMO-XML - element names.
Definition: SUMOXMLDefinitions.h:42
GNEVehicleFrame::addVehicle
bool addVehicle(const GNEViewNetHelper::ObjectsUnderCursor &objectsUnderCursor)
add vehicle element
Definition: GNEVehicleFrame.cpp:139
GNEVehicleFrame::tagSelected
void tagSelected()
Tag selected in TagSelector.
Definition: GNEVehicleFrame.cpp:255
GNEAttributeCarrier::TagProperties::getTag
SumoXMLTag getTag() const
get Tag vinculated with this attribute Property
Definition: GNEAttributeCarrier.cpp:521
GNEFrameAttributesModuls::AttributesCreator::showAttributesCreatorModul
void showAttributesCreatorModul(const GNEAttributeCarrier::TagProperties &myTagProperties)
show AttributesCreator modul
Definition: GNEFrameAttributesModuls.cpp:631
GNEFrameModuls::EdgePathCreator::addEdge
bool addEdge(GNEEdge *edge)
add edge to route
Definition: GNEFrameModuls.cpp:597
SUMOVehicleParserHelper::parseVehicleAttributes
static SUMOVehicleParameter * parseVehicleAttributes(const SUMOSAXAttributes &attrs, const bool hardFail, const bool optionalID=false, const bool skipDepart=false, const bool isPerson=false)
Parses a vehicle's attributes.
Definition: SUMOVehicleParserHelper.cpp:231
SUMO_ATTR_BEGIN
weights: time range begin
Definition: SUMOXMLDefinitions.h:675
GNEFrameAttributesModuls::AttributesCreator::hideAttributesCreatorModul
void hideAttributesCreatorModul()
hide group box
Definition: GNEFrameAttributesModuls.cpp:662
GUIDesignLabelFrameInformation
#define GUIDesignLabelFrameInformation
label extended over frame without thick and with text justify to left, used to show information in fr...
Definition: GUIDesigns.h:210
GNEFrameModuls::EdgePathCreator
Definition: GNEFrameModuls.h:177
GNEVehicleFrame::myVTypeSelector
GNEFrameModuls::DemandElementSelector * myVTypeSelector
Vehicle Type selectors.
Definition: GNEVehicleFrame.h:103
GNEFrameAttributesModuls::AttributesCreator::getAttributesAndValues
std::map< SumoXMLAttr, std::string > getAttributesAndValues(bool includeAll) const
get attributes and their values
Definition: GNEFrameAttributesModuls.cpp:668
GNEViewNet::getNet
GNENet * getNet() const
get the net object
Definition: GNEViewNet.cpp:927
SUMO_TAG_ROUTEFLOW
a flow definition nusing a route instead of a from-to edges route (used in NETEDIT)
Definition: SUMOXMLDefinitions.h:152
SUMO_TAG_FLOW
a flow definitio nusing a from-to edges instead of a route (used by router)
Definition: SUMOXMLDefinitions.h:150
GNERouteHandler::buildTrip
static void buildTrip(GNEViewNet *viewNet, bool undoDemandElements, const SUMOVehicleParameter &vehicleParameters, const std::vector< GNEEdge * > &edges)
build trip
Definition: GNERouteHandler.cpp:335
GNEAttributeCarrier::getTagProperty
const TagProperties & getTagProperty() const
get Tag Property assigned to this object
Definition: GNEAttributeCarrier.cpp:1171
GNEVehicleFrame.h
GNEVehicleFrame::myHelpCreation
HelpCreation * myHelpCreation
Help creation.
Definition: GNEVehicleFrame.h:112
SUMOSAXAttributesImpl_Cached
Encapsulated Xerces-SAX-attributes.
Definition: SUMOSAXAttributesImpl_Cached.h:44
GNEFrameModuls::EdgePathCreator::hideEdgePathCreator
void hideEdgePathCreator()
show EdgePathCreator
Definition: GNEFrameModuls.cpp:558
GNEViewNetHelper::ObjectsUnderCursor
class used to group all variables related with objects under cursor after a click over view
Definition: GNEViewNetHelper.h:149
GNEFrameModuls::DemandElementSelector
Definition: GNEFrameModuls.h:114
GNEFrameModuls::TagSelector
Definition: GNEFrameModuls.h:45
GNEDemandElement::getAttributeDouble
virtual double getAttributeDouble(SumoXMLAttr key) const =0
GNEViewNet.h
SUMO_ATTR_DEPARTSPEED
Definition: SUMOXMLDefinitions.h:436
SUMO_ATTR_ROUTE
Definition: SUMOXMLDefinitions.h:441
SUMO_ATTR_DEPARTLANE
Definition: SUMOXMLDefinitions.h:433
GNEFrameModuls::DemandElementSelector::getCurrentDemandElement
GNEDemandElement * getCurrentDemandElement() const
get current demand element
Definition: GNEFrameModuls.cpp:353
GNERouteHandler::buildFlow
static void buildFlow(GNEViewNet *viewNet, bool undoDemandElements, const SUMOVehicleParameter &vehicleParameters, const std::vector< GNEEdge * > &edges)
build flow
Definition: GNERouteHandler.cpp:383
GNEEdge.h
GNEFrame::myViewNet
GNEViewNet * myViewNet
View Net.
Definition: GNEFrame.h:120
GNEVehicleFrame::show
void show()
show Frame
Definition: GNEVehicleFrame.cpp:130
GNEFrame::getPredefinedTagsMML
const std::map< int, std::string > & getPredefinedTagsMML() const
get predefinedTagsMML
Definition: GNEFrame.cpp:276
GUIDesignGroupBoxFrame
#define GUIDesignGroupBoxFrame
Group box design extended over frame.
Definition: GUIDesigns.h:255
GNEFrameModuls::TagSelector::getCurrentTagProperties
const GNEAttributeCarrier::TagProperties & getCurrentTagProperties() const
get current type tag
Definition: GNEFrameModuls.cpp:195
GNEVehicleFrame
Definition: GNEVehicleFrame.h:33
GNEVehicleFrame::demandElementSelected
void demandElementSelected()
selected vehicle type in DemandElementSelector
Definition: GNEVehicleFrame.cpp:276
GNEVehicleFrame::HelpCreation::updateHelpCreation
void updateHelpCreation()
update HelpCreation
Definition: GNEVehicleFrame.cpp:67
SUMO_TAG_VEHICLE
description of a vehicle
Definition: SUMOXMLDefinitions.h:120
GNEVehicleFrame::myVehicleAttributes
GNEFrameAttributesModuls::AttributesCreator * myVehicleAttributes
internal vehicle attributes
Definition: GNEVehicleFrame.h:106
GNEVehicleFrame::myEdgePathCreator
GNEFrameModuls::EdgePathCreator * myEdgePathCreator
edge path creator (used for trips and flows)
Definition: GNEVehicleFrame.h:109
toString
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
Definition: ToString.h:48
GNEFrameModuls::TagSelector::setCurrentTag
void setCurrentTag(SumoXMLTag newTag)
set current type manually
Definition: GNEFrameModuls.cpp:226
SUMOVehicleParserHelper::parseFlowAttributes
static SUMOVehicleParameter * parseFlowAttributes(const SUMOSAXAttributes &attrs, const bool hardFail, const SUMOTime beginDefault, const SUMOTime endDefault, bool isPerson=false)
Parses a flow's attributes.
Definition: SUMOVehicleParserHelper.cpp:56
GNERouteHandler::buildVehicleWithEmbeddedRoute
static void buildVehicleWithEmbeddedRoute(GNEViewNet *viewNet, bool undoDemandElements, SUMOVehicleParameter vehicleParameters, GNEDemandElement *embeddedRouteCopy)
build vehicle with a embedded route
Definition: GNERouteHandler.cpp:235
GNEFrameModuls::TagSelector::refreshTagProperties
void refreshTagProperties()
due myCurrentTagProperties is a Reference, we need to refresh it when frameParent is show
Definition: GNEFrameModuls.cpp:243
GNEViewNetHelper::ObjectsUnderCursor::getDemandElementFront
GNEDemandElement * getDemandElementFront() const
get front net element element (or a pointer to nullptr if there isn't)
Definition: GNEViewNetHelper.cpp:259
GNEVehicleFrame::HelpCreation::HelpCreation
HelpCreation(GNEVehicleFrame *vehicleFrameParent)
constructor
Definition: GNEVehicleFrame.cpp:42
SUMOSAXAttributesImpl_Cached.h
SUMO_TAG_ROUTE
begin/end of the description of a route
Definition: SUMOXMLDefinitions.h:126
config.h
GNEFrameModuls::DemandElementSelector::hideDemandElementSelector
void hideDemandElementSelector()
hide demand element selector
Definition: GNEFrameModuls.cpp:397
GNEVehicle.h
GNEVehicleFrame::edgePathCreated
void edgePathCreated()
finish edge path creation
Definition: GNEVehicleFrame.cpp:295
SUMO_ATTR_END
weights: time range end
Definition: SUMOXMLDefinitions.h:677
GNEFrameModuls::EdgePathCreator::getClickedEdges
std::vector< GNEEdge * > getClickedEdges() const
get current clicked edges
Definition: GNEFrameModuls.cpp:585
SUMOTime_MAX
#define SUMOTime_MAX
Definition: SUMOTime.h:36
GNENet::generateDemandElementID
std::string generateDemandElementID(const std::string &prefix, SumoXMLTag type) const
generate demand element id
Definition: GNENet.cpp:2411
GNERouteHandler::buildFlowOverRoute
static void buildFlowOverRoute(GNEViewNet *viewNet, bool undoDemandElements, const SUMOVehicleParameter &vehicleParameters)
build a flow over an existent route
Definition: GNERouteHandler.cpp:191
GNEFrame::show
virtual void show()
show Frame
Definition: GNEFrame.cpp:108
GNEFrameAttributesModuls::AttributesCreator::showWarningMessage
void showWarningMessage(std::string extra="") const
show warning message with information about non-valid attributes
Definition: GNEFrameAttributesModuls.cpp:698
GNEFrame::hide
virtual void hide()
hide Frame
Definition: GNEFrame.cpp:117
GNERouteHandler::buildFlowWithEmbeddedRoute
static void buildFlowWithEmbeddedRoute(GNEViewNet *viewNet, bool undoDemandElements, SUMOVehicleParameter vehicleParameters, GNEDemandElement *embeddedRouteCopy)
build flow with a embedded route
Definition: GNERouteHandler.cpp:285
GNENet.h
GNEVehicleFrame::~GNEVehicleFrame
~GNEVehicleFrame()
Destructor.
Definition: GNEVehicleFrame.cpp:126
SUMO_TAG_TRIP
a single trip definition (used by router)
Definition: SUMOXMLDefinitions.h:146
GNEVehicleFrame::HelpCreation
Definition: GNEVehicleFrame.h:41
GNERouteHandler.h
GNEVehicleFrame::myVehicleTagSelector
GNEFrameModuls::TagSelector * myVehicleTagSelector
vehicle tag selector (used to select diffent kind of vehicles)
Definition: GNEVehicleFrame.h:100
GNEVehicleFrame::getEdgePathCreator
GNEFrameModuls::EdgePathCreator * getEdgePathCreator() const
get EdgePathCreator modul
Definition: GNEVehicleFrame.cpp:246