8#include <proxsuite-nlp/manifold-base.hpp>
9#include <proxsuite-nlp/third-party/polymorphic_cxx14.hpp>
22 using Manifold = proxsuite::nlp::ManifoldAbstractTpl<Scalar>;
32 inline int nu()
const {
return nu_; }
46 virtual void evaluate(
const ConstVectorRef &x,
const ConstVectorRef &u,
47 const ConstVectorRef &xdot,
Data &data)
const = 0;
55 const ConstVectorRef &u,
56 const ConstVectorRef &xdot,
57 Data &data)
const = 0;
65 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
89#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
90#include "aligator/modelling/dynamics/continuous-dynamics-abstract.txx"
Namespace for modelling system dynamics.
virtual ~ContinuousDynamicsAbstractTpl()=default
xyz::polymorphic< Manifold > ManifoldPtr
ContinuousDynamicsAbstractTpl(ManifoldPtr space, const int nu)
virtual shared_ptr< Data > createData() const
Create a data holder instance.
const Manifold & space() const
Return a reference to the state space.
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
ContinuousDynamicsDataTpl< Scalar > Data
proxsuite::nlp::ManifoldAbstractTpl< Scalar > Manifold
virtual void computeJacobians(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const =0
Differentiate the vector field.
virtual void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const =0
Evaluate the vector field at a point .
Data struct for ContinuousDynamicsAbstractTpl.
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
virtual ~ContinuousDynamicsDataTpl()=default
ContinuousDynamicsDataTpl(const int ndx, const int nu)