38 const double departPos,
const double arrivalPos,
const double departPosLat,
const int departLane) :
39 MSStage(type, route.back(), toStop, arrivalPos),
112 inline const std::vector<const MSEdge*>&
getRoute()
const {
116 inline const std::vector<const MSEdge*>::iterator
getRouteStep()
const {
std::vector< const MSEdge * > ConstMSEdgeVector
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types.
A road/street connecting two junctions.
Representation of a lane in the micro simulation.
MSStage(const MSStageType type, const MSEdge *destination, MSStoppingPlace *toStop, const double arrivalPos, const double arrivalPosLat=0.0, const std::string &group="")
constructor
virtual bool equals(const MSStage &s) const
double getAngle(SUMOTime now) const
Returns the angle of the transportable.
std::string myRouteID
The original route id.
virtual const MSEdge * getNextRouteEdge() const =0
const MSLane * getLane() const
Returns the current lane.
static const MSLane * checkDepartLane(const MSEdge *edge, SUMOVehicleClass svc, int laneIndex, const std::string &id)
interpret custom depart lane
double getEdgePos(SUMOTime now) const
Returns the offset from the start of the current edge measured in its natural direction.
int getDirection() const
Return the movement directon on the edge.
bool equals(const MSStage &s) const
virtual void activateEntryReminders(MSTransportable *person, const bool isDepart=false)
add the move reminders for the current lane on entry
ConstMSEdgeVector getEdges() const
the edges of the current stage
const std::vector< const MSEdge * > & getRoute() const
void setPState(MSTransportableStateAdapter *pstate)
double myDepartPosLat
the lateral depart position
double getSpeed() const
Returns the speed of the transportable.
std::vector< constMSEdge * >::iterator myRouteStep
current step
double getDepartPosLat() const
int getDepartLane() const
double mySpeed
the speed of the transportable
int myDepartLane
the depart lane or -1
MSEdge * myCurrentInternalEdge
The current internal edge this transportable is on or nullptr.
Position getPosition(SUMOTime now) const
Returns the position of the container.
const MSEdge * getEdge() const
Returns the current edge.
double getConfiguredSpeed() const
Returns the configured speed in this stage.
MSTransportableStateAdapter * myPState
state that is to be manipulated by MSPModel
SUMOTime getWaitingTime() const
Returns the time the transportable spent waiting.
MSTransportableStateAdapter * getPState() const
virtual void setRouteIndex(MSTransportable *const transportable, int routeOffset)
place transportable on a previously passed edge
SUMOTime getTotalWaitingTime() const
Returns the cumulative time the transportable spent waiting.
MSStageMoving(const MSStageType type, const std::vector< const MSEdge * > &route, const std::string &routeID, MSStoppingPlace *toStop, const double speed, const double departPos, const double arrivalPos, const double departPosLat, const int departLane)
constructor
std::vector< const MSEdge * > myRoute
The route of the container.
double getDepartPos() const
double myDepartPos
the depart position
const MSEdge * getFromEdge() const
Returns first edge of the containers route.
const std::vector< constMSEdge * >::iterator getRouteStep() const
virtual bool moveToNextEdge(MSTransportable *transportable, SUMOTime currentTime, int prevDir, MSEdge *nextInternal=nullptr, const bool isReplay=false)=0
move forward and return whether the transportable arrived
virtual void replaceRoute(MSTransportable *const transportable, const ConstMSEdgeVector &edges, int routeOffset)
virtual double getMaxSpeed(const MSTransportable *const transportable=nullptr) const =0
the maximum speed of the transportable
void setDepartPos(const double pos)
virtual ~MSStageMoving()
destructor
A lane area vehicles can halt at.
abstract base class for managing callbacks to retrieve various state information from the model
A point in 2D or 3D with translation and scaling methods.
#define UNUSED_PARAMETER(x)