[−][src]Trait plane_split::Splitter
Generic plane splitter interface
Required methods
pub fn reset(&mut self)
Reset the splitter results.
pub fn add(&mut self, polygon: Polygon<T, U, A>)
Add a new polygon and return a slice of the subdivisions that avoid collision with any of the previously added polygons.
pub fn sort(&mut self, view: Vector3D<T, U>) -> &[Polygon<T, U, A>]
Sort the produced polygon set by the ascending distance across the specified view vector. Return the sorted slice.
Provided methods
pub fn solve(
&mut self,
input: &[Polygon<T, U, A>],
view: Vector3D<T, U>
) -> &[Polygon<T, U, A>] where
T: Clone,
U: Clone,
A: Copy,
&mut self,
input: &[Polygon<T, U, A>],
view: Vector3D<T, U>
) -> &[Polygon<T, U, A>] where
T: Clone,
U: Clone,
A: Copy,
Process a set of polygons at once.
Implementors
impl<T, U, A> Splitter<T, U, A> for BspSplitter<T, U, A> where
T: Copy + Debug + ApproxEq<T> + Sub<T, Output = T> + Add<T, Output = T> + Mul<T, Output = T> + Div<T, Output = T> + Zero + One + Float,
U: Debug,
A: Copy + Debug + Default,
[src]
T: Copy + Debug + ApproxEq<T> + Sub<T, Output = T> + Add<T, Output = T> + Mul<T, Output = T> + Div<T, Output = T> + Zero + One + Float,
U: Debug,
A: Copy + Debug + Default,