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