18template <
typename _Scalar>
31 void forward(
const ConstVectorRef &x,
const ConstVectorRef &u,
33 void dForward(
const ConstVectorRef &x,
const ConstVectorRef &u,
37 return std::make_shared<Data>(*
this);
41template <
typename Scalar>
53 ,
x1_(integrator.space_next().neutral())
66#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
67extern template struct IntegratorRK2Tpl<context::Scalar>;
68extern template struct IntegratorRK2DataTpl<context::Scalar>;
Base definitions for explicit integrators.
Namespace for modelling system dynamics.
Specific data struct for explicit dynamics ExplicitDynamicsModelTpl.
Data struct for ContinuousDynamicsAbstractTpl.
xyz::polymorphic< ODEType > ode_
ODEAbstractTpl< Scalar > ODEType
ExplicitIntegratorAbstractTpl(const xyz::polymorphic< ODEType > &cont_dynamics)
ExplicitIntegratorDataTpl(const Model &integrator)
IntegratorRK2DataTpl(const IntegratorRK2Tpl< Scalar > &integrator)
ContinuousDynamicsDataTpl< Scalar > ODEData
ExplicitIntegratorDataTpl< Scalar > Base
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
shared_ptr< ODEData > continuous_data2
Second-order Runge-Kutta integrator.
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
shared_ptr< BaseData > createData() const
IntegratorRK2Tpl(const xyz::polymorphic< ODEType > &cont_dynamics, const Scalar timestep)
IntegratorRK2DataTpl< Scalar > Data
ExplicitIntegratorAbstractTpl< Scalar > Base
ExplicitDynamicsDataTpl< Scalar > BaseData
void dForward(const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const
Compute the Jacobians of the forward dynamics.
void forward(const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const
Evaluate the forward discrete dynamics.
typename Base::ODEType ODEType