74 GUILane(
const std::string&
id,
double maxSpeed,
75 double length,
MSEdge*
const edge,
int numericalID,
78 const std::string& type);
245 void setGeometry(osg::Geometry* geom) {
292 const MSLane::VehCont::iterator& at,
350 osg::Geometry* myGeom;
int SVCPermissions
bitset where each bit declares whether a certain SVC may use this edge/lane
A class that stores a 2D geometrical boundary.
Representation of a lane in the micro simulation (gui-version)
bool drawAsWaterway(const GUIVisualizationSettings &s) const
whether to draw this lane as a waterway
const PositionVector & getShape() const
void debugDrawFoeIntersections() const
draw intersection positions of foe internal lanes with this one
bool isSelected() const
whether this lane is selected in the GUI
std::vector< double > myShapeLengths
The lengths of the shape parts.
MSVehicle * removeVehicle(MSVehicle *remVehicle, MSMoveReminder::Notification notification, bool notify)
FXMutex myLock
The mutex used to avoid concurrent updates of the vehicle buffer.
bool isLaneOrEdgeSelected() const
whether this lane or its parent edge is selected in the GUI
void setReachability(double value)
const std::vector< double > & getShapeLengths() const
double getScaleValue(int activeScheme) const
gets the scaling value according to the current scheme index
void integrateNewVehicles()
double myHalfLaneWidth
Half of lane width, for speed-up.
void removeParking(MSVehicle *veh)
remove parking vehicle
double getReachability() const
PositionVector splitAtSegments(const PositionVector &shape)
add intermediate points at segment borders
std::vector< int > myShapeSegments
the meso segment index for each geometry segment
double firstWaitingTime() const
double myQuarterLaneWidth
Quarter of lane width, for speed-up.
void drawTLSLinkNo(const GUIVisualizationSettings &s, const GUINet &net) const
RGBColor setColor(const GUIVisualizationSettings &s) const
sets the color according to the currente settings
double getPendingEmits() const
get number of vehicles waiting for departure on this lane
std::string getParentName() const
Returns the name of the parent object (if any)
void drawLane2LaneConnections(double exaggeration) const
void drawLinkNo(const GUIVisualizationSettings &s) const
helper methods
static const RGBColor MESO_USE_LANE_COLOR
special color to signify alternative coloring scheme
bool setMultiColor(const GUIVisualizationSettings &s, const GUIColorer &c, RGBColor &col) const
sets multiple colors according to the current scheme index and some lane function
void swapAfterLaneChange(SUMOTime t)
moves myTmpVehicles int myVehicles after a lane change procedure
void drawLinkRules(const GUIVisualizationSettings &s, const GUINet &net) const
std::vector< RGBColor > myShapeColors
The color of the shape parts (cached)
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
void releaseVehicles() const
Allows to use the container for microsimulation again.
void closeTraffic(bool rebuildAllowed=true)
close this lane for traffic
void drawDirectionIndicators(double exaggeration, bool spreadSuperposed) const
direction indicators for lanes
const VehCont & getVehiclesSecure() const
Returns the vehicles container; locks it for microsimulation.
bool drawAsRailway(const GUIVisualizationSettings &s) const
whether to draw this lane as a railway
void resetPartialOccupation(MSVehicle *v)
Removes the information about a vehicle lapping into this lane.
const std::vector< double > & getShapeRotations() const
void detectCollisions(SUMOTime timestep, const std::string &stage)
double getEdgeLaneNumber() const
double myReachability
the time distance from a particular edge
double getLoadedEdgeWeight() const
Returns the loaded weight (effort) for the edge of this lane.
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
std::vector< double > myShapeRotations
The rotations of the shape parts.
void executeMovements(const SUMOTime t)
virtual void incorporateVehicle(MSVehicle *veh, double pos, double speed, double posLat, const MSLane::VehCont::iterator &at, MSMoveReminder::Notification notification=MSMoveReminder::NOTIFICATION_DEPARTED)
Inserts the vehicle into this lane, and informs it about entering the network.
void setJunctionApproaches(const SUMOTime t) const
void drawLinkRule(const GUIVisualizationSettings &s, const GUINet &net, const MSLink *link, const PositionVector &shape, double x1, double x2) const
bool setFunctionalColor(const GUIColorer &c, RGBColor &col, int activeScheme=-1) const
double getStoredEdgeTravelTime() const
Returns the stored traveltime for the edge of this lane.
void drawMarkings(const GUIVisualizationSettings &s, double scale) const
draw lane borders and white markings
double setPartialOccupation(MSVehicle *v)
Sets the information about a vehicle lapping into this lane.
GUILane(const std::string &id, double maxSpeed, double length, MSEdge *const edge, int numericalID, const PositionVector &shape, double width, SVCPermissions permissions, int index, bool isRampAccel, const std::string &type)
Constructor.
void drawBikeMarkings() const
bike lane markings on top of an intersection
bool myAmClosed
state for dynamic lane closings
void planMovements(const SUMOTime t)
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
double getColorValue(const GUIVisualizationSettings &s, int activeScheme) const
gets the color value according to the current scheme index
A MSNet extended by some values for usage within the gui.
A window containing a gl-object's parameter.
Stores the information about how to visualize structures.
A road/street connecting two junctions.
Representation of a lane in the micro simulation.
std::vector< MSVehicle * > VehCont
Container for vehicles.
MSEdge & getEdge() const
Returns the lane's edge.
Notification
Definition of a vehicle state.
@ NOTIFICATION_DEPARTED
The vehicle has departed (was inserted into the network)
The simulated network and simulation perfomer.
Representation of a vehicle in the micro simulation.
const std::string & getID() const
Returns the id.