SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MSPerson::MSPersonStage_Driving Class Reference

#include <MSPerson.h>

Inheritance diagram for MSPerson::MSPersonStage_Driving:
MSPerson::MSPersonStage

Public Member Functions

virtual void beginEventOutput (const MSPerson &p, SUMOTime t, OutputDevice &os) const
 Called for writing the events output. More...
 
virtual void endEventOutput (const MSPerson &p, SUMOTime t, OutputDevice &os) const
 Called for writing the events output (end of an action) More...
 
SUMOReal getAngle (SUMOTime now) const
 
const MSEdge & getDestination () const
 returns the destination edge More...
 
const MSEdge * getEdge (SUMOTime now) const
 Returns the current edge. More...
 
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 More...
 
const MSEdge * getFromEdge () const
 
Position getPosition (SUMOTime now) const
 
StageType getStageType () const
 
std::string getStageTypeName () const
 return string representation of the current stage 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...
 
 MSPersonStage_Driving (const MSEdge &destination, MSBusStop *toBS, const std::vector< std::string > &lines)
 constructor More...
 
virtual void proceed (MSNet *net, MSPerson *person, SUMOTime now, MSEdge *previousEdge, const SUMOReal at)
 proceeds to the next step More...
 
virtual void routeOutput (OutputDevice &os) const
 Called on writing vehroute output. More...
 
void setArrived (SUMOTime now)
 logs end of the step More...
 
void setDeparted (SUMOTime now)
 logs end of the step More...
 
void setVehicle (SUMOVehicle *v)
 
SUMOTime timeWaiting4Vehicle (SUMOTime now) const
 time spent waiting for a ride More...
 
virtual void tripInfoOutput (OutputDevice &os) const
 Called on writing tripinfo output. More...
 
 ~MSPersonStage_Driving ()
 destructor More...
 

Protected Attributes

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 (either by walking or driving) More...
 
StageType myType
 The type of this stage. More...
 

Private Member Functions

 MSPersonStage_Driving (const MSPersonStage_Driving &)
 Invalidated copy constructor. More...
 
MSPersonStage_Driving & operator= (const MSPersonStage_Driving &)
 Invalidated assignment operator. More...
 

Private Attributes

MSBusStop * myDestinationBusStop
 
const std::set< std::string > myLines
 the lines to choose from More...
 
SUMOVehicle * myVehicle
 The taken vehicle. More...
 
const MSEdge * myWaitingEdge
 
SUMOReal myWaitingPos
 
SUMOTime myWaitingSince
 The time since which this person is waiting for a ride. More...
 

Detailed Description

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 310 of file MSPerson.h.

Constructor & Destructor Documentation

MSPerson::MSPersonStage_Driving::MSPersonStage_Driving ( const MSEdge &  destination,
MSBusStop *  toBS,
const std::vector< std::string > &  lines 
)

constructor

Definition at line 279 of file MSPerson.cpp.

MSPerson::MSPersonStage_Driving::~MSPersonStage_Driving ( )

destructor

Definition at line 285 of file MSPerson.cpp.

MSPerson::MSPersonStage_Driving::MSPersonStage_Driving ( const MSPersonStage_Driving &  )
private

Invalidated copy constructor.

Member Function Documentation

void MSPerson::MSPersonStage_Driving::beginEventOutput ( const MSPerson &  p,
SUMOTime  t,
OutputDevice &  os 
) const
virtual

Called for writing the events output.

Parameters
[in]osThe stream to write the information into
Exceptions
IOErrornot yet implemented

Implements MSPerson::MSPersonStage.

Definition at line 396 of file MSPerson.cpp.

References MSPerson::getEdge(), Named::getID(), MSPerson::getID(), OutputDevice::openTag(), time2string(), and OutputDevice::writeAttr().

void MSPerson::MSPersonStage_Driving::endEventOutput ( const MSPerson &  p,
SUMOTime  t,
OutputDevice &  os 
) const
virtual

Called for writing the events output (end of an action)

Parameters
[in]osThe stream to write the information into
Exceptions
IOErrornot yet implemented

Implements MSPerson::MSPersonStage.

Definition at line 402 of file MSPerson.cpp.

References MSPerson::getEdge(), Named::getID(), MSPerson::getID(), OutputDevice::openTag(), time2string(), and OutputDevice::writeAttr().

SUMOReal MSPerson::MSPersonStage_Driving::getAngle ( SUMOTime  now) const
virtual

Implements MSPerson::MSPersonStage.

Definition at line 324 of file MSPerson.cpp.

References MSVehicle::getAngle().

const MSEdge & MSPerson::MSPersonStage::getDestination ( ) const
inherited

returns the destination edge

Definition at line 70 of file MSPerson.cpp.

const MSEdge * MSPerson::MSPersonStage_Driving::getEdge ( SUMOTime  now) const
virtual

Returns the current edge.

Implements MSPerson::MSPersonStage.

Definition at line 289 of file MSPerson.cpp.

SUMOReal MSPerson::MSPersonStage::getEdgeAngle ( const MSEdge *  e,
SUMOReal  at 
) const
inherited

Definition at line 106 of file MSPerson.cpp.

References MSEdge::getLanes(), and PositionVector::rotationDegreeAtOffset().

SUMOReal MSPerson::MSPersonStage_Driving::getEdgePos ( SUMOTime  now) const
virtual

Implements MSPerson::MSPersonStage.

Definition at line 304 of file MSPerson.cpp.

