Trait kdvtree::VolumeManager
[−]
[src]
pub trait VolumeManager<S, A> { type BoundingVolume: BoundingVolume; type Error; fn bounding_volume(&self, shape: &S) -> Self::BoundingVolume; fn cut_point<I>(
&mut self,
cut_axis: &A,
points: I
) -> Option<<Self::BoundingVolume as BoundingVolume>::Point>
where
I: Iterator<Item = <Self::BoundingVolume as BoundingVolume>::Point>; fn cut(
&mut self,
shape: &S,
fragment: &Self::BoundingVolume,
cut_axis: &A,
cut_point: &<Self::BoundingVolume as BoundingVolume>::Point
) -> Result<Option<(Self::BoundingVolume, Self::BoundingVolume)>, Self::Error>; }
Associated Types
type BoundingVolume: BoundingVolume
type Error
Required Methods
fn bounding_volume(&self, shape: &S) -> Self::BoundingVolume
fn cut_point<I>(
&mut self,
cut_axis: &A,
points: I
) -> Option<<Self::BoundingVolume as BoundingVolume>::Point> where
I: Iterator<Item = <Self::BoundingVolume as BoundingVolume>::Point>,
&mut self,
cut_axis: &A,
points: I
) -> Option<<Self::BoundingVolume as BoundingVolume>::Point> where
I: Iterator<Item = <Self::BoundingVolume as BoundingVolume>::Point>,
fn cut(
&mut self,
shape: &S,
fragment: &Self::BoundingVolume,
cut_axis: &A,
cut_point: &<Self::BoundingVolume as BoundingVolume>::Point
) -> Result<Option<(Self::BoundingVolume, Self::BoundingVolume)>, Self::Error>
&mut self,
shape: &S,
fragment: &Self::BoundingVolume,
cut_axis: &A,
cut_point: &<Self::BoundingVolume as BoundingVolume>::Point
) -> Result<Option<(Self::BoundingVolume, Self::BoundingVolume)>, Self::Error>