 |
Eclipse SUMO - Simulation of Urban MObility
|
Go to the documentation of this file.
80 static int numSegmentsFor(
const double length,
const double slength);
const SUMOTime myFullRecheckInterval
the interval at which to recheck at full segments (<=0 means asap)
A vehicle from the mesoscopic point of view.
MELoop(const SUMOTime recheckInterval)
SUMO constructor.
A single mesoscopic segment (cell)
bool changeSegment(MEVehicle *veh, SUMOTime leaveTime, MESegment *const toSegment, const bool ignoreLink=false)
change to the next segment this handles combinations of the following cases: (ending / continuing rou...
std::vector< MESegment * > myEdges2FirstSegments
mapping from internal edge ids to their initial segments
void addLeaderCar(MEVehicle *veh, MSLink *link)
Adds the given car to the leading vehicles.
The main mesocopic simulation loop.
MESegment * nextSegment(MESegment *s, MEVehicle *v)
Retrieve next segment.
MESegment * getSegmentForEdge(const MSEdge &e, double pos=0)
Get the segment for a given edge at a given position.
void vaporizeCar(MEVehicle *v)
remove the given car and clean up the relevant data structures
const SUMOTime myLinkRecheckInterval
the interval at which to recheck at blocked junctions (<=0 means asap)
A storage for options typed value containers)
A road/street connecting two junctions.
std::map< SUMOTime, std::vector< MEVehicle * > > myLeaderCars
leader cars in the segments sorted by exit time
static bool isEnteringRoundabout(const MSEdge &e)
whether the given edge is entering a roundabout
static void setApproaching(MEVehicle *veh, MSLink *link)
registers vehicle with the given link
void teleportVehicle(MEVehicle *veh, MESegment *const toSegment)
teleports a vehicle or continues a teleport
void buildSegmentsFor(const MSEdge &e, const OptionsCont &oc)
Build the segments for a given edge.
The class responsible for building and deletion of vehicles.
static int numSegmentsFor(const double length, const double slength)
Compute number of segments per edge (best value stay close to the configured segment length)
void simulate(SUMOTime tMax)
Perform simulation up to the given time.
MELoop & operator=(const MELoop &)
Invalidated assignment operator.
void checkCar(MEVehicle *veh)
Check whether the vehicle may move.
void removeLeaderCar(MEVehicle *v)
Removes the given car from the leading vehicles.