References MSPerson::getEdge(), MSEdge::getLength(), and MIN2().

Position MSPerson::MSPersonStage::getEdgePosition ( const MSEdge *  e,
SUMOReal  at,
SUMOReal  offset 
) const
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().

const MSEdge * MSPerson::MSPersonStage_Driving::getFromEdge ( ) const
virtual

Implements MSPerson::MSPersonStage.

Definition at line 298 of file MSPerson.cpp.

Position MSPerson::MSPersonStage_Driving::getPosition ( SUMOTime  now) const
virtual
Bug:
this fails while vehicle is driving across a junction

Implements MSPerson::MSPersonStage.

Definition at line 314 of file MSPerson.cpp.

References MSPerson::SIDEWALK_OFFSET.

StageType MSPerson::MSPersonStage::getStageType ( ) const
inlineinherited

Definition at line 100 of file MSPerson.h.

References MSPerson::MSPersonStage::myType.

std::string MSPerson::MSPersonStage_Driving::getStageTypeName ( ) const
virtual

return string representation of the current stage

Implements MSPerson::MSPersonStage.

Definition at line 377 of file MSPerson.cpp.

References MSPerson::isWaiting4Vehicle(), and joinToString().

bool MSPerson::MSPersonStage_Driving::isWaiting4Vehicle ( ) const
virtual

Whether the person waits for a vehicle.

Reimplemented from MSPerson::MSPersonStage.

Definition at line 365 of file MSPerson.cpp.

bool MSPerson::MSPersonStage_Driving::isWaitingFor ( const std::string &  line) const
virtual

Whether the person waits for a vehicle of the line specified.

Reimplemented from MSPerson::MSPersonStage.

Definition at line 359 of file MSPerson.cpp.

MSPersonStage_Driving& MSPerson::MSPersonStage_Driving::operator= ( const MSPersonStage_Driving &  )
private

Invalidated assignment operator.

void MSPerson::MSPersonStage_Driving::routeOutput ( OutputDevice &  os) const
virtual

Called on writing vehroute output.

Parameters
[in]osThe stream to write the information into
Exceptions
IOErrornot yet implemented

Implements MSPerson::MSPersonStage.

Definition at line 389 of file MSPerson.cpp.

References OutputDevice::closeTag(), MSPerson::getDestination(), MSPerson::getFromEdge(), MSPerson::getID(), OutputDevice::openTag(), SUMO_ATTR_FROM, SUMO_ATTR_LINES, SUMO_ATTR_TO, and OutputDevice::writeAttr().

void MSPerson::MSPersonStage::setArrived ( SUMOTime  now)
inherited

logs end of the step

Definition at line 84 of file MSPerson.cpp.

void MSPerson::MSPersonStage::setDeparted ( SUMOTime  now)
inherited

logs end of the step

Definition at line 76 of file MSPerson.cpp.

void MSPerson::MSPersonStage_Driving::setVehicle ( SUMOVehicle *  v)
inline

Definition at line 343 of file MSPerson.h.

References myVehicle.

SUMOTime MSPerson::MSPersonStage_Driving::timeWaiting4Vehicle ( SUMOTime  now) const
virtual

time spent waiting for a ride

Reimplemented from MSPerson::MSPersonStage.

Definition at line 371 of file MSPerson.cpp.

References MSPerson::isWaiting4Vehicle().

void MSPerson::MSPersonStage_Driving::tripInfoOutput ( OutputDevice &  os) const
virtual

Called on writing tripinfo output.

Parameters
[in]osThe stream to write the information into
Exceptions
IOErrornot yet implemented

Implements MSPerson::MSPersonStage.

Definition at line 383 of file MSPerson.cpp.

References OutputDevice::closeTag(), OutputDevice::openTag(), time2string(), and OutputDevice::writeAttr().

Field Documentation

SUMOTime MSPerson::MSPersonStage::myArrived
protectedinherited

the time at which this stage ended

Definition at line 167 of file MSPerson.h.

SUMOTime MSPerson::MSPersonStage::myDeparted
protectedinherited

the time at which this stage started

Definition at line 164 of file MSPerson.h.

const MSEdge& MSPerson::MSPersonStage::myDestination
protectedinherited

the next edge to reach (either by walking or driving)

Definition at line 161 of file MSPerson.h.

Referenced by MSPerson::MSPersonStage_Waiting::MSPersonStage_Waiting().

MSBusStop* MSPerson::MSPersonStage_Driving::myDestinationBusStop
private

Definition at line 380 of file MSPerson.h.

const std::set<std::string> MSPerson::MSPersonStage_Driving::myLines
private

the lines to choose from

Definition at line 375 of file MSPerson.h.

StageType MSPerson::MSPersonStage::myType
protectedinherited

The type of this stage.

Definition at line 170 of file MSPerson.h.

Referenced by MSPerson::MSPersonStage::getStageType().

SUMOVehicle* MSPerson::MSPersonStage_Driving::myVehicle
private

The taken vehicle.

Definition at line 378 of file MSPerson.h.

Referenced by setVehicle().

const MSEdge* MSPerson::MSPersonStage_Driving::myWaitingEdge
private

Definition at line 384 of file MSPerson.h.

SUMOReal MSPerson::MSPersonStage_Driving::myWaitingPos
private

Definition at line 381 of file MSPerson.h.

SUMOTime MSPerson::MSPersonStage_Driving::myWaitingSince
private

The time since which this person is waiting for a ride.

Definition at line 383 of file MSPerson.h.


The documentation for this class was generated from the following files: