summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chroma/models/__init__.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/chroma/models/__init__.py b/chroma/models/__init__.py
new file mode 100644
index 0000000..4b19f94
--- /dev/null
+++ b/chroma/models/__init__.py
@@ -0,0 +1,20 @@
+import os.path
+import glob
+import sys
+
+from chroma.stl import mesh_from_stl
+
+class Loader(object):
+ def __init__(self, filename):
+ self.filename = filename
+ def __call__(self):
+ return mesh_from_stl(self.filename)
+
+# Create functions to load
+this_module = sys.modules[__name__]
+for filename in glob.glob(os.path.join(os.path.dirname(__file__),'*.stl*')):
+ name, ext = os.path.splitext(os.path.basename(filename))
+ while ext != '':
+ name, ext = os.path.splitext(name)
+ setattr(this_module, name, Loader(filename))
+