[][src]Struct rapier3d::geometry::NarrowPhase

pub struct NarrowPhase { /* fields omitted */ }

The narrow-phase responsible for computing precise contact information between colliders.

Implementations

impl NarrowPhase[src]

pub fn new() -> Self[src]

Creates a new empty narrow-phase.

pub fn with_query_dispatcher<D>(d: D) -> Self where
    D: 'static + PersistentQueryDispatcher<ContactManifoldData, ContactData>, 
[src]

Creates a new empty narrow-phase with a custom query dispatcher.

pub fn contact_graph(&self) -> &InteractionGraph<ColliderHandle, ContactPair>[src]

The contact graph containing all contact pairs and their contact information.

pub fn intersection_graph(&self) -> &InteractionGraph<ColliderHandle, bool>[src]

The intersection graph containing all intersection pairs and their intersection information.

pub fn contacts_with(
    &self,
    collider: ColliderHandle
) -> Option<impl Iterator<Item = (ColliderHandle, ColliderHandle, &ContactPair)>>
[src]

All the contacts involving the given collider.

pub fn intersections_with<'a>(
    &'a self,
    collider: ColliderHandle
) -> Option<impl Iterator<Item = (ColliderHandle, ColliderHandle, bool)> + 'a>
[src]

All the intersections involving the given collider.

pub fn contact_pair(
    &self,
    collider1: ColliderHandle,
    collider2: ColliderHandle
) -> Option<&ContactPair>
[src]

The contact pair involving two specific colliders.

If this returns None, there is no contact between the two colliders. If this returns Some, then there may be a contact between the two colliders. Check the result [ContactPair::has_any_active_collider] method to see if there is an actual contact.

pub fn intersection_pair(
    &self,
    collider1: ColliderHandle,
    collider2: ColliderHandle
) -> Option<bool>
[src]

The intersection pair involving two specific colliders.

If this returns None or Some(false), then there is no intersection between the two colliders. If this returns Some(true), then there may be an intersection between the two colliders.

pub fn contact_pairs(&self) -> impl Iterator<Item = &ContactPair>[src]

All the contact pairs maintained by this narrow-phase.

pub fn intersection_pairs<'a>(
    &'a self
) -> impl Iterator<Item = (ColliderHandle, ColliderHandle, bool)> + 'a
[src]

All the intersection pairs maintained by this narrow-phase.

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

Maintain the narrow-phase internal state by taking collider removal into account.

Trait Implementations

impl Clone for NarrowPhase[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
[src]

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

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