123456789101112131415161718192021222324 |
- """Implement a custom function that is triggered by
- pressing a keyboard button when the rendering window
- is in interactive mode.
- Place the pointer anywhere on the mesh and press c"""
- from vedo import dataurl, printc, Plotter, Point, Mesh
- #############################################################
- def myfnc(evt):
- mesh = evt.object
- # printc('dump event info', evt)
- if not mesh or evt.keypress != "c":
- printc("click mesh and press c", c="r", invert=True)
- return
- printc("point:", mesh.picked3d, c="v")
- cpt = Point(mesh.picked3d)
- cpt.color("violet").ps(20).pickable(False)
- plt.add(cpt).render()
- ##############################################################
- plt = Plotter(axes=1)
- plt+= Mesh(dataurl+"bunny.obj").color("gold")
- plt+= __doc__
- plt.add_callback('on key press', myfnc)
- plt.show().close()
|