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.
 
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
 
bool isWaiting4Vehicle () const
 Whether the person waits for a vehicle.
 
bool isWaitingFor (const std::string &line) const
 Whether the person waits for a vehicle of the line specified.
 
 MSPersonStage_Driving (const MSEdge &destination, MSBusStop *toBS, const std::vector< std::string > &lines)
 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
 
void setVehicle (SUMOVehicle *v)
 
virtual void tripInfoOutput (OutputDevice &os) const
 Called on writing tripinfo output.
 
 ~MSPersonStage_Driving ()
 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

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

Private Attributes

MSBusStop * myDestinationBusStop
 
const std::set< std::string > myLines
 the lines to choose from
 
SUMOVehicle * myVehicle
 The taken vehicle.
 
const MSEdge * myWaitingEdge
 
SUMOReal myWaitingPos
 

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 294 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 286 of file MSPerson.cpp.

MSPerson::MSPersonStage_Driving::~MSPersonStage_Driving ( )

destructor

Definition at line 292 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 392 of file MSPerson.cpp.

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

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 403 of file MSPerson.cpp.

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

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

Implements MSPerson::MSPersonStage.

Definition at line 331 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 296 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 311 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 305 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 321 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 371 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 365 of file MSPerson.cpp.

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

Invalidated assignment operator.

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

References myVehicle.

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::openTag(), and time2string().

Field Documentation

SUMOTime MSPerson::MSPersonStage::myArrived
protectedinherited

the time at which this stage ended

Definition at line 156 of file MSPerson.h.

SUMOTime MSPerson::MSPersonStage::myDeparted
protectedinherited

the time at which this stage started

Definition at line 153 of file MSPerson.h.

const MSEdge& MSPerson::MSPersonStage::myDestination
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().

MSBusStop* MSPerson::MSPersonStage_Driving::myDestinationBusStop
private

Definition at line 354 of file MSPerson.h.

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

the lines to choose from

Definition at line 349 of file MSPerson.h.

StageType MSPerson::MSPersonStage::myType
protectedinherited

The type of this stage.

Definition at line 159 of file MSPerson.h.

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

SUMOVehicle* MSPerson::MSPersonStage_Driving::myVehicle
private

The taken vehicle.

Definition at line 352 of file MSPerson.h.

Referenced by setVehicle().

const MSEdge* MSPerson::MSPersonStage_Driving::myWaitingEdge
private

Definition at line 357 of file MSPerson.h.

SUMOReal MSPerson::MSPersonStage_Driving::myWaitingPos
private

Definition at line 356 of file MSPerson.h.


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