11#include "proxsuite-nlp/python/polymorphic.hpp"
21template <
class ExplicitBase = context::ExplicitDynamics>
24 proxsuite::nlp::python::PolymorphicWrapper<
25 PyExplicitDynamics<ExplicitBase>, ExplicitBase> {
31 using ExplicitBase::ExplicitBase;
33 void forward(
const ConstVectorRef &x,
const ConstVectorRef &u,
38 void dForward(
const ConstVectorRef &x,
const ConstVectorRef &u,
49 return ExplicitBase::createData();
59struct value_holder<
aligator::python::PyExplicitDynamics<>>
60 : proxsuite::nlp::python::OwningNonOwningHolder<
61 aligator::python::PyExplicitDynamics<>> {
62 using OwningNonOwningHolder::OwningNonOwningHolder;
66struct value_holder<
aligator::python::PyExplicitDynamics<
67 aligator::context::ExplicitIntegratorAbstract>>
68 : proxsuite::nlp::python::OwningNonOwningHolder<
69 aligator::python::PyExplicitDynamics<
70 aligator::context::ExplicitIntegratorAbstract>> {
71 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 explicit integrators.
DynamicsDataTpl< Scalar > DynamicsData
Specific data struct for explicit dynamics ExplicitDynamicsModelTpl.
shared_ptr< DynamicsData > createData() const
void forward(const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const
Evaluate the forward discrete dynamics.
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
shared_ptr< DynamicsData > default_createData() const
void dForward(const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const
Compute the Jacobians of the forward dynamics.