aligator
0.14.0
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
expose-direct-sum.cpp
Go to the documentation of this file.
1
3
4
#include "
aligator/context.hpp
"
5
#include "
aligator/python/fwd.hpp
"
6
#include "
aligator/modelling/explicit-dynamics-direct-sum.hpp
"
7
8
namespace
aligator
{
9
namespace
python
{
10
11
using
context::Scalar
;
12
using
DirectSumExplicitDynamics
=
DirectSumExplicitDynamicsTpl<Scalar>
;
13
using
context::DynamicsModel
;
14
using
context::ExplicitDynamics
;
15
16
void
exposeExplicitDynDirectSum
() {
17
PolymorphicMultiBaseVisitor<ExplicitDynamics, DynamicsModel>
18
exp_dynamics_visitor
;
19
20
register_polymorphic_to_python<xyz::polymorphic<DirectSumExplicitDynamics>
>();
21
bp::class_<DirectSumExplicitDynamics, bp::bases<ExplicitDynamics>>(
22
"DirectSumExplicitDynamics"
,
23
"Direct sum :math:`f \\oplus g` of two explicit dynamical models."
,
24
bp::no_init)
25
.def(bp::init<
xyz::polymorphic<ExplicitDynamics>
,
26
xyz::polymorphic<ExplicitDynamics>
>((
"self"
_a,
"f"
,
"g"
)))
27
.def(
exp_dynamics_visitor
);
28
29
bp::class_<
DirectSumExplicitDynamics::Data
,
30
bp::bases<context::ExplicitDynamicsData>>(
31
"DirectSumExplicitDynamicsData"
, bp::no_init)
32
.def_readwrite(
"data1"
, &DirectSumExplicitDynamics::Data::data1_)
33
.def_readwrite(
"data2"
, &DirectSumExplicitDynamics::Data::data2_);
34
35
bp::def(
"directSum"
,
directSum<Scalar>
, (
"f"
_a,
"g"
),
36
"Produce the direct sum."
);
37
}
38
39
}
// namespace python
40
}
// namespace aligator
fwd.hpp
xyz::polymorphic
Definition
polymorphic_cxx14.h:106
context.hpp
explicit-dynamics-direct-sum.hpp
aligator::context::DynamicsModel
DynamicsModelTpl< Scalar > DynamicsModel
Definition
context.hpp:28
aligator::context::ExplicitDynamics
ExplicitDynamicsModelTpl< Scalar > ExplicitDynamics
Definition
context.hpp:39
aligator::context::Scalar
double Scalar
Definition
context.hpp:9
aligator::python
The Python bindings.
Definition
blk-matrix.hpp:5
aligator::python::exposeExplicitDynDirectSum
void exposeExplicitDynDirectSum()
Definition
expose-direct-sum.cpp:16
aligator::python::register_polymorphic_to_python
void register_polymorphic_to_python()
Expose a polymorphic value type, e.g. xyz::polymorphic<T, A>.
Definition
polymorphic.hpp:23
aligator::python::DirectSumExplicitDynamics
DirectSumExplicitDynamicsTpl< Scalar > DirectSumExplicitDynamics
Definition
expose-direct-sum.cpp:12
aligator::python::exp_dynamics_visitor
PolymorphicMultiBaseVisitor< DynamicsModel, ExplicitDynamics > exp_dynamics_visitor
Definition
expose-explicit-dynamics.cpp:18
aligator
Main package namespace.
Definition
action-model-wrap.hpp:14
aligator::directSum
auto directSum(xyz::polymorphic< CostAbstractTpl< Scalar > > const &c1, xyz::polymorphic< CostAbstractTpl< Scalar > > const &c2)
Definition
cost-direct-sum.hpp:127
aligator::DirectSumExplicitDynamicsTpl
Definition
explicit-dynamics-direct-sum.hpp:16
aligator::python::PolymorphicMultiBaseVisitor
Definition
polymorphic.hpp:107
bindings
python
src
modelling
expose-direct-sum.cpp
Generated by
1.13.2