GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: include/pinocchio/bindings/python/pybind11-all.hpp Lines: 1 2 50.0 %
Date: 2022-07-05 08:28:44 Branches: 2 8 25.0 %

Line Branch Exec Source
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