Beispiel #1
0
 def mouse_down(self, ips, x, y, btn, **key):
     z = ips.cur
     frame = myvi.Frame3D.figure(IPy.curapp, title='3D Canvas')
     manager = frame.viewer.canvas.manager
     obj = manager.get_obj('cursor')
     color = tuple(np.array(self.para['color']) / 255.0)
     vts, fs, ns, cs = myvi.build_ball((y, z, x), self.para['r'], color)
     if obj == None:
         obj = manager.add_surf('cursor', vts, fs, ns, cs, real=False)
     self.set_cursor(y, z, x)
     self.pressed = True
Beispiel #2
0
 def set_cursor(self, x, y, z):
     if not self.pressed: return
     frame = myvi.Frame3D.figure(IPy.curapp, title='3D Canvas')
     manager = frame.viewer.canvas.manager
     obj = manager.get_obj('cursor')
     color = tuple(np.array(self.para['color']) / 255.0)
     vts, fs, ns, cs = myvi.build_ball((y, x, z), self.para['r'], color)
     obj.set_style(visible=True)
     obj.buf[:, 0:3], obj.buf[:, 3:6], obj.buf[:, 6:9] = vts, ns, cs
     obj.vbo.write(obj.buf.tobytes())
     frame.viewer.Refresh(False)