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 MSEdgegetDestination () const
 returns the destination edge
const MSEdgegetEdge (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 MSEdgegetFromEdge () 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 MSEdgemyDestination
 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_Drivingoperator= (const MSPersonStage_Driving &)
 Invalidated assignment operator.

Private Attributes

MSBusStopmyDestinationBusStop
const std::set< std::string > myLines
 the lines to choose from
SUMOVehiclemyVehicle
 The taken vehicle.
const MSEdgemyWaitingEdge
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: