SUMO - Simulation of Urban MObility
|
#include <MSPerson.h>
Data Structures | |
class | arrival_finder |
class | MoveToNextEdge |
Public Member Functions | |
virtual void | beginEventOutput (const MSPerson &p, SUMOTime t, OutputDevice &os) const |
Called for writing the events output. | |
virtual void | endEventOutput (const MSPerson &p, SUMOTime t, OutputDevice &os) const |
Called for writing the events output (end of an action) | |
SUMOReal | getAngle (SUMOTime now) const |
const MSEdge & | getDestination () const |
returns the destination edge | |
const MSEdge * | getEdge (SUMOTime now) const |
Returns the current edge. | |
SUMOReal | getEdgeAngle (const MSEdge *e, SUMOReal at) const |
SUMOReal | getEdgePos (SUMOTime now) const |
Position | getEdgePosition (const MSEdge *e, SUMOReal at, SUMOReal offset) const |
get position on edge e at length at with orthogonal offset | |
const MSEdge * | getFromEdge () const |
Position | getPosition (SUMOTime now) const |
StageType | getStageType () const |
std::string | getStageTypeName () const |
return string representation of the current stage | |
virtual bool | isWaiting4Vehicle () const |
Whether the person waits for a vehicle. | |
virtual bool | isWaitingFor (const std::string &line) const |
Whether the person waits for a vehicle of the line specified. | |
SUMOTime | moveToNextEdge (MSPerson *person, SUMOTime currentTime) |
MSPersonStage_Walking (const std::vector< const MSEdge * > &route, MSBusStop *toBS, SUMOTime walkingTime, SUMOReal speed, SUMOReal departPos, SUMOReal arrivalPos) | |
constructor | |
virtual void | proceed (MSNet *net, MSPerson *person, SUMOTime now, MSEdge *previousEdge, const SUMOReal at) |
proceeds to the next step | |
void | setArrived (SUMOTime now) |
logs end of the step | |
void | setDeparted (SUMOTime now) |
logs end of the step | |
virtual void | tripInfoOutput (OutputDevice &os) const |
Called on writing tripinfo output. | |
~MSPersonStage_Walking () | |
destructor |
Protected Attributes | |
SUMOTime | myArrived |
the time at which this stage ended | |
SUMOTime | myDeparted |
the time at which this stage started | |
const MSEdge & | myDestination |
the next edge to reach (either by walking or driving) | |
StageType | myType |
The type of this stage. |
Private Member Functions | |
bool | checkNoDuration (MSNet *net, MSPerson *person, SUMOTime duration, SUMOTime now) |
void | computeWalkingTime (const MSEdge *const e, SUMOReal fromPos, SUMOReal toPos, MSBusStop *bs) |
MSPersonStage_Walking (const MSPersonStage_Walking &) | |
Invalidated copy constructor. | |
MSPersonStage_Walking & | operator= (const MSPersonStage_Walking &) |
Invalidated assignment operator. |
Private Attributes | |
SUMOReal | myArrivalPos |
SUMOReal | myCurrentBeginPos |
SUMOReal | myCurrentDuration |
SUMOReal | myCurrentLength |
SUMOReal | myDepartPos |
A vector of computed times an edge is reached. | |
MSBusStop * | myDestinationBusStop |
SUMOTime | myLastEntryTime |
std::vector< const MSEdge * > | myRoute |
The route of the person. | |
std::vector< const MSEdge * > ::iterator | myRouteStep |
SUMOReal | mySpeed |
SUMOTime | myWalkingTime |
the time the person is walking |
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 175 of file MSPerson.h.
MSPerson::MSPersonStage_Walking::MSPersonStage_Walking | ( | const std::vector< const MSEdge * > & | route, |
MSBusStop * | toBS, | ||
SUMOTime | walkingTime, | ||
SUMOReal | speed, | ||
SUMOReal | departPos, | ||
SUMOReal | arrivalPos | ||
) |
constructor
Definition at line 116 of file MSPerson.cpp.
References SUMOVehicleParameter::interpretEdgePos(), myArrivalPos, myDepartPos, myRoute, mySpeed, STEPS2TIME, SUMO_ATTR_ARRIVALPOS, SUMO_ATTR_DEPARTPOS, and SUMOReal.
MSPerson::MSPersonStage_Walking::~MSPersonStage_Walking | ( | ) |
destructor
Definition at line 139 of file MSPerson.cpp.
|
private |
Invalidated copy constructor.
|
virtual |
Called for writing the events output.
[in] | os | The stream to write the information into |
IOError | not yet implemented |
Implements MSPerson::MSPersonStage.
Definition at line 237 of file MSPerson.cpp.
References MSPerson::getID(), OutputDevice::openTag(), and time2string().
|
private |
Definition at line 178 of file MSPerson.cpp.
|
private |
Definition at line 212 of file MSPerson.cpp.
References MSBusStop::getEndLanePosition(), MSEdge::getLanes(), MAX2(), and SUMOReal.
|
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 MSPerson::MSPersonStage.
Definition at line 248 of file MSPerson.cpp.
References MSPerson::getID(), OutputDevice::openTag(), and time2string().
Implements MSPerson::MSPersonStage.
Definition at line 170 of file MSPerson.cpp.
References MSPerson::getEdge(), STEPS2TIME, and SUMOReal.
|
inherited |
returns the destination edge
Definition at line 70 of file MSPerson.cpp.
Returns the current edge.
Implements MSPerson::MSPersonStage.
Definition at line 143 of file MSPerson.cpp.
Definition at line 106 of file MSPerson.cpp.
References MSEdge::getLanes(), and PositionVector::rotationDegreeAtOffset().
Implements MSPerson::MSPersonStage.
Definition at line 155 of file MSPerson.cpp.
References STEPS2TIME, and SUMOReal.
|
inherited |
get position on edge e at length at with orthogonal offset
Definition at line 96 of file MSPerson.cpp.
References MSEdge::getLanes(), MSLane::getShape(), MSLane::interpolateLanePosToGeometryPos(), PositionVector::move2side(), and PositionVector::positionAtOffset().
|
virtual |
Implements MSPerson::MSPersonStage.
Definition at line 149 of file MSPerson.cpp.
Implements MSPerson::MSPersonStage.
Definition at line 162 of file MSPerson.cpp.
References MSPerson::getEdge(), MSPerson::SIDEWALK_OFFSET, STEPS2TIME, and SUMOReal.
|
inlineinherited |
Definition at line 100 of file MSPerson.h.
References MSPerson::MSPersonStage::myType.
|
inlinevirtual |
return string representation of the current stage
Implements MSPerson::MSPersonStage.
Definition at line 196 of file MSPerson.h.
|
inlinevirtualinherited |
Whether the person waits for a vehicle.
Reimplemented in MSPerson::MSPersonStage_Driving.
Definition at line 120 of file MSPerson.h.
|
virtualinherited |
Whether the person waits for a vehicle of the line specified.
Reimplemented in MSPerson::MSPersonStage_Driving.
Definition at line 90 of file MSPerson.cpp.
SUMOTime MSPerson::MSPersonStage_Walking::moveToNextEdge | ( | MSPerson * | person, |
SUMOTime | currentTime | ||
) |
Definition at line 259 of file MSPerson.cpp.
References MSPersonControl::erase(), MSNet::getInstance(), MSNet::getPersonControl(), MSPerson::proceed(), TIME2STEPS, and MSPersonControl::unsetWalking().
Referenced by MSPerson::MSPersonStage_Walking::MoveToNextEdge::execute().
|
private |
Invalidated assignment operator.
|
virtual |
proceeds to the next step
Implements MSPerson::MSPersonStage.
Definition at line 188 of file MSPerson.cpp.
References MSEventControl::ADAPT_AFTER_EXECUTION, MSEventControl::addEvent(), MSPersonControl::erase(), MSNet::getBeginOfTimestepEvents(), MSNet::getInstance(), MSNet::getPersonControl(), MSPerson::proceed(), MSEdge::removePerson(), MSPersonControl::setWalking(), and TIME2STEPS.
|
inherited |
logs end of the step
Definition at line 84 of file MSPerson.cpp.
|
inherited |
logs end of the step
Definition at line 76 of file MSPerson.cpp.
|
virtual |
Called on writing tripinfo output.
[in] | os | The stream to write the information into |
IOError | not yet implemented |
Implements MSPerson::MSPersonStage.
Definition at line 229 of file MSPerson.cpp.
References OutputDevice::openTag(), and time2string().
|
private |
Definition at line 257 of file MSPerson.h.
Referenced by MSPersonStage_Walking().
|
protectedinherited |
the time at which this stage ended
Definition at line 156 of file MSPerson.h.
|
private |
Definition at line 262 of file MSPerson.h.
|
private |
Definition at line 262 of file MSPerson.h.
|
private |
Definition at line 262 of file MSPerson.h.
|
protectedinherited |
the time at which this stage started
Definition at line 153 of file MSPerson.h.
|
private |
A vector of computed times an edge is reached.
Definition at line 256 of file MSPerson.h.
Referenced by MSPersonStage_Walking().
|
protectedinherited |
the next edge to reach (either by walking or driving)
Definition at line 150 of file MSPerson.h.
Referenced by MSPerson::MSPersonStage_Waiting::MSPersonStage_Waiting().
|
private |
Definition at line 258 of file MSPerson.h.
|
private |
Definition at line 259 of file MSPerson.h.
|
private |
The route of the person.
Definition at line 248 of file MSPerson.h.
Referenced by MSPersonStage_Walking().
|
private |
Definition at line 251 of file MSPerson.h.
|
private |
Definition at line 260 of file MSPerson.h.
Referenced by MSPersonStage_Walking().
|
protectedinherited |
The type of this stage.
Definition at line 159 of file MSPerson.h.
Referenced by MSPerson::MSPersonStage::getStageType().
|
private |
the time the person is walking
Definition at line 245 of file MSPerson.h.