14template <
typename _Scalar>
19 using Base = ContinuousDynamicsAbstractTpl<Scalar>;
20 using Data = ODEDataTpl<Scalar>;
28 virtual void forward(
const ConstVectorRef &x,
const ConstVectorRef &u,
29 Data &data)
const = 0;
32 virtual void dForward(
const ConstVectorRef &x,
const ConstVectorRef &u,
33 Data &data)
const = 0;
37 void evaluate(
const ConstVectorRef &x,
const ConstVectorRef &u,
38 const ConstVectorRef &xdot,
Data &data)
const override;
41 const ConstVectorRef &xdot,
Data &data)
const override;
47#include "aligator/modelling/dynamics/ode-abstract.hxx"
49#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
50#include "aligator/modelling/dynamics/ode-abstract.txx"
Base definitions for continuous dynamics.
Continuous dynamics described by differential-algebraic equations (DAEs) .
const int nu_
Control space dimension.
ManifoldPtr space_
State space.
Base class for ODE dynamics .
virtual void forward(const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const =0
Evaluate the ODE vector field: this returns the value of .
virtual void dForward(const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const =0
Evaluate the vector field Jacobians.
ODEDataTpl< Scalar > Data
void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const override
void computeJacobians(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const override
virtual ~ODEAbstractTpl()=default
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)