Struct plane_split::BspSplitter [−][src]
pub struct BspSplitter<T, U> { /* fields omitted */ }
Binary Space Partitioning splitter, uses a BSP tree.
Methods
impl<T, U> BspSplitter<T, U>
[src]
impl<T, U> BspSplitter<T, U>
Trait Implementations
impl<T, U> Splitter<T, U> for BspSplitter<T, U> 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,
[src]
impl<T, U> Splitter<T, U> for BspSplitter<T, U> 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,
fn reset(&mut self)
[src]
fn reset(&mut self)
Reset the splitter results.
fn add(&mut self, poly: Polygon<T, U>)
[src]
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: TypedVector3D<T, U>) -> &[Polygon<T, U>]
[src]
fn sort(&mut self, view: TypedVector3D<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: TypedVector3D<T, U>
) -> &[Polygon<T, U>] where
T: Clone,
U: Clone,
[src]
fn solve(
&mut self,
input: &[Polygon<T, U>],
view: TypedVector3D<T, U>
) -> &[Polygon<T, U>] where
T: Clone,
U: Clone,
Process a set of polygons at once.
Auto Trait Implementations
impl<T, U> Send for BspSplitter<T, U> where
T: Send,
U: Send,
impl<T, U> Send for BspSplitter<T, U> where
T: Send,
U: Send,
impl<T, U> Sync for BspSplitter<T, U> where
T: Sync,
U: Sync,
impl<T, U> Sync for BspSplitter<T, U> where
T: Sync,
U: Sync,