71 double speed,
double departPos,
double arrivalPos,
double departPosLat,
int departLane = -1);
193 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 & operator=(const ProceedCmd &)
Invalidated assignment operator.
ProceedCmd(MSTransportable *person, MSEdge *edge)
Position getPosition(SUMOTime now) const
returns the position of the transportable
SUMOTime myEstimatedArrival
double getDistance() const
get travel distance in this stage
MSPersonStage_Access(const MSEdge *destination, MSStoppingPlace *toStop, const double arrivalPos, const double dist, const bool isExit)
constructor
void tripInfoOutput(OutputDevice &os, const MSTransportable *const transportable) const
Called on writing tripinfo output.
void routeOutput(const bool, OutputDevice &, const bool, const MSStage *const) const
Called on writing vehroute output. Currently does nothing.
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
arrival_finder(SUMOTime time)
constructor
bool operator()(double t) const
comparison operator
SUMOTime myTime
the searched arrival time
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.
MSPersonStage_Walking(const std::string &personID, const ConstMSEdgeVector &route, MSStoppingPlace *toStop, SUMOTime walkingTime, double speed, double departPos, double arrivalPos, double departPosLat, int departLane=-1)
constructor
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 getArrivalPos() const
double computeAverageSpeed() const
const MSEdge * getNextRouteEdge() const
double getDistance() const
get travel distance in this stage
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
MSPersonStage_Walking & operator=(const MSPersonStage_Walking &)
Invalidated assignment operator.
double walkDistance() const
compute total walking distance
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 abort(MSTransportable *)
abort this stage (TraCI)
void saveState(std::ostringstream &out)
Saves the current state into the given stream.
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 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.
MSPerson & operator=(const MSPerson &)
Invalidated assignment operator.
double getSpeedFactor() const
the current speed factor of the transportable (where applicable)
void setSpeedFactor(const double factor)
bool checkAccess(const MSStage *const prior, const bool isDisembark=true)
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< const MSEdge * > myRoute
The route of the container.
std::vector< const MSEdge * >::iterator myRouteStep
current step
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.