27 :
public bp::def_visitor<GeometryPoolPythonVisitor<GeometryPool>>
30 typedef typename GeometryPool::Base Base;
31 typedef typename GeometryPool::Model Model;
32 typedef typename GeometryPool::GeometryModel GeometryModel;
33 typedef typename GeometryPool::GeometryData GeometryData;
34 typedef typename GeometryPool::GeometryModelVector GeometryModelVector;
35 typedef typename GeometryPool::GeometryDataVector GeometryDataVector;
38 template<
class PyClass>
39 void visit(PyClass & cl)
const 42 bp::init<
const Model &,
const GeometryModel &, bp::optional<size_t>>(
43 bp::args(
"self",
"model",
"geometry_model",
"size"),
"Default constructor."))
44 .def(bp::init<const GeometryPool &>(bp::args(
"self",
"other"),
"Copy constructor."))
48 (GeometryModel & (GeometryPool::*)(
const size_t)) & GeometryPool::getGeometryModel,
49 bp::args(
"self",
"index"),
"Return a specific geometry model.",
50 bp::return_internal_reference<>())
53 (GeometryModelVector & (GeometryPool::*)()) & GeometryPool::getGeometryModels,
54 bp::arg(
"self"),
"Returns the geometry model vector.",
55 bp::return_internal_reference<>())
59 (GeometryData & (GeometryPool::*)(
const size_t)) & GeometryPool::getGeometryData,
60 bp::args(
"self",
"index"),
"Return a specific geometry data.",
61 bp::return_internal_reference<>())
64 (GeometryDataVector & (GeometryPool::*)()) & GeometryPool::getGeometryDatas,
65 bp::arg(
"self"),
"Returns the geometry data vector.", bp::return_internal_reference<>())
68 "sync", &GeometryPool::sync, bp::args(
"geometry_model",
"geometry_indexes"),
69 "Synchronize the internal geometry models with the input geometry for all given " 73 "update", (
void (GeometryPool::*)(
const GeometryData &))&GeometryPool::update,
74 bp::args(
"self",
"geometry_data"),
75 "Update all the geometry datas with the input geometry data value.");
81 bp::class_<GeometryPool, bp::bases<Base>>(
83 "Pool containing a model + a geometry_model and several datas for parallel computations",
86 .def(::eigenpy::CopyableVisitor<GeometryPool>());
88 StdVectorPythonVisitor<GeometryModelVector>::expose(
"StdVec_GeometryModel");
89 StdVectorPythonVisitor<GeometryDataVector>::expose(
"StdVec_GeometryData");