Type Alias rapier2d::geometry::ContactManifold

source ·
pub type ContactManifold = ContactManifold<ContactManifoldData, ContactData>;
Expand description

A contact manifold between two colliders.

Aliased Type§

struct ContactManifold {
    pub points: ArrayVec<TrackedContact<ContactData>, 2>,
    pub local_n1: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
    pub local_n2: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
    pub subshape1: u32,
    pub subshape2: u32,
    pub subshape_pos1: Option<Isometry<f32, Unit<Complex<f32>>, 2>>,
    pub subshape_pos2: Option<Isometry<f32, Unit<Complex<f32>>, 2>>,
    pub data: ContactManifoldData,
}

Fields§

§points: ArrayVec<TrackedContact<ContactData>, 2>

The contacts points.

§local_n1: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>

The contact normal of all the contacts of this manifold, expressed in the local space of the first shape.

§local_n2: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>

The contact normal of all the contacts of this manifold, expressed in the local space of the second shape.

§subshape1: u32

The first subshape involved in this contact manifold.

This is zero if the first shape is not a composite shape.

§subshape2: u32

The second subshape involved in this contact manifold.

This is zero if the second shape is not a composite shape.

§subshape_pos1: Option<Isometry<f32, Unit<Complex<f32>>, 2>>

If the first shape involved is a composite shape, this contains the position of its subshape involved in this contact.

§subshape_pos2: Option<Isometry<f32, Unit<Complex<f32>>, 2>>

If the second shape involved is a composite shape, this contains the position of its subshape involved in this contact.

§data: ContactManifoldData

Additional tracked data associated to this contact manifold.