Skip to content
Snippets Groups Projects
user_struct.cpp 694 B
Newer Older
Wilson Jallet's avatar
Wilson Jallet committed
#include "eigenpy/eigenpy.hpp"

struct mystruct {
  Eigen::Vector3d x_;
  Eigen::Vector4d y_;

  mystruct(const Eigen::Vector3d& x, const Eigen::Vector4d& y) : x_(x), y_(y) {}
};

BOOST_PYTHON_MODULE(user_struct) {
  using namespace Eigen;
  namespace bp = boost::python;
  eigenpy::enableEigenPy();
  bp::class_<mystruct>("MyStruct", bp::init<const Vector3d&, const Vector4d&>())
      .add_property(
          "x",
          bp::make_getter(&mystruct::x_, bp::return_internal_reference<>()),
          bp::make_setter(&mystruct::x_))
      .add_property(
          "y",
          bp::make_getter(&mystruct::y_, bp::return_internal_reference<>()),
          bp::make_setter(&mystruct::y_));
}