6#include <proxsuite-nlp/third-party/polymorphic_cxx14.hpp>
59 virtual void evaluate(
const ConstVectorRef &x,
const ConstVectorRef &u,
60 const ConstVectorRef &xn,
Data &)
const = 0;
63 const ConstVectorRef &u,
64 const ConstVectorRef &xn,
Data &)
const = 0;
67 const ConstVectorRef &u,
68 const ConstVectorRef &xn,
69 const ConstVectorRef &lbda,
115#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
116#include "aligator/core/dynamics.txx"
DynamicsDataTpl(const int ndx1, const int nu, const int ndx2)
virtual ~DynamicsDataTpl()=default
DynamicsDataTpl(const DynamicsModelTpl< Scalar > &model)
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
Dynamics model: describes system dynamics through an implicit relation .
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
const Manifold & space() const
State space for the input.
ManifoldAbstractTpl< Scalar > Manifold
virtual shared_ptr< Data > createData() const
xyz::polymorphic< Manifold > space_
DynamicsModelTpl(xyz::polymorphic< Manifold > space, const int nu, xyz::polymorphic< Manifold > space_next)
Constructor for dynamics. This constructor assumes same dimension for the current and next state.
virtual bool isExplicit() const
Check if this dynamics model is implicit or explicit.
virtual void computeJacobians(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xn, Data &) const =0
xyz::polymorphic< Manifold > space_next_
DynamicsDataTpl< Scalar > Data
virtual void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xn, Data &) const =0
const Manifold & space_next() const
State space for the output of this dynamics model.
virtual ~DynamicsModelTpl()=default
DynamicsModelTpl(xyz::polymorphic< Manifold > space, const int nu)
Constructor for dynamics.
virtual void computeVectorHessianProducts(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xn, const ConstVectorRef &lbda, Data &data) const