use nalgebra::Point;
use crate::{aabb::Aabb, bounding_hierarchy::BHValue};
pub trait IntersectsAabb<T: BHValue, const D: usize> {
fn intersects_aabb(&self, aabb: &Aabb<T, D>) -> bool;
}
impl<T: BHValue, const D: usize> IntersectsAabb<T, D> for Aabb<T, D> {
fn intersects_aabb(&self, aabb: &Aabb<T, D>) -> bool {
self.intersects_aabb(aabb)
}
}
impl<T: BHValue, const D: usize> IntersectsAabb<T, D> for Point<T, D> {
fn intersects_aabb(&self, aabb: &Aabb<T, D>) -> bool {
aabb.contains(self)
}
}