aligator  0.9.0
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
aligator::python::PyDynamics< Base > Struct Template Referencefinal

#include </home/runner/work/aligator/aligator/bindings/python/include/aligator/python/dynamics.hpp>

Inheritance diagram for aligator::python::PyDynamics< Base >:
[legend]
Collaboration diagram for aligator::python::PyDynamics< Base >:
[legend]

Public Types

using Scalar = typename Base::Scalar
 
using Data = DynamicsDataTpl<Scalar>
 
- Public Types inherited from aligator::DynamicsModelTpl< Scalar >
using Scalar = _Scalar
 
using Data = DynamicsDataTpl<Scalar>
 
using Manifold = ManifoldAbstractTpl<Scalar>
 

Public Member Functions

 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 
void evaluate (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, Data &data) const override
 
void computeJacobians (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
 
shared_ptr< DatacreateData () const override
 
shared_ptr< Datadefault_createData () const
 
- Public Member Functions inherited from aligator::DynamicsModelTpl< Scalar >
 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 
const Manifoldspace () const
 State space for the input.
 
const Manifoldspace_next () const
 State space for the output of this dynamics model.
 
virtual bool isExplicit () const
 Check if this dynamics model is implicit or explicit.
 
int nx1 () const
 
int nx2 () const
 
 DynamicsModelTpl (xyz::polymorphic< Manifold > space, const int nu)
 Constructor for dynamics.
 
 DynamicsModelTpl (xyz::polymorphic< Manifold > space, const int nu, xyz::polymorphic< Manifold > space_next)
 Constructor for dynamics. This constructor assumes same dimension for the current and next state.
 
virtual ~DynamicsModelTpl ()=default
 

Additional Inherited Members

- Public Attributes inherited from aligator::DynamicsModelTpl< Scalar >
xyz::polymorphic< Manifoldspace_
 State space for the input.
 
xyz::polymorphic< Manifoldspace_next_
 State space for the output of this dynamics model.
 
const int ndx1
 State space dimension.
 
const int nu
 Control dimension.
 
const int ndx2
 Next state space dimension.
 

Detailed Description

template<class Base = context::DynamicsModel>
struct aligator::python::PyDynamics< Base >

Wrapper for the StageFunction class and any virtual children that avoids having to redeclare Python overrides for these children.

This implements the "trampoline" technique from Pybind11's docs: https://pybind11.readthedocs.io/en/stable/advanced/classes.html#combining-virtual-functions-and-inheritance

Template Parameters
FunctionBaseThe virtual class to expose.

Definition at line 26 of file dynamics.hpp.

Member Typedef Documentation

◆ Scalar

template<class Base = context::DynamicsModel>
using aligator::python::PyDynamics< Base >::Scalar = typename Base::Scalar

Definition at line 29 of file dynamics.hpp.

◆ Data

template<class Base = context::DynamicsModel>
using aligator::python::PyDynamics< Base >::Data = DynamicsDataTpl<Scalar>

Definition at line 30 of file dynamics.hpp.

Member Function Documentation

◆ ALIGATOR_DYNAMIC_TYPEDEFS()

template<class Base = context::DynamicsModel>
aligator::python::PyDynamics< Base >::ALIGATOR_DYNAMIC_TYPEDEFS ( Scalar )

◆ evaluate()

template<class Base = context::DynamicsModel>
void aligator::python::PyDynamics< Base >::evaluate ( const ConstVectorRef & x,
const ConstVectorRef & u,
const ConstVectorRef & y,
Data & data ) const
inlineoverridevirtual

Implements aligator::DynamicsModelTpl< Scalar >.

Definition at line 34 of file dynamics.hpp.

◆ computeJacobians()

template<class Base = context::DynamicsModel>
void aligator::python::PyDynamics< Base >::computeJacobians ( const ConstVectorRef & x,
const ConstVectorRef & u,
const ConstVectorRef & y,
Data & data ) const
inlineoverridevirtual

Implements aligator::DynamicsModelTpl< Scalar >.

Definition at line 39 of file dynamics.hpp.

◆ computeVectorHessianProducts()

template<class Base = context::DynamicsModel>
void aligator::python::PyDynamics< Base >::computeVectorHessianProducts ( const ConstVectorRef & x,
const ConstVectorRef & u,
const ConstVectorRef & y,
const ConstVectorRef & lbda,
Data & data ) const
inlineoverridevirtual

Reimplemented from aligator::DynamicsModelTpl< Scalar >.

Definition at line 45 of file dynamics.hpp.

◆ createData()

template<class Base = context::DynamicsModel>
shared_ptr< Data > aligator::python::PyDynamics< Base >::createData ( ) const
inlineoverridevirtual

Reimplemented from aligator::DynamicsModelTpl< Scalar >.

Definition at line 54 of file dynamics.hpp.

◆ default_createData()

template<class Base = context::DynamicsModel>
shared_ptr< Data > aligator::python::PyDynamics< Base >::default_createData ( ) const
inline

Definition at line 58 of file dynamics.hpp.


The documentation for this struct was generated from the following file: