maliput_malidrive
Function Class Referenceabstract

Detailed Description

Describes a G¹ scalar function.

This interface will be the interface for other specializations which are used by RoadCurve to compose the path of maliput::api::Lane.

In mathematical terms, let:

\( F(p) \) be a function of a real and non-negative parameter.

Implementations of \( F(p) \) should enforce:

  • \( F(p) \) is G¹ in the interval \( [p_0; p_1] \).

Implementations of \( F(p) \) must assure:

  • There exists \( F'(p) \) and \( F''(p) \) in the interval \( [p_0; p_1] \).
  • Proper G¹ checks via IsG1Contiguous(), specially when it is piecewise-defined.

#include <src/maliput_malidrive/road_curve/function.h>

Inheritance diagram for Function:
[legend]

Public Member Functions

 MALIDRIVE_NO_COPY_NO_MOVE_NO_ASSIGN (Function)
 
virtual ~Function ()=default
 
double f (double p) const
 Evaluates \( F(p) \). More...
 
double f_dot (double p) const
 Evaluates \( F'(p) \). More...
 
double f_dot_dot (double p) const
 Evaluates \( F''(p) \). More...
 
double p0 () const
 
double p1 () const
 
bool IsG1Contiguous () const
 

Static Public Attributes

static constexpr double kEpsilon = 0.
 Implementations may opt to allow a tolerance or be up to kEpsilon away from [p0(); p1()]. More...
 

Protected Member Functions

 Function ()=default
 

Constructor & Destructor Documentation

◆ ~Function()

virtual ~Function ( )
virtualdefault

◆ Function()

Function ( )
protecteddefault

Member Function Documentation

◆ f()

double f ( double  p) const

Evaluates \( F(p) \).

Parameters
pThe parameter. It must be in the range \( [`p0()`; `p1()`] \).
Exceptions
maliput::common::assertion_errorWhen p is not in \( [`p0()`; `p1()`] \).
Returns
The image of \( F(p) \).

◆ f_dot()

double f_dot ( double  p) const

Evaluates \( F'(p) \).

Parameters
pThe parameter. It must be in the range \( [`p0()`; `p1()`] \).
Exceptions
maliput::common::assertion_errorWhen p is not in \( [`p0()`; `p1()`] \).
Returns
The image of \( F'(p) \).

◆ f_dot_dot()

double f_dot_dot ( double  p) const

Evaluates \( F''(p) \).

Parameters
pThe parameter. It must be in the range \( [`p0()`; `p1()`] \).
Exceptions
maliput::common::assertion_errorWhen p is not in \( [`p0()`; `p1()`] \).
Returns
The image of \( F''(p) \).

◆ IsG1Contiguous()

bool IsG1Contiguous ( ) const
Returns
True when \( F(p) \) is G¹ in the interval \( [p_0; p_1] \).

◆ MALIDRIVE_NO_COPY_NO_MOVE_NO_ASSIGN()

MALIDRIVE_NO_COPY_NO_MOVE_NO_ASSIGN ( Function  )

◆ p0()

double p0 ( ) const
Returns
The lower bound range of \( p \).

◆ p1()

double p1 ( ) const
Returns
The upper bound range of \( p \).

Member Data Documentation

◆ kEpsilon

constexpr double kEpsilon = 0.
staticconstexpr

Implementations may opt to allow a tolerance or be up to kEpsilon away from [p0(); p1()].


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