8template <
typename Scalar>
struct IntegratorMidpointDataTpl;
27template <
typename _Scalar>
31 using Base = IntegratorAbstractTpl<Scalar>;
34 using Data = IntegratorMidpointDataTpl<Scalar>;
41 void evaluate(
const ConstVectorRef &x,
const ConstVectorRef &u,
42 const ConstVectorRef &y, DynamicsDataTpl<Scalar> &data)
const;
45 const ConstVectorRef &y,
46 DynamicsDataTpl<Scalar> &data)
const;
51template <
typename _Scalar>
55 using Base = IntegratorDataTpl<Scalar>;
65 const IntegratorMidpointTpl<Scalar> *integrator)
66 :
Base(integrator),
x1_(integrator->space().neutral()),
dx1_(this->
ndx1),
81#include "aligator/modelling/dynamics/integrator-midpoint.hxx"
Base definitions for numerical integrators.
Base class for (implicit) numerical integrators.
Data class for numerical integrators (IntegratorAbstractTpl).
typename math_types< Scalar >::VectorXs VectorXs
IntegratorMidpointDataTpl(const IntegratorMidpointTpl< Scalar > *integrator)
IntegratorDataTpl< Scalar > Base
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
Midpoint integration rule.
ManifoldAbstractTpl< Scalar > Manifold
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
IntegratorAbstractTpl< Scalar > Base
void computeJacobians(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, DynamicsDataTpl< Scalar > &data) const
shared_ptr< DynamicsDataTpl< Scalar > > createData() const
Instantiate a Data object.
IntegratorMidpointTpl(const shared_ptr< ContinuousDynamics > &cont_dynamics, const Scalar timestep)
IntegratorMidpointDataTpl< Scalar > Data
ContinuousDynamicsAbstractTpl< Scalar > ContinuousDynamics
void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, DynamicsDataTpl< Scalar > &data) const