[][src]Struct dinotree_alg::DinoTree

pub struct DinoTree<A: AxisTrait, N: NodeTrait> { /* fields omitted */ }

The data structure this crate revoles around.

Methods

impl<'a, A: AxisTrait, T: HasAabb> DinoTree<A, NodeMut<'a, T>>[src]

#[must_use] pub fn new(axis: A, bots: &'a mut [T]) -> DinoTree<A, NodeMut<'a, T>>[src]

impl<'a, A: AxisTrait, T: HasAabb + Send + Sync> DinoTree<A, NodeMut<'a, T>>[src]

#[must_use] pub fn new_par(axis: A, bots: &'a mut [T]) -> DinoTree<A, NodeMut<'a, T>>[src]

impl<A: AxisTrait, N: NodeTrait + Send + Sync> DinoTree<A, N> where
    N::T: Send + Sync
[src]

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

impl<A: AxisTrait, N: NodeTrait> DinoTree<A, N>[src]

pub fn draw(
    &self,
    drawer: &mut impl DividerDrawer<N = N::Num>,
    rect: &Rect<N::Num>
)
[src]

pub fn intersect_with_mut<X: HasAabb<Num = N::Num>>(
    &mut self,
    other: &mut [X],
    func: impl Fn(ProtectedBBox<N::T>, ProtectedBBox<X>)
)
[src]

#[must_use] pub fn raycast_mut(
    &mut self,
    rect: Rect<N::Num>,
    ray: Ray<N::Num>,
    rtrait: &mut impl RayTrait<N = N::Num, T = N::T>
) -> RayCastResult<N::T>
[src]

Important traits for Vec<u8>
#[must_use] pub fn k_nearest_mut(
    &mut self,
    point: Vec2<N::Num>,
    num: usize,
    knear: &mut impl Knearest<N = N::Num, T = N::T>,
    rect: Rect<N::Num>
) -> Vec<KnearestResult<N::T>>
[src]

#[must_use] pub fn multi_rect(&mut self) -> MultiRectMut<A, N>[src]

pub fn for_all_not_in_rect_mut(
    &mut self,
    rect: &Rect<N::Num>,
    func: impl FnMut(ProtectedBBox<N::T>)
)
[src]

pub fn for_all_intersect_rect_mut(
    &mut self,
    rect: &Rect<N::Num>,
    func: impl FnMut(ProtectedBBox<N::T>)
)
[src]

pub fn for_all_intersect_rect(
    &self,
    rect: &Rect<N::Num>,
    func: impl FnMut(&N::T)
)
[src]

pub fn for_all_in_rect_mut(
    &mut self,
    rect: &Rect<N::Num>,
    func: impl FnMut(ProtectedBBox<N::T>)
)
[src]

pub fn for_all_in_rect(&self, rect: &Rect<N::Num>, func: impl FnMut(&N::T))[src]

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

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

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

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

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

#[must_use] pub fn num_nodes(&self) -> usize[src]

Auto Trait Implementations

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

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

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

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

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

Blanket Implementations

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

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

type Error = !

The type returned in the event of a conversion error.

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

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.

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

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

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