202 throw ProcessError(
"parkingZoneReroute not implemented for meso");
208 throw ProcessError(
"parkingZoneReroute not implemented for meso");
334 bool replaceRoute(
const MSRoute* route,
const std::string& info,
bool onInit =
false,
int offset = 0,
bool addStops =
true,
bool removeStops =
true);
379 std::map<const MESegment* const, std::vector<SUMOVehicleParameter::Stop> >
myStops;
double getBlockTimeSeconds() const
Returns the time at which the vehicle was blocked on the current segment.
void updateDetectorForWriting(MSMoveReminder *rem, SUMOTime currentTime, SUMOTime exitTime)
Updates a single vehicle detector if present.
A lane area vehicles can halt at.
void loadState(const SUMOSAXAttributes &attrs, const SUMOTime offset)
Loads the state of this vehicle from the given description.
virtual void setSegment(MESegment *s, int idx=0)
Sets the current segment the vehicle is at together with its que.
double getAngle() const
Returns the vehicle's direction in degrees.
std::vector< std::pair< int, double > > getStopIndices() const
return list of route indices for the remaining stops
A vehicle from the mesoscopic point of view.
std::map< const MESegment *const, std::vector< SUMOVehicleParameter::Stop > > myStops
where to stop
A lane area vehicles can halt at.
double estimateLeaveSpeed(const MSLink *link) const
Returns the vehicle's estimated speed after driving accross the link.
SUMOTime getLastEntryTime() const
Returns the time the vehicle entered the current segment.
SUMOTime getAccumulatedWaitingTime() const
Returns the duration for which the vehicle was blocked.
The vehicle arrived at a junction.
bool mayProceed() const
Returns whether the vehicle is allowed to pass the next junction.
Position getPosition(const double offset=0) const
Return current position (x/y, cartesian)
double getSlope() const
Returns the slope of the road at vehicle's position.
SUMOTime remainingStopDuration() const
Returns the remaining stop duration for a stopped vehicle or 0.
Notification
Definition of a vehicle state.
SUMOTime getWaitingTime() const
Returns the duration for which the vehicle was blocked.
SUMOTime getEventTime() const
Returns the (planned) time at which the vehicle leaves his current cell.
std::vector< const MSEdge * > ConstMSEdgeVector
int myQueIndex
Index of the que the vehicle is in (important for multiqueue extension)
bool replaceRoute(const MSRoute *route, const std::string &info, bool onInit=false, int offset=0, bool addStops=true, bool removeStops=true)
Replaces the current route by the given one.
The base class for microscopic and mesoscopic vehicles.
double getEventTimeSeconds() const
Returns the earliest leave time for the current segment.
bool isOnRoad() const
Returns the information whether the vehicle is on a road (is simulated)
void setBlockTime(const SUMOTime t)
Sets the time at which the vehicle was blocked.
The car-following model and parameter.
MSParkingArea * getNextParkingArea()
get the current parking area stop
const ConstMSEdgeVector getStopEdges(double &firstPos, double &lastPos) const
Returns the list of still pending stop edges.
double getCurrentStoppingTimeSeconds() const
Returns the delay that is accrued due to option –meso-tls-penalty or –meso-minor-penalty.
double getBrakeGap() const
get distance for coming to a stop (used for rerouting checks)
Encapsulated SAX-Attributes.
A point in 2D or 3D with translation and scaling methods.
MESegment * getSegment() const
Returns the current segment the vehicle is on.
bool addStop(const SUMOVehicleParameter::Stop &stopPar, std::string &errorMsg, SUMOTime untilOffset=0, bool collision=false, MSRouteIterator *searchStart=0)
Adds a stop.
ConstMSEdgeVector::const_iterator MSRouteIterator
void setLastEntryTime(SUMOTime t)
Sets the entry time for the current segment.
bool isStopped() const
Returns whether the vehicle is at a stop.
bool hasArrived() const
Returns whether this vehicle has already arived (reached the arrivalPosition on its final edge) ...
void processStop()
ends the current stop and performs loading/unloading
SUMOTime myLastEntryTime
The time the vehicle entered its current segment.
Something on a lane to be noticed about vehicle movement.
int getQueIndex() const
Returns the index of the que the vehicle is in.
void saveState(OutputDevice &out)
Saves the states of a vehicle.
double getConservativeSpeed(SUMOTime &earliestArrival) const
Returns the vehicle's estimated speed taking into account delays.
MESegment * mySegment
The segment the vehicle is at.
Definition of vehicle stop (position and duration)
bool moveRoutePointer()
Update when the vehicle enters a new edge in the move step.
SUMOTime getStoptime(const MESegment *const seg, SUMOTime time) const
Returns until when to stop at the given segment.
void addStops(const bool ignoreStopErrors)
Adds stops to the built vehicle.
ConstMSEdgeVector myStopEdges
edges to stop
Structure representing possible vehicle parameter.
bool stopsAt(MSStoppingPlace *) const
Returns whether the vehicle stops at the given stopping place.
double getLastEntryTimeSeconds() const
Returns the entry time for the current segment.
bool replaceParkingArea(MSParkingArea *, std::string &)
replace the current parking area stop with a new stop with merge duration
A single mesoscopic segment (cell)
MEVehicle(SUMOVehicleParameter *pars, const MSRoute *route, MSVehicleType *type, const double speedFactor)
Constructor.
void updateDetectors(SUMOTime currentTime, const bool isLeave, const MSMoveReminder::Notification reason=MSMoveReminder::NOTIFICATION_JUNCTION)
Updates all vehicle detectors.
bool isStoppedInRange(const double pos, const double tolerance) const
return whether the given position is within range of the current stop
void setEventTime(SUMOTime t, bool hasDelay=true)
Sets the (planned) time at which the vehicle leaves his current cell.
bool isParking() const
Returns whether the vehicle is parking.
Static storage of an output device and its base (abstract) implementation.
double getPositionOnLane() const
Get the vehicle's position along the lane.
SUMOTime myEventTime
The (planned) time of leaving the segment (cell)
double getAverageSpeed() const
Returns the vehicle's estimated average speed on the segment assuming no further delays.
double getCurrentLinkPenaltySeconds() const
Returns the delay that is accrued due to option –meso-tls-penalty or –meso-minor-penalty.
double getSpeed() const
Returns the vehicle's estimated speed assuming no delays.
bool isStoppedTriggered() const
Returns whether the vehicle is on a triggered stop.
SUMOTime myBlockTime
The time at which the vehicle was blocked on its current segment.
const MSEdge & getEdge() const
Returns the edge this segment belongs to.
Representation of a lane in the micro simulation.
MSLane * getLane() const
Returns the lane the vehicle is on.
SUMOTime getBlockTime() const
Returns the time at which the vehicle was blocked.
double getBackPositionOnLane(const MSLane *lane) const
Get the vehicle's position relative to the given lane.
double getWaitingSeconds() const
Returns the number of seconds waited (speed was lesser than 0.1m/s)