py_igl_viewer.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. #include <Eigen/Dense>
  2. #include <Eigen/Sparse>
  3. #include "python.h"
  4. #include <igl/viewer/Viewer.h>
  5. void python_export_igl_viewer(py::module &m)
  6. {
  7. py::module me = m.def_submodule(
  8. "viewer", "Mesh viewer");
  9. py::class_<igl::viewer::ViewerData> viewerdata_class(me, "ViewerData");
  10. viewerdata_class
  11. .def(py::init<>())
  12. .def("set_mesh", &igl::viewer::ViewerData::set_mesh)
  13. ;
  14. py::class_<igl::viewer::ViewerCore> viewercore_class(me, "ViewerCore");
  15. viewercore_class
  16. .def(py::init<>())
  17. .def("align_camera_center", [](igl::viewer::ViewerCore& core, const Eigen::MatrixXd& V, const Eigen::MatrixXi& F){return core.align_camera_center(V,F);})
  18. //.def("align_camera_center", &igl::viewer::ViewerCore::align_camera_center)
  19. .def("init", &igl::viewer::ViewerCore::init)
  20. ;
  21. py::class_<igl::viewer::Viewer> viewer_class(me, "Viewer");
  22. viewer_class
  23. .def(py::init<>())
  24. .def_readwrite("data", &igl::viewer::Viewer::data)
  25. .def_readwrite("core", &igl::viewer::Viewer::core)
  26. .def("launch", &igl::viewer::Viewer::launch, py::arg("resizable") = true, py::arg("fullscreen") = false)
  27. ;
  28. }