SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types.
int SVCPermissions
bitset where each bit declares whether a certain SVC may use this edge/lane
LinkState
The right-of-way state of a link between two lanes used when constructing a NBTrafficLightLogic,...
@ LINKSTATE_MAJOR
This is an uncontrolled, major link, may pass.
Base class for objects which have an id.
A basic edge for routing applications.
A single lane the router may use.
double myLength
The length of the lane.
ROLane(const std::string &id, ROEdge *edge, double length, double maxSpeed, SVCPermissions permissions, const PositionVector &shape)
Constructor.
ROEdge * myEdge
The parent edge of this lane.
ROLane & operator=(const ROLane &src)
Invalidated assignment operator.
ROEdge & getEdge() const
Returns the lane's edge.
double myMaxSpeed
The maximum speed allowed on the lane.
const PositionVector & getShape() const
double getLength() const
Returns the length of the lane.
bool allowsVehicleClass(SUMOVehicleClass vclass) const
SVCPermissions getPermissions() const
Returns the list of allowed vehicle classes.
const PositionVector myShape
shape for this lane
const std::vector< std::pair< const ROLane *, const ROEdge * > > & getOutgoingViaLanes() const
get the map of outgoing lanes to via edges
std::vector< std::pair< const ROLane *, const ROEdge * > > myOutgoingLanes
void addOutgoingLane(ROLane *lane, ROEdge *via=nullptr)
ROLane(const ROLane &src)
Invalidated copy constructor.
LinkState getIncomingLinkState() const
get the state of the link from the logical predecessor to this lane (ignored for routing)
double getSpeed() const
Returns the maximum speed allowed on this lane.
SVCPermissions myPermissions
The encoding of allowed vehicle classes.