def __init__(self): super(Window, self).__init__() box = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight, self) self.resize(500, 200) self.setLayout(box) self.canvas_0 = SceneCanvas(bgcolor='w') self.vb_0 = ViewBox(parent=self.canvas_0.scene, bgcolor='r') self.vb_0.camera.rect = -1, -1, 2, 2 self.canvas_0.events.initialize.connect(self.on_init) self.canvas_0.events.resize.connect( partial(on_resize, self.canvas_0, self.vb_0)) box.addWidget(self.canvas_0.native) # pass the context from the first canvas to the second self.canvas_1 = SceneCanvas(bgcolor='w', shared=self.canvas_0.context) self.vb_1 = ViewBox(parent=self.canvas_1.scene, bgcolor='b') self.vb_1.camera.rect = -1, -1, 2, 2 self.canvas_1.events.resize.connect( partial(on_resize, self.canvas_1, self.vb_1)) box.addWidget(self.canvas_1.native) self.tick_count = 0 self.timer = Timer(interval=1., connect=self.on_timer, start=True) self.setWindowTitle('Shared contexts') self.show()
def __init__(self, scene_canvas=None, image=None, input_colourspace='ITU-R BT.709', correlate_colourspace='ACEScg', diagram='CIE 1931', **kwargs): self._initialised = False ViewBox.__init__(self, **kwargs) self.unfreeze() self._scene_canvas = scene_canvas self._image = None self.image = image self._input_colourspace = None self.input_colourspace = input_colourspace self._correlate_colourspace = None self.correlate_colourspace = correlate_colourspace self._diagram = None self.diagram = diagram self._diagrams_cycle = Cycle(CHROMATICITY_DIAGRAMS) self._grid = None self._label = None self._chromaticity_diagram_visual = None self._spectral_locus_visual = None self._RGB_scatter_visual = None self._input_colourspace_visual = None self._correlate_colourspace_visual = None self._pointer_gamut_visual = None self._pointer_gamut_boundaries_visual = None self._grid_visual = None self._axis_visual = None self._visuals = ('chromaticity_diagram_visual', 'spectral_locus_visual', 'RGB_scatter_visual', 'input_colourspace_visual', 'correlate_colourspace_visual', 'pointer_gamut_visual', 'pointer_gamut_boundaries_visual', 'grid_visual', 'axis_visual') self._visuals_visibility = None self._create_visuals() self._attach_visuals() self._create_camera() self._create_label() self._initialised = True
def __init__(self, scene_canvas=None, image=None, input_colourspace='ITU-R BT.709', correlate_colourspace='ACEScg', **kwargs): self._initialised = False ViewBox.__init__(self, **kwargs) self.unfreeze() self._scene_canvas = scene_canvas self._image = None self.image = image self._input_colourspace = None self.input_colourspace = input_colourspace self._correlate_colourspace = None self.correlate_colourspace = correlate_colourspace self._grid = None self._label = None self._image_visual = None self._image_overlay = True self._display_input_colourspace_out_of_gamut = False self._display_correlate_colourspace_out_of_gamut = False self._display_out_of_pointer_gamut = False self._display_hdr_colours = False self._create_visuals() self._attach_visuals() self._create_camera() self._create_label() self._initialised = True
def test_panzoom_link(): vbs = [ViewBox(camera='panzoom') for _ in range(4)] cams = [vb.camera for vb in vbs] for cam in cams: cam.rect = (0, 0, 100, 100) cams[0].link(cams[1]) cams[0].link(cams[2], axis='x') cams[0].link(cams[3], axis='y') cams[1].rect = (-20, -20, 130, 130) assert cams[0].rect.pos == (-20, -20) and cams[0].rect.size == (130, 130) assert cams[2].rect.pos == (-20, 0) and cams[2].rect.size == (130, 100) assert cams[3].rect.pos == (0, -20) and cams[3].rect.size == (100, 130)
def test_turntable_camera_link(): vbs = [ViewBox(camera='turntable') for _ in range(3)] cams = [vb.camera for vb in vbs] for cam in cams: cam.elevation = 45.0 cam.azimuth = 120.0 cam.scale_factor = 4.0 cams[0].link(cams[1]) cams[0].link(cams[2], props=['azimuth', 'elevation']) cams[1].elevation = 30.0 cams[1].azimuth = 90.0 cams[1].scale_factor = 2.0 assert cams[0].elevation == 30.0 assert cams[0].azimuth == 90.0 assert cams[0].scale_factor == 2.0 assert cams[2].elevation == 30.0 assert cams[2].azimuth == 90.0 assert cams[2].scale_factor == 4.0
def __init__(self, scene_canvas=None, image=None, input_colourspace='ITU-R BT.709', reference_colourspace='CIE xyY', correlate_colourspace='ACEScg', settings=None, **kwargs): self._initialised = False ViewBox.__init__(self, **kwargs) self.unfreeze() self._scene_canvas = scene_canvas self._image = None self.image = image self._input_colourspace = None self.input_colourspace = input_colourspace self._reference_colourspace = None self.reference_colourspace = reference_colourspace self._correlate_colourspace = None self.correlate_colourspace = correlate_colourspace self._settings = None self.settings = settings self._camera_presets = {} self._visuals_style_presets = OrderedDict() self._axis_presets = {} self._grid = None self._label = None self._colourspace_visual_resolution = 16 self._colourspace_visual_resolution_limits = (1, 64) self._input_colourspace_visual = None self._correlate_colourspace_visual = None self._RGB_scatter_visual = None self._pointer_gamut_visual = None self._pointer_gamut_hull_visual = None self._spectral_locus_visual = None self._grid_visual = None self._axis_visual = None self._visuals = ('RGB_scatter_visual', 'input_colourspace_visual', 'correlate_colourspace_visual', 'pointer_gamut_visual', 'pointer_gamut_hull_visual', 'spectral_locus_visual', 'grid_visual', 'axis_visual') self._visuals_visibility = None self._create_presets() self._create_visuals() self._attach_visuals() self._create_camera() self._create_label() self._initialised = True