11#include "proxsuite-nlp/python/polymorphic.hpp"
16template <
class T = context::ContinuousDynamicsAbstract>
19 proxsuite::nlp::python::PolymorphicWrapper<PyContinuousDynamics<T>, T> {
24 void evaluate(
const ConstVectorRef &x,
const ConstVectorRef &u,
25 const ConstVectorRef &xdot,
Data &data)
const override {
31 const ConstVectorRef &xdot,
Data &data)
const override {
43template <
class T = context::ODEAbstract>
46 proxsuite::nlp::python::PolymorphicWrapper<PyODEAbstract<T>, T> {
53 void forward(
const ConstVectorRef &x,
const ConstVectorRef &u,
54 Data &data)
const override {
58 void dForward(
const ConstVectorRef &x,
const ConstVectorRef &u,
59 Data &data)
const override {
76struct value_holder<
aligator::python::PyContinuousDynamics<>>
77 : proxsuite::nlp::python::OwningNonOwningHolder<
78 aligator::python::PyContinuousDynamics<>> {
79 using OwningNonOwningHolder::OwningNonOwningHolder;
83struct value_holder<
aligator::python::PyODEAbstract<>>
84 : proxsuite::nlp::python::OwningNonOwningHolder<
85 aligator::python::PyODEAbstract<>> {
86 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 continuous dynamics.
dynamics::ContinuousDynamicsDataTpl< Scalar > ODEData
dynamics::ContinuousDynamicsDataTpl< Scalar > ContinuousDynamicsData
Defines a class representing ODEs.
Data struct for ContinuousDynamicsAbstractTpl.
void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const override
Evaluate the vector field at a point .
shared_ptr< Data > createData() const override
Create a data holder instance.
void computeJacobians(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const override
Differentiate the vector field.
shared_ptr< Data > default_createData() const
ALIGATOR_DYNAMIC_TYPEDEFS(context::Scalar)
void forward(const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const override
Evaluate the ODE vector field: this returns the value of .
shared_ptr< Data > createData() const override
Create a data holder instance.
shared_ptr< Data > default_createData() const
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
void dForward(const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const override
Evaluate the vector field Jacobians.