maliput_malidrive
ScaledDomainFunction Class Reference

Detailed Description

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>

Inheritance diagram for ScaledDomainFunction:
[legend]

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
 

Constructor & Destructor Documentation

◆ ScaledDomainFunction()

ScaledDomainFunction ( std::unique_ptr< Function function,
double  p0,
double  p1,
double  linear_tolerance 
)

Constructs a ScaledDomainFunction.

Parameters
functionThe Function to modify its domain.
p0The new p0 value to use as domain's lower boundary.
p1The new p1 value to use as domain's upper boundary.
linear_toleranceIs the range extension to be accepted.
Exceptions
maliput::common::assertion_errorWhen function is nullptr.
maliput::common::assertion_errorWhen p0 is negative.
maliput::common::assertion_errorWhen p1 is less than p0.

Member Function Documentation

◆ MALIDRIVE_NO_COPY_NO_MOVE_NO_ASSIGN()

MALIDRIVE_NO_COPY_NO_MOVE_NO_ASSIGN ( ScaledDomainFunction  )

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