Struct collision::Contact
[−]
[src]
pub struct Contact<P: EuclideanSpace> { pub strategy: CollisionStrategy, pub normal: P::Diff, pub penetration_depth: P::Scalar, pub contact_point: P, pub time_of_impact: P::Scalar, }
Fields
strategy: CollisionStrategy
The collision strategy used for this contact.
normal: P::Diff
The collision normal. Only applicable if the collision strategy is not CollisionOnly
penetration_depth: P::Scalar
The penetration depth. Only applicable if the collision strategy is not CollisionOnly
contact_point: P
The contact point. Only applicable if the collision strategy is not CollisionOnly
time_of_impact: P::Scalar
The time of impact, only applicable for continuous collision detection, value is in range 0.0..1.0
Methods
impl<P> Contact<P> where
P: EuclideanSpace,
P::Diff: VectorSpace + Zero,
[src]
P: EuclideanSpace,
P::Diff: VectorSpace + Zero,
fn new(strategy: CollisionStrategy) -> Self
[src]
Create a new contact manifold, with default collision normal and penetration depth
fn new_impl(
strategy: CollisionStrategy,
normal: P::Diff,
penetration_depth: P::Scalar
) -> Self
[src]
strategy: CollisionStrategy,
normal: P::Diff,
penetration_depth: P::Scalar
) -> Self
Create a new contact manifold, with the given collision normal and penetration depth
fn new_with_point(
strategy: CollisionStrategy,
normal: P::Diff,
penetration_depth: P::Scalar,
contact_point: P
) -> Self
[src]
strategy: CollisionStrategy,
normal: P::Diff,
penetration_depth: P::Scalar,
contact_point: P
) -> Self
Create a new contact manifold, complete with contact point
Trait Implementations
impl<P: Debug + EuclideanSpace> Debug for Contact<P> where
P::Diff: Debug,
P::Scalar: Debug,
P::Scalar: Debug,
[src]
P::Diff: Debug,
P::Scalar: Debug,
P::Scalar: Debug,
impl<P: Clone + EuclideanSpace> Clone for Contact<P> where
P::Diff: Clone,
P::Scalar: Clone,
P::Scalar: Clone,
[src]
P::Diff: Clone,
P::Scalar: Clone,
P::Scalar: Clone,