Mlab traits ui exampleΒΆ
A simple example of how to use mayavi.mlab inside a traits UI dialog.
This example uses traitsUI ( traitsUI ) to create a the simplest possible dialog: a single Mayavi scene in a window.
Python source code: mlab_traits_ui.py
# Authors: Prabhu Ramachandran <prabhu [at] aero.iitb.ac.in>
# Gael Varoquaux
# Copyright (c) 2007, Enthought, Inc.
# License: BSD Style.
# Standard imports.
from numpy import sqrt, sin, mgrid
# Enthought imports.
from traits.api import HasTraits, Instance
from traitsui.api import View, Item
from tvtk.pyface.scene_editor import SceneEditor
from mayavi.tools.mlab_scene_model import MlabSceneModel
from mayavi.core.ui.mayavi_scene import MayaviScene
######################################################################
class ActorViewer(HasTraits):
# The scene model.
scene = Instance(MlabSceneModel, ())
######################
# Using 'scene_class=MayaviScene' adds a Mayavi icon to the toolbar,
# to pop up a dialog editing the pipeline.
view = View(Item(name='scene',
editor=SceneEditor(scene_class=MayaviScene),
show_label=False,
resizable=True,
height=500,
width=500),
resizable=True
)
def __init__(self, **traits):
HasTraits.__init__(self, **traits)
self.generate_data()
def generate_data(self):
# Create some data
X, Y = mgrid[-2:2:100j, -2:2:100j]
R = 10*sqrt(X**2 + Y**2)
Z = sin(R)/R
self.scene.mlab.surf(X, Y, Z, colormap='gist_earth')
if __name__ == '__main__':
a = ActorViewer()
a.configure_traits()