maliput_malidrive
|
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:
Implementations of \( F(p) \) must assure:
#include <src/maliput_malidrive/road_curve/function.h>
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 | |
|
virtualdefault |
|
protecteddefault |
double f | ( | double | p | ) | const |
Evaluates \( F(p) \).
p | The parameter. It must be in the range \( [`p0()`; `p1()`] \). |
maliput::common::assertion_error | When p is not in \( [`p0()`; `p1()`] \). |
double f_dot | ( | double | p | ) | const |
Evaluates \( F'(p) \).
p | The parameter. It must be in the range \( [`p0()`; `p1()`] \). |
maliput::common::assertion_error | When p is not in \( [`p0()`; `p1()`] \). |
double f_dot_dot | ( | double | p | ) | const |
Evaluates \( F''(p) \).
p | The parameter. It must be in the range \( [`p0()`; `p1()`] \). |
maliput::common::assertion_error | When p is not in \( [`p0()`; `p1()`] \). |
bool IsG1Contiguous | ( | ) | const |
MALIDRIVE_NO_COPY_NO_MOVE_NO_ASSIGN | ( | Function | ) |
double p0 | ( | ) | const |
double p1 | ( | ) | const |
|
staticconstexpr |