1 |
|
|
// No header guard on purpose because the file can be included several times |
2 |
|
|
// with different value for preprocessor variables SCALAR, OPTIONS and |
3 |
|
|
// JOINT_MODEL_COLLECTION |
4 |
|
|
|
5 |
|
|
/// \page default_type_caster Predefined casters |
6 |
|
|
/// |
7 |
|
|
/// At the time of writting, this exposes |
8 |
|
|
/// \li ModelTpl |
9 |
|
|
/// \li DataTpl |
10 |
|
|
/// \li SE3Tpl |
11 |
|
|
/// \li MotionTpl |
12 |
|
|
/// \li GeometryModel |
13 |
|
|
/// \li (not yet) GeometryData |
14 |
|
|
|
15 |
|
|
#if !defined SCALAR or !defined OPTIONS or !defined JOINT_MODEL_COLLECTION |
16 |
|
|
#error \ |
17 |
|
|
"You must define SCALAR, OPTIONS and JOINT_MODEL_COLLECTION before including this file." |
18 |
|
|
#endif |
19 |
|
|
|
20 |
|
|
#include <pinocchio/bindings/python/pybind11.hpp> |
21 |
|
|
#include <pinocchio/multibody/data.hpp> |
22 |
|
|
#include <pinocchio/multibody/geometry.hpp> |
23 |
|
|
#include <pinocchio/multibody/model.hpp> |
24 |
|
|
|
25 |
|
|
// Required to be able to pass argument with commas to macros |
26 |
|
|
#define _SINGLE_ARG(...) __VA_ARGS__ |
27 |
|
|
#define _PINOCCHIO_PYBIND11_EXPOSE(type, name) \ |
28 |
|
|
PINOCCHIO_PYBIND11_ADD_ALL_CONVERT_TYPE(_SINGLE_ARG(type)) \ |
29 |
|
|
PINOCCHIO_PYBIND11_TYPE_CASTER(_SINGLE_ARG(type), name) |
30 |
|
|
|
31 |
|
|
|
32 |
✓✗✓✗
|
10 |
_PINOCCHIO_PYBIND11_EXPOSE(_SINGLE_ARG(::pinocchio::SE3Tpl<SCALAR,OPTIONS>), |
33 |
|
|
_("pinocchio.pinocchio_pywrap.SE3")) |
34 |
|
|
_PINOCCHIO_PYBIND11_EXPOSE(_SINGLE_ARG(::pinocchio::MotionTpl<SCALAR, OPTIONS>), |
35 |
|
|
_("pinocchio.pinocchio_pywrap.Motion")) |
36 |
|
|
|
37 |
|
|
_PINOCCHIO_PYBIND11_EXPOSE( |
38 |
|
|
_SINGLE_ARG(::pinocchio::ModelTpl<SCALAR, OPTIONS, JOINT_MODEL_COLLECTION>), |
39 |
|
|
_("pinocchio.pinocchio_pywrap.Model")) |
40 |
|
|
_PINOCCHIO_PYBIND11_EXPOSE( |
41 |
|
|
_SINGLE_ARG(::pinocchio::DataTpl<SCALAR, OPTIONS, JOINT_MODEL_COLLECTION>), |
42 |
|
|
_("pinocchio.pinocchio_pywrap.Model")) |
43 |
|
|
|
44 |
|
|
_PINOCCHIO_PYBIND11_EXPOSE(::pinocchio::GeometryModel, |
45 |
|
|
_("pinocchio.pinocchio_pywrap.GeometryModel")) |
46 |
|
|
// \todo this triggers a warning because GeometryData has |
47 |
|
|
// a copy constructor and no operator= |
48 |
|
|
// _PINOCCHIO_PYBIND11_EXPOSE(::pinocchio::GeometryData, |
49 |
|
|
// _("pinocchio.pinocchio_pywrap.GeometryData")) |
50 |
|
|
|
51 |
|
|
#undef _PINOCCHIO_PYBIND11_EXPOSE |
52 |
|
|
#undef _SINGLE_ARG |