72 double speed,
double departPos,
double arrivalPos,
double departPosLat,
int departLane = -1,
const std::string& routeID =
"");
185 const double arrivalPos,
const double dist,
const bool isExit);
std::vector< const MSEdge * > ConstMSEdgeVector
std::vector< const MSEdge * > ConstMSEdgeVector
#define UNUSED_PARAMETER(x)
Base (microsim) event class.
A road/street connecting two junctions.
Representation of a lane in the micro simulation.
Something on a lane to be noticed about vehicle movement.
The simulated network and simulation perfomer.
The pedestrian (and also sometimes container) movement model.
Changes the wished person speed and position.
SUMOTime myLastRemoteAccess
void postProcessRemoteControl(MSPerson *p)
SUMOTime getLastAccessTimeStep() const
ConstMSEdgeVector myRemoteRoute
void setRemoteControlled(Position xyPos, MSLane *l, double pos, double posLat, double angle, int edgeOffset, const ConstMSEdgeVector &route, SUMOTime t)
bool isRemoteAffected(SUMOTime t) const
bool isRemoteControlled() const
SUMOTime execute(SUMOTime currentTime)
Executes the command.
MSTransportable *const myPerson
ProceedCmd(MSTransportable *person, MSEdge *edge)
ProceedCmd & operator=(const ProceedCmd &)
Invalidated assignment operator.
Position getPosition(SUMOTime now) const
returns the position of the transportable
SUMOTime myEstimatedArrival
double getDistance() const
get travel distance in this stage
double getSpeed() const
the speed of the person in this stage
void tripInfoOutput(OutputDevice &os, const MSTransportable *const transportable) const
Called on writing tripinfo output.
const MSEdge * myOrigin
the origin edge
void routeOutput(const bool, OutputDevice &, const bool, const MSStage *const) const
Called on writing vehroute output. Currently does nothing.
MSPersonStage_Access(const MSEdge *origin, const MSEdge *destination, MSStoppingPlace *toStop, const double arrivalPos, const double dist, const bool isExit)
constructor
virtual void proceed(MSNet *net, MSTransportable *person, SUMOTime now, MSStage *previous)
proceeds to the next step
double getAngle(SUMOTime now) const
returns the angle of the transportable
std::string getStageDescription(const bool isPerson) const
returns the stage description as a string
std::string getStageSummary(const bool isPerson) const
return string summary of the current stage
~MSPersonStage_Access()
destructor
std::string getStageDescription(const bool isPerson) const
return (brief) string representation of the current stage
virtual void routeOutput(const bool isPerson, OutputDevice &os, const bool withRouteLength, const MSStage *const previous) const
Called on writing vehroute output.
virtual void tripInfoOutput(OutputDevice &os, const MSTransportable *const transportable) const
Called on writing tripinfo output.
std::vector< MSMoveReminder * > myMoveReminders
the MoveReminders encountered while walking
void setSpeed(double speed)
sets the walking speed (ignored in other stages)
SUMOTime myWalkingTime
the time the person is walking
double myInternalDistance
distance walked on non-normal edges (i.e. walkingareas)
double getArrivalPos() const
double computeAverageSpeed() const
double getDistance() const
get travel distance in this stage
double walkDistance(bool partial=false) const
compute total walking distance
bool moveToNextEdge(MSTransportable *person, SUMOTime currentTime, int prevDir, MSEdge *nextInternal=nullptr)
move forward and return whether the person arrived
double getMaxSpeed(const MSTransportable *const person) const
accessors to be used by MSPModel
~MSPersonStage_Walking()
destructor
void loadState(MSTransportable *transportable, std::istringstream &state)
Reconstructs the current state.
SUMOTime myLastEdgeEntryTime
the time the person entered the edge
MSPersonStage_Walking(const MSPersonStage_Walking &)
Invalidated copy constructor.
std::string getStageSummary(const bool isPerson) const
return string summary of the current stage
std::vector< SUMOTime > * myExitTimes
optional exit time tracking for vehroute output
virtual void proceed(MSNet *net, MSTransportable *person, SUMOTime now, MSStage *previous)
proceeds to the next step
void activateEntryReminders(MSTransportable *person)
void activateLeaveReminders(MSTransportable *person, const MSLane *lane, double lastPos, SUMOTime t, bool arrived)
int getRoutePosition() const
return index of current edge within route
MSPersonStage_Walking(const std::string &personID, const ConstMSEdgeVector &route, MSStoppingPlace *toStop, SUMOTime walkingTime, double speed, double departPos, double arrivalPos, double departPosLat, int departLane=-1, const std::string &routeID="")
constructor
void abort(MSTransportable *)
abort this stage (TraCI)
MSPersonStage_Walking & operator=(const MSPersonStage_Walking &)
Invalidated assignment operator.
const MSEdge * getNextRouteEdge() const
void saveState(std::ostringstream &out)
Saves the current state into the given stream.
bool checkAccess(const MSStage *const prior, const bool waitAtStop=true)
Influencer * myInfluencer
An instance of a speed/position influencing instance; built in "getInfluencer".
const MSEdge * getNextEdgePtr() const
returns the next edge ptr if this person is walking and the pedestrian model allows it
void setChosenSpeedFactor(const double factor)
double getImpatience() const
double getChosenSpeedFactor() const
the current speed factor of the transportable (where applicable)
void reroute(ConstMSEdgeVector &newEdges, double departPos, int firstIndex, int nextIndex)
set new walk and replace the stages with relative indices in the interval [firstIndex,...
double myChosenSpeedFactor
virtual bool isSelected() const
whether this person is selected in the GUI
MSPerson(const MSPerson &)
Invalidated copy constructor.
bool isJammed() const
whether the person is jammed as defined by the current pedestrian model
MSPerson & operator=(const MSPerson &)
Invalidated assignment operator.
bool hasInfluencer() const
whether the vehicle is individually influenced (via TraCI or special parameters)
virtual ~MSPerson()
destructor
Influencer & getInfluencer()
Returns the velocity/lane influencer.
const std::string & getNextEdge() const
return the list of internal edges if this person is walking and the pedestrian model allows it
MSPerson(const SUMOVehicleParameter *pars, MSVehicleType *vtype, MSTransportable::MSTransportablePlan *plan, const double speedFactor)
constructor
void setRemoteState(Position xyPos)
sets position outside the road network
double myArrivalPos
the position at which we want to arrive
std::vector< constMSEdge * >::iterator myRouteStep
current step
std::vector< const MSEdge * > myRoute
The route of the container.
A lane area vehicles can halt at.
bool isPerson() const
Whether it is a person.
std::vector< MSStage * > MSTransportablePlan
the structure holding the plan of a transportable
The car-following model and parameter.
Static storage of an output device and its base (abstract) implementation.
A point in 2D or 3D with translation and scaling methods.
Representation of a vehicle.
Structure representing possible vehicle parameter.