Struct plane_split::NaiveSplitter
[−]
[src]
pub struct NaiveSplitter<T, U> { /* fields omitted */ }
Naive plane splitter, has at least O(n2) complexity.
Methods
impl<T, U> NaiveSplitter<T, U>
[src]
fn new() -> Self
Create a new NaiveSplitter
.
Trait Implementations
impl<T: Copy + Debug + PartialOrd + ApproxEq<T> + Sub<T, Output = T> + Add<T, Output = T> + Mul<T, Output = T> + Div<T, Output = T> + Zero + One + Float, U: Debug> Splitter<T, U> for NaiveSplitter<T, U>
[src]
fn reset(&mut self)
Reset the splitter results.
fn add(&mut self, poly: Polygon<T, U>)
Add a new polygon and return a slice of the subdivisions that avoid collision with any of the previously added polygons. Read more
fn sort(&mut self, view: TypedPoint3D<T, U>) -> &[Polygon<T, U>]
Sort the produced polygon set by the ascending distance across the specified view vector. Return the sorted slice. Read more
fn solve(
&mut self,
input: &[Polygon<T, U>],
view: TypedPoint3D<T, U>
) -> &[Polygon<T, U>] where
T: Clone,
U: Clone,
&mut self,
input: &[Polygon<T, U>],
view: TypedPoint3D<T, U>
) -> &[Polygon<T, U>] where
T: Clone,
U: Clone,
Process a set of polygons at once.