[][src]Struct ncollide3d::pipeline::narrow_phase::NarrowPhase

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

Collision detector dispatcher for collision objects.

Methods

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

pub fn new(
    contact_dispatcher: Box<dyn ContactDispatcher<N>>,
    proximity_dispatcher: Box<dyn ProximityDispatcher<N>>
) -> 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>,
    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>,
    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::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::CollisionObjectHandle>,
    objects: &Objects,
    handle1: Objects::CollisionObjectHandle,
    handle2: Objects::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) -> &ContactEvents<Handle>[src]

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

pub fn proximity_events(&self) -> &ProximityEvents<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>

impl<N, Handle> Send for NarrowPhase<N, Handle>

impl<N, Handle> Sync for NarrowPhase<N, Handle>

impl<N, Handle> Unpin for NarrowPhase<N, Handle> where
    Handle: Unpin

impl<N, Handle> !UnwindSafe for NarrowPhase<N, Handle>

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

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