maliput_multilane
Lane Class Reference

Detailed Description

Base class for the multilane implementation of api::Lane.

#include <src/maliput_multilane/lane.h>

Inheritance diagram for Lane:
[legend]

Public Member Functions

 Lane (const api::LaneId &id, const api::Segment *segment, int index, const api::RBounds &lane_bounds, const api::RBounds &segment_bounds, const api::HBounds &elevation_bounds, const RoadCurve *road_curve, double r0)
 Constructs a Lane. More...
 
const CubicPolynomialelevation () const
 
const CubicPolynomialsuperelevation () const
 
double r0 () const
 
void SetStartBp (BranchPoint *bp)
 
void SetEndBp (BranchPoint *bp)
 
BranchPointstart_bp ()
 
BranchPointend_bp ()
 
 ~Lane () override=default
 
- Public Member Functions inherited from Lane
LaneId id () const
 
const Segmentsegment () const
 
int index () const
 
const Laneto_left () const
 
const Laneto_right () const
 
double length () const
 
RBounds lane_bounds (double s) const
 
RBounds segment_bounds (double s) const
 
HBounds elevation_bounds (double s, double r) const
 
InertialPosition ToInertialPosition (const LanePosition &lane_pos) const
 
LanePositionResult ToLanePosition (const InertialPosition &inertial_pos) const
 
LanePositionResult ToSegmentPosition (const InertialPosition &inertial_pos) const
 
Rotation GetOrientation (const LanePosition &lane_pos) const
 
LanePosition EvalMotionDerivatives (const LanePosition &position, const IsoLaneVelocity &velocity) const
 
const BranchPointGetBranchPoint (const LaneEnd::Which which_end) const
 
const LaneEndSetGetConfluentBranches (const LaneEnd::Which which_end) const
 
const LaneEndSetGetOngoingBranches (const LaneEnd::Which which_end) const
 
std::optional< LaneEndGetDefaultBranch (const LaneEnd::Which which_end) const
 
bool Contains (const LanePosition &lane_position) const
 

Additional Inherited Members

- Protected Member Functions inherited from Lane
 Lane ()=default
 

Constructor & Destructor Documentation

◆ Lane()

Lane ( const api::LaneId id,
const api::Segment segment,
int  index,
const api::RBounds lane_bounds,
const api::RBounds segment_bounds,
const api::HBounds elevation_bounds,
const RoadCurve road_curve,
double  r0 
)

Constructs a Lane.

Parameters
idthe ID
segmentthe Segment to which this Lane will belong, which must remain valid for the lifetime of this class
indexLane's index to identify it when querying parent segment. It must be positive.
lane_boundsnominal bounds of the lane, uniform along the entire reference path, which must be a subset of segment_bounds
segment_boundssegment bounds of the lane, uniform along the entire reference path
elevation_boundselevation bounds of the lane, uniform along the entire segment surface
road_curveThe trajectory of the Lane over parent segment's surface.
r0The lateral displacement with respect to the road_curve's reference curve.
Note
The override Lane::ToLanePosition() is currently restricted to lanes in which superelevation and elevation change are both zero.

◆ ~Lane()

~Lane ( )
overridevirtualdefault

Reimplemented from Lane.

Member Function Documentation

◆ elevation()

const CubicPolynomial& elevation ( ) const

◆ end_bp()

BranchPoint* end_bp ( )

◆ r0()

double r0 ( ) const

◆ SetEndBp()

void SetEndBp ( BranchPoint bp)

◆ SetStartBp()

void SetStartBp ( BranchPoint bp)

◆ start_bp()

BranchPoint* start_bp ( )

◆ superelevation()

const CubicPolynomial& superelevation ( ) const

The documentation for this class was generated from the following files: