[−][src]Struct ncollide3d::pipeline::narrow_phase::NarrowPhase
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]
contact_dispatcher: Box<dyn ContactDispatcher<N>>,
proximity_dispatcher: Box<dyn ProximityDispatcher<N>>
) -> NarrowPhase<N, Handle>
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]
&mut self,
co1: &impl CollisionObjectRef<N>,
co2: &impl CollisionObjectRef<N>,
handle1: Handle,
handle2: Handle,
detector: &mut dyn ContactManifoldGenerator<N>,
manifold: &mut ContactManifold<N>
)
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]
&mut self,
co1: &impl CollisionObjectRef<N>,
co2: &impl CollisionObjectRef<N>,
handle1: Handle,
handle2: Handle,
detector: &mut dyn ProximityDetector<N>,
curr_proximity: &mut Proximity
)
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]
&mut self,
co1: &impl CollisionObjectRef<N>,
co2: &impl CollisionObjectRef<N>,
handle1: Handle,
handle2: Handle,
interaction: &mut Interaction<N>
)
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]
&mut self,
interactions: &mut InteractionGraph<N, Objects::CollisionObjectHandle>,
objects: &Objects
) where
Objects: CollisionObjectSet<N, CollisionObjectHandle = Handle>,
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]
&mut self,
interactions: &mut InteractionGraph<N, Objects::CollisionObjectHandle>,
objects: &Objects,
handle1: Objects::CollisionObjectHandle,
handle2: Objects::CollisionObjectHandle,
started: bool
) where
Objects: CollisionObjectSet<N, CollisionObjectHandle = Handle>,
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,
Handle: Unpin,
impl<N, Handle> !UnwindSafe for NarrowPhase<N, Handle>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
T: Any,
fn into_any(self: Box<T>) -> Box<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<T> DowncastSync for T where
T: Send + Sync + Any,
T: Send + Sync + Any,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn is_in_subset(&self) -> bool
unsafe fn to_subset_unchecked(&self) -> SS
fn from_subset(element: &SS) -> SP
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,