1
2
3
4
5
6
7
8
9
10
11
12
13
14 import VisionEgg, string
15 __version__ = VisionEgg.release_name
16 __cvs__ = string.split('$Revision$')[1]
17 __date__ = string.join(string.split('$Date$')[1:3], ' ')
18 __author__ = 'Andrew Straw <astraw@users.sourceforge.net>'
19
20 import sys, os, math
21 import VisionEgg.Core
22 import VisionEgg.FlowControl
23 import VisionEgg.Textures
24 import VisionEgg.SphereMap
25 import VisionEgg.PyroHelpers
26 import Pyro.core
27
28 from VisionEgg.PyroApps.ScreenPositionServer import ScreenPositionMetaController
29 from VisionEgg.PyroApps.ScreenPositionGUI import ScreenPositionParameters
30 from VisionEgg.PyroApps.GridGUI import GridMetaParameters
31
70
73
75 stimulus = VisionEgg.SphereMap.AzElGrid()
76 def set_az_el_grid_viewport(viewport):
77 stimulus.parameters.my_viewport = viewport
78 return [('3d_perspective_with_set_viewport_callback',stimulus,set_az_el_grid_viewport)]
79
82
83
84 if __name__ == '__main__':
85
86 pyro_server = VisionEgg.PyroHelpers.PyroServer()
87
88 screen = VisionEgg.Core.Screen.create_default()
89
90
91 stimuli = make_stimuli()
92 stimulus = stimuli[0][1]
93 temp = ScreenPositionParameters()
94
95 projection = VisionEgg.Core.PerspectiveProjection(temp.left,
96 temp.right,
97 temp.bottom,
98 temp.top,
99 temp.near,
100 temp.far)
101 viewport = VisionEgg.Core.Viewport(screen=screen,stimuli=[stimulus],projection=projection)
102 p = VisionEgg.FlowControl.Presentation(viewports=[viewport])
103
104
105 projection_controller = ScreenPositionMetaController(p,projection)
106 pyro_server.connect(projection_controller,"projection_controller")
107
108
109 meta_controller = GridMetaController(screen,p,stimuli)
110 pyro_server.connect(meta_controller,get_meta_controller_stimkey())
111
112
113 p.add_controller(None,None, pyro_server.create_listener_controller())
114
115
116 p.run_forever()
117