[][src]Struct rapier2d::pipeline::QueryPipeline

pub struct QueryPipeline { /* fields omitted */ }

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

Implementations

impl QueryPipeline[src]

pub fn new() -> Self[src]

Initializes an empty query pipeline.

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

Update the acceleration structure on the query pipeline.

pub fn cast_ray<'a>(
    &self,
    colliders: &'a ColliderSet,
    ray: &Ray,
    max_toi: f32
) -> Option<(ColliderHandle, &'a Collider, RayIntersection)>
[src]

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,
    max_toi: f32,
    callback: impl FnMut(ColliderHandle, &'a Collider, RayIntersection) -> bool
)
[src]

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 Default for QueryPipeline[src]

Auto Trait Implementations

Blanket Implementations

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

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

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

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, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

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<V, T> VZip<V> for T where
    V: MultiLane<T>,