[−][src]Struct dinotree_alg::analyze::QueryBuilder
Builder for a query on a DinoTree.
Methods
impl<'a, 'b: 'a, A: Axis, T: Aabb + Send + Sync> QueryBuilder<'a, 'b, A, T>
[src]
pub fn query_par(self, func: impl Fn(PMut<T>, PMut<T>) + Clone + Send + Sync)
[src]
Perform the query in parallel
pub fn query_splitter_par<C: ColMulti<T = T> + Splitter + Send + Sync>(
self,
clos: C
) -> C
[src]
self,
clos: C
) -> C
The user has more control using this version of the query. The splitter will split and add at every level. The clos will split and add only at levels that are handled in parallel. This can be useful if the use wants to create a list of colliding pair indicies, but still wants paralleism.
impl<'a, 'b: 'a, A: Axis, T: Aabb> QueryBuilder<'a, 'b, A, T>
[src]
pub fn new(tree: &'a mut DinoTree<'b, A, T>) -> QueryBuilder<'a, 'b, A, T>
[src]
Create the builder.
pub fn with_switch_height(self, height: usize) -> Self
[src]
Choose a custom height at which to switch from parallel to sequential. If you end up building sequentially, this option is ignored.
pub fn query_seq(self, func: impl FnMut(PMut<T>, PMut<T>))
[src]
Perform the query sequentially.
pub fn query_with_splitter_seq(
self,
func: impl FnMut(PMut<T>, PMut<T>),
splitter: &mut impl Splitter
)
[src]
self,
func: impl FnMut(PMut<T>, PMut<T>),
splitter: &mut impl Splitter
)
Perform the query sequentially with a splitter.
Auto Trait Implementations
impl<'a, 'b, A, T> RefUnwindSafe for QueryBuilder<'a, 'b, A, T> where
A: RefUnwindSafe,
T: RefUnwindSafe,
<T as Aabb>::Num: RefUnwindSafe,
A: RefUnwindSafe,
T: RefUnwindSafe,
<T as Aabb>::Num: RefUnwindSafe,
impl<'a, 'b, A, T> Send for QueryBuilder<'a, 'b, A, T> where
T: Send,
<T as Aabb>::Num: Send,
T: Send,
<T as Aabb>::Num: Send,
impl<'a, 'b, A, T> Sync for QueryBuilder<'a, 'b, A, T> where
T: Sync,
<T as Aabb>::Num: Sync,
T: Sync,
<T as Aabb>::Num: Sync,
impl<'a, 'b, A, T> Unpin for QueryBuilder<'a, 'b, A, T> where
'b: 'a,
'b: 'a,
impl<'a, 'b, A, T> !UnwindSafe for QueryBuilder<'a, 'b, 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>,