14#include "proxsuite-nlp/python/polymorphic.hpp"
25template <
class Base = context::DynamicsModel>
28 proxsuite::nlp::python::PolymorphicWrapper<PyDynamics<Base>, Base> {
29 using Scalar =
typename Base::Scalar;
34 void evaluate(
const ConstVectorRef &x,
const ConstVectorRef &u,
35 const ConstVectorRef &y,
Data &data)
const override {
40 const ConstVectorRef &y,
Data &data)
const override {
46 const ConstVectorRef &u,
47 const ConstVectorRef &y,
48 const ConstVectorRef &lbda,
49 Data &data)
const override {
51 lbda, boost::ref(data));
67struct value_holder<
aligator::python::PyDynamics<>>
68 : proxsuite::nlp::python::OwningNonOwningHolder<
69 aligator::python::PyDynamics<>> {
70 using OwningNonOwningHolder::OwningNonOwningHolder;
75 aligator::python::PyDynamics<aligator::context::IntegratorAbstract>>
76 : proxsuite::nlp::python::OwningNonOwningHolder<
77 aligator::python::PyDynamics<aligator::context::IntegratorAbstract>> {
78 using OwningNonOwningHolder::OwningNonOwningHolder;
#define ALIGATOR_PYTHON_OVERRIDE(ret_type, cname, fname,...)
Define the body of a virtual function override. This is meant to reduce boilerplate code when exposin...
#define ALIGATOR_PYTHON_OVERRIDE_PURE(ret_type, pyname,...)
Define the body of a virtual function override. This is meant to reduce boilerplate code when exposin...
Base definitions for numerical integrators.
typename Base::Scalar Scalar
shared_ptr< Data > createData() const override
void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, Data &data) const override
void computeVectorHessianProducts(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, const ConstVectorRef &lbda, Data &data) const override
void computeJacobians(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, Data &data) const override
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
shared_ptr< Data > default_createData() const