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 "python/crocoddyl/multibody/multibody.hpp" |
10 |
|
|
|
11 |
|
|
#include "crocoddyl/multibody/data/multibody.hpp" |
12 |
|
|
#include "python/crocoddyl/utils/copyable.hpp" |
13 |
|
|
|
14 |
|
|
namespace crocoddyl { |
15 |
|
|
namespace python { |
16 |
|
|
|
17 |
|
10 |
void exposeDataCollectorMultibody() { |
18 |
✓✗ |
10 |
bp::class_<DataCollectorMultibody, bp::bases<DataCollectorAbstract> >( |
19 |
|
|
"DataCollectorMultibody", "Data collector for multibody systems.\n\n", |
20 |
✓✗ |
10 |
bp::init<pinocchio::Data*>( |
21 |
✓✗ |
10 |
bp::args("self", "pinocchio"), |
22 |
|
|
"Create multibody data collection.\n\n" |
23 |
✓✗ |
20 |
":param data: Pinocchio data")[bp::with_custodian_and_ward<1, 2>()]) |
24 |
|
|
.add_property("pinocchio", |
25 |
✓✗ |
10 |
bp::make_getter(&DataCollectorMultibody::pinocchio, |
26 |
|
10 |
bp::return_internal_reference<>()), |
27 |
✓✗ |
10 |
"pinocchio data") |
28 |
✓✗ |
10 |
.def(CopyableVisitor<DataCollectorMultibody>()); |
29 |
|
|
|
30 |
✓✗ |
10 |
bp::class_<DataCollectorActMultibody, |
31 |
|
|
bp::bases<DataCollectorMultibody, DataCollectorActuation> >( |
32 |
|
|
"DataCollectorActMultibody", |
33 |
|
|
"Data collector for actuated multibody systems.\n\n", |
34 |
✓✗ |
10 |
bp::init<pinocchio::Data*, boost::shared_ptr<ActuationDataAbstract> >( |
35 |
✓✗ |
10 |
bp::args("self", "pinocchio", "actuation"), |
36 |
|
|
"Create multibody data collection.\n\n" |
37 |
|
|
":param pinocchio: Pinocchio data\n" |
38 |
|
|
":param actuation: actuation data")[bp::with_custodian_and_ward<1, |
39 |
✓✗ |
20 |
2>()]) |
40 |
✓✗ |
10 |
.def(CopyableVisitor<DataCollectorActMultibody>()); |
41 |
|
|
|
42 |
✓✗ |
10 |
bp::class_<DataCollectorJointActMultibody, |
43 |
|
|
bp::bases<DataCollectorActMultibody, DataCollectorJoint> >( |
44 |
|
|
"DataCollectorJointActMultibody", |
45 |
|
|
"Data collector for actuated-joint multibody systems.\n\n", |
46 |
✓✗ |
10 |
bp::init<pinocchio::Data*, boost::shared_ptr<ActuationDataAbstract>, |
47 |
|
|
boost::shared_ptr<JointDataAbstract> >( |
48 |
✓✗ |
10 |
bp::args("self", "pinocchio", "actuation", "joint"), |
49 |
|
|
"Create multibody data collection.\n\n" |
50 |
|
|
":param pinocchio: Pinocchio data\n" |
51 |
|
|
":param actuation: actuation data\n" |
52 |
✓✗ |
20 |
":param joint: joint data")[bp::with_custodian_and_ward<1, 2>()]) |
53 |
✓✗ |
10 |
.def(CopyableVisitor<DataCollectorJointActMultibody>()); |
54 |
|
10 |
} |
55 |
|
|
|
56 |
|
|
} // namespace python |
57 |
|
|
} // namespace crocoddyl |