[][src]Struct dinotree_alg::analyze::NotSorted

pub struct NotSorted<A: Axis, N: Node>(_);

A version of dinotree where the elements are not sorted along each axis, like a KD Tree. For comparison, a normal kd-tree is provided by NotSorted. In this tree, the elements are not sorted along an axis at each level. Construction of NotSorted is faster than DinoTree since it does not have to sort bots that belong to each node along an axis. But most query algorithms can usually take advantage of this extra property.

Methods

impl<'a, T: Aabb + Send + Sync> NotSorted<DefaultA, NodeMut<'a, T>>[src]

impl<'a, T: Aabb> NotSorted<DefaultA, NodeMut<'a, T>>[src]

pub fn new(bots: &'a mut [T]) -> NotSorted<DefaultA, NodeMut<'a, T>>[src]

impl<'a, A: Axis, T: Aabb + Send + Sync> NotSorted<A, NodeMut<'a, T>>[src]

pub fn with_axis_par(axis: A, bots: &'a mut [T]) -> NotSorted<A, NodeMut<'a, T>>[src]

impl<'a, A: Axis, T: Aabb> NotSorted<A, NodeMut<'a, T>>[src]

pub fn with_axis(axis: A, bots: &'a mut [T]) -> NotSorted<A, NodeMut<'a, T>>[src]

impl<A: Axis, N: Node + Send + Sync> NotSorted<A, N> where
    N::T: Send + Sync
[src]

pub fn find_collisions_mut_par(
    &mut self,
    func: impl Fn(PMut<N::T>, PMut<N::T>) + Send + Sync
)
[src]

impl<A: Axis, N: Node> NotSorted<A, N>[src]

pub fn find_collisions_mut(&mut self, func: impl FnMut(PMut<N::T>, PMut<N::T>))[src]

pub fn axis(&self) -> A[src]

pub fn get_height(&self) -> usize[src]

pub fn vistr(&self) -> Vistr<N>[src]

pub fn vistr_mut(&mut self) -> VistrMut<N>[src]

Auto Trait Implementations

impl<A, N> RefUnwindSafe for NotSorted<A, N> where
    A: RefUnwindSafe,
    N: RefUnwindSafe

impl<A, N> Send for NotSorted<A, N> where
    N: Send

impl<A, N> Sync for NotSorted<A, N> where
    N: Sync

impl<A, N> Unpin for NotSorted<A, N> where
    A: Unpin,
    N: Unpin

impl<A, N> UnwindSafe for NotSorted<A, N> where
    A: UnwindSafe,
    N: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.