Source code for fsleyes.displaycontext.scene3dopts

#
# scene3dopts.py - The Scene3DOpts class.
#
# Author: Paul McCarthy <pauldmccarthy@gmail.com>
#
"""This module provides the :class:`Scene3DOpts` class, which is used
by :class:`.Scene3DPanel` instances for managing their display settings.
"""


import copy

from . import sceneopts
from . import canvasopts


[docs]class Scene3DOpts(sceneopts.SceneOpts): """The ``Scene3DOpts`` class contains display settings for the :class:`.Scene3DPanel` class. All of the properties in the ``Scene3DOpts`` class are defined in the :class:`.Scene3DCanvasOpts` class - see its documentation for more details. """ showLegend = copy.copy(canvasopts.Scene3DCanvasOpts.showLegend) occlusion = copy.copy(canvasopts.Scene3DCanvasOpts.occlusion) light = copy.copy(canvasopts.Scene3DCanvasOpts.light) lightPos = copy.copy(canvasopts.Scene3DCanvasOpts.lightPos) lightDistance = copy.copy(canvasopts.Scene3DCanvasOpts.lightDistance) showLight = copy.copy(canvasopts.Scene3DCanvasOpts.showLight) offset = copy.copy(canvasopts.Scene3DCanvasOpts.offset) rotation = copy.copy(canvasopts.Scene3DCanvasOpts.rotation)
[docs] def __init__(self, *args, **kwargs): """Create a ``Scene3DCanvasOpts`` instance. All arguments are passed through to the :class:`.SceneOpts` constructor. """ self.setAttribute('zoom', 'minval', 75) self.setAttribute('zoom', 'default', 75) self.setAttribute('zoom', 'maxval', 5000) self.setAttribute('bgColour', 'default', (0.6, 0.6, 0.753, 1.0)) self.setAttribute('fgColour', 'default', (0.0, 1.0, 0.0, 1.0)) for ax in range(3): self.lightPos.setLimits(ax, -180, 180) self.zoom = 75 self.bgColour = (0.6, 0.6, 0.753) self.fgColour = (0, 1, 0) sceneopts.SceneOpts.__init__(self, *args, **kwargs)
[docs] def _onPerformanceChange(self, *a): """Overrides :meth:`.SceneOpts._onPerformanceChange`. Changes the value of the :attr:`highDpi` property according to the performance setting. """ self.highDpi = self.performance == 3 and self.highDpi