21template <
class Base = context::DynamicsModel>
28 void evaluate(
const ConstVectorRef &x,
const ConstVectorRef &u,
29 const ConstVectorRef &y,
Data &data)
const override {
34 const ConstVectorRef &y,
Data &data)
const override {
40 const ConstVectorRef &u,
41 const ConstVectorRef &y,
42 const ConstVectorRef &lbda,
43 Data &data)
const override {
45 lbda, boost::ref(data));
58namespace boost::python::objects {
61struct value_holder<aligator::python::PyDynamics<>>
62 : aligator::python::OwningNonOwningHolder<aligator::python::PyDynamics<>> {
63 using OwningNonOwningHolder::OwningNonOwningHolder;
68 aligator::python::PyDynamics<aligator::context::IntegratorAbstract>>
69 : aligator::python::OwningNonOwningHolder<
70 aligator::python::PyDynamics<aligator::context::IntegratorAbstract>> {
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 numerical integrators.
virtual shared_ptr< Data > createData() const
context::DynamicsModel Base
PolymorphicWrapper()=default
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
DynamicsDataTpl< Scalar > Data
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
shared_ptr< Data > default_createData() const