summaryrefslogtreecommitdiff
path: root/view.py
diff options
context:
space:
mode:
Diffstat (limited to 'view.py')
-rwxr-xr-xview.py19
1 files changed, 13 insertions, 6 deletions
diff --git a/view.py b/view.py
index 8a61513..da33b75 100755
--- a/view.py
+++ b/view.py
@@ -6,7 +6,6 @@ from pygame.locals import *
import src
from camera import *
-from solid import *
from geometry import *
from transform import *
@@ -182,6 +181,8 @@ if __name__ == '__main__':
import optparse
from mesh import *
+
+ import solids
import detectors
parser = optparse.OptionParser('%prog filename.stl')
@@ -197,20 +198,26 @@ if __name__ == '__main__':
if ext.lower() == '.stl':
geometry = Geometry()
- geometry.add_solid(Solid(0, mesh_from_stl(args[0])))
+ geometry.add_solid(Solid(mesh_from_stl(args[0])))
geometry.build(options.bits)
view(geometry, tail)
else:
import inspect
- members = dict(inspect.getmembers(detectors))
+ members = dict(inspect.getmembers(detectors) + inspect.getmembers(solids))
if args[0] in members:
- if issubclass(members[args[0]], Geometry):
+ if type(members[args[0]]) is type and \
+ issubclass(members[args[0]], Geometry):
geometry = members[args[0]]()
geometry.build(options.bits)
view(geometry, args[0])
+ elif isinstance(members[args[0]], Solid):
+ geometry = Geometry()
+ geometry.add_solid(members[args[0]])
+ geometry.build(options.bits)
+ view(geometry, args[0])
else:
- sys.exit("%s doesn't inherit from a Geometry object" % args[0])
+ sys.exit("can't display %s" % args[0])
else:
- sys.exit("couldn't find a geometry with name %s" % args[0])
+ sys.exit("couldn't find object %s" % args[0])