Trait heron::rapier_plugin::rapier::parry::partitioning::SimdBestFirstVisitor [−][src]
pub trait SimdBestFirstVisitor<T, SimdBV> { type Result; pub fn visit(
&mut self,
best_cost_so_far: f32,
bv: &SimdBV,
value: Option<[Option<&T>; 4]>
) -> SimdBestFirstVisitStatus<Self::Result>; }
Trait implemented by cost functions used by the best-first search on a BVT
.
Associated Types
Loading content...Required methods
pub fn visit(
&mut self,
best_cost_so_far: f32,
bv: &SimdBV,
value: Option<[Option<&T>; 4]>
) -> SimdBestFirstVisitStatus<Self::Result>
[src]
&mut self,
best_cost_so_far: f32,
bv: &SimdBV,
value: Option<[Option<&T>; 4]>
) -> SimdBestFirstVisitStatus<Self::Result>
Compute the next action to be taken by the best-first-search after visiting a node containing the given bounding volume.
Implementors
impl<'a, D, G1> SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB> for CompositeShapeAgainstAnyDistanceVisitor<'a, D, G1> where
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
[src]
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
type Result = (<G1 as TypedSimdCompositeShape>::PartId, f32)
pub fn visit(
&mut self,
best: f32,
bv: &SimdAABB,
data: Option<[Option<&<G1 as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<CompositeShapeAgainstAnyDistanceVisitor<'a, D, G1> as SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
[src]
&mut self,
best: f32,
bv: &SimdAABB,
data: Option<[Option<&<G1 as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<CompositeShapeAgainstAnyDistanceVisitor<'a, D, G1> as SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
impl<'a, D, G1> SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB> for CompositeShapeAgainstShapeClosestPointsVisitor<'a, D, G1> where
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
[src]
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
type Result = (<G1 as TypedSimdCompositeShape>::PartId, ClosestPoints)
pub fn visit(
&mut self,
best: f32,
bv: &SimdAABB,
data: Option<[Option<&<G1 as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<CompositeShapeAgainstShapeClosestPointsVisitor<'a, D, G1> as SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
[src]
&mut self,
best: f32,
bv: &SimdAABB,
data: Option<[Option<&<G1 as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<CompositeShapeAgainstShapeClosestPointsVisitor<'a, D, G1> as SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
impl<'a, D, G1> SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB> for IntersectionCompositeShapeShapeBestFirstVisitor<'a, D, G1> where
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
[src]
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
type Result = (<G1 as TypedSimdCompositeShape>::PartId, bool)
pub fn visit(
&mut self,
best: f32,
bv: &SimdAABB,
data: Option<[Option<&<G1 as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<IntersectionCompositeShapeShapeBestFirstVisitor<'a, D, G1> as SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
[src]
&mut self,
best: f32,
bv: &SimdAABB,
data: Option<[Option<&<G1 as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<IntersectionCompositeShapeShapeBestFirstVisitor<'a, D, G1> as SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
impl<'a, D, G1> SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB> for NonlinearTOICompositeShapeShapeBestFirstVisitor<'a, D, G1> where
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
[src]
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
type Result = (<G1 as TypedSimdCompositeShape>::PartId, TOI)
pub fn visit(
&mut self,
best: f32,
bv: &SimdAABB,
data: Option<[Option<&<G1 as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<NonlinearTOICompositeShapeShapeBestFirstVisitor<'a, D, G1> as SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
[src]
&mut self,
best: f32,
bv: &SimdAABB,
data: Option<[Option<&<G1 as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<NonlinearTOICompositeShapeShapeBestFirstVisitor<'a, D, G1> as SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
impl<'a, D, G1> SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB> for TOICompositeShapeShapeBestFirstVisitor<'a, D, G1> where
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
[src]
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
type Result = (<G1 as TypedSimdCompositeShape>::PartId, TOI)
pub fn visit(
&mut self,
best: f32,
bv: &SimdAABB,
data: Option<[Option<&<G1 as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<TOICompositeShapeShapeBestFirstVisitor<'a, D, G1> as SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
[src]
&mut self,
best: f32,
bv: &SimdAABB,
data: Option<[Option<&<G1 as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<TOICompositeShapeShapeBestFirstVisitor<'a, D, G1> as SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
impl<'a, S> SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB> for PointCompositeShapeProjBestFirstVisitor<'a, S> where
S: TypedSimdCompositeShape,
[src]
S: TypedSimdCompositeShape,
type Result = (PointProjection, <S as TypedSimdCompositeShape>::PartId)
pub fn visit(
&mut self,
best: f32,
aabb: &SimdAABB,
data: Option<[Option<&<S as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<PointCompositeShapeProjBestFirstVisitor<'a, S> as SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
[src]
&mut self,
best: f32,
aabb: &SimdAABB,
data: Option<[Option<&<S as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<PointCompositeShapeProjBestFirstVisitor<'a, S> as SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
impl<'a, S> SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB> for PointCompositeShapeProjWithFeatureBestFirstVisitor<'a, S> where
S: TypedSimdCompositeShape,
FeatureId: Copy,
[src]
S: TypedSimdCompositeShape,
FeatureId: Copy,
type Result = (PointProjection, (<S as TypedSimdCompositeShape>::PartId, FeatureId))
pub fn visit(
&mut self,
best: f32,
aabb: &SimdAABB,
data: Option<[Option<&<S as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<PointCompositeShapeProjWithFeatureBestFirstVisitor<'a, S> as SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
[src]
&mut self,
best: f32,
aabb: &SimdAABB,
data: Option<[Option<&<S as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<PointCompositeShapeProjWithFeatureBestFirstVisitor<'a, S> as SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
impl<'a, S> SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB> for PointCompositeShapeProjWithLocationBestFirstVisitor<'a, S> where
S: TypedSimdCompositeShape,
<<S as TypedSimdCompositeShape>::PartShape as PointQueryWithLocation>::Location: Copy,
<S as TypedSimdCompositeShape>::PartShape: PointQueryWithLocation,
<S as TypedSimdCompositeShape>::PartShape: Copy,
[src]
S: TypedSimdCompositeShape,
<<S as TypedSimdCompositeShape>::PartShape as PointQueryWithLocation>::Location: Copy,
<S as TypedSimdCompositeShape>::PartShape: PointQueryWithLocation,
<S as TypedSimdCompositeShape>::PartShape: Copy,
type Result = (PointProjection, (<S as TypedSimdCompositeShape>::PartId, <<S as TypedSimdCompositeShape>::PartShape as PointQueryWithLocation>::Location))
pub fn visit(
&mut self,
best: f32,
aabb: &SimdAABB,
data: Option<[Option<&<S as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<PointCompositeShapeProjWithLocationBestFirstVisitor<'a, S> as SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
[src]
&mut self,
best: f32,
aabb: &SimdAABB,
data: Option<[Option<&<S as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<PointCompositeShapeProjWithLocationBestFirstVisitor<'a, S> as SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
impl<'a, S> SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB> for RayCompositeShapeToiAndNormalBestFirstVisitor<'a, S> where
S: TypedSimdCompositeShape,
[src]
S: TypedSimdCompositeShape,
type Result = (<S as TypedSimdCompositeShape>::PartId, RayIntersection)
pub fn visit(
&mut self,
best: f32,
aabb: &SimdAABB,
data: Option<[Option<&<S as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<RayCompositeShapeToiAndNormalBestFirstVisitor<'a, S> as SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
[src]
&mut self,
best: f32,
aabb: &SimdAABB,
data: Option<[Option<&<S as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<RayCompositeShapeToiAndNormalBestFirstVisitor<'a, S> as SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
impl<'a, S> SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB> for RayCompositeShapeToiBestFirstVisitor<'a, S> where
S: TypedSimdCompositeShape,
[src]
S: TypedSimdCompositeShape,
type Result = (<S as TypedSimdCompositeShape>::PartId, f32)
pub fn visit(
&mut self,
best: f32,
aabb: &SimdAABB,
data: Option<[Option<&<S as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<RayCompositeShapeToiBestFirstVisitor<'a, S> as SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
[src]
&mut self,
best: f32,
aabb: &SimdAABB,
data: Option<[Option<&<S as TypedSimdCompositeShape>::PartId>; 4]>
) -> SimdBestFirstVisitStatus<<RayCompositeShapeToiBestFirstVisitor<'a, S> as SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB>>::Result>
impl<'a, S> SimdBestFirstVisitor<u32, SimdAABB> for CompositeClosestPointVisitor<'a, S> where
S: SimdCompositeShape + PointQuery,
[src]
S: SimdCompositeShape + PointQuery,
type Result = PointProjection
pub fn visit(
&mut self,
best: f32,
aabb: &SimdAABB,
data: Option<[Option<&u32>; 4]>
) -> SimdBestFirstVisitStatus<<CompositeClosestPointVisitor<'a, S> as SimdBestFirstVisitor<u32, SimdAABB>>::Result>
[src]
&mut self,
best: f32,
aabb: &SimdAABB,
data: Option<[Option<&u32>; 4]>
) -> SimdBestFirstVisitStatus<<CompositeClosestPointVisitor<'a, S> as SimdBestFirstVisitor<u32, SimdAABB>>::Result>