29 typedef typename ModelPool::Model Model;
30 typedef typename ModelPool::Data Data;
31 typedef typename ModelPool::ModelVector ModelVector;
32 typedef typename ModelPool::DataVector DataVector;
35 template<
class PyClass>
36 void visit(PyClass & cl)
const 39 bp::init<
const Model &, bp::optional<size_t>>(
40 bp::args(
"self",
"model",
"size"),
"Default constructor."))
41 .def(bp::init<const ModelPool &>(bp::args(
"self",
"other"),
"Copy constructor."))
44 "getModel", (Model & (ModelPool::*)(
const size_t)) & ModelPool::getModel,
45 bp::args(
"self",
"index"),
"Return a specific model.",
46 bp::return_internal_reference<>())
48 "getModels", (ModelVector & (ModelPool::*)()) & ModelPool::getModels, bp::arg(
"self"),
49 "Returns the model vectors.", bp::return_internal_reference<>())
52 "getData", (Data & (ModelPool::*)(
const size_t)) & ModelPool::getData,
53 bp::args(
"self",
"index"),
"Return a specific data.", bp::return_internal_reference<>())
55 "getDatas", (DataVector & (ModelPool::*)()) & ModelPool::getDatas, bp::arg(
"self"),
56 "Returns the data vectors.", bp::return_internal_reference<>())
58 .def(
"size", &ModelPool::size, bp::arg(
"self"),
"Returns the size of the pool.")
59 .def(
"resize", &ModelPool::resize, bp::args(
"self",
"new_size"),
"Resize the pool.")
62 "update", (
void (ModelPool::*)(
const Data &))&ModelPool::update,
63 bp::args(
"self",
"data"),
"Update all the datas with the input data value.");
69 bp::class_<ModelPool>(
70 "ModelPool",
"Pool containing a model and several datas for parallel computations",
73 .def(::eigenpy::CopyableVisitor<ModelPool>());
75 StdVectorPythonVisitor<ModelVector>::expose(
"StdVec_Model");
76 StdVectorPythonVisitor<DataVector>::expose(
"StdVec_Data");