maliput_sparse
LaneGeometry Class Reference

#include <include/maliput_sparse/geometry/lane_geometry.h>

Public Types

enum  LineStringType { kCenterLine = 0, kLeftBoundary, kRightBoundary }
 Enum for the type of LineString of the Lane. More...
 

Public Member Functions

 MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN (LaneGeometry)
 
 LaneGeometry (const LineString3d &left, const LineString3d &right, double linear_tolerance, double scale_length)
 Constructs a LaneGeometry. More...
 
 LaneGeometry (const LineString3d &center, const LineString3d &left, const LineString3d &right, double linear_tolerance, double scale_length)
 Constructs a LaneGeometry. More...
 
 ~LaneGeometry ()=default
 
double p0 () const
 
double p1 () const
 
const LineString3dcenterline () const
 
double ArcLength () const
 
double linear_tolerance () const
 
double scale_length () const
 
maliput::math::Vector3 W (const maliput::math::Vector3 &prh) const
 Evaluates \( W(p, r, h) \). More...
 
maliput::math::Vector3 WDot (const maliput::math::Vector3 &prh) const
 Evaluates \( W'(p, r, h) \) with respect to \( p \). More...
 
maliput::math::Vector3 WDot (double p) const
 Evaluates \( W'(p, 0, 0) \) with respect to \( p \). More...
 
maliput::math::RollPitchYaw Orientation (const maliput::math::Vector3 &prh) const
 Evaluates the orientation in the INERTIAL Frame of the LaneGeometry at prh. More...
 
maliput::math::RollPitchYaw Orientation (double p) const
 Evaluates the orientation in the INERTIAL Frame of the RoadCurve at p, i.e. More...
 
maliput::math::Vector3 WInverse (const maliput::math::Vector3 &xyz) const
 Evaluates \( W⁻¹(x, y, z) \). More...
 
maliput::api::RBounds RBounds (double p) const
 Obtains the bounds of the lane. More...
 
double FromCenterPToLateralP (const LineStringType &line_string_type, double p) const
 Converts from p coordinate in the centerline to an equivalent p coordinate in a boundary. More...
 
maliput::math::Vector3 ToLateralPos (const LineStringType &line_string_type, double p) const
 Computes the inertial position in a lateral boundary for a given p . More...
 

Member Enumeration Documentation

◆ LineStringType

enum LineStringType
strong

Enum for the type of LineString of the Lane.

Enumerator
kCenterLine 
kLeftBoundary 
kRightBoundary 

Constructor & Destructor Documentation

◆ LaneGeometry() [1/2]

LaneGeometry ( const LineString3d left,
const LineString3d right,
double  linear_tolerance,
double  scale_length 
)

Constructs a LaneGeometry.

Parameters
leftLeft boundary of the lane.
rightRight boundary of the lane.
linear_toleranceIt is expected to be the same as maliput::api::RoadGeometry::linear_tolerance(). It must be non negative.
scale_lengthIt is expected to be the same as maliput::api::RoadGeometry::scale_length(). It must be non negative.
Exceptions
maliput::common::assertion_errorWhen linear_tolerance or scale_length are negative.

◆ LaneGeometry() [2/2]

LaneGeometry ( const LineString3d center,
const LineString3d left,
const LineString3d right,
double  linear_tolerance,
double  scale_length 
)

Constructs a LaneGeometry.

Parameters
centerCenter line of the lane.
leftLeft boundary of the lane.
rightRight boundary of the lane.
linear_toleranceIt is expected to be the same as maliput::api::RoadGeometry::linear_tolerance(). It must be non negative.
scale_lengthIt is expected to be the same as maliput::api::RoadGeometry::scale_length(). It must be non negative.
Exceptions
maliput::common::assertion_errorWhen linear_tolerance or scale_length are negative.

◆ ~LaneGeometry()

~LaneGeometry ( )
default

Member Function Documentation

◆ ArcLength()

double ArcLength ( ) const
Returns
The arc length of the centerline of the lane.

◆ centerline()

const LineString3d& centerline ( ) const
Returns
The centerline of the lane.

◆ FromCenterPToLateralP()

double FromCenterPToLateralP ( const LineStringType line_string_type,
double  p 
) const

Converts from p coordinate in the centerline to an equivalent p coordinate in a boundary.

Parameters
line_string_typeThe type of LineString to convert p coordinate to.
pP parameter of the centerline.
Exceptions
maliput::common::assertion_errorWhen line_string_type is LineStringType::kCenterline.

◆ linear_tolerance()

double linear_tolerance ( ) const
Returns
The linear tolerance used to compute all the methods.
See also
maliput::api::RoadGeometry::linear_tolerance().

◆ MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN()

MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN ( LaneGeometry  )

◆ Orientation() [1/2]

maliput::math::RollPitchYaw Orientation ( const maliput::math::Vector3 &  prh) const

Evaluates the orientation in the INERTIAL Frame of the LaneGeometry at prh.

Parameters
prhA vector in the LaneGeometry domain.
Returns
The orientation in the INERTIAL Frame of the LaneGeometry at prh.

◆ Orientation() [2/2]

maliput::math::RollPitchYaw Orientation ( double  p) const

Evaluates the orientation in the INERTIAL Frame of the RoadCurve at p, i.e.

at \( (p, 0, 0) \).

Parameters
pP parameter of the lane.
Returns
The orientation in the INERTIAL Frame of the RoadCurve at p.

◆ p0()

double p0 ( ) const

◆ p1()

double p1 ( ) const

◆ RBounds()

maliput::api::RBounds RBounds ( double  p) const

Obtains the bounds of the lane.

Parameters
pP parameter of the lane.
Exceptions
maliput::common::assertion_errorWhen is not in the domain of [p0(), p1()].

◆ scale_length()

double scale_length ( ) const
Returns
The scale length of the tolerance used to compute all the methods.
See also
maliput::api::RoadGeometry::scale_length().

◆ ToLateralPos()

maliput::math::Vector3 ToLateralPos ( const LineStringType line_string_type,
double  p 
) const

Computes the inertial position in a lateral boundary for a given p .

Parameters
line_string_typeThe type of LineString to convert p coordinate to.
pP parameter of the centerline.
Exceptions
maliput::common::assertion_errorWhen line_string_type is LineStringType::kCenterline.

◆ W()

maliput::math::Vector3 W ( const maliput::math::Vector3 &  prh) const

Evaluates \( W(p, r, h) \).

Parameters
prhA vector in the LaneGeometry domain.
Returns
A vector in the INERTIAL Frame which is the image of the LaneGeometry.

◆ WDot() [1/2]

maliput::math::Vector3 WDot ( const maliput::math::Vector3 &  prh) const

Evaluates \( W'(p, r, h) \) with respect to \( p \).

Parameters
prhA vector in the LaneGeometry domain.
Returns
The derivative of \( W \) with respect to \( p \) at prh.

◆ WDot() [2/2]

maliput::math::Vector3 WDot ( double  p) const

Evaluates \( W'(p, 0, 0) \) with respect to \( p \).

Parameters
pP parameter of the lane.
Returns
The derivative of \( W \) with respect to \( p \) at p.

◆ WInverse()

maliput::math::Vector3 WInverse ( const maliput::math::Vector3 &  xyz) const

Evaluates \( W⁻¹(x, y, z) \).

Parameters
xyzA point in ℝ³ that would be used to minimize the Euclidean distance the image of \( W \).
Returns
A vector in LaneGeometry's domain whose image through \( W \) would minimize the Euclidean distance to xyz.

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