Struct heron::rapier_plugin::rapier::pipeline::QueryPipeline[]

pub struct QueryPipeline { /* fields omitted */ }

A pipeline for performing queries on all the colliders of a scene.

Implementations

impl QueryPipeline

pub fn new() -> QueryPipeline

Initializes an empty query pipeline.

pub fn update(&mut self, bodies: &RigidBodySet, colliders: &ColliderSet)

Update the acceleration structure on the query pipeline.

pub fn cast_ray(
    &self,
    colliders: &'a ColliderSet,
    ray: &Ray<f32>,
    max_toi: f32,
    groups: InteractionGroups
) -> Option<(Index, &'a Collider, RayIntersection<f32>)>

Find the closest intersection between a ray and a set of collider.

Parameters

  • position: the position of this shape.
  • ray: the ray to cast.
  • max_toi: the maximum time-of-impact that can be reported by this cast. This effectively limits the length of the ray to ray.dir.norm() * max_toi. Use f32::MAX for an unbounded ray.

pub fn interferences_with_ray<'a>(
    &self,
    colliders: &'a ColliderSet,
    ray: &Ray<f32>,
    max_toi: f32,
    groups: InteractionGroups,
    callback: impl FnMut(Index, &'a Collider, RayIntersection<f32>) -> bool
)

Find the all intersections between a ray and a set of collider and passes them to a callback.

Parameters

  • position: the position of this shape.
  • ray: the ray to cast.
  • max_toi: the maximum time-of-impact that can be reported by this cast. This effectively limits the length of the ray to ray.dir.norm() * max_toi. Use f32::MAX for an unbounded ray.
  • callback: function executed on each collider for which a ray intersection has been found. There is no guarantees on the order the results will be yielded. If this callback returns false, this method will exit early, ignory any further raycast.

Trait Implementations

impl Clone for QueryPipeline

impl Default for QueryPipeline

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Any for T where
    T: Any

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CloneAny for T where
    T: Clone + Any

impl<T> Component for T where
    T: 'static + Send + Sync

impl<T> Downcast for T where
    T: Any

impl<T> DowncastSync for T where
    T: Send + Sync + Any

impl<T> From<T> for T[src]

impl<T> FromResources for T where
    T: Default

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Resource for T where
    T: 'static + Send + Sync

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> TypeData for T where
    T: 'static + Send + Sync + Clone

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,