diff options
author | Stan Seibert <stan@mtrr.org> | 2011-09-16 14:27:46 -0400 |
---|---|---|
committer | Stan Seibert <stan@mtrr.org> | 2011-09-16 14:27:46 -0400 |
commit | 084dfd08b714faefaea77cb7dc04d2e93dc04b1d (patch) | |
tree | 5be8c1f1d30dc52d74c70c4964ec54f66294c265 /bin/chroma-cam | |
parent | cfecff941fc619eb7269128afc62d9c11ae78aff (diff) | |
download | chroma-084dfd08b714faefaea77cb7dc04d2e93dc04b1d.tar.gz chroma-084dfd08b714faefaea77cb7dc04d2e93dc04b1d.tar.bz2 chroma-084dfd08b714faefaea77cb7dc04d2e93dc04b1d.zip |
File reorganization to move toward standard python package layout
Diffstat (limited to 'bin/chroma-cam')
-rwxr-xr-x | bin/chroma-cam | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/bin/chroma-cam b/bin/chroma-cam new file mode 100755 index 0000000..8465aaa --- /dev/null +++ b/bin/chroma-cam @@ -0,0 +1,43 @@ +#!/usr/bin/env python +#--*-python-*- + +if __name__ == '__main__': + import optparse + import sys + import imp + import os + + from chroma import view, build, EventViewer + from chroma import mesh_from_stl + + parser = optparse.OptionParser('%prog') + parser.add_option('-r', '--resolution', dest='resolution', + help='specify window resolution', default='1024,576') + parser.add_option('-i', dest='io_file', default=None) + options, args = parser.parse_args() + + if len(args) < 1: + sys.exit(parser.format_help()) + + size = [int(s) for s in options.resolution.split(',')] + + if os.path.exists(args[0]) and args[0].lower().endswith(('.stl', '.bz2')): + obj = mesh_from_stl(args[0]) + else: + name, attr = args[0].split('.') + + try: + file, path, description = imp.find_module(name) + except ImportError: + raise + + module = imp.load_module(name, file, path, description) + + obj = getattr(module, attr) + + if options.io_file is None: + view(obj, size) + else: + geometry = build(obj) + viewer = EventViewer(geometry, options.io_file, size=size) + viewer.start() |