summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Seibert <stan@mtrr.org>2012-01-12 13:25:23 -0500
committertlatorre <tlatorre@uchicago.edu>2021-05-09 08:42:38 -0700
commit7535581339b839ad17f79ee3e931a0e907cf5071 (patch)
tree10415e7c8aacd1e5d29969970547490cbea47f54
parent1167da9997adebd43a552a65bdfcd3d30fab4a68 (diff)
downloadchroma-7535581339b839ad17f79ee3e931a0e907cf5071.tar.gz
chroma-7535581339b839ad17f79ee3e931a0e907cf5071.tar.bz2
chroma-7535581339b839ad17f79ee3e931a0e907cf5071.zip
Save offset of each layer in the CPU-computed BVH for use when comparing BVH algorithms.
-rw-r--r--chroma/geometry.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/chroma/geometry.py b/chroma/geometry.py
index 6bd7eed..08f57d1 100644
--- a/chroma/geometry.py
+++ b/chroma/geometry.py
@@ -436,12 +436,14 @@ class Geometry(object):
begin_last_layer = 0
+ layer_offsets = [begin_last_layer]
+
for layer in count(1):
bit_shifted_zvalues = unique_zvalues >> shift
unique_zvalues = np.unique(bit_shifted_zvalues)
i0 = begin_last_layer + bit_shifted_zvalues.size
-
+ layer_offsets.append(i0)
self.node_map.resize(self.node_map.size+unique_zvalues.size)
self.node_map[i0:] = np.searchsorted(bit_shifted_zvalues, unique_zvalues) + begin_last_layer
self.node_map_end.resize(self.node_map_end.size+unique_zvalues.size)
@@ -462,6 +464,7 @@ class Geometry(object):
if unique_zvalues.size == 1:
break
+ self.layer_offsets = layer_offsets
self.start_node = self.node_map.size - 1
logger.info('BVH construction completed in %1.1f seconds.' % (time.time() - start_time))