|
1 | 1 | # -*- coding: utf-8 -*-
|
2 | 2 |
|
| 3 | +from OCP.Graphic3d import Graphic3d_Camera, Graphic3d_StereoMode |
3 | 4 | from PyQt5.QtWidgets import (QWidget, QPushButton, QDialog, QTreeWidget,
|
4 | 5 | QTreeWidgetItem, QVBoxLayout, QFileDialog,
|
5 | 6 | QHBoxLayout, QFrame, QLabel, QApplication,
|
@@ -39,9 +40,12 @@ class OCCViewer(QWidget,ComponentMixin):
|
39 | 40 | {'name': 'Background color (aux)', 'type': 'color', 'value': (30,30,30)},
|
40 | 41 | {'name': 'Default object color', 'type': 'color', 'value': "FF0"},
|
41 | 42 | {'name': 'Deviation', 'type': 'float', 'value': 1e-5, 'dec': True, 'step': 1},
|
42 |
| - {'name': 'Angular deviation', 'type': 'float', 'value': 0.1, 'dec': True, 'step': 1}]) |
43 |
| - |
44 |
| - |
| 43 | + {'name': 'Angular deviation', 'type': 'float', 'value': 0.1, 'dec': True, 'step': 1}, |
| 44 | + {'name': 'Projection Type', 'type': 'list', 'value': 'Orthographic', |
| 45 | + 'values': ['Orthographic', 'Perspective', 'Stereo', 'MonoLeftEye', 'MonoRightEye']}, |
| 46 | + {'name': 'Stereo Mode', 'type': 'list', 'value': 'QuadBuffer', |
| 47 | + 'values': ['QuadBuffer', 'Anaglyph', 'RowInterlaced', 'ColumnInterlaced', |
| 48 | + 'ChessBoard', 'SideBySide', 'OverUnder']}]) |
45 | 49 | IMAGE_EXTENSIONS = 'png'
|
46 | 50 |
|
47 | 51 | sigObjectSelected = pyqtSignal(list)
|
@@ -78,6 +82,18 @@ def updatePreferences(self,*args):
|
78 | 82 | ctx.SetDeviationCoefficient(self.preferences['Deviation'])
|
79 | 83 | ctx.SetDeviationAngle(self.preferences['Angular deviation'])
|
80 | 84 |
|
| 85 | + v = self._get_view() |
| 86 | + camera = v.Camera() |
| 87 | + projection_type = self.preferences['Projection Type'] |
| 88 | + camera.SetProjectionType(getattr(Graphic3d_Camera, f'Projection_{projection_type}', |
| 89 | + Graphic3d_Camera.Projection_Orthographic)) |
| 90 | + |
| 91 | + # onle relevant for stereo projection |
| 92 | + stereo_mode = self.preferences['Stereo Mode'] |
| 93 | + params = v.ChangeRenderingParams() |
| 94 | + params.StereoMode = getattr(Graphic3d_StereoMode, f'Graphic3d_StereoMode_{stereo_mode}', |
| 95 | + Graphic3d_StereoMode.Graphic3d_StereoMode_QuadBuffer) |
| 96 | + |
81 | 97 | def create_actions(self,parent):
|
82 | 98 |
|
83 | 99 | self._actions = \
|
|
0 commit comments