117 virtual bool isWaitingFor(
const std::string& line)
const;
314 const std::vector<std::string>& lines);
501 const std::string&
getID()
const;
515 return (*myStep)->getDestination();
520 return (*myStep)->getEdge();
525 return (*myStep)->getFromEdge();
529 return (*myStep)->getEdgePos(now);
534 return (*myStep)->getPosition(now);
539 return (*myStep)->getAngle(now);
544 return (*myStep)->getStageType();
549 return (*myStep)->getStageTypeName();
572 return (*myStep)->isWaitingFor(line);
577 return (*myStep)->isWaiting4Vehicle();
583 return (*myStep)->timeWaiting4Vehicle(now);
virtual void routeOutput(OutputDevice &os) const =0
Called on writing vehroute output.
SUMOTime getUntil() const
SUMOReal getAngle(SUMOTime now) const
const std::string & getID() const
returns the person id
const MSEdge * myWaitingEdge
virtual void beginEventOutput(const MSPerson &p, SUMOTime t, OutputDevice &os) const
Called for writing the events output.
SUMOTime myArrived
the time at which this stage ended
const MSEdge * getFromEdge() const
SUMOTime getDesiredDepart() const
Returns the desired departure time.
virtual ~MSPerson()
destructor
const SUMOVehicleParameter * myParameter
the plan of the person
bool myWriteEvents
Whether events shall be written.
const MSEdge & getDestination() const
returns the destination edge
const MSVehicleType & getVehicleType() const
void setDeparted(SUMOTime now)
logs end of the step
bool isWaitingFor(const std::string &line) const
Whether the person waits for a vehicle of the line specified.
arrival_finder(SUMOTime time)
constructor
MSPersonStage(const MSEdge &destination, StageType type)
constructor
const MSEdge * getEdge() const
Returns the current edge.
bool isWaiting4Vehicle() const
Whether the person waits for a vehicle.
std::vector< const MSEdge * > myRoute
The route of the person.
const MSEdge * getEdge() const
Returns the current edge.
const MSEdge * getFromEdge() const
Returns the departure edge.
static const SUMOReal SIDEWALK_OFFSET
the offset for computing person positions when walking
virtual bool isWaitingFor(const std::string &line) const
Whether the person waits for a vehicle of the line specified.
StageType getCurrentStageType() const
virtual void beginEventOutput(const MSPerson &p, SUMOTime t, OutputDevice &os) const
Called for writing the events output.
void setDeparted(SUMOTime now)
logs end of the step
SUMOTime myWaitingSince
The time since which this person is waiting for a ride.
Position getPosition(SUMOTime now) const
virtual void tripInfoOutput(OutputDevice &os) const
Called on writing tripinfo output.
virtual bool isWaiting4Vehicle() const
Whether the person waits for a vehicle.
const std::set< std::string > myLines
the lines to choose from
bool isWaiting4Vehicle() const
Whether the person waits for a vehicle.
SUMOReal getEdgePos(SUMOTime now) const
SUMOTime myWaitingUntil
the time until the person is waiting
virtual void routeOutput(OutputDevice &os) const
Called on writing vehroute output.
const MSVehicleType * myVType
This Persons's type. (mainly used for drawing related information.
SUMOReal getEdgePos(SUMOTime now) const
virtual std::string getStageTypeName() const =0
return string representation of the current stage
std::string getStageTypeName() const
return string representation of the current stage
Base (microsim) event class.
MSPersonStage & operator=(const MSPersonStage &)
Invalidated assignment operator.
SUMOReal getEdgeAngle(const MSEdge *e, SUMOReal at) const
virtual const MSEdge * getEdge() const =0
Returns the current edge.
virtual void tripInfoOutput(OutputDevice &os) const
Called on writing tripinfo output.
virtual void proceed(MSNet *net, MSPerson *person, SUMOTime now, MSEdge *previousEdge, const SUMOReal at)
proceeds to the next step
virtual SUMOTime timeWaiting4Vehicle(SUMOTime) const
the time this person spent waiting for a vehicle
The simulated network and simulation perfomer.
SUMOReal getEdgePos(SUMOTime now) const
The car-following model and parameter.
const MSEdge & getDestination() const
Returns the current destination.
const SUMOVehicleParameter & getParameter() const
MSPersonStage_Walking(const std::vector< const MSEdge * > &route, MSBusStop *toBS, SUMOTime walkingTime, SUMOReal speed, SUMOReal departPos, SUMOReal arrivalPos)
constructor
const MSEdge * getEdge() const
Returns the current edge.
MoveToNextEdge(MSPerson *person, MSPersonStage_Walking &walk)
MSBusStop * myDestinationBusStop
std::string getCurrentStageTypeName() const
A road/street connecting two junctions.
Position getEdgePosition(const MSEdge *e, SUMOReal at, SUMOReal offset) const
get position on edge e at length at with orthogonal offset
MSPersonPlan * myPlan
the plan of the person
void routeOutput(OutputDevice &os) const
Called on writing vehroute output.
virtual Position getPosition(SUMOTime now) const
virtual void proceed(MSNet *net, MSPerson *person, SUMOTime now, MSEdge *previousEdge, const SUMOReal at)=0
proceeds to the next step
SUMOTime moveToNextEdge(MSPerson *person, SUMOTime currentTime)
SUMOReal getEdgePos(SUMOTime now) const
Representation of a vehicle.
SUMOTime myDeparted
the time at which this stage started
MSPersonStage_Walking & operator=(const MSPersonStage_Walking &)
Invalidated assignment operator.
std::vector< const MSEdge * > MSEdgeVector
virtual SUMOReal getAngle(SUMOTime now) const =0
A point in 2D or 3D with translation and scaling methods.
virtual void beginEventOutput(const MSPerson &p, SUMOTime t, OutputDevice &os) const =0
Called for writing the events output (begin of an action)
SUMOReal getAngle(SUMOTime now) const
A lane area vehicles can halt at.
virtual void endEventOutput(const MSPerson &p, SUMOTime t, OutputDevice &os) const =0
Called for writing the events output (end of an action)
MSPersonStage * getCurrentStage() const
~MSPersonStage_Driving()
destructor
virtual void tripInfoOutput(OutputDevice &os) const =0
Called on writing tripinfo output.
SUMOTime myWaitingDuration
the time the person is waiting
virtual void endEventOutput(const MSPerson &p, SUMOTime t, OutputDevice &os) const
Called for writing the events output (end of an action)
Position getPosition(SUMOTime now) const
virtual const MSEdge * getFromEdge() const =0
virtual void proceed(MSNet *net, MSPerson *person, SUMOTime now, MSEdge *previousEdge, const SUMOReal at)
proceeds to the next step
std::vector< const MSEdge * >::iterator myRouteStep
virtual void routeOutput(OutputDevice &os) const
Called on writing vehroute output.
std::string myActType
The type of activity.
MSPerson & operator=(const MSPerson &)
Invalidated assignment operator.
MSPersonStage_Driving & operator=(const MSPersonStage_Driving &)
Invalidated assignment operator.
const MSEdge * getFromEdge() const
bool operator()(SUMOReal t) const
comparison operator
void setVehicle(SUMOVehicle *v)
SUMOReal getAngle(SUMOTime now) const
bool isWaitingFor(const std::string &line) const
Whether the person waits for a vehicle of the line specified.
MSPersonStage_Waiting(const MSEdge &destination, SUMOTime duration, SUMOTime until, SUMOReal pos, const std::string &actType)
constructor
std::string getStageTypeName() const
return string representation of the current stage
virtual SUMOReal getEdgePos(SUMOTime now) const =0
SUMOReal getAngle(SUMOTime now) const
MSPerson(const SUMOVehicleParameter *pars, const MSVehicleType *vtype, MSPersonPlan *plan)
constructor
virtual void beginEventOutput(const MSPerson &p, SUMOTime t, OutputDevice &os) const
Called for writing the events output.
virtual Position getPosition(SUMOTime now) const =0
void computeWalkingTime(const MSEdge *const e, SUMOReal fromPos, SUMOReal toPos, MSBusStop *bs)
const MSEdge * getEdge() const
Returns the current edge.
SUMOTime timeWaiting4Vehicle(SUMOTime now) const
the time this person spent waiting for a vehicle
Structure representing possible vehicle parameter.
virtual void routeOutput(OutputDevice &os) const
Called on writing vehroute output.
virtual void endEventOutput(const MSPerson &p, SUMOTime t, OutputDevice &os) const
Called for writing the events output (end of an action)
void tripInfoOutput(OutputDevice &os) const
Called on writing tripinfo output.
SUMOTime myTime
the searched arrival time
MSPersonStage_Waiting & operator=(const MSPersonStage_Waiting &)
Invalidated assignment operator.
MSPersonPlan::iterator myStep
the iterator over the route
SUMOTime myWalkingTime
the time the person is walking
MSPersonStage_Walking & myParent
~MSPersonStage_Walking()
destructor
~MSPersonStage_Waiting()
destructor
StageType myType
The type of this stage.
SUMOTime execute(SUMOTime currentTime)
Executes the command.
Position getPosition(SUMOTime now) const
SUMOTime timeWaiting4Vehicle(SUMOTime now) const
time spent waiting for a ride
bool proceed(MSNet *net, SUMOTime time)
MSPersonStage_Driving(const MSEdge &destination, MSBusStop *toBS, const std::vector< std::string > &lines)
constructor
SUMOReal myCurrentDuration
SUMOReal myCurrentBeginPos
virtual void endEventOutput(const MSPerson &p, SUMOTime t, OutputDevice &os) const
Called for writing the events output (end of an action)
const MSEdge * getFromEdge() const
MSBusStop * myDestinationBusStop
Static storage of an output device and its base (abstract) implementation.
virtual void proceed(MSNet *net, MSPerson *person, SUMOTime now, MSEdge *previousEdge, const SUMOReal at)
proceeds to the next step
std::string getStageTypeName() const
return string representation of the current stage
const MSEdge & myDestination
the next edge to reach (either by walking or driving)
virtual ~MSPersonStage()
destructor
SUMOReal myDepartPos
A vector of computed times an edge is reached.
SUMOVehicle * myVehicle
The taken vehicle.
void setArrived(SUMOTime now)
logs end of the step
std::vector< MSPersonStage * > MSPersonPlan
the structure holding the plan of a person
MoveToNextEdge & operator=(const MoveToNextEdge &)
Invalidated assignment operator.
virtual void tripInfoOutput(OutputDevice &os) const
Called on writing tripinfo output.
StageType getStageType() const