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...

## ◆ IntegrableFunction

 using IntegrableFunction = std::function

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

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

## ◆ ArcLengthIntegrator()

 ArcLengthIntegrator ( const IntegrableFunction & function, const IntegratorConfiguration & config )

Constructs an ArcLengthIntegrator.

Parameters
 function A functor with the IntegrableFunction. config A IntegratorConfiguration with the initial state of the integrator and its configurations.

## ◆ ~ArcLengthIntegrator()

 ~ArcLengthIntegrator ( )
default

## ◆ Evaluate()

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

Evaluates the arc length at p and with context k.

Parameters
 p The parameter of the integrable function. k The 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
 p0 The start of the integration domain. p1 The end of the integration domain. p1 The context k of the integration domain. tolerance The 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: