Drake

A Lane represents a lane of travel in a road network. More...
#include <drake/automotive/maliput/api/lane.h>
Public Member Functions  
virtual  ~Lane ()=default 
const LaneId  id () const 
Returns the persistent identifier. More...  
const Segment *  segment () const 
Returns the Segment to which this Lane belongs. More...  
int  index () const 
Returns the index of this Lane within the Segment which owns it. More...  
const Lane *  to_left () const 
Returns a pointer to the adjacent Lane to the left of this Lane. More...  
const Lane *  to_right () const 
Returns a pointer to the adjacent Lane to the right of this Lane. More...  
double  length () const 
Returns the arclength of the Lane along its reference curve. More...  
RBounds  lane_bounds (double s) const 
Returns the nominal lateral (r) bounds for the lane as a function of s. More...  
RBounds  driveable_bounds (double s) const 
Returns the driveable lateral (r) bounds of the lane as a function of s. More...  
HBounds  elevation_bounds (double s, double r) const 
Returns the elevation (h ) bounds of the lane as a function of (s, r) . More...  
GeoPosition  ToGeoPosition (const LanePosition &lane_pos) const 
Returns the GeoPosition corresponding to the given LanePosition. More...  
LanePosition  ToLanePosition (const GeoPosition &geo_position, GeoPosition *nearest_point, double *distance) const 
Determines the LanePosition corresponding to GeoPosition geo_position . More...  
Rotation  GetOrientation (const LanePosition &lane_pos) const 
Returns the rotation which expresses the orientation of the Lane frame basis at lane_pos with respect to the world frame basis. More...  
LanePosition  EvalMotionDerivatives (const LanePosition &position, const IsoLaneVelocity &velocity) const 
Computes derivatives of LanePosition given a velocity vector velocity . More...  
const BranchPoint *  GetBranchPoint (const LaneEnd::Which which_end) const 
Returns the lane's BranchPoint for the end specified by which_end . More...  
const LaneEndSet *  GetConfluentBranches (const LaneEnd::Which which_end) const 
Returns the set of LaneEnd's which connect with this lane on the same side of the BranchPoint at which_end . More...  
const LaneEndSet *  GetOngoingBranches (const LaneEnd::Which which_end) const 
Returns the set of LaneEnd's which continue onward from this lane at the BranchPoint at which_end . More...  
std::unique_ptr< LaneEnd >  GetDefaultBranch (const LaneEnd::Which which_end) const 
Returns the default ongoing LaneEnd connected at which_end . More...  
Does not allow copy, move, or assignment  
Lane (const Lane &)=delete  
Lane &  operator= (const Lane &)=delete 
Lane (Lane &&)=delete  
Lane &  operator= (Lane &&)=delete 
Protected Member Functions  
Lane ()=default  
A Lane represents a lane of travel in a road network.
A Lane defines a curvilinear coordinate system covering the road surface, with a longitudinal 's' coordinate that expresses the arclength along a central reference curve. The reference curve nominally represents an ideal travel trajectory along the Lane.
Lanes are grouped by Segment. All Lanes belonging to a Segment represent the same road surface, but with different coordinate parameterizations (e.g., each Lane has its own reference curve).

protecteddefault 
Returns the driveable lateral (r) bounds of the lane as a function of s.
These are the lateral bounds for a position that is considered to be "on pavement", reflecting the physical extent of the paved surface of the lane's segment.
Returns the elevation (h
) bounds of the lane as a function of (s, r)
.
These are the elevation bounds for a position that is considered to be within the volume modelled by the RoadGeometry.

inline 
Computes derivatives of LanePosition given a velocity vector velocity
.
velocity
is a isometric velocity vector oriented in the Lane
frame at position
.
Lane
frame derivatives packed into a LanePosition struct.

inline 
Returns the lane's BranchPoint for the end specified by which_end
.

inline 
Returns the set of LaneEnd's which connect with this lane on the same side of the BranchPoint at which_end
.
At a minimum, this set will include this Lane.

inline 
Returns the default ongoing LaneEnd connected at which_end
.
which_end
.

inline 
Returns the set of LaneEnd's which continue onward from this lane at the BranchPoint at which_end
.

inline 
Returns the rotation which expresses the orientation of the Lane
frame basis at lane_pos
with respect to the world frame basis.

inline 
Returns the persistent identifier.

inline 
Returns the nominal lateral (r) bounds for the lane as a function of s.
These are the lateral bounds for a position that is considered to be "staying in the lane".

inline 

inline 

inline 

inline 

inline 
Returns the GeoPosition corresponding to the given LanePosition.
lane_pos
must be in domain [0, Lane::length()]. lane_pos
must be in domain [Rmin, Rmax] derived from Lane::driveable_bounds().

inline 
Determines the LanePosition corresponding to GeoPosition geo_position
.
The return value is the LanePosition of the point within the Lane's driveablebounds which is closest to geo_position
(as measured by the Cartesian metric in the world frame). If nearest_point
is nonnull, then it will be populated with the GeoPosition of that nearest point. If distance
is nonnull, then it will be populated with the Cartesian distance from geo_position
to that nearest point.
This method guarantees that its result satisfies the condition that ToGeoPosition(result)
is within linear_tolerance()
of *nearest_position
.