[−][src]Struct broccoli::NotSorted
A version of Tree 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 Tree
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.
Implementations
impl<'a, T: Aabb + Send + Sync> NotSorted<'a, DefaultA, T>
[src]
pub fn new_par(bots: &'a mut [T]) -> NotSorted<'a, DefaultA, T>
[src]
impl<'a, T: Aabb> NotSorted<'a, DefaultA, T>
[src]
pub fn new(bots: &'a mut [T]) -> NotSorted<'a, DefaultA, T>
[src]
impl<'a, A: Axis, T: Aabb + Send + Sync> NotSorted<'a, A, T>
[src]
pub fn with_axis_par(axis: A, bots: &'a mut [T]) -> NotSorted<'a, A, T>
[src]
impl<'a, A: Axis, T: Aabb> NotSorted<'a, A, T>
[src]
pub fn with_axis(axis: A, bots: &'a mut [T]) -> NotSorted<'a, A, T>
[src]
impl<'a, A: Axis, T: Aabb> NotSorted<'a, A, T>
[src]
pub fn get_height(&self) -> usize
[src]
Trait Implementations
impl<'a, A: Axis, T: Aabb + HasInner> NotSortedQueries<'a> for NotSorted<'a, A, T>
[src]
type A = A
type T = T
type Num = T::Num
type Inner = T::Inner
fn axis(&self) -> Self::A
[src]
fn vistr_mut(&mut self) -> VistrMut<'_, NodeMut<'a, T>>
[src]
fn vistr(&self) -> Vistr<'_, NodeMut<'a, T>>
[src]
fn new_colfind_builder(
&mut self
) -> NotSortedQueryBuilder<'_, Self::A, NodeMut<'a, Self::T>>
[src]
&mut self
) -> NotSortedQueryBuilder<'_, Self::A, NodeMut<'a, Self::T>>
fn find_colliding_pairs_mut(
&mut self,
func: impl FnMut(&mut Self::Inner, &mut Self::Inner)
)
[src]
&mut self,
func: impl FnMut(&mut Self::Inner, &mut Self::Inner)
)
fn find_colliding_pairs_mut_par(
&mut self,
func: impl Fn(&mut Self::Inner, &mut Self::Inner) + Clone + Send + Sync
) where
Self::T: Send + Sync,
[src]
&mut self,
func: impl Fn(&mut Self::Inner, &mut Self::Inner) + Clone + Send + Sync
) where
Self::T: Send + Sync,
Auto Trait Implementations
impl<'a, A, T> RefUnwindSafe for NotSorted<'a, A, T> where
A: RefUnwindSafe,
T: RefUnwindSafe,
<T as Aabb>::Num: RefUnwindSafe,
A: RefUnwindSafe,
T: RefUnwindSafe,
<T as Aabb>::Num: RefUnwindSafe,
impl<'a, A, T> Send for NotSorted<'a, A, T> where
T: Send,
<T as Aabb>::Num: Send,
T: Send,
<T as Aabb>::Num: Send,
impl<'a, A, T> Sync for NotSorted<'a, A, T> where
T: Sync,
<T as Aabb>::Num: Sync,
T: Sync,
<T as Aabb>::Num: Sync,
impl<'a, A, T> Unpin for NotSorted<'a, A, T> where
A: Unpin,
A: Unpin,
impl<'a, A, T> !UnwindSafe for NotSorted<'a, A, T>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,