Struct heron::rapier_plugin::rapier2d::parry::bounding_volume::SimdAABB [−][src]
pub struct SimdAABB {
pub mins: OPoint<AutoSimd<[f32; 4]>, Const<2_usize>>,
pub maxs: OPoint<AutoSimd<[f32; 4]>, Const<2_usize>>,
}
Expand description
Four AABB represented as a single SoA AABB with SIMD components.
Fields
mins: OPoint<AutoSimd<[f32; 4]>, Const<2_usize>>
The min coordinates of the AABBs.
maxs: OPoint<AutoSimd<[f32; 4]>, Const<2_usize>>
The max coordinates the AABBs.
Implementations
An invalid AABB.
The center of all the AABBs represented by `self``.
The half-extents of all the AABBs represented by `self``.
Dilate all the AABBs represented by self`` by their extents multiplied by the given scale
factor`.
Replace the i-th
AABB of this SIMD AAAB by the given value.
Casts a ray on all the AABBs represented by self
.
Computes the distances between a point and all the AABBs represented by self
.
Computes the distances between the origin and all the AABBs represented by self
.
Check which AABB represented by self
contains the given point
.
Lanewise check which AABB represented by self
contains the given set of other
aabbs.
The check is performed lane-wise.
Lanewise check which AABB represented by self
intersects the given set of other
aabbs.
The check is performed lane-wise.
Merge all the AABB represented by self
into a single one.
Trait Implementations
impl<'a, D, G1> SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB> for IntersectionCompositeShapeShapeBestFirstVisitor<'a, D, G1> where
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
impl<'a, D, G1> SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB> for IntersectionCompositeShapeShapeBestFirstVisitor<'a, D, G1> where
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
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>
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>
Compute the next action to be taken by the best-first-search after visiting a node containing the given bounding volume.
impl<'a, D, G1> SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB> for TOICompositeShapeShapeBestFirstVisitor<'a, D, G1> where
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
impl<'a, D, G1> SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB> for TOICompositeShapeShapeBestFirstVisitor<'a, D, G1> where
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
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>
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>
Compute the next action to be taken by the best-first-search after visiting a node containing the given bounding volume.
impl<'a, D, G1> SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB> for NonlinearTOICompositeShapeShapeBestFirstVisitor<'a, D, G1> where
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
impl<'a, D, G1> SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB> for NonlinearTOICompositeShapeShapeBestFirstVisitor<'a, D, G1> where
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
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>
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>
Compute the next action to be taken by the best-first-search after visiting a node containing the given bounding volume.
impl<'a, D, G1> SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB> for CompositeShapeAgainstShapeClosestPointsVisitor<'a, D, G1> where
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
impl<'a, D, G1> SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB> for CompositeShapeAgainstShapeClosestPointsVisitor<'a, D, G1> where
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
type Result = (<G1 as TypedSimdCompositeShape>::PartId, ClosestPoints)
type Result = (<G1 as TypedSimdCompositeShape>::PartId, ClosestPoints)
The result of a best-first traversal.
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>
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>
Compute the next action to be taken by the best-first-search after visiting a node containing the given bounding volume.
impl<'a, D, G1> SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB> for CompositeShapeAgainstAnyDistanceVisitor<'a, D, G1> where
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
impl<'a, D, G1> SimdBestFirstVisitor<<G1 as TypedSimdCompositeShape>::PartId, SimdAABB> for CompositeShapeAgainstAnyDistanceVisitor<'a, D, G1> where
D: QueryDispatcher + ?Sized,
G1: TypedSimdCompositeShape + ?Sized,
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>
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>
Compute the next action to be taken by the best-first-search after visiting a node containing the given bounding volume.
impl<'a, S> SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB> for PointCompositeShapeProjBestFirstVisitor<'a, S> where
S: TypedSimdCompositeShape,
impl<'a, S> SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB> for PointCompositeShapeProjBestFirstVisitor<'a, S> where
S: TypedSimdCompositeShape,
type Result = (PointProjection, <S as TypedSimdCompositeShape>::PartId)
type Result = (PointProjection, <S as TypedSimdCompositeShape>::PartId)
The result of a best-first traversal.
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>
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>
Compute the next action to be taken by the best-first-search after visiting a node containing the given bounding volume.
impl<'a, S> SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB> for RayCompositeShapeToiBestFirstVisitor<'a, S> where
S: TypedSimdCompositeShape,
impl<'a, S> SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB> for RayCompositeShapeToiBestFirstVisitor<'a, S> where
S: TypedSimdCompositeShape,
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>
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>
Compute the next action to be taken by the best-first-search after visiting a node containing the given bounding volume.
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,
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,
type Result = (PointProjection, (<S as TypedSimdCompositeShape>::PartId, <<S as TypedSimdCompositeShape>::PartShape as PointQueryWithLocation>::Location))
type Result = (PointProjection, (<S as TypedSimdCompositeShape>::PartId, <<S as TypedSimdCompositeShape>::PartShape as PointQueryWithLocation>::Location))
The result of a best-first traversal.
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>
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>
Compute the next action to be taken by the best-first-search after visiting a node containing the given bounding volume.
impl<'a, S> SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB> for RayCompositeShapeToiAndNormalBestFirstVisitor<'a, S> where
S: TypedSimdCompositeShape,
impl<'a, S> SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB> for RayCompositeShapeToiAndNormalBestFirstVisitor<'a, S> where
S: TypedSimdCompositeShape,
type Result = (<S as TypedSimdCompositeShape>::PartId, RayIntersection)
type Result = (<S as TypedSimdCompositeShape>::PartId, RayIntersection)
The result of a best-first traversal.
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>
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>
Compute the next action to be taken by the best-first-search after visiting a node containing the given bounding volume.
impl<'a, S> SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB> for PointCompositeShapeProjWithFeatureBestFirstVisitor<'a, S> where
S: TypedSimdCompositeShape,
FeatureId: Copy,
impl<'a, S> SimdBestFirstVisitor<<S as TypedSimdCompositeShape>::PartId, SimdAABB> for PointCompositeShapeProjWithFeatureBestFirstVisitor<'a, S> where
S: TypedSimdCompositeShape,
FeatureId: Copy,
type Result = (PointProjection, (<S as TypedSimdCompositeShape>::PartId, FeatureId))
type Result = (PointProjection, (<S as TypedSimdCompositeShape>::PartId, FeatureId))
The result of a best-first traversal.
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>
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>
Compute the next action to be taken by the best-first-search after visiting a node containing the given bounding volume.
impl<'a, S> SimdBestFirstVisitor<u32, SimdAABB> for CompositeClosestPointVisitor<'a, S> where
S: SimdCompositeShape + PointQuery,
impl<'a, S> SimdBestFirstVisitor<u32, SimdAABB> for CompositeClosestPointVisitor<'a, S> where
S: SimdCompositeShape + PointQuery,
type Result = PointProjection
type Result = PointProjection
The result of a best-first traversal.
pub fn visit(
&mut self,
best: f32,
aabb: &SimdAABB,
data: Option<[Option<&u32>; 4]>
) -> SimdBestFirstVisitStatus<<CompositeClosestPointVisitor<'a, S> as SimdBestFirstVisitor<u32, SimdAABB>>::Result>
pub fn visit(
&mut self,
best: f32,
aabb: &SimdAABB,
data: Option<[Option<&u32>; 4]>
) -> SimdBestFirstVisitStatus<<CompositeClosestPointVisitor<'a, S> as SimdBestFirstVisitor<u32, SimdAABB>>::Result>
Compute the next action to be taken by the best-first-search after visiting a node containing the given bounding volume.
impl<'a, T, F> SimdVisitor<T, SimdAABB> for RayIntersectionsVisitor<'a, T, F> where
F: FnMut(&T) -> bool,
impl<'a, T, F> SimdVisitor<T, SimdAABB> for RayIntersectionsVisitor<'a, T, F> where
F: FnMut(&T) -> bool,
impl<'a, T, F> SimdVisitor<T, SimdAABB> for BoundingVolumeIntersectionsVisitor<'a, T, F> where
F: FnMut(&T) -> bool,
impl<'a, T, F> SimdVisitor<T, SimdAABB> for BoundingVolumeIntersectionsVisitor<'a, T, F> where
F: FnMut(&T) -> bool,
impl<'a, T, F> SimdVisitor<T, SimdAABB> for PointIntersectionsVisitor<'a, T, F> where
F: FnMut(&T) -> bool,
impl<'a, T, F> SimdVisitor<T, SimdAABB> for PointIntersectionsVisitor<'a, T, F> where
F: FnMut(&T) -> bool,
impl<'a, S> SimdVisitor<u32, SimdAABB> for CompositePointContainmentTest<'a, S> where
S: SimdCompositeShape,
impl<'a, S> SimdVisitor<u32, SimdAABB> for CompositePointContainmentTest<'a, S> where
S: SimdCompositeShape,
Auto Trait Implementations
impl RefUnwindSafe for SimdAABB
impl UnwindSafe for SimdAABB
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
impl<T> Pointable for T
impl<T> Pointable for T
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.
pub fn clone_type_data(&self) -> Box<dyn TypeData + 'static, Global>
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more