summaryrefslogtreecommitdiff
path: root/view.py
diff options
context:
space:
mode:
Diffstat (limited to 'view.py')
-rwxr-xr-xview.py22
1 files changed, 19 insertions, 3 deletions
diff --git a/view.py b/view.py
index a63f580..730f2c9 100755
--- a/view.py
+++ b/view.py
@@ -1,4 +1,5 @@
#!/usr/bin/env python
+import os
import numpy as np
import pygame
@@ -171,6 +172,22 @@ def view(geometry, name=''):
done = True
break
+ if event.key == K_F12:
+ if name == '':
+ root, ext = 'screenshot', 'png'
+ else:
+ root, ext = name, 'png'
+
+ filename = '.'.join([root, ext])
+
+ i = 1
+ while os.path.exists(filename):
+ filename = '.'.join([root + str(i), ext])
+ i += 1
+
+ pygame.image.save(screen, filename)
+ print 'image saved to %s' % filename
+
if event.type == KEYUP:
if event.key == K_LSHIFT or event.key == K_RSHIFT:
shift = False
@@ -207,9 +224,8 @@ if __name__ == '__main__':
members = dict(inspect.getmembers(detectors) + inspect.getmembers(solids))
if args[0] in members:
- if type(members[args[0]]) is type and \
- issubclass(members[args[0]], Geometry):
- geometry = members[args[0]]()
+ if isinstance(members[args[0]], Geometry):
+ geometry = members[args[0]]
geometry.build(options.bits)
view(geometry, args[0])
elif isinstance(members[args[0]], Solid):