Changeset 608:1e4fb16a0edc
- Timestamp:
- 06/08/12 14:21:56 (12 months ago)
- Branch:
- default
- Convert:
- svn:76c98907-0e80-4c83-94c7-b346fc2aefc2/trunk@614
- Location:
- avango-display/python/avango/display
- Files:
-
- 2 edited
-
_view.py (modified) (1 diff)
-
setups/LShape.py (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
avango-display/python/avango/display/_view.py
r457 r608 51 51 52 52 53 54 55 56 class LShapeView(avango.script.Script): 57 58 RootCamera1 = avango.osg.SFNode() 59 RootCamera2 = avango.osg.SFNode() 60 61 Root = avango.osg.SFNode() 62 Camera = avango.osg.SFMatrix() 63 Viewport = avango.osg.SFVec4() 64 Depth = avango.SFFloat() 65 UserSelector = avango.SFInt() 66 Near = avango.SFFloat() 67 Far = avango.SFFloat() 68 BackgroundColor = avango.osg.SFVec4() 69 70 def __init__(self): 71 self.super(IConeView).__init__() 72 self.Viewport.value = avango.osg.Vec4(0, 0, 1, 1) 73 self.Depth.value = 0 74 self.Near.value = 0.1 75 self.Far.value = 500. 76 self.BackgroundColor.value = avango.osg.Vec4(0., 0., 0., 1.) 77 self.UserSelector.value = 0 78 79 n = avango.osg.nodes.Group() 80 self.RootCamera1.Children.append(n) 81 82 n = avango.osg.nodes.Group() 83 self.RootCamera2.Children.append(n) 84 85 @field_has_changed(Root) 86 def root_has_changed(self): 87 self.RootCamera1.value.Children[0] = self.Root.value 88 self.RootCamera2.value.Children[0] = self.Root.value 89 90 53 91 class MonitorView(avango.script.Script): 54 92 -
avango-display/python/avango/display/setups/LShape.py
r607 r608 122 122 print "LShape::make_view" 123 123 if not display_view: 124 display_view = avango.display.nodes. View()125 124 display_view = avango.display.nodes.LShapeView() 125 num = 0 126 126 for window, transform, current_user in self._windows: 127 127 … … 131 131 132 132 camera, view = self.make_camera_with_viewport( 133 display_view, eye_offset, transform, window )133 display_view, eye_offset, transform, window, num) 134 134 camera.EyeTransform.connect_from(self._users[current_user].Matrix) 135 135 … … 139 139 self.keep_alive(user_selector) 140 140 self.connect_view_field(user_selector.ViewOut) 141 141 142 num += 1 142 143 self.view_created(camera, view, subdisplay) 143 144 145 144 146 if self._inspector and len(self._inspector.Children.value) == 0: 145 147 # FIXME this should use a proper aggregation node … … 149 151 150 152 return display_view 153 154 def make_camera_with_viewport(self, display_view, eye_offset, screen_transform, window, num): 155 splitscreen_handling = ViewportConverter() 156 splitscreen_handling.ViewportIn.connect_from(display_view.Viewport) 157 splitscreen_handling.RealActualWidth.connect_from(window.RealActualWidth) 158 splitscreen_handling.RealActualHeight.connect_from(window.RealActualHeight) 159 splitscreen_handling.ScreenTransformIn.value = screen_transform 160 self.keep_alive(splitscreen_handling) 161 162 camera, view = self.make_camera(display_view, eye_offset, window, False, num) 163 camera.ScreenTransform.connect_from(splitscreen_handling.ScreenTransformOut) 164 camera.Viewport.connect_from(splitscreen_handling.ViewportOut) 165 return camera, view 166 167 168 def make_camera(self, display_view, eye_offset, window, connect_viewport = True, num): 169 camera = avango.osg.viewer.nodes.Camera() 170 camera.EyeOffset.value = eye_offset 171 if connect_viewport: 172 camera.Viewport.connect_from(display_view.Viewport) 173 camera.Near.connect_from(display_view.Near) 174 camera.Far.connect_from(display_view.Far) 175 camera.BackgroundColor.connect_from(display_view.BackgroundColor) 176 camera.ViewerTransform.connect_from(display_view.Camera) 177 camera.Window.value = window 178 179 view = avango.osg.viewer.nodes.View() 180 #depending on camera 181 if num == 0: 182 view.Scene.connect_from(display_view.RootCamera1) 183 else: 184 view.Scene.connect_from(display_view.RootCamera2) 185 186 view.MasterCamera.value = camera 187 return camera, view 151 188 152 189 def view_created(self, camera, view, subdisplay=""):
Note: See TracChangeset
for help on using the changeset viewer.
