Struct rapier2d::geometry::PolygonalFeature[][src]

pub struct PolygonalFeature {
    pub vertices: [Point<f32, 2_usize>; 2],
    pub vids: [u32; 2],
    pub fid: u32,
    pub num_vertices: usize,
}

A polygonal feature representing the local polygonal approximation of a vertex, or face, of a convex shape.

Fields

vertices: [Point<f32, 2_usize>; 2]

Up to two vertices forming this polygonal feature.

vids: [u32; 2]

The feature IDs of this polygon’s vertices.

fid: u32

The feature ID of this polygonal feature.

num_vertices: usize

The number of vertices on this polygon (must be <= 4).

Implementations

impl PolygonalFeature[src]

pub fn transform_by(&mut self, pos: &Isometry<f32, Unit<Complex<f32>>, 2_usize>)[src]

Transforms the vertices of self by the given position pos.

pub fn contacts<ManifoldData, ContactData>(
    pos12: &Isometry<f32, Unit<Complex<f32>>, 2_usize>,
    pos21: &Isometry<f32, Unit<Complex<f32>>, 2_usize>,
    sep_axis1: &Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 2_usize, 1_usize>>,
    sep_axis2: &Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 2_usize, 1_usize>>,
    feature1: &PolygonalFeature,
    feature2: &PolygonalFeature,
    prediction: f32,
    manifold: &mut ContactManifold<ManifoldData, ContactData>,
    flipped: bool
) where
    ContactData: Default + Copy
[src]

Computes the contacts between two polygonal features.

pub fn face_vertex_contacts<ManifoldData, ContactData>(
    pos12: &Isometry<f32, Unit<Complex<f32>>, 2_usize>,
    face1: &PolygonalFeature,
    sep_axis1: &Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 2_usize, 1_usize>>,
    vertex2: &PolygonalFeature,
    _prediction: f32,
    manifold: &mut ContactManifold<ManifoldData, ContactData>,
    flipped: bool
) where
    ContactData: Default + Copy
[src]

Compute contacts points between a face and a vertex.

This method assume we already know that at least one contact exists.

pub fn face_face_contacts<ManifoldData, ContactData>(
    pos12: &Isometry<f32, Unit<Complex<f32>>, 2_usize>,
    face1: &PolygonalFeature,
    normal1: &Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 2_usize, 1_usize>>,
    face2: &PolygonalFeature,
    _prediction: f32,
    manifold: &mut ContactManifold<ManifoldData, ContactData>,
    flipped: bool
) where
    ContactData: Default + Copy
[src]

Computes the contacts between two polygonal faces.

Trait Implementations

impl Debug for PolygonalFeature[src]

impl Default for PolygonalFeature[src]

impl From<Segment> for PolygonalFeature[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Downcast for T where
    T: Any
[src]

impl<T> DowncastSync for T where
    T: Any + Send + Sync
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.