20 #ifndef MSTransportable_h 21 #define MSTransportable_h 128 virtual bool isWaitingFor(
const std::string& line)
const;
217 SUMOReal pos,
const std::string& actType,
const bool initial);
240 return "waiting (" + myActType +
")";
302 const SUMOReal arrivalPos,
const std::vector<std::string>& lines);
390 const std::string&
getID()
const;
408 return (*myStep)->getDestination();
413 return (*(
myStep + 1))->getDestination();
418 return (*myStep)->getEdge();
423 return (*myStep)->getFromEdge();
443 return (*myStep)->getStageType();
448 assert(
myStep + next < myPlan->end());
455 return (*myStep)->getStageDescription();
465 assert(
myStep + next < myPlan->end());
492 return (*myStep)->isWaitingFor(line);
497 return (*myStep)->isWaiting4Vehicle();
502 return (*myStep)->getVehicle();
516 return myPlan->back()->getArrivalPos();
521 return myPlan->back()->getEdges().back();
void setArrived(SUMOTime now)
logs end of the step
virtual std::string getStageDescription() const =0
return string representation of the current stage
std::string myActType
The type of activity.
virtual SUMOReal getEdgePos(SUMOTime now) const =0
StageType getStageType() const
A lane area vehicles can halt at.
bool isWaiting4Vehicle() const
Whether the transportable waits for a vehicle.
std::vector< const MSEdge * > ConstMSEdgeVector
Stage(const MSEdge &destination, MSStoppingPlace *toStop, const SUMOReal arrivalPos, StageType type)
constructor
const SUMOVehicleParameter & getParameter() const
virtual SUMOReal getWaitingSeconds() const
the time this transportable spent waiting in seconds
const MSStoppingPlace * getDestinationStop() const
returns the destination stop (if any)
virtual void abort(MSTransportable *)
abort this stage (TraCI)
SUMOVehicle * getVehicle() const
The vehicle associated with this transportable.
int getNumRemainingStages() const
Return the number of remaining stages (including the current)
Stage & operator=(const Stage &)
Invalidated assignment operator.
SUMOReal getArrivalPos() const
returns the final arrival pos
const std::set< std::string > myLines
the lines to choose from
const std::string & getID() const
returns the id of the transportable
MSTransportable::Stage * getCurrentStage() const
Return the current stage.
std::vector< const MSEdge * > ConstMSEdgeVector
virtual bool isWaiting4Vehicle() const
Whether the transportable waits for a vehicle.
MSTransportablePlan::iterator myStep
the iterator over the route
SUMOVehicle * getVehicle() const
The vehicle the person is riding or 0.
MSTransportable(const SUMOVehicleParameter *pars, const MSVehicleType *vtype, MSTransportablePlan *plan)
constructor
virtual SUMOTime getWaitingTime(SUMOTime now) const =0
the time this transportable spent waiting
SUMOReal getEdgeAngle(const MSEdge *e, SUMOReal at) const
get angle of the edge at a certain position
The simulated network and simulation perfomer.
The car-following model and parameter.
virtual SUMOVehicle * getVehicle() const
Whether the transportable waits for a vehicle.
SUMOTime getDesiredDepart() const
Returns the desired departure time.
const SUMOVehicleParameter * myParameter
the plan of the transportable
void removeStage(int next)
removes the nth next stage
bool myWriteEvents
Whether events shall be written.
virtual SUMOReal getAngle(SUMOTime now) const =0
returns the angle of the transportable
const MSEdge & getDestination() const
returns the destination edge
SUMOTime myWaitingSince
The time since which this person is waiting for a ride.
virtual void beginEventOutput(const MSTransportable &transportable, SUMOTime t, OutputDevice &os) const =0
Called for writing the events output (begin of an action)
A road/street connecting two junctions.
std::vector< MSTransportable::Stage * > MSTransportablePlan
the structure holding the plan of a transportable
Position getLanePosition(const MSLane *lane, SUMOReal at, SUMOReal offset) const
get position on lane at length at with orthogonal offset
Position getEdgePosition(const MSEdge *e, SUMOReal at, SUMOReal offset) const
get position on edge e at length at with orthogonal offset
const MSVehicleType & getVehicleType() const
virtual void routeOutput(OutputDevice &os) const =0
Called on writing vehroute output.
SUMOTime myArrived
the time at which this stage ended
const MSEdge * getEdge() const
Returns the current edge.
SUMOTime myDeparted
the time at which this stage started
static const SUMOReal ROADSIDE_OFFSET
the offset for computing positions when standing at an edge
Representation of a vehicle.
virtual bool isWaitingFor(const std::string &line) const
Whether the transportable waits for a vehicle of the line specified.
MSStoppingPlace *const myDestinationStop
the stop to reach by getting transported (if any)
A point in 2D or 3D with translation and scaling methods.
void appendStage(Stage *stage)
Appends the given stage to the current plan.
const MSVehicleType * myVType
This transportable's type. (mainly used for drawing related information Note sure if it is really nec...
void setVehicle(SUMOVehicle *v)
StageType getCurrentStageType() const
the current stage type of the transportable
virtual void proceed(MSNet *net, MSTransportable *transportable, SUMOTime now, Stage *previous)=0
proceeds to this stage
virtual ~MSTransportable()
destructor
SUMOReal myArrivalPos
the position at which we want to arrive
virtual Position getPosition(SUMOTime now) const =0
returns the position of the transportable
SUMOTime myWaitingUntil
the time until the person is waiting
SUMOVehicle * myVehicle
The taken vehicle.
std::string getStageDescription() const
return string representation of the current stage
virtual ConstMSEdgeVector getEdges() const =0
the edges of the current stage
const MSEdge & getDestination() const
Returns the current destination.
const MSEdge * getFromEdge() const
Returns the departure edge.
StageType myType
The type of this stage.
Structure representing possible vehicle parameter.
virtual const MSEdge * getEdge() const =0
Returns the current edge.
virtual void endEventOutput(const MSTransportable &transportable, SUMOTime t, OutputDevice &os) const =0
Called for writing the events output (end of an action)
SUMOReal getArrivalPos() const
bool isWaitingFor(const std::string &line) const
Whether the transportable waits for a vehicle of the line specified.
StageType getStageType(int next) const
the stage type for the nth next stage
ConstMSEdgeVector getEdges(int next) const
Return the edges of the nth next stage.
void replaceVehicleType(MSVehicleType *type)
replace myVType
const MSEdge & getNextDestination() const
Returns the destination after the current destination.
virtual void tripInfoOutput(OutputDevice &os) const =0
Called on writing tripinfo output.
virtual const MSEdge * getFromEdge() const =0
Static storage of an output device and its base (abstract) implementation.
void setDeparted(SUMOTime now)
logs end of the step
int getNumStages() const
Return the total number stages in this persons plan.
MSTransportablePlan * myPlan
the plan of the transportable
const MSEdge * myWaitingEdge
std::string getCurrentStageDescription() const
Returns the current stage description as a string.
virtual ~Stage()
destructor
virtual SUMOReal getSpeed() const =0
the speed of the transportable
virtual void setSpeed(SUMOReal)
sets the walking speed (ignored in other stages)
const MSEdge & myDestination
the next edge to reach by getting transported
Representation of a lane in the micro simulation.
const MSEdge * getArrivalEdge() const
returns the final arrival edge
SUMOTime myWaitingDuration
the time the person is waiting
SUMOTime myWaitingStart
the time the person is waiting