maliput
|
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... | |
using IntegrableFunction = std::function<double(const double& p, const math::Vector2& k)> |
Type alias for the a scalar integrable function f(x; 𝐤) type.
x | The variable of integration x ∈ ℝ . |
k | The parameter vector 𝐤 ∈ ℝ². |
x
; k
). ArcLengthIntegrator | ( | const IntegrableFunction & | function, |
const IntegratorConfiguration & | config | ||
) |
Constructs an ArcLengthIntegrator.
function | A functor with the IntegrableFunction. |
config | A IntegratorConfiguration with the initial state of the integrator and its configurations. |
|
default |
double Evaluate | ( | double | p, |
const math::Vector2 & | k | ||
) | const |
Evaluates the arc length at p
and with context k
.
p | The parameter of the integrable function. |
k | The context of the function. |
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.
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 ]. |
MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN | ( | ArcLengthIntegrator | ) |