[][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 contact_graph(&self) -> &InteractionGraph<ContactPair>[src]

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

pub fn proximity_graph(&self) -> &InteractionGraph<ProximityPair>[src]

The proximity graph containing all proximity pairs and their proximity 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 proximities_with(
    &self,
    collider: ColliderHandle
) -> Option<impl Iterator<Item = (ColliderHandle, ColliderHandle, &ProximityPair)>>
[src]

All the proximities 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 proximity_pair(
    &self,
    collider1: ColliderHandle,
    collider2: ColliderHandle
) -> Option<&ProximityPair>
[src]

The proximity pair involving two specific colliders.

If this returns None, there is no intersection between the two colliders. If this returns Some, then there may be an intersection between the two colliders. Check the value of ProximityPair::proximity method to see if there is an actual intersection.

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

All the contact pairs maintained by this narrow-phase.

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

All the proximity 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>,