Struct heron::rapier_plugin::rapier::geometry::NarrowPhase[]

pub struct NarrowPhase { /* fields omitted */ }

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

Implementations

impl NarrowPhase

pub fn new() -> NarrowPhase

Creates a new empty narrow-phase.

pub fn contact_graph(&self) -> &InteractionGraph<ContactPair>

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

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

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

pub fn contacts_with(
    &self,
    collider: Index
) -> Option<impl Iterator<Item = (Index, Index, &ContactPair)>>

All the contacts involving the given collider.

pub fn proximities_with(
    &self,
    collider: Index
) -> Option<impl Iterator<Item = (Index, Index, &ProximityPair)>>

All the proximities involving the given collider.

pub fn contact_pair(
    &self,
    collider1: Index,
    collider2: Index
) -> Option<&ContactPair>

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: Index,
    collider2: Index
) -> Option<&ProximityPair>

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>

All the contact pairs maintained by this narrow-phase.

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

All the proximity pairs maintained by this narrow-phase.

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

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

Trait Implementations

impl Clone for NarrowPhase

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> 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>,