Drake
ArcLane Class Reference

Specialization of Lane with a circular arc as its reference curve in the xy-plane (the ground plane) of the world frame. More...

#include <drake/automotive/maliput/monolane/arc_lane.h>

Inheritance diagram for ArcLane:
[legend]
Collaboration diagram for ArcLane:
[legend]

Public Member Functions

 ArcLane (const api::LaneId &id, const api::Segment *segment, const V2 &center, double radius, double theta0, double d_theta, const api::RBounds &lane_bounds, const api::RBounds &driveable_bounds, const api::HBounds &elevation_bounds, const CubicPolynomial &elevation, const CubicPolynomial &superelevation)
 Constructs an ArcLane, specified by a circular arc defined in the xy-plane (the ground plane) of the world frame. More...
 
 ~ArcLane () override=default
 
Does not allow copy, move, or assignment
 ArcLane (const ArcLane &)=delete
 
ArcLaneoperator= (const ArcLane &)=delete
 
 ArcLane (ArcLane &&)=delete
 
ArcLaneoperator= (ArcLane &&)=delete
 
- Public Member Functions inherited from Lane
 Lane (const api::LaneId &id, const api::Segment *segment, const api::RBounds &lane_bounds, const api::RBounds &driveable_bounds, const api::HBounds &elevation_bounds, double p_scale, const CubicPolynomial &elevation, const CubicPolynomial &superelevation)
 Constructs a Lane. More...
 
const CubicPolynomialelevation () const
 
const CubicPolynomialsuperelevation () const
 
void SetStartBp (BranchPoint *bp)
 
void SetEndBp (BranchPoint *bp)
 
BranchPointstart_bp ()
 
BranchPointend_bp ()
 
 ~Lane () override=default
 
 Lane (const Lane &)=delete
 
Laneoperator= (const Lane &)=delete
 
 Lane (Lane &&)=delete
 
Laneoperator= (Lane &&)=delete
 
- Public Member Functions inherited from Lane
const 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 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...
 
template<typename T >
GeoPositionT< T > ToGeoPositionT (const LanePositionT< T > &lane_pos) const
 Generalization of ToGeoPosition to arbitrary scalar types, where the structures LanePositionT<T> and GeoPositionT<T> are used in place of LanePosition and GeoPosition, respectively. More...
 
LanePosition ToLanePosition (const GeoPosition &geo_pos, GeoPosition *nearest_point, double *distance) const
 Determines the LanePosition corresponding to GeoPosition geo_pos. More...
 
template<typename T >
LanePositionT< T > ToLanePositionT (const GeoPositionT< T > &geo_pos, GeoPositionT< T > *nearest_point, T *distance) const
 Generalization of ToLanePosition to arbitrary scalar types, where the structures LanePositionT<T> and GeoPositionT<T> are used in place of LanePosition and GeoPosition, respectively. 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 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...
 
optional< LaneEndGetDefaultBranch (const LaneEnd::Which which_end) const
 Returns the default ongoing LaneEnd connected at which_end, or nullopt if no default branch has been established at which_end. More...
 
template<>
GeoPositionT< doubleToGeoPositionT (const LanePositionT< double > &lane_pos) const
 
template<>
GeoPositionT< AutoDiffXdToGeoPositionT (const LanePositionT< AutoDiffXd > &lane_pos) const
 
template<>
LanePositionT< doubleToLanePositionT (const GeoPositionT< double > &geo_pos, GeoPositionT< double > *nearest_point, double *distance) const
 
template<>
LanePositionT< AutoDiffXdToLanePositionT (const GeoPositionT< AutoDiffXd > &geo_pos, GeoPositionT< AutoDiffXd > *nearest_point, AutoDiffXd *distance) const
 
 Lane (const Lane &)=delete
 
Laneoperator= (const Lane &)=delete
 
 Lane (Lane &&)=delete
 
Laneoperator= (Lane &&)=delete
 

Additional Inherited Members

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

Detailed Description

Specialization of Lane with a circular arc as its reference curve in the xy-plane (the ground plane) of the world frame.

Constructor & Destructor Documentation

ArcLane ( const ArcLane )
delete
ArcLane ( ArcLane &&  )
delete
ArcLane ( const api::LaneId id,
const api::Segment segment,
const V2 center,
double  radius,
double  theta0,
double  d_theta,
const api::RBounds lane_bounds,
const api::RBounds driveable_bounds,
const api::HBounds elevation_bounds,
const CubicPolynomial elevation,
const CubicPolynomial superelevation 
)

Constructs an ArcLane, specified by a circular arc defined in the xy-plane (the ground plane) of the world frame.

Parameters
centercenter of the reference arc
radiusradius of the reference arc (must be positive)
theta0angle of the start point of the reference arc with respect to center (0 == parallel to x-axis)
d_thetacentral angle of the arc, i.e., angular displacement from start to end. d_theta > 0 is counter-clockwise.
id,segment,lane_bounds,driveable_bounds,elevation_boundsSee documentation for the Lane base class.
elevation,superelevationSee documentation for the Lane base class.

N.B. The override ArcLane::ToLanePosition() is currently restricted to lanes in which superelevation and elevation change are both zero.

Here is the call graph for this function:

~ArcLane ( )
overridedefault

Member Function Documentation

ArcLane& operator= ( const ArcLane )
delete
ArcLane& operator= ( ArcLane &&  )
delete

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