py_igl_viewer.cpp 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #include <Eigen/Dense>
  2. #include <Eigen/Sparse>
  3. #include "python.h"
  4. #include <igl/viewer/Viewer.h>
  5. #include <igl/viewer/ViewerCore.h>
  6. void python_export_igl_viewer(py::module &m)
  7. {
  8. py::module me = m.def_submodule(
  9. "viewer", "Mesh viewer");
  10. py::class_<igl::viewer::ViewerData> viewerdata_class(me, "ViewerData");
  11. viewerdata_class
  12. .def(py::init<>())
  13. .def("set_mesh", &igl::viewer::ViewerData::set_mesh)
  14. .def("clear", &igl::viewer::ViewerData::clear)
  15. ;
  16. py::class_<igl::viewer::ViewerCore> viewercore_class(me, "ViewerCore");
  17. viewercore_class
  18. .def(py::init<>())
  19. //.def("align_camera_center", [](igl::viewer::ViewerCore& core, const Eigen::MatrixXd& V, const Eigen::MatrixXi& F){return core.align_camera_center(V,F);})
  20. .def("align_camera_center",
  21. (void (igl::viewer::ViewerCore::*) (const Eigen::MatrixXd &, const Eigen::MatrixXi &)) &igl::viewer::ViewerCore::align_camera_center
  22. )
  23. .def("init", &igl::viewer::ViewerCore::init)
  24. ;
  25. py::class_<igl::viewer::Viewer>(me, "Viewer")
  26. .def(py::init<>())
  27. .def_readwrite("data", &igl::viewer::Viewer::data)
  28. .def_readwrite("core", &igl::viewer::Viewer::core)
  29. .def("launch", &igl::viewer::Viewer::launch, py::arg("resizable") = true, py::arg("fullscreen") = false)
  30. // Callbacks
  31. .def_readwrite("callback_init", &igl::viewer::Viewer::callback_init)
  32. .def_readwrite("callback_pre_draw", &igl::viewer::Viewer::callback_pre_draw)
  33. .def_readwrite("callback_post_draw", &igl::viewer::Viewer::callback_post_draw)
  34. .def_readwrite("callback_mouse_down", &igl::viewer::Viewer::callback_mouse_down)
  35. .def_readwrite("callback_mouse_up", &igl::viewer::Viewer::callback_mouse_up)
  36. .def_readwrite("callback_mouse_move", &igl::viewer::Viewer::callback_mouse_move)
  37. .def_readwrite("callback_mouse_scroll", &igl::viewer::Viewer::callback_mouse_scroll)
  38. .def_readwrite("callback_key_pressed", &igl::viewer::Viewer::callback_key_pressed)
  39. .def_readwrite("callback_key_down", &igl::viewer::Viewer::callback_key_down)
  40. .def_readwrite("callback_key_up", &igl::viewer::Viewer::callback_key_up)
  41. ;
  42. }