![]() |
SUMO - Simulation of Urban MObility
|
#include <MSTransportable.h>
Public Member Functions | |
void | abort (MSTransportable *) |
abort this stage (TraCI) More... | |
virtual void | beginEventOutput (const MSTransportable &p, SUMOTime t, OutputDevice &os) const |
Called for writing the events output. More... | |
virtual void | endEventOutput (const MSTransportable &p, SUMOTime t, OutputDevice &os) const |
Called for writing the events output (end of an action) More... | |
double | getAngle (SUMOTime now) const |
returns the angle of the transportable More... | |
double | getArrivalPos () const |
const MSEdge & | getDestination () const |
returns the destination edge More... | |
const MSStoppingPlace * | getDestinationStop () const |
returns the destination stop (if any) More... | |
const MSEdge * | getEdge () const |
Returns the current edge. More... | |
double | getEdgeAngle (const MSEdge *e, double at) const |
get angle of the edge at a certain position More... | |
double | getEdgePos (SUMOTime now) const |
Position | getEdgePosition (const MSEdge *e, double at, double offset) const |
get position on edge e at length at with orthogonal offset More... | |
ConstMSEdgeVector | getEdges () const |
the edges of the current stage More... | |
const MSEdge * | getFromEdge () const |
Position | getLanePosition (const MSLane *lane, double at, double offset) const |
get position on lane at length at with orthogonal offset More... | |
Position | getPosition (SUMOTime now) const |
returns the position of the transportable More... | |
double | getSpeed () const |
the speed of the transportable More... | |
virtual std::string | getStageDescription () const =0 |
return string representation of the current stage More... | |
StageType | getStageType () const |
SUMOVehicle * | getVehicle () const |
Whether the transportable waits for a vehicle. More... | |
std::string | getWaitingDescription () const |
Return where the person waits and for what. More... | |
SUMOTime | getWaitingTime (SUMOTime now) const |
time spent waiting for a ride More... | |
bool | isWaiting4Vehicle () const |
Whether the person waits for a vehicle. More... | |
bool | isWaitingFor (const std::string &line) const |
Whether the person waits for a vehicle of the line specified. More... | |
virtual void | proceed (MSNet *net, MSTransportable *transportable, SUMOTime now, Stage *previous)=0 |
proceeds to this stage More... | |
virtual void | routeOutput (OutputDevice &os) const =0 |
Called on writing vehroute output. More... | |
void | setArrived (SUMOTime now) |
marks arrival time and records driven distance More... | |
void | setDeparted (SUMOTime now) |
logs end of the step More... | |
virtual void | setSpeed (double) |
sets the walking speed (ignored in other stages) More... | |
void | setVehicle (SUMOVehicle *v) |
Stage_Driving (const MSEdge &destination, MSStoppingPlace *toStop, const double arrivalPos, const std::vector< std::string > &lines) | |
constructor More... | |
virtual void | tripInfoOutput (OutputDevice &os, MSTransportable *transportable) const =0 |
Called on writing tripinfo output. More... | |
virtual | ~Stage_Driving () |
destructor More... | |
Protected Attributes | |
double | myArrivalPos |
the position at which we want to arrive More... | |
SUMOTime | myArrived |
the time at which this stage ended More... | |
SUMOTime | myDeparted |
the time at which this stage started More... | |
const MSEdge & | myDestination |
the next edge to reach by getting transported More... | |
MSStoppingPlace *const | myDestinationStop |
the stop to reach by getting transported (if any) More... | |
const std::set< std::string > | myLines |
the lines to choose from More... | |
Position | myStopWaitPos |
StageType | myType |
The type of this stage. More... | |
SUMOVehicle * | myVehicle |
The taken vehicle. More... | |
double | myVehicleDistance |
std::string | myVehicleID |
cached vehicle data for output after the vehicle has been removed More... | |
std::string | myVehicleLine |
SUMOVehicleClass | myVehicleVClass |
const MSEdge * | myWaitingEdge |
double | myWaitingPos |
SUMOTime | myWaitingSince |
The time since which this person is waiting for a ride. More... | |
Private Member Functions | |
Stage_Driving & | operator= (const Stage_Driving &) |
Invalidated assignment operator. More... | |
Stage_Driving (const Stage_Driving &) | |
Invalidated copy constructor. More... | |
A "real" stage performing the travelling by a transport system The given route will be chosen. The travel time is computed by the simulation
Definition at line 300 of file MSTransportable.h.
MSTransportable::Stage_Driving::Stage_Driving | ( | const MSEdge & | destination, |
MSStoppingPlace * | toStop, | ||
const double | arrivalPos, | ||
const std::vector< std::string > & | lines | ||
) |
constructor
Definition at line 240 of file MSTransportable.cpp.
|
virtual |
destructor
Definition at line 249 of file MSTransportable.cpp.
|
private |
Invalidated copy constructor.
|
virtual |
abort this stage (TraCI)
Reimplemented from MSTransportable::Stage.
Definition at line 361 of file MSTransportable.cpp.
References myVehicle.
|
virtual |
Called for writing the events output.
[in] | os | The stream to write the information into |
IOError | not yet implemented |
Implements MSTransportable::Stage.
Definition at line 380 of file MSTransportable.cpp.
References getEdge(), Named::getID(), MSTransportable::getID(), OutputDevice::openTag(), time2string(), and OutputDevice::writeAttr().
Referenced by MSContainer::MSContainerStage_Tranship::getStageDescription().
|
virtual |
Called for writing the events output (end of an action)
[in] | os | The stream to write the information into |
IOError | not yet implemented |
Implements MSTransportable::Stage.
Definition at line 386 of file MSTransportable.cpp.
References getEdge(), Named::getID(), MSTransportable::getID(), OutputDevice::openTag(), time2string(), and OutputDevice::writeAttr().
Referenced by MSContainer::MSContainerStage_Tranship::getStageDescription().
|
virtual |
returns the angle of the transportable
Implements MSTransportable::Stage.
Definition at line 290 of file MSTransportable.cpp.
References MSVehicle::getAngle(), MSTransportable::Stage::getEdgeAngle(), MSNet::getInstance(), isWaiting4Vehicle(), MSNet::lefthand(), M_PI, myVehicle, myWaitingEdge, and myWaitingPos.
|
inlineinherited |
Definition at line 91 of file MSTransportable.h.
References MSTransportable::Stage::getAngle(), MSTransportable::Stage::getEdge(), MSTransportable::Stage::getEdgePos(), MSTransportable::Stage::getFromEdge(), MSTransportable::Stage::getPosition(), and MSTransportable::Stage::myArrivalPos.
Referenced by MSRouteHandler::parseWalkPositions().
|
inherited |
returns the destination edge
Definition at line 60 of file MSTransportable.cpp.
References MSTransportable::Stage::myDestination.
Referenced by MSTransportable::Stage_Waiting::getEdges(), getEdges(), MSPModel_Striping::moveInDirectionOnLane(), MSRouteHandler::parseWalkPositions(), MSContainer::MSContainerStage_Driving::routeOutput(), MSPerson::MSPersonStage_Driving::routeOutput(), and MSTransportable::Stage_Waiting::routeOutput().
|
inlineinherited |
returns the destination stop (if any)
Definition at line 87 of file MSTransportable.h.
References MSTransportable::Stage::myDestinationStop.
Referenced by MSPModel_Striping::moveInDirectionOnLane(), MSRouteHandler::parseWalkPositions(), MSContainer::MSContainerStage_Driving::proceed(), and MSPerson::MSPersonStage_Driving::proceed().
|
virtual |
Returns the current edge.
Implements MSTransportable::Stage.
Definition at line 252 of file MSTransportable.cpp.
References MSLane::getEdge(), SUMOVehicle::getLane(), myVehicle, and myWaitingEdge.
Referenced by beginEventOutput(), endEventOutput(), and getEdgePos().
|
inherited |
get angle of the edge at a certain position
Definition at line 93 of file MSTransportable.cpp.
References MSEdge::getLanes().
Referenced by MSPModel_NonInteracting::PState::getAngle(), CState::getAngle(), MSTransportable::Stage_Waiting::getAngle(), getAngle(), and MSTransportable::Stage::getVehicle().
|
virtual |
Implements MSTransportable::Stage.
Definition at line 267 of file MSTransportable.cpp.
References getEdge(), MSEdge::getLength(), SUMOVehicle::getPositionOnLane(), isWaiting4Vehicle(), MIN2(), myVehicle, and myWaitingPos.
|
inherited |
get position on edge e at length at with orthogonal offset
Definition at line 83 of file MSTransportable.cpp.
References MSTransportable::Stage::getLanePosition(), and MSEdge::getLanes().
Referenced by MSTransportable::Stage_Waiting::getPosition(), getPosition(), and MSTransportable::Stage::getVehicle().
|
virtual |
the edges of the current stage
Implements MSTransportable::Stage.
Definition at line 328 of file MSTransportable.cpp.
References MSTransportable::Stage::getDestination(), and getFromEdge().
|
virtual |
Implements MSTransportable::Stage.
Definition at line 261 of file MSTransportable.cpp.
References myWaitingEdge.
Referenced by getEdges(), MSContainer::MSContainerStage_Driving::routeOutput(), and MSPerson::MSPersonStage_Driving::routeOutput().
|
inherited |
get position on lane at length at with orthogonal offset
Definition at line 88 of file MSTransportable.cpp.
References MSLane::getShape(), MSLane::interpolateLanePosToGeometryPos(), and PositionVector::positionAtOffset().
Referenced by CState::computeTranshipTime(), MSTransportable::Stage::getEdgePosition(), MSPModel_NonInteracting::PState::getPosition(), MSPModel_Striping::PState::getPosition(), and MSTransportable::Stage::getVehicle().
returns the position of the transportable
Implements MSTransportable::Stage.
Definition at line 277 of file MSTransportable.cpp.
References MSTransportable::Stage::getEdgePosition(), MSNet::getInstance(), SUMOVehicle::getPosition(), Position::INVALID, isWaiting4Vehicle(), myStopWaitPos, myVehicle, myWaitingEdge, myWaitingPos, and MSTransportable::ROADSIDE_OFFSET.
|
virtual |
the speed of the transportable
Implements MSTransportable::Stage.
Definition at line 322 of file MSTransportable.cpp.
References SUMOVehicle::getSpeed(), isWaiting4Vehicle(), and myVehicle.
|
pure virtualinherited |
return string representation of the current stage
Implemented in MSPerson::MSPersonStage_Driving, MSTransportable::Stage_Waiting, MSContainer::MSContainerStage_Tranship, MSPerson::MSPersonStage_Walking, and MSContainer::MSContainerStage_Driving.
Referenced by MSTransportable::Stage::getStageType().
|
inlineinherited |
Definition at line 107 of file MSTransportable.h.
References MSTransportable::Stage::getStageDescription(), MSTransportable::Stage::myType, and MSTransportable::Stage::proceed().
Referenced by MSTransportable::getStageType().
|
inlinevirtual |
Whether the transportable waits for a vehicle.
Reimplemented from MSTransportable::Stage.
Definition at line 331 of file MSTransportable.h.
References MSTransportable::Stage::beginEventOutput(), MSTransportable::Stage::endEventOutput(), MSTransportable::Stage::getEdges(), MSTransportable::Stage::getSpeed(), MSTransportable::Stage::getWaitingTime(), and MSTransportable::Stage::setArrived().
std::string MSTransportable::Stage_Driving::getWaitingDescription | ( | ) | const |
Return where the person waits and for what.
Definition at line 370 of file MSTransportable.cpp.
References Named::getID(), isWaiting4Vehicle(), joinToString(), MSTransportable::Stage::myDestinationStop, myLines, and myWaitingEdge.
Referenced by MSTransportableControl::abortWaitingForVehicle().
time spent waiting for a ride
Implements MSTransportable::Stage.
Definition at line 316 of file MSTransportable.cpp.
References isWaiting4Vehicle(), and MSTransportable::Stage::myDeparted.
|
virtual |
Whether the person waits for a vehicle.
Reimplemented from MSTransportable::Stage.
Definition at line 310 of file MSTransportable.cpp.
References myVehicle.
Referenced by getAngle(), getEdgePos(), getPosition(), getSpeed(), MSContainer::MSContainerStage_Driving::getStageDescription(), MSPerson::MSPersonStage_Driving::getStageDescription(), getWaitingDescription(), and getWaitingTime().
|
virtual |
Whether the person waits for a vehicle of the line specified.
Reimplemented from MSTransportable::Stage.
Definition at line 304 of file MSTransportable.cpp.
References myLines.
|
private |
Invalidated assignment operator.
|
pure virtualinherited |
proceeds to this stage
Implemented in MSTransportable::Stage_Waiting, MSPerson::MSPersonStage_Driving, MSContainer::MSContainerStage_Tranship, MSContainer::MSContainerStage_Driving, and MSPerson::MSPersonStage_Walking.
Referenced by MSTransportable::Stage_Waiting::getStageDescription(), and MSTransportable::Stage::getStageType().
|
pure virtualinherited |
Called on writing vehroute output.
[in] | os | The stream to write the information into |
IOError | not yet implemented |
Implemented in MSTransportable::Stage_Waiting, MSPerson::MSPersonStage_Driving, MSContainer::MSContainerStage_Tranship, MSPerson::MSPersonStage_Walking, and MSContainer::MSContainerStage_Driving.
Referenced by MSTransportable::getEdges(), MSTransportable::Stage_Waiting::getStageDescription(), and MSTransportable::Stage::getVehicle().
|
virtual |
marks arrival time and records driven distance
Reimplemented from MSTransportable::Stage.
Definition at line 336 of file MSTransportable.cpp.
References MSRoute::begin(), SUMOVehicle::getCurrentRouteEdge(), SUMOVehicle::getDepartPos(), MSRoute::getDistanceBetween(), SUMOVehicle::getPositionOnLane(), SUMOVehicle::getRoute(), myVehicle, myVehicleDistance, and MSTransportable::Stage::setArrived().
|
inherited |
logs end of the step
Definition at line 66 of file MSTransportable.cpp.
References MSTransportable::Stage::myDeparted.
Referenced by MSTransportable::getVehicleType(), and MSTransportable::Stage::setSpeed().
|
inlinevirtualinherited |
sets the walking speed (ignored in other stages)
Reimplemented in MSPerson::MSPersonStage_Walking.
Definition at line 121 of file MSTransportable.h.
References MSTransportable::Stage::isWaitingFor(), MSTransportable::Stage::setArrived(), and MSTransportable::Stage::setDeparted().
Referenced by MSTransportable::getVehicle().
void MSTransportable::Stage_Driving::setVehicle | ( | SUMOVehicle * | v | ) |
Definition at line 349 of file MSTransportable.cpp.
References MSRoute::begin(), SUMOVehicle::getCurrentRouteEdge(), SUMOVehicle::getDepartPos(), MSRoute::getDistanceBetween(), SUMOVehicle::getID(), SUMOVehicle::getParameter(), SUMOVehicle::getPositionOnLane(), SUMOVehicle::getRoute(), SUMOVehicle::getVClass(), SUMOVehicleParameter::line, myVehicle, myVehicleDistance, myVehicleID, myVehicleLine, and myVehicleVClass.
Referenced by MSContainer::MSContainerStage_Driving::proceed(), and MSPerson::MSPersonStage_Driving::proceed().
|
pure virtualinherited |
Called on writing tripinfo output.
[in] | os | The stream to write the information into |
IOError | not yet implemented |
Implemented in MSTransportable::Stage_Waiting, MSPerson::MSPersonStage_Driving, MSContainer::MSContainerStage_Tranship, MSPerson::MSPersonStage_Walking, and MSContainer::MSContainerStage_Driving.
Referenced by MSTransportable::getEdges(), MSTransportable::Stage_Waiting::getStageDescription(), and MSTransportable::Stage::getVehicle().
|
protectedinherited |
the position at which we want to arrive
Definition at line 192 of file MSTransportable.h.
Referenced by MSTransportable::Stage_Waiting::getAngle(), MSTransportable::Stage::getArrivalPos(), MSPerson::MSPersonStage_Walking::getArrivalPos(), MSContainer::MSContainerStage_Tranship::getArrivalPos(), MSTransportable::Stage_Waiting::getEdgePos(), MSTransportable::Stage_Waiting::getPosition(), MSContainer::MSContainerStage_Driving::tripInfoOutput(), MSPerson::MSPersonStage_Walking::tripInfoOutput(), MSContainer::MSContainerStage_Tranship::tripInfoOutput(), MSPerson::MSPersonStage_Driving::tripInfoOutput(), MSTransportable::Stage_Waiting::tripInfoOutput(), and MSPerson::MSPersonStage_Walking::walkDistance().
|
protectedinherited |
the time at which this stage ended
Definition at line 198 of file MSTransportable.h.
Referenced by MSTransportable::Stage::setArrived(), MSContainer::MSContainerStage_Driving::tripInfoOutput(), MSPerson::MSPersonStage_Walking::tripInfoOutput(), MSContainer::MSContainerStage_Tranship::tripInfoOutput(), MSTransportable::Stage_Waiting::tripInfoOutput(), and MSPerson::MSPersonStage_Driving::tripInfoOutput().
|
protectedinherited |
the time at which this stage started
Definition at line 195 of file MSTransportable.h.
Referenced by MSTransportable::Stage_Waiting::getWaitingTime(), getWaitingTime(), MSPerson::MSPersonStage_Walking::proceed(), MSContainer::MSContainerStage_Tranship::proceed(), MSTransportable::Stage_Waiting::proceed(), MSTransportable::Stage::setDeparted(), MSContainer::MSContainerStage_Driving::tripInfoOutput(), MSPerson::MSPersonStage_Walking::tripInfoOutput(), MSContainer::MSContainerStage_Tranship::tripInfoOutput(), MSTransportable::Stage_Waiting::tripInfoOutput(), and MSPerson::MSPersonStage_Driving::tripInfoOutput().
|
protectedinherited |
the next edge to reach by getting transported
Definition at line 186 of file MSTransportable.h.
Referenced by MSTransportable::Stage_Waiting::getAngle(), MSTransportable::Stage::getDestination(), MSTransportable::Stage_Waiting::getEdge(), MSTransportable::Stage_Waiting::getFromEdge(), and MSTransportable::Stage_Waiting::getPosition().
|
protectedinherited |
the stop to reach by getting transported (if any)
Definition at line 189 of file MSTransportable.h.
Referenced by MSTransportable::Stage::getDestinationStop(), getWaitingDescription(), MSPerson::MSPersonStage_Walking::moveToNextEdge(), MSContainer::MSContainerStage_Tranship::moveToNextEdge(), MSPerson::MSPersonStage_Walking::routeOutput(), and MSPerson::MSPersonStage_Driving::routeOutput().
|
protected |
the lines to choose from
Definition at line 361 of file MSTransportable.h.
Referenced by MSContainer::MSContainerStage_Driving::getStageDescription(), MSPerson::MSPersonStage_Driving::getStageDescription(), getWaitingDescription(), isWaitingFor(), MSContainer::MSContainerStage_Driving::proceed(), MSPerson::MSPersonStage_Driving::proceed(), MSContainer::MSContainerStage_Driving::routeOutput(), and MSPerson::MSPersonStage_Driving::routeOutput().
|
protected |
Definition at line 375 of file MSTransportable.h.
Referenced by getPosition(), and MSPerson::MSPersonStage_Driving::proceed().
|
protectedinherited |
The type of this stage.
Definition at line 201 of file MSTransportable.h.
Referenced by MSTransportable::Stage::getStageType(), MSTransportable::Stage_Waiting::routeOutput(), and MSTransportable::Stage_Waiting::tripInfoOutput().
|
protected |
The taken vehicle.
Definition at line 364 of file MSTransportable.h.
Referenced by abort(), getAngle(), getEdge(), getEdgePos(), getPosition(), getSpeed(), isWaiting4Vehicle(), MSContainer::MSContainerStage_Driving::proceed(), MSPerson::MSPersonStage_Driving::proceed(), setArrived(), and setVehicle().
|
protected |
Definition at line 369 of file MSTransportable.h.
Referenced by setArrived(), setVehicle(), MSContainer::MSContainerStage_Driving::tripInfoOutput(), and MSPerson::MSPersonStage_Driving::tripInfoOutput().
|
protected |
cached vehicle data for output after the vehicle has been removed
Definition at line 366 of file MSTransportable.h.
Referenced by setVehicle(), MSContainer::MSContainerStage_Driving::tripInfoOutput(), and MSPerson::MSPersonStage_Driving::tripInfoOutput().
|
protected |
Definition at line 367 of file MSTransportable.h.
Referenced by setVehicle(), and MSPerson::MSPersonStage_Driving::tripInfoOutput().
|
protected |
Definition at line 368 of file MSTransportable.h.
Referenced by setVehicle(), and MSPerson::MSPersonStage_Driving::tripInfoOutput().
|
protected |
Definition at line 374 of file MSTransportable.h.
Referenced by getAngle(), getEdge(), getFromEdge(), getPosition(), getWaitingDescription(), MSContainer::MSContainerStage_Driving::proceed(), and MSPerson::MSPersonStage_Driving::proceed().
|
protected |
Definition at line 371 of file MSTransportable.h.
Referenced by getAngle(), getEdgePos(), getPosition(), MSContainer::MSContainerStage_Driving::proceed(), and MSPerson::MSPersonStage_Driving::proceed().
|
protected |
The time since which this person is waiting for a ride.
Definition at line 373 of file MSTransportable.h.
Referenced by MSContainer::MSContainerStage_Driving::proceed(), MSPerson::MSPersonStage_Driving::proceed(), MSContainer::MSContainerStage_Driving::tripInfoOutput(), and MSPerson::MSPersonStage_Driving::tripInfoOutput().