18template <
typename _Scalar>
33 xyz::polymorphic<ODEType>
ode_;
37 return dynamic_cast<const U *
>(&*
ode_);
41 const xyz::polymorphic<ODEType> &cont_dynamics);
47template <
typename _Scalar>
65#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
66#include "aligator/modelling/dynamics/integrator-explicit.txx"
Namespace for modelling system dynamics.
Defines a class representing ODEs.
xyz::polymorphic< Manifold > space_next_
ExplicitDynamicsDataTpl(const int ndx1, const int nu, const int nx2, const int ndx2)
ExplicitDynamicsModelTpl(const ManifoldPtr &space, const int nu)
Constructor requires providing the next state's manifold.
void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, BaseData &data) const
void computeJacobians(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, BaseData &data) const
Data struct for ContinuousDynamicsAbstractTpl.
ExplicitIntegratorDataTpl< Scalar > Data
xyz::polymorphic< ODEType > ode_
ExplicitDynamicsModelTpl< Scalar > Base
const U * getDynamics() const
ODEAbstractTpl< Scalar > ODEType
ManifoldAbstractTpl< Scalar > Manifold
ExplicitIntegratorAbstractTpl(const xyz::polymorphic< ODEType > &cont_dynamics)
shared_ptr< DynamicsDataTpl< Scalar > > createData() const
virtual ~ExplicitIntegratorAbstractTpl()=default
virtual ~ExplicitIntegratorDataTpl()=default
shared_ptr< ODEData > continuous_data
ExplicitDynamicsDataTpl< Scalar > Base
ContinuousDynamicsDataTpl< Scalar > ODEData
ExplicitIntegratorDataTpl(const ExplicitIntegratorAbstractTpl< Scalar > *integrator)
Base class for ODE dynamics .