maliput
ArcLengthIntegrator Class Referencefinal

Detailed Description

Wraps maliput::drake::systems::AntiderivativeFunction<double> by using a pImpl.

This convenient class helps to compute the arc length integral of the world function given a parameter and returns either the corresponding image arc length or a function that helps with multiple queries and return the arc length. This class does not expose any drake / eigen specific type, which serves as a useful interface for the future. Backends can rely on linking against this library only and private linkage will solve any required dependency.

#include <include/maliput/drake/arc_length_integrator.h>

Public Types

using IntegrableFunction = std::function< double(const double &p, const math::Vector2 &k)>
 Type alias for the a scalar integrable function f(x; 𝐤) type. More...
 

Public Member Functions

 MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN (ArcLengthIntegrator)
 
 ArcLengthIntegrator (const IntegrableFunction &function, const IntegratorConfiguration &config)
 Constructs an ArcLengthIntegrator. More...
 
 ~ArcLengthIntegrator ()
 
double Evaluate (double p, const math::Vector2 &k) const
 Evaluates the arc length at p and with context k. More...
 
std::function< double(double)> IntegralFunction (double p0, double p1, const math::Vector2 &k, double tolerance) const
 Computes a functor that can be used for sucessive queries at different p parameter values of the arc length. More...
 

Member Typedef Documentation

◆ IntegrableFunction

using IntegrableFunction = std::function<double(const double& p, const math::Vector2& k)>

Type alias for the a scalar integrable function f(x; 𝐤) type.

Parameters
xThe variable of integration x ∈ ℝ .
kThe parameter vector 𝐤 ∈ ℝ².
Returns
The function value f(x; k).

Constructor & Destructor Documentation

◆ ArcLengthIntegrator()

ArcLengthIntegrator ( const IntegrableFunction function,
const IntegratorConfiguration config 
)

Constructs an ArcLengthIntegrator.

Parameters
functionA functor with the IntegrableFunction.
configA IntegratorConfiguration with the initial state of the integrator and its configurations.

◆ ~ArcLengthIntegrator()

~ArcLengthIntegrator ( )
default

Member Function Documentation

◆ Evaluate()

double Evaluate ( double  p,
const math::Vector2 k 
) const

Evaluates the arc length at p and with context k.

Parameters
pThe parameter of the integrable function.
kThe context of the function.
Returns
The arc length of the integrable function.

◆ IntegralFunction()

std::function< double(double)> IntegralFunction ( double  p0,
double  p1,
const math::Vector2 k,
double  tolerance 
) const

Computes a functor that can be used for sucessive queries at different p parameter values of the arc length.

Parameters
p0The start of the integration domain.
p1The end of the integration domain.
p1The context k of the integration domain.
toleranceThe absolute tolerance to determine whether the used p parameter is within range [p0, p1].
Returns
A std::function that converts p values into the corresponding arc length.

◆ MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN()

MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN ( ArcLengthIntegrator  )

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