72 const double arrivalPosLat = 0.0,
const std::string& group =
"");
std::vector< const MSEdge * > ConstMSEdgeVector
std::vector< const MSEdge * > ConstMSEdgeVector
#define UNUSED_PARAMETER(x)
A road/street connecting two junctions.
Representation of a lane in the micro simulation.
The simulated network and simulation perfomer.
virtual MSStoppingPlace * getOriginStop() const
returns the origin stop (if any). only needed for MSStageTrip
virtual ~MSStage()
destructor
const MSEdge * getDestination() const
returns the destination edge
double myArrivalPosLat
the lateral position at which we want to arrive
MSStage(const MSStage &)
Invalidated copy constructor.
virtual ConstMSEdgeVector getEdges() const
the edges of the current stage
virtual bool isWalk() const
Whether the transportable is walking.
virtual double getEdgePos(SUMOTime now) const
virtual int getDirection() const
Return the movement directon on the edge.
virtual void tripInfoOutput(OutputDevice &os, const MSTransportable *const transportable) const =0
Called on writing tripinfo output.
virtual const MSEdge * getFromEdge() const
virtual double getEdgePosLat(SUMOTime now) const
virtual double getArrivalPos() const
int myParametersSet
Information on which parameter were set (mainly for vehroute output)
virtual SUMOTime getTimeLoss(const MSTransportable *transportable) const
virtual MSStage * clone() const =0
virtual void setSpeed(double)
sets the walking speed (ignored in other stages)
virtual const MSLane * getLane() const
Returns the current lane (if applicable)
virtual SUMOVehicle * getVehicle() const
Current vehicle in which the transportable is driving (or nullptr)
virtual void init(MSTransportable *)
initialization, e.g. for param-related events
virtual void saveState(std::ostringstream &out)
Saves the current state into the given stream, standard implementation does nothing.
virtual SUMOTime getTravelTime() const
SUMOTime getDeparted() const
get departure time of stage
void setDeparted(SUMOTime now)
logs end of the step
virtual bool isWaitingFor(const SUMOVehicle *vehicle) const
Whether the transportable waits for the given vehicle.
MSStoppingPlace * myDestinationStop
the stop to reach by getting transported (if any)
virtual std::string getStageDescription(const bool isPerson) const =0
return (brief) string representation of the current stage
const std::string myGroup
The id of the group of transportables traveling together.
virtual const std::string setArrived(MSNet *net, MSTransportable *transportable, SUMOTime now, const bool vehicleArrived)
logs end of the step
MSStoppingPlace * getDestinationStop() const
returns the destination stop (if any)
SUMOTime getArrived() const
get arrival time of stage
double getCosts() const
Returns the costs of the stage.
virtual std::string getStageSummary(const bool isPerson) const =0
return string summary of the current stage
virtual void loadState(MSTransportable *transportable, std::istringstream &state)
Reconstructs the current state, standard implementation does nothing.
virtual Position getPosition(SUMOTime now) const =0
returns the position of the transportable
bool wasSet(int what) const
MSStageType getStageType() const
void setArrivalPos(double arrivalPos)
virtual double getDistance() const =0
get travel distance in this stage
virtual void proceed(MSNet *net, MSTransportable *transportable, SUMOTime now, MSStage *previous)=0
proceeds to this stage
void setCosts(double costs)
Sets the costs of the stage.
virtual void abort(MSTransportable *)
abort this stage (TraCI)
MSStage(const MSStageType type, const MSEdge *destination, MSStoppingPlace *toStop, const double arrivalPos, const double arrivalPosLat=0.0, const std::string &group="")
constructor
virtual double getSpeed() const
the speed of the transportable
double myCosts
The assigned or calculated costs.
virtual bool isWaiting4Vehicle() const
Whether the transportable waits for a vehicle.
virtual SUMOTime getWaitingTime() const
virtual SUMOTime getDuration() const
SUMOTime myArrived
the time at which this stage ended
void setDestination(const MSEdge *newDestination, MSStoppingPlace *newDestStop)
virtual void routeOutput(const bool isPerson, OutputDevice &os, const bool withRouteLength, const MSStage *const previous) const =0
Called on writing vehroute output.
Position getLanePosition(const MSLane *lane, double at, double offset) const
get position on lane at length at with orthogonal offset
virtual double getArrivalPosLat() const
MSStageType myType
The type of this stage.
double getEdgeAngle(const MSEdge *e, double at) const
get angle of the edge at a certain position
virtual const MSEdge * getEdge() const
Returns the current edge.
MSStage & operator=(const MSStage &)=delete
Invalidated assignment operator.
const std::string & getGroup() const
return the id of the group of transportables traveling together
virtual int getRoutePosition() const
return index of current edge within route
static const double ROADSIDE_OFFSET
the offset for computing positions when standing at an edge
double myArrivalPos
the longitudinal position at which we want to arrive
virtual double getAngle(SUMOTime now) const =0
returns the angle of the transportable
Position getEdgePosition(const MSEdge *e, double at, double offset) const
get position on edge e at length at with orthogonal offset
const MSEdge * myDestination
the next edge to reach by getting transported
SUMOTime myDeparted
the time at which this stage started
A lane area vehicles can halt at.
Abstract in-person device.
abstract base class for managing callbacks to retrieve various state information from the model
The car-following model and parameter.
Static storage of an output device and its base (abstract) implementation.
An upper class for objects with additional parameters.
A point in 2D or 3D with translation and scaling methods.
Representation of a vehicle.
Structure representing possible vehicle parameter.