summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcamera.py27
1 files changed, 15 insertions, 12 deletions
diff --git a/camera.py b/camera.py
index 1e9ceb1..d9b70c7 100755
--- a/camera.py
+++ b/camera.py
@@ -52,17 +52,18 @@ def get_rays(position, size = (800, 600), width = 0.035, focal_length=0.05):
return grid, focal_point-grid
class Camera(Thread):
- def __init__(self, geometry, size=(800,600), device_id=None, spnav=False):
+ def __init__(self, geometry, size=(800,600), device_id=None):
Thread.__init__(self)
self.geometry = geometry
self.device_id = device_id
self.size = size
- self.spnav = spnav
-
- if spnav:
+ try:
import spnav as spnav_module
self.spnav_module = spnav_module
+ self.spnav = True
+ except:
+ self.spnav = False
def init_gpu(self):
self.gpu = GPU(self.device_id)
@@ -373,10 +374,14 @@ class Camera(Thread):
self.init_gpu()
if self.spnav:
- wm_info = pygame.display.get_wm_info()
- self.spnav_module.spnav_x11_open(wm_info['display'],
- wm_info['window'])
- pygame.event.set_allowed(pygame.SYSWMEVENT)
+ try:
+ wm_info = pygame.display.get_wm_info()
+ self.spnav_module.spnav_x11_open(wm_info['display'],
+ wm_info['window'])
+ pygame.event.set_allowed(pygame.SYSWMEVENT)
+ print 'Space Navigator support enabled.'
+ except:
+ self.spnav = False
self.update()
@@ -465,8 +470,6 @@ if __name__ == '__main__':
parser.add_option('-r', '--resolution', dest='resolution',
help='specify resolution', default='800,600')
parser.add_option('-i', dest='io_file', default=None)
- parser.add_option('--spnav', action='store_true', dest='spnav',
- help='activate Space Navigator support', default=False)
options, args = parser.parse_args()
if len(args) < 1:
@@ -496,7 +499,7 @@ if __name__ == '__main__':
geometry = build(obj, options.bits)
if options.io_file is not None:
- camera = EventViewer(geometry, options.io_file, size=size, spnav=options.spnav)
+ camera = EventViewer(geometry, options.io_file, size=size)
else:
- camera = Camera(geometry, size, spnav=options.spnav)
+ camera = Camera(geometry, size)
camera.start()