5 #ifndef __pinocchio_python_multibody_pool_geometry_hpp__ 6 #define __pinocchio_python_multibody_pool_geometry_hpp__ 10 #include "pinocchio/multibody/pool/geometry.hpp" 12 #include <boost/python/overloads.hpp> 16 #include "pinocchio/algorithm/check.hpp" 28 template<
typename GeometryPool>
30 :
public bp::def_visitor< GeometryPoolPythonVisitor<GeometryPool> >
40 template<
class PyClass>
44 .def(
bp::init<Model,GeometryModel,bp::optional<int> >(bp::args(
"self",
"model",
"geometry_model",
"size"),
45 "Default constructor."))
46 .def(bp::init<GeometryPool>(bp::args(
"self",
"other"),
50 bp::arg(
"self"),
"Geometry model contained in the pool.",
51 bp::return_internal_reference<>())
53 bp::args(
"self",
"index"),
"Return a specific geometry_data data.",
54 bp::return_internal_reference<>())
56 bp::arg(
"self"),
"Returns the geometry data vector.",
57 bp::return_internal_reference<>())
60 bp::args(
"self",
"geometry_model"),
61 "Update the geometry model, meaning that all the datas will be refreshed accordingly.")
62 .def(
"update",(
void (
GeometryPool::*)(
const GeometryData &))&GeometryPool::update,
63 bp::args(
"self",
"geometry_data"),
"Update all the geometry datas with the input geometry data value.")
64 .def(
"update",(
void (
GeometryPool::*)(
const GeometryModel &,
const GeometryData &))&GeometryPool::update,
65 bp::args(
"self",
"geometry_model",
"geometry_data"),
66 "Update the geometry model and data together.")
73 bp::class_<GeometryPool,bp::bases<Base> >(
"GeometryPool",
74 "Pool containing a model + a geometry_model and several datas for parallel computations",
86 #endif // ifnded __pinocchio_python_multibody_pool_geometry_hpp__ const GeometryDataVector & geometry_datas() const
Vector of Geometry Data.
GeometryPool::GeometryModel GeometryModel
GeometryPool::GeometryData GeometryData
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef ModelPoolTpl< _Scalar, _Options, JointCollectionTpl > Base
void def(const char *name, Func func)
std::vector< GeometryData, Eigen::aligned_allocator< GeometryData > > GeometryDataVector
GeometryPool::Model Model
static ::boost::python::class_< vector_type > expose(const std::string &class_name, const std::string &doc_string="")
Add the Python method copy to allow a copy of this by calling the copy constructor.
void init(bool compute_local_aabb=true)
Main pinocchio namespace.
void visit(PyClass &cl) const
GeometryPool::GeometryDataVector GeometryDataVector
const GeometryData & geometry_data(const size_t index) const
Returns the geometry_data at index.
#define EIGENPY_DEFINE_STRUCT_ALLOCATOR_SPECIALIZATION(...)
void update(const GeometryData &geometry_data)
Update the geometry datas with the new value.
const GeometryModel & geometry_model() const
Returns the geometry model.