pub struct ContactManifoldData {
pub rigid_body1: Option<RigidBodyHandle>,
pub rigid_body2: Option<RigidBodyHandle>,
pub solver_flags: SolverFlags,
pub normal: Vector<f32>,
pub solver_contacts: Vec<SolverContact>,
pub relative_dominance: i16,
pub user_data: u32,
}Expand description
A contact manifold between two colliders.
A contact manifold describes a set of contacts between two colliders. All the contact part of the same contact manifold share the same contact normal and contact kinematics.
Fields§
§rigid_body1: Option<RigidBodyHandle>The first rigid-body involved in this contact manifold.
rigid_body2: Option<RigidBodyHandle>The second rigid-body involved in this contact manifold.
solver_flags: SolverFlagsFlags used to control some aspects of the constraints solver for this contact manifold.
normal: Vector<f32>The world-space contact normal shared by all the contact in this contact manifold.
solver_contacts: Vec<SolverContact>The contacts that will be seen by the constraints solver for computing forces.
relative_dominance: i16The relative dominance of the bodies involved in this contact manifold.
user_data: u32A user-defined piece of data.
Implementations§
Source§impl ContactManifoldData
impl ContactManifoldData
Sourcepub fn num_active_contacts(&self) -> usize
pub fn num_active_contacts(&self) -> usize
Number of actives contacts, i.e., contacts that will be seen by the constraints solver.
Trait Implementations§
Source§impl Clone for ContactManifoldData
impl Clone for ContactManifoldData
Source§fn clone(&self) -> ContactManifoldData
fn clone(&self) -> ContactManifoldData
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ContactManifoldData
impl Debug for ContactManifoldData
Auto Trait Implementations§
impl Freeze for ContactManifoldData
impl RefUnwindSafe for ContactManifoldData
impl Send for ContactManifoldData
impl Sync for ContactManifoldData
impl Unpin for ContactManifoldData
impl UnwindSafe for ContactManifoldData
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.