48 double departPos,
double arrivalPos) :
52 "container getting transhipped from " +
myRoute.front()->getID());
55 "container getting transhipped to " + route.back()->getID());
79 (*myRouteStep)->addTransportable(transportable);
82 (*myRouteStep)->addTransportable(transportable);
115 std::string comment =
"";
123 if (withRouteLength) {
157 return "transhipped to " + dest;
std::string time2string(SUMOTime t)
convert SUMOTime to string
@ SUMO_ATTR_EDGES
the edges of a route
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
A road/street connecting two junctions.
virtual void removeTransportable(MSTransportable *t) const
The simulated network and simulation perfomer.
static MSNet * getInstance()
Returns the pointer to the unique instance of MSNet (singleton).
virtual MSTransportableControl & getContainerControl()
Returns the container control.
virtual MSTransportableControl & getPersonControl()
Returns the person control.
virtual MSTransportableStateAdapter * add(MSTransportable *transportable, MSStageMoving *stage, SUMOTime now)=0
register the given person as a pedestrian
const MSEdge * getDestination() const
returns the destination edge
virtual double getEdgePos(SUMOTime now) const
MSStoppingPlace * myDestinationStop
the stop to reach by getting transported (if any)
MSStoppingPlace * getDestinationStop() const
returns the destination stop (if any)
SUMOTime myArrived
the time at which this stage ended
double myArrivalPos
the position at which we want to arrive
SUMOTime myDeparted
the time at which this stage started
MSTransportableStateAdapter * myState
state that is to be manipulated by MSPModel
std::vector< constMSEdge * >::iterator myRouteStep
current step
double mySpeed
the speed of the transportable
const MSEdge * getEdge() const
Returns the current edge.
std::vector< const MSEdge * > myRoute
The route of the container.
double myDepartPos
the depart position
void routeOutput(const bool isPerson, OutputDevice &os, const bool withRouteLength, const MSStage *const previous) const
Called on writing vehroute output.
double getDistance() const
get travel distance in this stage
bool moveToNextEdge(MSTransportable *container, SUMOTime currentTime, int prevDir, MSEdge *nextInternal=0)
move forward and return whether the container arrived
MSStageTranship(const std::vector< const MSEdge * > &route, MSStoppingPlace *toStop, double speed, double departPos, double arrivalPos)
constructor
void proceed(MSNet *net, MSTransportable *transportable, SUMOTime now, MSStage *previous)
proceeds to the next step
void tripInfoOutput(OutputDevice &os, const MSTransportable *const transportable) const
Called on writing tripinfo output.
~MSStageTranship()
destructor
std::string getStageSummary(const bool isPerson) const
return string summary of the current stage
A lane area vehicles can halt at.
SumoXMLTag getElement() const
return the type of this stopping place
const std::string & getMyName() const
bool addTransportable(const MSTransportable *p)
adds a transportable to this stop
MSPModel * getNonInteractingModel()
Returns the non interacting movement model (for tranship and "beaming")
virtual void erase(MSTransportable *transportable)
removes a single transportable
virtual bool proceed(MSNet *net, SUMOTime time, const bool vehicleArrived=false)
bool isPerson() const
Whether it is a person.
const std::string & getID() const
Returns the id.
static OptionsCont & getOptions()
Retrieves the options.
Static storage of an output device and its base (abstract) implementation.
OutputDevice & writeAttr(const SumoXMLAttr attr, const T &val)
writes a named attribute
OutputDevice & openTag(const std::string &xmlElement)
Opens an XML tag.
bool closeTag(const std::string &comment="")
Closes the most recently opened tag and optionally adds a comment.
static double interpretEdgePos(double pos, double maximumValue, SumoXMLAttr attr, const std::string &id, bool silent=false)
Interprets negative edge positions and fits them onto a given edge.
static std::string escapeXML(const std::string &orig, const bool maskDoubleHyphen=false)
Replaces the standard escapes by their XML entities.