18template <
typename _Scalar>
34 xyz::polymorphic<ODEType>
ode_;
38 return dynamic_cast<const U *
>(&*
ode_);
42 const xyz::polymorphic<ODEType> &cont_dynamics)
44 ,
ode_(cont_dynamics) {}
49 return std::make_shared<DerivedData>(*
this);
53template <
typename _Scalar>
73#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
Namespace for modelling system dynamics.
Defines a class representing ODEs.
ExplicitDynamicsDataTpl(int ndx1, int nu, int nx2, int ndx2)
ExplicitDynamicsDataTpl< Scalar > Data
virtual void forward(const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const=0
polymorphic< Manifold > space_next_
polymorphic< Manifold > space_
ExplicitDynamicsModelTpl(const polymorphic< Manifold > &space, const int nu)
Constructor requires providing the next state's manifold.
virtual void dForward(const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const=0
Base class for manifolds, to use in cost funcs, solvers...
Data struct for ContinuousDynamicsAbstractTpl.
xyz::polymorphic< ODEType > ode_
ExplicitDynamicsModelTpl< Scalar > Base
const U * getDynamics() const
ODEAbstractTpl< Scalar > ODEType
ManifoldAbstractTpl< Scalar > Manifold
ExplicitIntegratorAbstractTpl(const xyz::polymorphic< ODEType > &cont_dynamics)
ExplicitIntegratorDataTpl< Scalar > DerivedData
shared_ptr< Data > createData() const
virtual ~ExplicitIntegratorAbstractTpl()=default
virtual ~ExplicitIntegratorDataTpl()=default
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
ExplicitIntegratorAbstractTpl< Scalar > Model
ExplicitIntegratorDataTpl(const Model &integrator)
shared_ptr< ODEData > continuous_data
ExplicitDynamicsDataTpl< Scalar > Base
ContinuousDynamicsDataTpl< Scalar > ODEData
Base class for ODE dynamics .