aligator  0.10.0
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
explicit-dynamics-direct-sum.hpp
Go to the documentation of this file.
1
3#pragma once
4
6#include <proxsuite-nlp/modelling/spaces/cartesian-product.hpp>
7
8namespace aligator {
9
15template <typename _Scalar>
17 using Scalar = _Scalar;
20 using Manifold = ManifoldAbstractTpl<Scalar>;
21 using CartesianProduct = proxsuite::nlp::CartesianProductTpl<Scalar>;
23
24 struct Data;
25
26 DirectSumExplicitDynamicsTpl(xyz::polymorphic<Base> f,
27 xyz::polymorphic<Base> g);
28
29 void forward(const ConstVectorRef &x, const ConstVectorRef &u,
30 BaseData &data) const override;
31
32 void dForward(const ConstVectorRef &x, const ConstVectorRef &u,
33 BaseData &data) const override;
34
35 shared_ptr<DynamicsDataTpl<Scalar>> createData() const override {
36 return std::make_shared<Data>(*this);
37 }
38
39 xyz::polymorphic<Base> f_, g_;
40
41private:
44 CartesianProduct product_space_;
45};
46
47template <typename Scalar>
49 shared_ptr<BaseData> data1_, data2_;
51};
52
53template <typename Scalar>
54auto directSum(xyz::polymorphic<ExplicitDynamicsModelTpl<Scalar>> const &m1,
55 xyz::polymorphic<ExplicitDynamicsModelTpl<Scalar>> const &m2) {
57}
58
59} // namespace aligator
60
61#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
62#include "./explicit-dynamics-direct-sum.txx"
63#endif
Main package namespace.
auto directSum(xyz::polymorphic< CostAbstractTpl< Scalar > > const &c1, xyz::polymorphic< CostAbstractTpl< Scalar > > const &c2)
Data(DirectSumExplicitDynamicsTpl const &model)
void forward(const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const override
proxsuite::nlp::CartesianProductTpl< Scalar > CartesianProduct
void dForward(const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const override
shared_ptr< DynamicsDataTpl< Scalar > > createData() const override
DirectSumExplicitDynamicsTpl(xyz::polymorphic< Base > f, xyz::polymorphic< Base > g)
Specific data struct for explicit dynamics ExplicitDynamicsModelTpl.
Definition fwd.hpp:80
Explicit forward dynamics model .
Definition fwd.hpp:77