16 m_.doc() =
"pybind11 wrapper of inheritance_py";
19 py::class_<MyBase, std::shared_ptr<MyBase>>(m_,
"MyBase");
21 py::class_<MyTemplate<gtsam::Point2>, MyBase, std::shared_ptr<MyTemplate<gtsam::Point2>>>(m_,
"MyTemplatePoint2")
28 .def(
"accept_Tptr",[](MyTemplate<gtsam::Point2>*
self, std::shared_ptr<gtsam::Point2>
value){
self->accept_Tptr(
value);},
py::arg(
"value"))
29 .def(
"return_Tptr",[](MyTemplate<gtsam::Point2>*
self, std::shared_ptr<gtsam::Point2>
value){
return self->return_Tptr(
value);},
py::arg(
"value"))
31 .def(
"create_ptrs",[](MyTemplate<gtsam::Point2>*
self){
return self->create_ptrs();})
32 .def(
"create_MixedPtrs",[](MyTemplate<gtsam::Point2>*
self){
return self->create_MixedPtrs();})
33 .def(
"return_ptrs",[](MyTemplate<gtsam::Point2>*
self, std::shared_ptr<gtsam::Point2>
p1, std::shared_ptr<gtsam::Point2>
p2){
return self->return_ptrs(
p1,
p2);},
py::arg(
"p1"),
py::arg(
"p2"))
34 .def_static(
"Level",[](
const gtsam::Point2&
K){
return MyTemplate<gtsam::Point2>::Level(
K);},
py::arg(
"K"));
36 py::class_<MyTemplate<gtsam::Matrix>, MyBase, std::shared_ptr<MyTemplate<gtsam::Matrix>>>(m_,
"MyTemplateMatrix")
43 .def(
"accept_Tptr",[](MyTemplate<gtsam::Matrix>*
self, std::shared_ptr<gtsam::Matrix>
value){
self->accept_Tptr(
value);},
py::arg(
"value"))
44 .def(
"return_Tptr",[](MyTemplate<gtsam::Matrix>*
self, std::shared_ptr<gtsam::Matrix>
value){
return self->return_Tptr(
value);},
py::arg(
"value"))
46 .def(
"create_ptrs",[](MyTemplate<gtsam::Matrix>*
self){
return self->create_ptrs();})
47 .def(
"create_MixedPtrs",[](MyTemplate<gtsam::Matrix>*
self){
return self->create_MixedPtrs();})
48 .def(
"return_ptrs",[](MyTemplate<gtsam::Matrix>*
self, std::shared_ptr<gtsam::Matrix>
p1, std::shared_ptr<gtsam::Matrix>
p2){
return self->return_ptrs(
p1,
p2);},
py::arg(
"p1"),
py::arg(
"p2"))
49 .def_static(
"Level",[](
const gtsam::Matrix&
K){
return MyTemplate<gtsam::Matrix>::Level(
K);},
py::arg(
"K"));
51 py::class_<MyTemplate<A>, MyBase, std::shared_ptr<MyTemplate<A>>>(m_,
"MyTemplateA")
57 .def(
"accept_T",[](MyTemplate<A>*
self,
const A&
value){
self->accept_T(
value);},
py::arg(
"value"))
58 .def(
"accept_Tptr",[](MyTemplate<A>*
self, std::shared_ptr<A>
value){
self->accept_Tptr(
value);},
py::arg(
"value"))
59 .def(
"return_Tptr",[](MyTemplate<A>*
self, std::shared_ptr<A>
value){
return self->return_Tptr(
value);},
py::arg(
"value"))
60 .def(
"return_T",[](MyTemplate<A>*
self,
A*
value){
return self->return_T(
value);},
py::arg(
"value"))
61 .def(
"create_ptrs",[](MyTemplate<A>*
self){
return self->create_ptrs();})
62 .def(
"create_MixedPtrs",[](MyTemplate<A>*
self){
return self->create_MixedPtrs();})
63 .def(
"return_ptrs",[](MyTemplate<A>*
self, std::shared_ptr<A>
p1, std::shared_ptr<A>
p2){
return self->return_ptrs(
p1,
p2);},
py::arg(
"p1"),
py::arg(
"p2"))
64 .def_static(
"Level",[](
const A&
K){
return MyTemplate<A>::Level(
K);},
py::arg(
"K"));
66 py::class_<ForwardKinematicsFactor, gtsam::BetweenFactor<gtsam::Pose3>, std::shared_ptr<ForwardKinematicsFactor>>(m_,
"ForwardKinematicsFactor");
68 py::class_<ParentHasTemplate<double>, MyTemplate<double>, std::shared_ptr<ParentHasTemplate<double>>>(m_,
"ParentHasTemplateDouble");
71 #include "python/specializations.h"