SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
MSContainer.h
Go to the documentation of this file.
1 /****************************************************************************/
8 // The class for modelling container-movements
9 /****************************************************************************/
10 // SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/
11 // Copyright (C) 2001-2015 DLR (http://www.dlr.de/) and contributors
12 /****************************************************************************/
13 //
14 // This file is part of SUMO.
15 // SUMO is free software: you can redistribute it and/or modify
16 // it under the terms of the GNU General Public License as published by
17 // the Free Software Foundation, either version 3 of the License, or
18 // (at your option) any later version.
19 //
20 /****************************************************************************/
21 #ifndef MSContainer_h
22 #define MSContainer_h
23 
24 // ===========================================================================
25 // included modules
26 // ===========================================================================
27 #ifdef _MSC_VER
28 #include <windows_config.h>
29 #else
30 #include <config.h>
31 #endif
32 
33 #include <string>
34 #include <vector>
35 #include <set>
36 #include <utils/common/SUMOTime.h>
37 #include <utils/common/Command.h>
38 #include <utils/geom/Position.h>
40 
41 
42 // ===========================================================================
43 // class declarations
44 // ===========================================================================
45 class MSNet;
46 class MSEdge;
47 class MSLane;
48 class OutputDevice;
50 class MSContainerStop;
51 class SUMOVehicle;
52 class MSVehicleType;
54 class CState;
55 
56 //typedef std::vector<const MSEdge*> MSEdgeVector;
57 
58 
59 // ===========================================================================
60 // class definitions
61 // ===========================================================================
69 class MSContainer {
70 public:
71  enum StageType {
72  DRIVING = 0,
73  WAITING = 1,
75  };
76 
78  static const SUMOReal ROADSIDE_OFFSET;
79 
80 
86  public:
88  MSContainerStage(const MSEdge& destination, StageType type);
89 
91  virtual ~MSContainerStage();
92 
94  const MSEdge& getDestination() const;
95 
97  virtual const MSEdge* getEdge() const = 0;
98  virtual const MSEdge* getFromEdge() const = 0;
99  virtual SUMOReal getEdgePos(SUMOTime now) const = 0;
100 
102  virtual Position getPosition(SUMOTime now) const = 0;
103 
105  virtual SUMOReal getAngle(SUMOTime now) const = 0;
106 
109  return myType;
110  }
111 
113  virtual std::string getStageDescription() const = 0;
114 
116  virtual void proceed(MSNet* net, MSContainer* container, SUMOTime now, MSEdge* previousEdge, const SUMOReal at) = 0;
117 
119  void setDeparted(SUMOTime now);
120 
122  void setArrived(SUMOTime now);
123 
125  virtual bool isWaitingFor(const std::string& line) const;
126 
128  virtual bool isWaiting4Vehicle() const {
129  return false;
130  }
131 
133  virtual SUMOTime getWaitingTime(SUMOTime now) const = 0;
134 
136  virtual SUMOReal getSpeed() const = 0;
137 
139  Position getEdgePosition(const MSEdge* e, SUMOReal at, SUMOReal offset) const;
140 
142  Position getLanePosition(const MSLane* lane, SUMOReal at, SUMOReal offset) const;
143 
145  SUMOReal getEdgeAngle(const MSEdge* e, SUMOReal at) const;
146 
147  /* @brief Return the current ContainerStop or the destination containe stop
148  *
149  * returns the current container stop if the stage=Waiting and the
150  * container stop from wich the container departs if stage=Driving
151  */
152  virtual MSContainerStop* getDepartContainerStop() const = 0;
153 
158  virtual void tripInfoOutput(OutputDevice& os) const = 0;
159 
164  virtual void routeOutput(OutputDevice& os) const = 0;
165 
170  virtual void beginEventOutput(const MSContainer& container, SUMOTime t, OutputDevice& os) const = 0;
171 
176  virtual void endEventOutput(const MSContainer& container, SUMOTime t, OutputDevice& os) const = 0;
177 
178  protected:
181 
184 
187 
190 
191  private:
194 
197 
198  };
199 
206  public:
208  MSContainerStage_Driving(const MSEdge& destination, MSContainerStop* toCS,
209  const std::vector<std::string>& lines);
210 
213 
215  virtual void proceed(MSNet* net, MSContainer* container, SUMOTime now, MSEdge* previousEdge, const SUMOReal at);
216 
218  const MSEdge* getEdge() const;
219  const MSEdge* getFromEdge() const;
220  SUMOReal getEdgePos(SUMOTime now) const;
221 
223  Position getPosition(SUMOTime now) const;
224 
226  SUMOReal getAngle(SUMOTime now) const;
227 
229  std::string getStageDescription() const;
230 
232  bool isWaitingFor(const std::string& line) const;
233 
235  bool isWaiting4Vehicle() const;
236 
238  SUMOTime getWaitingTime(SUMOTime now) const;
239 
246  SUMOReal getSpeed() const;
247 
250 
253  myVehicle = v;
254  }
255 
261  virtual void tripInfoOutput(OutputDevice& os) const;
262 
268  virtual void routeOutput(OutputDevice& os) const;
269 
274  virtual void beginEventOutput(const MSContainer& container, SUMOTime t, OutputDevice& os) const;
275 
280  virtual void endEventOutput(const MSContainer& container, SUMOTime t, OutputDevice& os) const;
281 
282  private:
284  const std::set<std::string> myLines;
285 
288 
291 
294 
296 
299 
301 
302  private:
305 
308 
309  };
310 
317  public:
319  MSContainerStage_Waiting(const MSEdge& destination,
320  SUMOTime duration, SUMOTime until, SUMOReal pos, const std::string& actType);
321 
324 
326  const MSEdge* getEdge() const;
327 
329  const MSEdge* getFromEdge() const;
330 
331  SUMOReal getEdgePos(SUMOTime now) const;
332 
334  SUMOTime getUntil() const;
335 
336  Position getPosition(SUMOTime now) const;
337 
339  SUMOReal getAngle(SUMOTime now) const;
340 
341  SUMOTime getWaitingTime(SUMOTime now) const;
342 
344  SUMOReal getSpeed() const;
345 
347  std::string getStageDescription() const {
348  return "waiting (" + myActType + ")";
349  }
350 
351  /* @brief returns the container stop at which the container is waiting
352  *
353  * this method was added to have a method 'getDepartContainerStop'
354  * for MSContainer.
355  */
357 
359  virtual void proceed(MSNet* net, MSContainer* container, SUMOTime now, MSEdge* previousEdge, const SUMOReal at);
360 
366  virtual void tripInfoOutput(OutputDevice& os) const;
367 
373  virtual void routeOutput(OutputDevice& os) const;
374 
379  virtual void beginEventOutput(const MSContainer& container, SUMOTime t, OutputDevice& os) const;
380 
385  virtual void endEventOutput(const MSContainer& container, SUMOTime t, OutputDevice& os) const;
386 
387  private:
390 
393 
396 
398  std::string myActType;
399 
401 
404 
405 
406  private:
409 
412 
413  };
414 
422 
423  public:
425  MSContainerStage_Tranship(const std::vector<const MSEdge*>& route, MSContainerStop* toCS, SUMOReal speed, SUMOReal departPos, SUMOReal arrivalPos);
426 
429 
431  virtual void proceed(MSNet* net, MSContainer* container, SUMOTime now, MSEdge* previousEdge, const SUMOReal at);
432 
434  const MSEdge* getEdge() const;
435 
437  const MSEdge* getFromEdge() const;
438 
440  const MSEdge* getToEdge() const;
441 
443  SUMOReal getEdgePos(SUMOTime now) const;
444 
446  Position getPosition(SUMOTime now) const;
447 
449  SUMOReal getAngle(SUMOTime now) const;
450 
452  SUMOTime getWaitingTime(SUMOTime now) const;
453 
455  SUMOReal getSpeed() const;
456 
458  std::string getStageDescription() const {
459  return "tranship";
460  }
461 
464 
469  virtual void tripInfoOutput(OutputDevice& os) const;
470 
475  virtual void routeOutput(OutputDevice& os) const;
476 
481  virtual void beginEventOutput(const MSContainer& c, SUMOTime t, OutputDevice& os) const;
482 
487  virtual void endEventOutput(const MSContainer& c, SUMOTime t, OutputDevice& os) const;
488 
490  bool moveToNextEdge(MSContainer* container, SUMOTime currentTime, MSEdge* nextInternal = 0);
491 
492 
494  inline SUMOReal getMaxSpeed() const {
495  return mySpeed;
496  }
497 
498  inline SUMOReal getDepartPos() const {
499  return myDepartPos;
500  }
501 
502  inline SUMOReal getArrivalPos() const {
503  return myArrivalPos;
504  }
505 
506  inline const MSEdge* getNextRouteEdge() const {
507  return myRouteStep == myRoute.end() - 1 ? 0 : *(myRouteStep + 1);
508  }
509 
511  return myContainerState;
512  }
513 
514  private:
516  std::vector<const MSEdge*> myRoute;
517 
519  std::vector<const MSEdge*>::iterator myRouteStep;
520 
523 
526 
529 
532 
535 
538 
541 
542  private:
545 
548 
549  };
550 
551 public:
553  typedef std::vector<MSContainerStage*> MSContainerPlan;
554 
557 
558 protected:
561 
565 
567  MSContainerPlan* myPlan;
568 
570  MSContainerPlan::iterator myStep;
571 
574 
575 public:
577  MSContainer(const SUMOVehicleParameter* pars, const MSVehicleType* vtype, MSContainerPlan* plan);
578 
580  virtual ~MSContainer();
581 
583  const std::string& getID() const;
584 
585  /* @brief proceeds to the next step of the route,
586  * @return Whether the containers plan continues */
587  bool proceed(MSNet* net, SUMOTime time);
588 
590  SUMOTime getDesiredDepart() const;
591 
593  void setDeparted(SUMOTime now);
594 
596  const MSEdge& getDestination() const {
597  return (*myStep)->getDestination();
598  }
599 
601  const MSEdge& getNextDestination() const {
602  return (*(myStep + 1))->getDestination();
603  }
604 
606  const MSEdge* getEdge() const {
607  return (*myStep)->getEdge();
608  }
609 
611  const MSEdge* getFromEdge() const {
612  return (*myStep)->getFromEdge();
613  }
614 
616  virtual SUMOReal getEdgePos() const;
617 
619  virtual Position getPosition() const;
620 
622  virtual SUMOReal getAngle() const;
623 
625  virtual SUMOReal getWaitingSeconds() const;
626 
628  virtual SUMOReal getSpeed() const;
629 
632  return (*myStep)->getStageType();
633  }
634 
636  std::string getCurrentStageDescription() const {
637  return (*myStep)->getStageDescription();
638  }
639 
642  return *myStep;
643  }
644 
645  /* @brief Return the current ContainerStop or the destination containe stop
646  *
647  * returns the current container stop if the stage=Waiting and the
648  * container stop from wich the container departs if stage=Driving
649  */
650  virtual MSContainerStop* getDepartContainerStop() const;
651 
652 
658  void tripInfoOutput(OutputDevice& os) const;
659 
665  void routeOutput(OutputDevice& os) const;
666 
668  bool isWaitingFor(const std::string& line) const {
669  return (*myStep)->isWaitingFor(line);
670  }
671 
673  bool isWaiting4Vehicle() const {
674  return (*myStep)->isWaiting4Vehicle();
675  }
676 
678  return *myParameter;
679  }
680 
681  inline const MSVehicleType& getVehicleType() const {
682  return *myVType;
683  }
684 
685 private:
687  MSContainer(const MSContainer&);
688 
691 
692 };
693 
694 
695 #endif
696 
697 /****************************************************************************/
MSContainerStage_Tranship(const std::vector< const MSEdge * > &route, MSContainerStop *toCS, SUMOReal speed, SUMOReal departPos, SUMOReal arrivalPos)
constructor
const MSEdge & getDestination() const
returns the destination edge
Definition: MSContainer.cpp:68
virtual ~MSContainer()
destructor
MSContainerStop * getDepartContainerStop() const
returns the container stop from which the container departs
SUMOReal getEdgePos(SUMOTime now) const
Returns the offset from the start of the current edge measured in its natural direction.
MSContainerStop * myCurrentContainerStop
the container stop at which the container is waiting
Definition: MSContainer.h:403
const std::set< std::string > myLines
the lines to choose from
Definition: MSContainer.h:284
SUMOReal myDepartPos
the depart position
Definition: MSContainer.h:522
std::string getCurrentStageDescription() const
Returns the current stage description as a string.
Definition: MSContainer.h:636
A lane area vehicles can halt at and load and unload containers.
virtual void tripInfoOutput(OutputDevice &os) const =0
Called on writing tripinfo output.
const MSEdge * getEdge() const
Returns the current edge.
Definition: MSContainer.h:606
MSContainerStage_Tranship & operator=(const MSContainerStage_Tranship &)
Invalidated assignment operator.
std::string getStageDescription() const
Returns the current stage description as a string.
Definition: MSContainer.h:347
virtual bool isWaiting4Vehicle() const
Whether the container waits for a vehicle.
Definition: MSContainer.h:128
SUMOReal getAngle(SUMOTime now) const
the angle of the edge minus 90deg
MSContainerPlan * myPlan
the plan of the container
Definition: MSContainer.h:567
SUMOTime myWaitingDuration
the time the container is waiting
Definition: MSContainer.h:389
std::vector< const MSEdge * >::iterator myRouteStep
current step
Definition: MSContainer.h:519
SUMOReal getEdgeAngle(const MSEdge *e, SUMOReal at) const
get angle of the edge at a certain position
MSContainerStage(const MSEdge &destination, StageType type)
constructor
Definition: MSContainer.cpp:62
MSContainerStage_Waiting & operator=(const MSContainerStage_Waiting &)
Invalidated assignment operator.
bool moveToNextEdge(MSContainer *container, SUMOTime currentTime, MSEdge *nextInternal=0)
move forward and return whether the container arrived
bool isWaitingFor(const std::string &line) const
Whether the container waits for a vehicle of the line specified.
virtual void beginEventOutput(const MSContainer &container, SUMOTime t, OutputDevice &os) const =0
Called for writing the events output (begin of an action)
SUMOTime myDeparted
the time at which this stage started
Definition: MSContainer.h:183
SUMOTime getWaitingTime(SUMOTime now) const
time spent waiting for a ride
virtual SUMOReal getEdgePos(SUMOTime now) const =0
virtual void tripInfoOutput(OutputDevice &os) const
Called on writing tripinfo output.
virtual void tripInfoOutput(OutputDevice &os) const
Called on writing tripinfo output.
bool isWaitingFor(const std::string &line) const
Whether the container waits for a vehicle of the line specified.
Definition: MSContainer.h:668
virtual const MSEdge * getFromEdge() const =0
SUMOTime getWaitingTime(SUMOTime now) const
the time this container spent waiting
const MSEdge * getEdge() const
Returns the current edge.
SUMOReal getSpeed() const
Returns the speed of the container which is always zero in that stage.
virtual bool isWaitingFor(const std::string &line) const
Whether the container waits for a vehicle of the line specified.
Definition: MSContainer.cpp:85
MSContainerStage_Waiting(const MSEdge &destination, SUMOTime duration, SUMOTime until, SUMOReal pos, const std::string &actType)
constructor
MSContainerStop * myDepartContainerStop
The container stop from which the container departs.
Definition: MSContainer.h:293
std::string getStageDescription() const
Returns the current stage description as a string.
Definition: MSContainer.h:458
virtual void proceed(MSNet *net, MSContainer *container, SUMOTime now, MSEdge *previousEdge, const SUMOReal at)
proceeds to the next step
SUMOReal getMaxSpeed() const
accessors to be used by MSCModel_NonInteracting
Definition: MSContainer.h:494
void setArrived(SUMOTime now)
logs end of the step
Definition: MSContainer.cpp:80
const SUMOVehicleParameter & getParameter() const
Definition: MSContainer.h:677
SUMOReal getEdgePos(SUMOTime now) const
SUMOTime myWaitingUntil
the time until the container is waiting
Definition: MSContainer.h:392
virtual void endEventOutput(const MSContainer &c, SUMOTime t, OutputDevice &os) const
Called for writing the events output (end of an action)
MSContainerStop * myDepartContainerStop
The container stop from which the container departs.
Definition: MSContainer.h:531
MSContainerStop * getDepartContainerStop() const
MSContainerStage * getCurrentStage() const
Return the current stage.
Definition: MSContainer.h:641
MSContainerPlan::iterator myStep
the iterator over the route
Definition: MSContainer.h:570
const MSVehicleType * myVType
This container's type. (mainly used for drawing related information Note sure if it is really necessa...
Definition: MSContainer.h:564
The simulated network and simulation perfomer.
Definition: MSNet.h:94
The car-following model and parameter.
Definition: MSVehicleType.h:74
const MSVehicleType & getVehicleType() const
Definition: MSContainer.h:681
virtual void routeOutput(OutputDevice &os) const =0
Called on writing vehroute output.
const MSEdge * getEdge() const
Returns the current edge.
StageType myType
The type of this stage.
Definition: MSContainer.h:189
std::vector< const MSEdge * > myRoute
The route of the container.
Definition: MSContainer.h:516
MSContainerStop * getDepartContainerStop() const
returns the container stop from which the container departs
StageType getStageType() const
Definition: MSContainer.h:108
virtual const MSEdge * getEdge() const =0
Returns the current edge.
virtual void beginEventOutput(const MSContainer &container, SUMOTime t, OutputDevice &os) const
Called for writing the events output.
A road/street connecting two junctions.
Definition: MSEdge.h:81
virtual void beginEventOutput(const MSContainer &container, SUMOTime t, OutputDevice &os) const
Called for writing the events output.
SUMOReal myArrivalPos
the arrival position
Definition: MSContainer.h:525
virtual SUMOReal getAngle() const
return the current angle of the container
const MSEdge * getEdge() const
Returns the current edge.
const MSEdge * getFromEdge() const
Returns the departure edge.
Definition: MSContainer.h:611
const MSEdge & getNextDestination() const
Returns the destination after the current destination.
Definition: MSContainer.h:601
virtual ~MSContainerStage()
destructor
Definition: MSContainer.cpp:65
SUMOTime myWaitingSince
The time since which this container is waiting for a ride.
Definition: MSContainer.h:298
SUMOTime getUntil() const
Returns time until the container waits.
virtual void routeOutput(OutputDevice &os) const
Called on writing vehroute output.
Representation of a vehicle.
Definition: SUMOVehicle.h:65
SUMOReal mySpeed
the speed of the container
Definition: MSContainer.h:534
virtual void routeOutput(OutputDevice &os) const
Called on writing vehroute output.
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:46
Position getLanePosition(const MSLane *lane, SUMOReal at, SUMOReal offset) const
get position on lane at length at with orthogonal offset
Definition: MSContainer.cpp:95
virtual void proceed(MSNet *net, MSContainer *container, SUMOTime now, MSEdge *previousEdge, const SUMOReal at)
proceeds to the next step
SUMOReal getSpeed() const
the speed of the container
std::string myActType
The type of activity.
Definition: MSContainer.h:398
Position getPosition(SUMOTime now) const
Returns the position of the container.
bool myWriteEvents
Whether events shall be written.
Definition: MSContainer.h:573
virtual void beginEventOutput(const MSContainer &c, SUMOTime t, OutputDevice &os) const
Called for writing the events output.
const MSEdge & myDestination
the next edge to reach by getting transported
Definition: MSContainer.h:180
SUMOReal getSpeed() const
Returns the speed of the container.
static const SUMOReal ROADSIDE_OFFSET
the offset for computing container positions when standing at an edge
Definition: MSContainer.h:78
Position getPosition(SUMOTime now) const
returns the position of the container
SUMOTime getDesiredDepart() const
Returns the desired departure time.
virtual SUMOReal getAngle(SUMOTime now) const =0
returns the angle of the container
SUMOTime myArrived
the time at which this stage ended
Definition: MSContainer.h:186
virtual void routeOutput(OutputDevice &os) const
Called on writing vehroute output.
const SUMOVehicleParameter * myParameter
the plan of the container
Definition: MSContainer.h:560
const MSEdge * lastDestination
the last destination of the route of the container
Definition: MSContainer.h:556
const MSEdge * getFromEdge() const
Returns first edge of the containers route.
CState * myContainerState
state that is to be manipulated by MSCModel
Definition: MSContainer.h:537
virtual Position getPosition() const
Return the Network coordinate of the container.
virtual SUMOTime getWaitingTime(SUMOTime now) const =0
the time this container spent waiting
std::vector< MSContainerStage * > MSContainerPlan
the structure holding the plan of a container
Definition: MSContainer.h:553
const MSEdge * getNextRouteEdge() const
Definition: MSContainer.h:506
Position getPosition(SUMOTime now) const
returns the position of the container
virtual MSContainerStop * getDepartContainerStop() const =0
const MSEdge * getFromEdge() const
Returns the current edge.
virtual Position getPosition(SUMOTime now) const =0
returns the position of the container
std::string getStageDescription() const
returns the stage description as a string
void setDeparted(SUMOTime now)
logs depart time of the current stage
bool isWaiting4Vehicle() const
Whether the container waits for a vehicle.
Definition: MSContainer.h:673
MSContainerStop * myDestinationContainerStop
The destination container stop.
Definition: MSContainer.h:290
Structure representing possible vehicle parameter.
virtual void endEventOutput(const MSContainer &container, SUMOTime t, OutputDevice &os) const
Called for writing the events output (end of an action)
Position getEdgePosition(const MSEdge *e, SUMOReal at, SUMOReal offset) const
get position on edge e at length at with orthogonal offset
Definition: MSContainer.cpp:90
virtual SUMOReal getEdgePos() const
Return the position on the edge.
virtual SUMOReal getWaitingSeconds() const
the time this container spent waiting in seconds
StageType getCurrentStageType() const
the current stage type of the container
Definition: MSContainer.h:631
MSContainerStage_Driving(const MSEdge &destination, MSContainerStop *toCS, const std::vector< std::string > &lines)
constructor
virtual void endEventOutput(const MSContainer &container, SUMOTime t, OutputDevice &os) const =0
Called for writing the events output (end of an action)
bool proceed(MSNet *net, SUMOTime time)
SUMOReal getAngle(SUMOTime now) const
the angle of the vehicle or the angle of the edge + 90deg
void setVehicle(SUMOVehicle *v)
assign a vehicle to the container
Definition: MSContainer.h:252
virtual void tripInfoOutput(OutputDevice &os) const
Called on writing tripinfo output.
const std::string & getID() const
returns the container id
int SUMOTime
Definition: SUMOTime.h:43
const MSEdge * getFromEdge() const
MSContainerStage & operator=(const MSContainerStage &)
Invalidated assignment operator.
Static storage of an output device and its base (abstract) implementation.
Definition: OutputDevice.h:71
SUMOTime getWaitingTime(SUMOTime now) const
Returns the time the container spent waiting.
#define SUMOReal
Definition: config.h:218
MSContainerStop * myDestinationContainerStop
the destination container stop
Definition: MSContainer.h:528
The container following model for tranship.
const MSEdge * getToEdge() const
Returns last edge of the containers route.
SUMOReal getAngle(SUMOTime now) const
Returns the angle of the container.
void tripInfoOutput(OutputDevice &os) const
Called on writing tripinfo output.
virtual SUMOReal getSpeed() const
the current speed of the container
SUMOTime myWaitingStart
the time the container started waiting
Definition: MSContainer.h:395
bool isWaiting4Vehicle() const
Whether the container waits for a vehicle.
const MSEdge & getDestination() const
Returns the current destination.
Definition: MSContainer.h:596
virtual SUMOReal getSpeed() const =0
the speed of the container
MSContainerStage_Driving & operator=(const MSContainerStage_Driving &)
Invalidated assignment operator.
virtual void proceed(MSNet *net, MSContainer *container, SUMOTime now, MSEdge *previousEdge, const SUMOReal at)
proceeds to the next step
Representation of a lane in the micro simulation.
Definition: MSLane.h:77
SUMOVehicle * myVehicle
The taken vehicle.
Definition: MSContainer.h:287
virtual void endEventOutput(const MSContainer &container, SUMOTime t, OutputDevice &os) const
Called for writing the events output (end of an action)
virtual std::string getStageDescription() const =0
return string representation of the current stage
MSContainer(const SUMOVehicleParameter *pars, const MSVehicleType *vtype, MSContainerPlan *plan)
constructor
MSContainer & operator=(const MSContainer &)
Invalidated assignment operator.
void routeOutput(OutputDevice &os) const
Called on writing vehroute output.
virtual MSContainerStop * getDepartContainerStop() const
void setDeparted(SUMOTime now)
logs end of the step
Definition: MSContainer.cpp:73
SUMOReal getEdgePos(SUMOTime now) const
virtual void proceed(MSNet *net, MSContainer *container, SUMOTime now, MSEdge *previousEdge, const SUMOReal at)=0
proceeds to the next step
MSEdge * myCurrentInternalEdge
The current internal edge this container is on or 0.
Definition: MSContainer.h:540