[−][src]Struct rapier2d::geometry::Contact
A single contact between two collider.
Fields
local_p1: Point<f32>
The contact point in the local-space of the first collider.
local_p2: Point<f32>
The contact point in the local-space of the second collider.
impulse: f32
The impulse, along the contact normal, applied by this contact to the first collider's rigid-body.
The impulse applied to the second collider's rigid-body is given by -impulse
.
tangent_impulse: f32
The friction impulse along the vector orthonormal to the contact normal, applied to the first collider's rigid-body.
fid1: u8
The identifier of the subshape of the first collider involved in this contact.
For primitive shapes like cuboid, ball, etc., this is 0. For shapes like trimesh and heightfield this identifies the specific triangle involved in the contact.
fid2: u8
The identifier of the subshape of the second collider involved in this contact.
For primitive shapes like cuboid, ball, etc., this is 0. For shapes like trimesh and heightfield this identifies the specific triangle involved in the contact.
dist: f32
The distance between the two colliders along the contact normal.
If this is negative, the colliders are penetrating.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Contact
impl Send for Contact
impl Sync for Contact
impl Unpin for Contact
impl UnwindSafe for Contact
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<T> Slottable for T where
T: Copy,
[src]
T: Copy,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
[src]
fn is_in_subset(&self) -> bool
[src]
fn to_subset_unchecked(&self) -> SS
[src]
fn from_subset(element: &SS) -> SP
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
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>,