diff --git a/src/raycasting/bounding_volume_hierarchy.rs b/src/raycasting/bounding_volume_hierarchy.rs index ff4027d..d25d223 100644 --- a/src/raycasting/bounding_volume_hierarchy.rs +++ b/src/raycasting/bounding_volume_hierarchy.rs @@ -12,8 +12,8 @@ use std::sync::Arc; pub enum BoundingVolumeHierarchy { Node { bounds: BoundingBox, - left: Arc>, - right: Arc>, + left: Box>, + right: Box>, }, Leaf { bounds: BoundingBox, @@ -60,8 +60,8 @@ impl BoundingVolumeHierarchy { fn from_sorted_nodes(nodes: &[(BoundingBox, Arc>)]) -> Self { if nodes.len() >= 2 { let midpoint = nodes.len() / 2; - let left = Arc::new(Self::from_sorted_nodes(&nodes[..midpoint])); - let right = Arc::new(Self::from_sorted_nodes(&nodes[midpoint..])); + let left = Box::new(Self::from_sorted_nodes(&nodes[..midpoint])); + let right = Box::new(Self::from_sorted_nodes(&nodes[midpoint..])); let bounds = left.get_bounds().union(&right.get_bounds()); BoundingVolumeHierarchy::Node { bounds,