File: off_screen_engine.py

package info (click to toggle)
mayavi2 4.8.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 21,892 kB
  • sloc: python: 49,447; javascript: 32,885; makefile: 129; fortran: 60
file content (31 lines) | stat: -rw-r--r-- 999 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
"""
An off-screen mayavi engine.
"""
# Author: Prabhu Ramachandran <prabhu@aero.iitb.ac.in>
# Copyright (c) 2008, Enthought, Inc.
# License: BSD Style.

from traits.api import Callable, Str
from tvtk.pyface.tvtk_scene import TVTKWindow
from mayavi.core.engine import Engine
from mayavi.preferences.api import set_scene_preferences


def off_screen_viewer_factory(size=(400, 350)):
    """A factory that creates an offscreen viewer."""
    win = TVTKWindow(off_screen_rendering=True)
    # Set all preferences.
    set_scene_preferences(win.scene)
    # Set the size.
    win.scene.set_size(size)
    return win

################################################################################
# `OffScreenEngine` class.
################################################################################
class OffScreenEngine(Engine):
    # Overriding the scene factory trait of Engine.
    scene_factory = Callable(off_screen_viewer_factory)

    # Our name.
    name = Str('Mayavi offscreen Engine')