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]
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]
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]
Reset the splitter results.
fn add(&mut self, poly: Polygon<T, U>)[src]
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]
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]
&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,
T: Send,
U: Send,
impl<T, U> Sync for BspSplitter<T, U> where
T: Sync,
U: Sync,
T: Sync,
U: Sync,