Struct heron::rapier_plugin::rapier::ncollide::pipeline::NarrowPhase[][src]

pub struct NarrowPhase<N, Handle> where
    Handle: CollisionObjectHandle,
    N: RealField
{ /* fields omitted */ }

Collision detector dispatcher for collision objects.

Implementations

impl<N, Handle> NarrowPhase<N, Handle> where
    Handle: CollisionObjectHandle,
    N: RealField
[src]

pub fn new(
    contact_dispatcher: Box<dyn ContactDispatcher<N> + 'static, Global>,
    proximity_dispatcher: Box<dyn ProximityDispatcher<N> + 'static, Global>
) -> NarrowPhase<N, Handle>
[src]

Creates a new NarrowPhase.

pub fn update_contact(
    &mut self,
    co1: &impl CollisionObjectRef<N>,
    co2: &impl CollisionObjectRef<N>,
    handle1: Handle,
    handle2: Handle,
    detector: &mut (dyn ContactManifoldGenerator<N> + 'static),
    manifold: &mut ContactManifold<N>
)
[src]

Update the specified contact manifold between two collision objects.

pub fn update_proximity(
    &mut self,
    co1: &impl CollisionObjectRef<N>,
    co2: &impl CollisionObjectRef<N>,
    handle1: Handle,
    handle2: Handle,
    detector: &mut (dyn ProximityDetector<N> + 'static),
    curr_proximity: &mut Proximity
)
[src]

Update the specified proximity between two collision objects.

pub fn update_interaction(
    &mut self,
    co1: &impl CollisionObjectRef<N>,
    co2: &impl CollisionObjectRef<N>,
    handle1: Handle,
    handle2: Handle,
    interaction: &mut Interaction<N>
)
[src]

Update the specified interaction between two collision objects.

pub fn update<Objects>(
    &mut self,
    interactions: &mut InteractionGraph<N, <Objects as CollisionObjectSet<N>>::CollisionObjectHandle>,
    objects: &Objects
) where
    Objects: CollisionObjectSet<N, CollisionObjectHandle = Handle>, 
[src]

Updates the narrow-phase by actually computing contact points and proximities between the interactions pairs reported by the broad-phase.

This will push relevant events to contact_events and proximity_events.

pub fn handle_interaction<Objects>(
    &mut self,
    interactions: &mut InteractionGraph<N, <Objects as CollisionObjectSet<N>>::CollisionObjectHandle>,
    objects: &Objects,
    handle1: <Objects as CollisionObjectSet<N>>::CollisionObjectHandle,
    handle2: <Objects as CollisionObjectSet<N>>::CollisionObjectHandle,
    started: bool
) where
    Objects: CollisionObjectSet<N, CollisionObjectHandle = Handle>, 
[src]

Handles a pair of collision objects detected as either started or stopped interacting.

pub fn contact_events(&self) -> &EventPool<ContactEvent<Handle>>[src]

The set of contact events generated by this narrow-phase.

pub fn proximity_events(&self) -> &EventPool<ProximityEvent<Handle>>[src]

The set of proximity events generated by this narrow-phase.

pub fn clear_events(&mut self)[src]

Clear the events generated by this narrow-phase.

Auto Trait Implementations

impl<N, Handle> !RefUnwindSafe for NarrowPhase<N, Handle>[src]

impl<N, Handle> Send for NarrowPhase<N, Handle>[src]

impl<N, Handle> Sync for NarrowPhase<N, Handle>[src]

impl<N, Handle> Unpin for NarrowPhase<N, Handle> where
    Handle: Unpin
[src]

impl<N, Handle> !UnwindSafe for NarrowPhase<N, Handle>[src]

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