[−][src]Struct dinotree_alg::analyze::NotSorted
use the broccoli crate instead
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.
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]
use the broccoli crate instead
impl<'a, T: Aabb> NotSorted<'a, DefaultA, T>
[src]
pub fn new(bots: &'a mut [T]) -> NotSorted<'a, DefaultA, T>
[src]
use the broccoli crate instead
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]
use the broccoli crate instead
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]
use the broccoli crate instead
impl<'a, A: Axis, T: Aabb + HasInner + Send + Sync> NotSorted<'a, A, T>
[src]
pub fn find_intersections_mut_par(
&mut self,
func: impl Fn(&mut T::Inner, &mut T::Inner) + Send + Sync + Copy
)
[src]
&mut self,
func: impl Fn(&mut T::Inner, &mut T::Inner) + Send + Sync + Copy
)
use the broccoli crate instead
impl<'a, A: Axis, T: Aabb> NotSorted<'a, A, T>
[src]
pub fn axis(&self) -> A
[src]
use the broccoli crate instead
pub fn get_height(&self) -> usize
[src]
use the broccoli crate instead
pub fn vistr(&self) -> Vistr<'_, NodeMut<'a, T>>
[src]
use the broccoli crate instead
pub fn vistr_mut(&mut self) -> VistrMut<'_, NodeMut<'a, T>>
[src]
use the broccoli crate instead
impl<'a, A: Axis, T: Aabb + HasInner> NotSorted<'a, A, T>
[src]
pub fn find_intersections_mut(
&mut self,
func: impl FnMut(&mut T::Inner, &mut T::Inner)
)
[src]
&mut self,
func: impl FnMut(&mut T::Inner, &mut T::Inner)
)
use the broccoli crate instead
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,
<T as Aabb>::Num: Unpin,
A: Unpin,
<T as Aabb>::Num: 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,
pub 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.
pub 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>,