2
An off-screen mayavi engine.
4
# Author: Prabhu Ramachandran <prabhu@aero.iitb.ac.in>
5
# Copyright (c) 2008, Enthought, Inc.
8
from enthought.traits.api import Callable, Str
9
from enthought.tvtk.pyface.tvtk_scene import TVTKWindow
10
from enthought.mayavi.core.engine import Engine
11
from enthought.mayavi.preferences.api import set_scene_preferences
14
def off_screen_viewer_factory(size=(400, 350)):
15
"""A factory that creates an offscreen viewer."""
16
win = TVTKWindow(off_screen_rendering=True)
17
# Set all preferences.
18
set_scene_preferences(win.scene)
20
win.scene.set_size(size)
23
################################################################################
24
# `OffScreenEngine` class.
25
################################################################################
26
class OffScreenEngine(Engine):
27
# Overriding the scene factory trait of Engine.
28
scene_factory = Callable(off_screen_viewer_factory)
31
name = Str('Mayavi offscreen Engine')