def _create_lhs(self, parent): """ Creates the left hand side or top depending on the style. """ self.scene = DecoratedScene(parent) self.scene.renderer.background = 0.1, 0.2, 0.4 # Add some actors. for i in range(10): func = random.choice(ExampleWindow.ACTORS) actor = func() # Place the actor randomly. x = random.uniform(-3, 3) y = random.uniform(-3, 3) z = random.uniform(-3, 3) actor.position = x, y, z # Add the actor to the scene. self.scene.add_actors(actor) # Render it all! self.scene.render() # Reset the zoom nicely. self.scene.reset_zoom() return self.scene.control
def _actions_default(self): actions = [ Group( Action(tooltip="View the Mayavi pipeline", image=ImageResource('m2', search_path=self.image_search_path), on_perform=self.show_engine, ), ), ] actions.extend(DecoratedScene._actions_default(self)) return actions
def _actions_default(self): actions = [ Group( Action( tooltip="View the Mayavi pipeline", image=ImageResource("m2", search_path=self.image_search_path), on_perform=self.show_engine, ) ) ] actions.extend(DecoratedScene._actions_default(self)) return actions
def _create_decorated_scene(self, parent): """ Create a new decorated scene. """ pref = get_default_preferences() stereo = eval(pref.get('enthought.tvtk.scene.stereo')) scene = DecoratedScene(parent, stereo=stereo) # Set the scene's traits to preference values. scene.magnification = \ eval(pref.get('enthought.tvtk.scene.magnification')) fg = eval(pref.get('enthought.tvtk.scene.foreground_color')) bg = eval(pref.get('enthought.tvtk.scene.background_color')) scene.foreground = fg scene.background = bg # FIXME: This seems necessary for some strange reason, if not # the actual background of the renderer never gets set even # though the renderer and the scene's background are synced. scene.renderer.background = scene.background return scene
def _create_lhs(self, parent): """ Creates the left hand side or top depending on the style. """ self.scene = DecoratedScene(parent) self.scene.renderer.background = 0.5, 0.5, 0.5 return self.scene.control
def _create_scene(self, parent): """ Make sure that the scene has been created. """ if self.scene is None: self.scene = DecoratedScene(parent)
class ExampleWindow(SplitApplicationWindow): """ An example application window. """ # The actors we can create. ACTORS = [ arrow_actor, axes_actor, cone_actor, cube_actor, cylinder_actor, earth_actor, sphere_actor ] # The ratio of the size of the left/top pane to the right/bottom pane. ratio = Float(0.75) # The direction in which the panel is split. direction = Str('horizontal') # The `Scene` instance into which VTK renders. scene = Instance(DecoratedScene) # The `PythonShell` instance. python_shell = Instance(PythonShell) ########################################################################### # 'object' interface. ########################################################################### def __init__(self, **traits): """ Creates a new window. """ # Base class constructor. super(ExampleWindow, self).__init__(**traits) # Create the window's menu bar. self._create_my_menu_bar() ########################################################################### # Protected 'SplitApplicationWindow' interface. ########################################################################### def _create_lhs(self, parent): """ Creates the left hand side or top depending on the style. """ self.scene = DecoratedScene(parent) self.scene.renderer.background = 0.1, 0.2, 0.4 # Add some actors. for i in range(10): func = random.choice(ExampleWindow.ACTORS) actor = func() # Place the actor randomly. x = random.uniform(-3, 3) y = random.uniform(-3, 3) z = random.uniform(-3, 3) actor.position = x, y, z # Add the actor to the scene. self.scene.add_actors(actor) # Render it all! self.scene.render() # Reset the zoom nicely. self.scene.reset_zoom() return self.scene.control def _create_rhs(self, parent): """ Creates the right hand side or bottom depending on the style. """ self.python_shell = PythonShell(parent) self.python_shell.bind('scene', self.scene) self.python_shell.bind('s', self.scene) return self.python_shell.control ########################################################################### # Private interface. ########################################################################### def _create_my_menu_bar(self): """ Creates the window's menu bar. """ self.menu_bar_manager = MenuBarManager( MenuManager( SaveImageAction(self), Separator(), ExitAction(self), name = '&File', ), MenuManager( SaveToClipboardAction(self), name = '&Edit', ), MenuManager( SpecialViewAction(self, "&Reset Zoom", 'reset_zoom'), Separator(), SpecialViewAction(self, "&Isometric", 'isometric_view'), SpecialViewAction(self, "&X positive", 'x_plus_view'), SpecialViewAction(self, "X negative", 'x_minus_view'), SpecialViewAction(self, "&Y positive", 'y_plus_view'), SpecialViewAction(self, "Y negative", 'y_minus_view'), SpecialViewAction(self, "&Z positive", 'z_plus_view'), SpecialViewAction(self, "Z negative", 'z_minus_view'), name = '&View', ) )
class ExampleWindow(SplitApplicationWindow): """ An example application window. """ # The actors we can create. ACTORS = [ arrow_actor, axes_actor, cone_actor, cube_actor, cylinder_actor, earth_actor, sphere_actor ] # The ratio of the size of the left/top pane to the right/bottom pane. ratio = Float(0.75) # The direction in which the panel is split. direction = Str('horizontal') # The `Scene` instance into which VTK renders. scene = Instance(DecoratedScene) # The `PythonShell` instance. python_shell = Instance(PythonShell) ########################################################################### # 'object' interface. ########################################################################### def __init__(self, **traits): """ Creates a new window. """ # Base class constructor. super(ExampleWindow, self).__init__(**traits) # Create the window's menu bar. self._create_my_menu_bar() ########################################################################### # Protected 'SplitApplicationWindow' interface. ########################################################################### def _create_lhs(self, parent): """ Creates the left hand side or top depending on the style. """ self.scene = DecoratedScene(parent) self.scene.renderer.background = 0.1, 0.2, 0.4 # Add some actors. for i in range(10): func = random.choice(ExampleWindow.ACTORS) actor = func() # Place the actor randomly. x = random.uniform(-3, 3) y = random.uniform(-3, 3) z = random.uniform(-3, 3) actor.position = x, y, z # Add the actor to the scene. self.scene.add_actors(actor) # Render it all! self.scene.render() # Reset the zoom nicely. self.scene.reset_zoom() return self.scene.control def _create_rhs(self, parent): """ Creates the right hand side or bottom depending on the style. """ self.python_shell = PythonShell(parent) self.python_shell.bind('scene', self.scene) self.python_shell.bind('s', self.scene) return self.python_shell.control ########################################################################### # Private interface. ########################################################################### def _create_my_menu_bar(self): """ Creates the window's menu bar. """ self.menu_bar_manager = MenuBarManager( MenuManager( SaveImageAction(self), Separator(), ExitAction(self), name='&File', ), MenuManager( SaveToClipboardAction(self), name='&Edit', ), MenuManager( SpecialViewAction(self, "&Reset Zoom", 'reset_zoom'), Separator(), SpecialViewAction(self, "&Isometric", 'isometric_view'), SpecialViewAction(self, "&X positive", 'x_plus_view'), SpecialViewAction(self, "X negative", 'x_minus_view'), SpecialViewAction(self, "&Y positive", 'y_plus_view'), SpecialViewAction(self, "Y negative", 'y_minus_view'), SpecialViewAction(self, "&Z positive", 'z_plus_view'), SpecialViewAction(self, "Z negative", 'z_minus_view'), name='&View', ))