summaryrefslogtreecommitdiff
path: root/geometry.py
diff options
context:
space:
mode:
Diffstat (limited to 'geometry.py')
-rw-r--r--geometry.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/geometry.py b/geometry.py
index 5b89110..f942222 100644
--- a/geometry.py
+++ b/geometry.py
@@ -235,8 +235,7 @@ class Geometry(object):
return len(self.solids)-1
- @timeit
- def build(self, bits=8, shift=3, use_cache=True):
+ def build(self, bits=11, shift=3, use_cache=True):
"""
Build the bounding volume hierarchy, material/surface code arrays, and
color array for this geometry. If the bounding volume hierarchy is
@@ -308,7 +307,7 @@ class Geometry(object):
except IOError:
pass
else:
- print 'loading cache.'
+ #print 'loading cache.'
data = pickle.load(f)
reorder = data.pop('reorder')
@@ -341,6 +340,10 @@ class Geometry(object):
unique_zvalues = np.unique(zvalues_mesh)
+ while unique_zvalues.size > zvalues_mesh.size/np.e:
+ zvalues_mesh = zvalues_mesh >> shift
+ unique_zvalues = np.unique(zvalues_mesh)
+
self.lower_bounds = np.empty((unique_zvalues.size,3), dtype=np.float32)
self.upper_bounds = np.empty((unique_zvalues.size,3), dtype=np.float32)
@@ -386,7 +389,8 @@ class Geometry(object):
self.start_node = self.node_map.size - 1
if use_cache:
- print >>sys.stderr, 'Writing BVH to cache directory...'
+ #print 'Writing BVH to cache directory...'
+ sys.stdout.flush()
if not os.path.exists(cache_dir):
os.makedirs(cache_dir)