maliput_malidrive
|
Wrapper around a Function that composes a linear polynomial to scale Function's domain.
In Mathematical terms:
\[ ScaledFunction(p*) = F(G(p*)) p = G(p*) G(p*) = α p* + β \]
#include <src/maliput_malidrive/road_curve/scaled_domain_function.h>
Public Member Functions | |
MALIDRIVE_NO_COPY_NO_MOVE_NO_ASSIGN (ScaledDomainFunction) | |
ScaledDomainFunction (std::unique_ptr< Function > function, double p0, double p1, double linear_tolerance) | |
Constructs a ScaledDomainFunction. More... | |
Public Member Functions inherited from Function | |
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 |
Additional Inherited Members | |
Static Public Attributes inherited from Function | |
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 inherited from Function | |
Function ()=default | |
ScaledDomainFunction | ( | std::unique_ptr< Function > | function, |
double | p0, | ||
double | p1, | ||
double | linear_tolerance | ||
) |
Constructs a ScaledDomainFunction.
function | The Function to modify its domain. |
p0 | The new p0 value to use as domain's lower boundary. |
p1 | The new p1 value to use as domain's upper boundary. |
linear_tolerance | Is the range extension to be accepted. |
maliput::common::assertion_error | When function is nullptr. |
maliput::common::assertion_error | When p0 is negative. |
maliput::common::assertion_error | When p1 is less than p0 . |
MALIDRIVE_NO_COPY_NO_MOVE_NO_ASSIGN | ( | ScaledDomainFunction | ) |