103_Events.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import igl
  2. V1 = igl.eigen.MatrixXd()
  3. F1 = igl.eigen.MatrixXi()
  4. V2 = igl.eigen.MatrixXd()
  5. F2 = igl.eigen.MatrixXi()
  6. def key_pressed(viewer, key, modifier):
  7. print("Key: ", chr(key))
  8. if key == ord('1'):
  9. # # Clear should be called before drawing the mesh
  10. viewer.data.clear();
  11. # # Draw_mesh creates or updates the vertices and faces of the displayed mesh.
  12. # # If a mesh is already displayed, draw_mesh returns an error if the given V and
  13. # # F have size different than the current ones
  14. viewer.data.set_mesh(V1, F1);
  15. viewer.core.align_camera_center(V1,F1);
  16. elif key == ord('2'):
  17. viewer.data.clear();
  18. viewer.data.set_mesh(V2, F2);
  19. viewer.core.align_camera_center(V2,F2);
  20. return False
  21. # Load two meshes
  22. igl.readOFF("../tutorial/shared/bumpy.off", V1, F1);
  23. igl.readOFF("../tutorial/shared/fertility.off", V2, F2);
  24. print("1 Switch to bump mesh")
  25. print("2 Switch to fertility mesh")
  26. viewer = igl.viewer.Viewer()
  27. # Register a keyboard callback that allows to switch between
  28. # the two loaded meshes
  29. viewer.callback_key_pressed = key_pressed
  30. viewer.data.set_mesh(V1, F1)
  31. viewer.launch()