![]() |
SUMO - Simulation of Urban MObility
|
#include <MSPerson.h>
Data Structures | |
class | arrival_finder |
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... | |
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... | |
std::string | getStageDescription () const |
return string representation of the current stage More... | |
StageType | getStageType () const |
virtual SUMOVehicle * | getVehicle () const |
Whether the transportable waits for a vehicle. More... | |
SUMOTime | getWaitingTime (SUMOTime now) const |
the time this transportable spent waiting More... | |
virtual bool | isWaiting4Vehicle () const |
Whether the transportable waits for a vehicle. More... | |
virtual bool | isWaitingFor (const std::string &line) const |
Whether the transportable waits for a vehicle of the line specified. More... | |
bool | moveToNextEdge (MSPerson *person, SUMOTime currentTime, MSEdge *nextInternal=0) |
move forward and return whether the person arrived More... | |
MSPersonStage_Walking (const std::string &personID, const ConstMSEdgeVector &route, MSStoppingPlace *toStop, SUMOTime walkingTime, double speed, double departPos, double arrivalPos, double departPosLat) | |
constructor More... | |
virtual void | proceed (MSNet *net, MSTransportable *person, SUMOTime now, Stage *previous) |
proceeds to the next step More... | |
virtual void | routeOutput (OutputDevice &os) const |
Called on writing vehroute output. More... | |
virtual void | setArrived (SUMOTime now) |
logs end of the step More... | |
void | setDeparted (SUMOTime now) |
logs end of the step More... | |
void | setSpeed (double speed) |
sets the walking speed (ignored in other stages) More... | |
virtual void | tripInfoOutput (OutputDevice &os, MSTransportable *transportable) const |
Called on writing tripinfo output. More... | |
~MSPersonStage_Walking () | |
destructor More... | |
double | getMaxSpeed (const MSPerson *person) const |
accessors to be used by MSPModel More... | |
double | getDepartPos () const |
double | getDepartPosLat () const |
double | getArrivalPos () const |
const std::vector< const MSEdge * >::iterator | getRouteStep () const |
const MSEdge * | getRouteEdge () const |
const MSEdge * | getNextRouteEdge () const |
const ConstMSEdgeVector & | getRoute () const |
PedestrianState * | getPedestrianState () const |
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... | |
StageType | myType |
The type of this stage. More... | |
Private Member Functions | |
double | computeAverageSpeed () const |
MSPersonStage_Walking (const MSPersonStage_Walking &) | |
Invalidated copy constructor. More... | |
MSPersonStage_Walking & | operator= (const MSPersonStage_Walking &) |
Invalidated assignment operator. More... | |
double | walkDistance () const |
compute total walking distance More... | |
Private Attributes | |
MSEdge * | myCurrentInternalEdge |
The current internal edge this person is on or 0. More... | |
double | myDepartPos |
double | myDepartPosLat |
PedestrianState * | myPedestrianState |
state that is to be manipulated by MSPModel More... | |
ConstMSEdgeVector | myRoute |
The route of the person. More... | |
ConstMSEdgeVector::iterator | myRouteStep |
double | mySpeed |
SUMOTime | myWalkingTime |
the time the person is walking More... | |
A "real" stage performing the walking to an edge The walking does not need any route as it is not simulated. Only the duration is needed
Definition at line 76 of file MSPerson.h.
MSPerson::MSPersonStage_Walking::MSPersonStage_Walking | ( | const std::string & | personID, |
const ConstMSEdgeVector & | route, | ||
MSStoppingPlace * | toStop, | ||
SUMOTime | walkingTime, | ||
double | speed, | ||
double | departPos, | ||
double | arrivalPos, | ||
double | departPosLat | ||
) |
constructor
Definition at line 58 of file MSPerson.cpp.
References computeAverageSpeed(), SUMOVehicleParameter::interpretEdgePos(), myDepartPos, mySpeed, and SUMO_ATTR_DEPARTPOS.
MSPerson::MSPersonStage_Walking::~MSPersonStage_Walking | ( | ) |
destructor
Definition at line 82 of file MSPerson.cpp.
|
private |
Invalidated copy constructor.
|
virtual |
abort this stage (TraCI)
Reimplemented from MSTransportable::Stage.
Definition at line 162 of file MSPerson.cpp.
References MSPModel::getModel(), myPedestrianState, and MSPModel::remove().
|
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 273 of file MSPerson.cpp.
References MSTransportable::getID(), myRoute, OutputDevice::openTag(), time2string(), and OutputDevice::writeAttr().
Referenced by getStageDescription().
|
private |
Definition at line 174 of file MSPerson.cpp.
References myWalkingTime, STEPS2TIME, and walkDistance().
Referenced by getPedestrianState(), MSPersonStage_Walking(), and proceed().
|
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 280 of file MSPerson.cpp.
References MSTransportable::getID(), myRoute, OutputDevice::openTag(), time2string(), and OutputDevice::writeAttr().
Referenced by getStageDescription().
|
virtual |
returns the angle of the transportable
Implements MSTransportable::Stage.
Definition at line 115 of file MSPerson.cpp.
References PedestrianState::getAngle(), and myPedestrianState.
|
inline |
Definition at line 154 of file MSPerson.h.
References MSTransportable::Stage::myArrivalPos.
Referenced by MSPModel_NonInteracting::PState::computeWalkingTime(), MSPModel_Striping::PState::distToLaneEnd(), MSPModel_Striping::getNextLane(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), and MSPModel_Striping::PState::PState().
|
inline |
Definition at line 146 of file MSPerson.h.
References myDepartPos.
Referenced by MSPModel_NonInteracting::PState::computeWalkingTime().
|
inline |
Definition at line 150 of file MSPerson.h.
References myDepartPosLat.
|
inherited |
returns the destination edge
Definition at line 60 of file MSTransportable.cpp.
References MSTransportable::Stage::myDestination.
Referenced by MSTransportable::Stage_Waiting::getEdges(), MSTransportable::Stage_Driving::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 87 of file MSPerson.cpp.
References myCurrentInternalEdge, and myRouteStep.
Referenced by MSPModel_NonInteracting::PState::computeWalkingTime(), MSPModel_NonInteracting::PState::getAngle(), MSPModel_NonInteracting::PState::getPosition(), moveToNextEdge(), and MSPModel_Striping::PState::walk().
|
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(), MSTransportable::Stage_Driving::getAngle(), and MSTransportable::Stage::getVehicle().
|
virtual |
Implements MSTransportable::Stage.
Definition at line 103 of file MSPerson.cpp.
References PedestrianState::getEdgePos(), and myPedestrianState.
|
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(), MSTransportable::Stage_Driving::getPosition(), and MSTransportable::Stage::getVehicle().
|
virtual |
the edges of the current stage
Implements MSTransportable::Stage.
Definition at line 133 of file MSPerson.cpp.
References myRoute.
Referenced by libsumo::Person::moveToXY().
|
virtual |
|
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().
double MSPerson::MSPersonStage_Walking::getMaxSpeed | ( | const MSPerson * | person | ) | const |
accessors to be used by MSPModel
Definition at line 313 of file MSPerson.cpp.
References MSVehicleType::getMaxSpeed(), MSPerson::getSpeedFactor(), MSTransportable::getVehicleType(), and mySpeed.
Referenced by MSPModel_NonInteracting::PState::computeWalkingTime(), MSPModel_Striping::getNextLane(), MSPModel_NonInteracting::PState::getSpeed(), getStageDescription(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::PState(), tripInfoOutput(), and MSPModel_Striping::PState::walk().
|
inline |
Definition at line 165 of file MSPerson.h.
References myRoute, and myRouteStep.
Referenced by MSPModel_NonInteracting::PState::computeWalkingTime(), MSPModel_Striping::PState::distToLaneEnd(), MSPModel_NonInteracting::PState::getNextEdge(), MSPModel_Striping::getNextLane(), and MSPModel_Striping::PState::moveToNextLane().
|
inline |
Definition at line 172 of file MSPerson.h.
References computeAverageSpeed(), myPedestrianState, and walkDistance().
Referenced by GUIPerson::drawAction_drawWalkingareaPath(), MSPerson::getNextEdgePtr(), and MSPerson::Influencer::postProcessRemoteControl().
returns the position of the transportable
Implements MSTransportable::Stage.
Definition at line 109 of file MSPerson.cpp.
References PedestrianState::getPosition(), and myPedestrianState.
|
inline |
Definition at line 168 of file MSPerson.h.
References myRoute.
Referenced by GUIPerson::drawGLAdditional(), MSPModel_Striping::getNextLane(), libsumo::Person::moveToXY(), and MSPModel_Striping::PState::PState().
|
inline |
Definition at line 162 of file MSPerson.h.
References myRouteStep.
Referenced by MSPModel_Striping::PState::moveToNextLane().
|
inline |
Definition at line 158 of file MSPerson.h.
References myRouteStep.
Referenced by libsumo::Person::moveToXY().
|
virtual |
the speed of the transportable
Implements MSTransportable::Stage.
Definition at line 127 of file MSPerson.cpp.
References PedestrianState::getSpeed(), and myPedestrianState.
|
inlinevirtual |
return string representation of the current stage
Implements MSTransportable::Stage.
Definition at line 111 of file MSPerson.h.
References beginEventOutput(), endEventOutput(), getMaxSpeed(), moveToNextEdge(), routeOutput(), and tripInfoOutput().
|
inlineinherited |
Definition at line 107 of file MSTransportable.h.
References MSTransportable::Stage::getStageDescription(), MSTransportable::Stage::myType, and MSTransportable::Stage::proceed().
Referenced by MSTransportable::getStageType().
|
inlinevirtualinherited |
Whether the transportable waits for a vehicle.
Reimplemented in MSTransportable::Stage_Driving.
Definition at line 138 of file MSTransportable.h.
References MSTransportable::Stage::beginEventOutput(), MSTransportable::Stage::endEventOutput(), MSTransportable::Stage::getEdgeAngle(), MSTransportable::Stage::getEdgePosition(), MSTransportable::Stage::getEdges(), MSTransportable::Stage::getLanePosition(), MSTransportable::Stage::getSpeed(), MSTransportable::Stage::getWaitingTime(), MSTransportable::Stage::routeOutput(), and MSTransportable::Stage::tripInfoOutput().
the time this transportable spent waiting
Implements MSTransportable::Stage.
Definition at line 121 of file MSPerson.cpp.
References PedestrianState::getWaitingTime(), and myPedestrianState.
Referenced by MSPModel_Striping::PState::getImpatience(), and MSPModel_Striping::PState::walk().
|
inlinevirtualinherited |
Whether the transportable waits for a vehicle.
Reimplemented in MSTransportable::Stage_Driving.
Definition at line 133 of file MSTransportable.h.
|
virtualinherited |
Whether the transportable waits for a vehicle of the line specified.
Reimplemented in MSTransportable::Stage_Driving.
Definition at line 78 of file MSTransportable.cpp.
Referenced by MSTransportable::Stage::setSpeed().
bool MSPerson::MSPersonStage_Walking::moveToNextEdge | ( | MSPerson * | person, |
SUMOTime | currentTime, | ||
MSEdge * | nextInternal = 0 |
||
) |
move forward and return whether the person arrived
Definition at line 287 of file MSPerson.cpp.
References MSStoppingPlace::addTransportable(), MSTransportableControl::erase(), getEdge(), MSNet::getInstance(), MSNet::getPersonControl(), myCurrentInternalEdge, MSTransportable::Stage::myDestinationStop, myRoute, myRouteStep, and MSPerson::proceed().
Referenced by getStageDescription(), and MSPModel_Striping::PState::moveToNextLane().
|
private |
Invalidated assignment operator.
|
virtual |
proceeds to the next step
Implements MSTransportable::Stage.
Definition at line 138 of file MSPerson.cpp.
References MSPModel::add(), computeAverageSpeed(), MSTransportableControl::erase(), MSTransportable::Stage::getEdge(), MSTransportable::Stage::getEdgePos(), MSNet::getInstance(), MSPModel::getModel(), MSNet::getPersonControl(), MSTransportable::Stage::myDeparted, myDepartPos, myPedestrianState, myRoute, myRouteStep, mySpeed, myWalkingTime, and MSTransportable::proceed().
|
virtual |
Called on writing vehroute output.
[in] | os | The stream to write the information into |
IOError | not yet implemented |
Implements MSTransportable::Stage.
Definition at line 258 of file MSPerson.cpp.
References OutputDevice::closeTag(), Named::getID(), MSTransportable::Stage::myDestinationStop, myRoute, mySpeed, myWalkingTime, OutputDevice::openTag(), SUMO_ATTR_BUS_STOP, SUMO_ATTR_DURATION, SUMO_ATTR_EDGES, SUMO_ATTR_SPEED, time2string(), and OutputDevice::writeAttr().
Referenced by getStageDescription().
|
virtualinherited |
logs end of the step
Reimplemented in MSTransportable::Stage_Driving.
Definition at line 73 of file MSTransportable.cpp.
References MSTransportable::Stage::myArrived.
Referenced by MSTransportable::Stage_Driving::getVehicle(), MSContainer::proceed(), MSPerson::proceed(), MSTransportable::Stage_Driving::setArrived(), and MSTransportable::Stage::setSpeed().
|
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().
|
virtual |
sets the walking speed (ignored in other stages)
Reimplemented from MSTransportable::Stage.
Definition at line 168 of file MSPerson.cpp.
References mySpeed.
|
virtual |
Called on writing tripinfo output.
[in] | os | The stream to write the information into |
IOError | not yet implemented |
Implements MSTransportable::Stage.
Definition at line 238 of file MSPerson.cpp.
References MSDevice_Tripinfo::addPedestrianData(), OutputDevice::closeTag(), getMaxSpeed(), MSTransportable::Stage::myArrivalPos, MSTransportable::Stage::myArrived, MSTransportable::Stage::myDeparted, myDepartPos, OutputDevice::openTag(), TIME2STEPS, time2string(), walkDistance(), and OutputDevice::writeAttr().
Referenced by getStageDescription().
|
private |
compute total walking distance
Definition at line 180 of file MSPerson.cpp.
References Position::distanceTo2D(), MSEdge::getFromJunction(), MSPModel::getModel(), MSLane::getShape(), MSEdge::getToJunction(), MAX2(), MSTransportable::Stage::myArrivalPos, myDepartPos, myRoute, POSITION_EPS, and MSPModel::usingInternalLanes().
Referenced by computeAverageSpeed(), getPedestrianState(), and tripInfoOutput().
|
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(), getArrivalPos(), MSContainer::MSContainerStage_Tranship::getArrivalPos(), MSTransportable::Stage_Waiting::getEdgePos(), MSTransportable::Stage_Waiting::getPosition(), MSContainer::MSContainerStage_Driving::tripInfoOutput(), tripInfoOutput(), MSContainer::MSContainerStage_Tranship::tripInfoOutput(), MSPerson::MSPersonStage_Driving::tripInfoOutput(), MSTransportable::Stage_Waiting::tripInfoOutput(), and 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(), tripInfoOutput(), MSContainer::MSContainerStage_Tranship::tripInfoOutput(), MSTransportable::Stage_Waiting::tripInfoOutput(), and MSPerson::MSPersonStage_Driving::tripInfoOutput().
|
private |
The current internal edge this person is on or 0.
Definition at line 199 of file MSPerson.h.
Referenced by getEdge(), and moveToNextEdge().
|
protectedinherited |
the time at which this stage started
Definition at line 195 of file MSTransportable.h.
Referenced by MSTransportable::Stage_Waiting::getWaitingTime(), MSTransportable::Stage_Driving::getWaitingTime(), proceed(), MSContainer::MSContainerStage_Tranship::proceed(), MSTransportable::Stage_Waiting::proceed(), MSTransportable::Stage::setDeparted(), MSContainer::MSContainerStage_Driving::tripInfoOutput(), tripInfoOutput(), MSContainer::MSContainerStage_Tranship::tripInfoOutput(), MSTransportable::Stage_Waiting::tripInfoOutput(), and MSPerson::MSPersonStage_Driving::tripInfoOutput().
|
private |
Definition at line 201 of file MSPerson.h.
Referenced by getDepartPos(), MSPersonStage_Walking(), proceed(), tripInfoOutput(), and walkDistance().
|
private |
Definition at line 202 of file MSPerson.h.
Referenced by getDepartPosLat().
|
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(), MSTransportable::Stage_Driving::getWaitingDescription(), moveToNextEdge(), MSContainer::MSContainerStage_Tranship::moveToNextEdge(), routeOutput(), and MSPerson::MSPersonStage_Driving::routeOutput().
|
private |
state that is to be manipulated by MSPModel
Definition at line 206 of file MSPerson.h.
Referenced by abort(), getAngle(), getEdgePos(), getPedestrianState(), getPosition(), getSpeed(), getWaitingTime(), and proceed().
|
private |
The route of the person.
Definition at line 193 of file MSPerson.h.
Referenced by beginEventOutput(), endEventOutput(), getEdges(), getFromEdge(), getNextRouteEdge(), getRoute(), moveToNextEdge(), proceed(), routeOutput(), and walkDistance().
|
private |
Definition at line 196 of file MSPerson.h.
Referenced by getEdge(), getNextRouteEdge(), getRouteEdge(), getRouteStep(), moveToNextEdge(), and proceed().
|
private |
Definition at line 203 of file MSPerson.h.
Referenced by getMaxSpeed(), MSPersonStage_Walking(), proceed(), routeOutput(), and setSpeed().
|
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().
|
private |
the time the person is walking
Definition at line 190 of file MSPerson.h.
Referenced by computeAverageSpeed(), proceed(), and routeOutput().