GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: bindings/python/crocoddyl/multibody/data/impulses.cpp Lines: 15 15 100.0 %
Date: 2024-02-13 11:12:33 Branches: 10 20 50.0 %

Line Branch Exec Source
1
///////////////////////////////////////////////////////////////////////////////
2
// BSD 3-Clause License
3
//
4
// Copyright (C) 2019-2023, University of Edinburgh, Heriot-Watt University
5
// Copyright note valid unless otherwise stated in individual files.
6
// All rights reserved.
7
///////////////////////////////////////////////////////////////////////////////
8
9
#include "crocoddyl/multibody/data/impulses.hpp"
10
11
#include "python/crocoddyl/multibody/multibody.hpp"
12
#include "python/crocoddyl/utils/copyable.hpp"
13
14
namespace crocoddyl {
15
namespace python {
16
17
10
void exposeDataCollectorImpulses() {
18
10
  bp::class_<DataCollectorImpulse, bp::bases<DataCollectorAbstract> >(
19
      "DataCollectorImpulse", "Impulse data collector.\n\n",
20
10
      bp::init<boost::shared_ptr<ImpulseDataMultiple> >(
21
20
          bp::args("self", "impulses"),
22
          "Create impulse data collection.\n\n"
23
          ":param impulses: impulses data"))
24
      .add_property(
25
          "impulses",
26
10
          bp::make_getter(&DataCollectorImpulse::impulses,
27
10
                          bp::return_value_policy<bp::return_by_value>()),
28
10
          "impulses data")
29
10
      .def(CopyableVisitor<DataCollectorImpulse>());
30
31
10
  bp::class_<DataCollectorMultibodyInImpulse,
32
             bp::bases<DataCollectorMultibody, DataCollectorImpulse> >(
33
      "DataCollectorMultibodyInImpulse",
34
      "Data collector for multibody systems in impulse.\n\n",
35
10
      bp::init<pinocchio::Data*, boost::shared_ptr<ImpulseDataMultiple> >(
36
10
          bp::args("self", "pinocchio", "impulses"),
37
          "Create multibody data collection.\n\n"
38
          ":param pinocchio: Pinocchio data\n"
39
10
          ":param impulses: impulses data")[bp::with_custodian_and_ward<1,
40
20
                                                                        2>()])
41
10
      .def(CopyableVisitor<DataCollectorMultibodyInImpulse>());
42
10
}
43
44
}  // namespace python
45
}  // namespace crocoddyl