maliput
Lane Class Reference

Detailed Description

geometry_base's implementation of api::Lane.

#include <include/maliput/geometry_base/lane.h>

Inheritance diagram for Lane:
[legend]

Public Member Functions

 MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN (Lane)
 
 Lane (const api::LaneId &id)
 Constructs a Lane. More...
 
BranchPointmutable_start_branch_point ()
 Returns a mutable pointer to the BranchPoint at the start end, or nullptr if the start end hasn't been added to a BranchPoint yet. More...
 
BranchPointmutable_finish_branch_point ()
 Returns a mutable pointer to the BranchPoint at the finish end, or nullptr if the finish end hasn't been added to a BranchPoint yet. More...
 
void AttachToSegment (common::Passkey< Segment >, const api::Segment *segment, int index)
 
void SetStartBranchPoint (common::Passkey< BranchPoint >, BranchPoint *branch_point)
 
void SetFinishBranchPoint (common::Passkey< BranchPoint >, BranchPoint *branch_point)
 
 ~Lane () override=default
 
- Public Member Functions inherited from Lane
LaneId id () const
 Returns the persistent identifier. More...
 
const Segmentsegment () 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 Laneto_left () const
 Returns a pointer to the adjacent Lane to the left of this Lane. More...
 
const Laneto_right () const
 Returns a pointer to the adjacent Lane to the right of this Lane. More...
 
double length () const
 Returns the arc-length 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 segment_bounds (double s) const
 Returns the lateral segment (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...
 
InertialPosition ToInertialPosition (const LanePosition &lane_pos) const
 Returns the InertialPosition corresponding to the given LanePosition. More...
 
LanePositionResult ToLanePosition (const InertialPosition &inertial_pos) const
 Determines the LanePosition corresponding to InertialPosition inertial_pos. More...
 
LanePositionResult ToSegmentPosition (const InertialPosition &inertial_pos) const
 Determines the LanePosition corresponding to InertialPosition inertial_pos. 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 Inertial-frame basis. More...
 
LanePosition EvalMotionDerivatives (const LanePosition &position, const IsoLaneVelocity &velocity) const
 Computes derivatives of LanePosition given a velocity vector velocity. More...
 
const BranchPointGetBranchPoint (const LaneEnd::Which which_end) const
 Returns the lane's BranchPoint for the end specified by which_end. More...
 
const LaneEndSetGetConfluentBranches (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 LaneEndSetGetOngoingBranches (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::optional< LaneEndGetDefaultBranch (const LaneEnd::Which which_end) const
 Returns the default ongoing LaneEnd connected at which_end, or std::nullopt if no default branch has been established at which_end. More...
 
bool Contains (const LanePosition &lane_position) const
 Returns if this lane contains lane_position. More...
 

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ Lane()

Lane ( const api::LaneId id)
explicit

Constructs a Lane.

Parameters
idthe ID of the Lane

The Lane is not fully initialized until it is added to a Segment and each end is added to (one or two) BranchPoints.

The Lane's index will be assigned when it is added to a Segment.

◆ ~Lane()

~Lane ( )
overridevirtualdefault

Reimplemented from Lane.

Member Function Documentation

◆ AttachToSegment()

void AttachToSegment ( common::Passkey< Segment ,
const api::Segment segment,
int  index 
)

◆ MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN()

MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN ( Lane  )

◆ mutable_finish_branch_point()

BranchPoint* mutable_finish_branch_point ( )

Returns a mutable pointer to the BranchPoint at the finish end, or nullptr if the finish end hasn't been added to a BranchPoint yet.

◆ mutable_start_branch_point()

BranchPoint* mutable_start_branch_point ( )

Returns a mutable pointer to the BranchPoint at the start end, or nullptr if the start end hasn't been added to a BranchPoint yet.

◆ SetFinishBranchPoint()

void SetFinishBranchPoint ( common::Passkey< BranchPoint ,
BranchPoint branch_point 
)

◆ SetStartBranchPoint()

void SetStartBranchPoint ( common::Passkey< BranchPoint ,
BranchPoint branch_point 
)

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