16 bp::register_ptr_to_python<shared_ptr<DirectSumCost>>();
17 bp::class_<DirectSumCost, bp::bases<CostAbstract>>(
"DirectSumCost",
19 .def(bp::init<shared_ptr<CostAbstract>, shared_ptr<CostAbstract>>(
20 bp::args(
"self",
"cost1",
"cost2")))
21 .def_readonly(
"cost1", &DirectSumCost::c1_)
22 .def_readonly(
"cost2", &DirectSumCost::c2_);
24 bp::class_<DirectSumCost::Data, bp::bases<context::CostData>>(
25 "DirectSumCostData", bp::no_init)
26 .def_readonly(
"data1", &DirectSumCost::Data::data1_)
27 .def_readonly(
"data2", &DirectSumCost::Data::data2_);
29 bp::def(
"directSum", directSum<Scalar>, bp::args(
"cost1",
"cost2"),
30 "Perform the direct sum of two cost functions, :math:`l_3(x,u) = "
31 "l_1(x_1,u_1) + l_2(x_2,u_2)`");
CostAbstractTpl< Scalar > CostAbstract
ManifoldAbstractTpl< Scalar > Manifold