[−][src]Struct ncollide2d::shape::ConvexPolygonalFeature
A feature (face or vertex) of a 2D convex polygon.
Fields
vertices: [Point<N>; 2]
The vertices of this face.
nvertices: usize
Number of vertices in vertices
to be considered.
normal: Option<Unit<Vector<N>>>
The normal of this feature if it is an edge.
feature_id: FeatureId
The shape-dependent identifier of this feature.
vertices_id: [FeatureId; 2]
The shape-dependent indentifier of each vertex of this feature.
Methods
impl<N: Real> ConvexPolygonalFeature<N>
[src]
pub fn new() -> Self
[src]
Creates a new empty convex polygonal faces.
pub fn clear(&mut self)
[src]
Removes all the vertices, normals, and feature IDs of this feature.
pub fn transform_by(&mut self, m: &Isometry<N>)
[src]
Transforms all the vertices and normal of this feature by the given isometry.
pub fn push(&mut self, pt: Point<N>, id: FeatureId)
[src]
Adds a vertex to this face.
It is not checked whether pt
breaks the convexity of the polyhedral face.
pub fn nvertices(&self) -> usize
[src]
The number of vertices of this face.
pub fn vertices(&self) -> &[Point<N>]
[src]
The vertices of this convex polygonal face.
pub fn set_normal(&mut self, normal: Unit<Vector<N>>)
[src]
Sets the outward normal of this convex polygonal face.
pub fn set_feature_id(&mut self, id: FeatureId)
[src]
Sets the identifier of the feature represented by this convex polygon.
pub fn project_point(&self, pt: &Point<N>) -> Option<Contact<N>>
[src]
Projects a point on this feature.
pub fn clip(
&self,
other: &Self,
normal: &Unit<Vector<N>>,
prediction: &ContactPrediction<N>,
out: &mut Vec<(Contact<N>, FeatureId, FeatureId)>
)
[src]
&self,
other: &Self,
normal: &Unit<Vector<N>>,
prediction: &ContactPrediction<N>,
out: &mut Vec<(Contact<N>, FeatureId, FeatureId)>
)
Generate contacts between self
and other
using polygonal clipping, iif. they both have at least
two vertices.
If either self
or other
has less than two vertices, this does nothing.
pub fn add_contact_to_manifold(
&self,
other: &Self,
c: Contact<N>,
m1: &Isometry<N>,
f1: FeatureId,
proc1: Option<&dyn ContactPreprocessor<N>>,
m2: &Isometry<N>,
f2: FeatureId,
proc2: Option<&dyn ContactPreprocessor<N>>,
ids: &mut IdAllocator,
manifold: &mut ContactManifold<N>
)
[src]
&self,
other: &Self,
c: Contact<N>,
m1: &Isometry<N>,
f1: FeatureId,
proc1: Option<&dyn ContactPreprocessor<N>>,
m2: &Isometry<N>,
f2: FeatureId,
proc2: Option<&dyn ContactPreprocessor<N>>,
ids: &mut IdAllocator,
manifold: &mut ContactManifold<N>
)
Given a contact between two polygonal features, adds it to a contact manifold.
Trait Implementations
impl<N: Clone + Real> Clone for ConvexPolygonalFeature<N>
[src]
fn clone(&self) -> ConvexPolygonalFeature<N>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<N: Debug + Real> Debug for ConvexPolygonalFeature<N>
[src]
Auto Trait Implementations
impl<N> Send for ConvexPolygonalFeature<N> where
N: Scalar,
N: Scalar,
impl<N> Sync for ConvexPolygonalFeature<N> where
N: Scalar,
N: Scalar,
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
try_from
)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> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<SS, SP> SupersetOf for SP where
SS: SubsetOf<SP>,
[src]
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
[src]
fn is_in_subset(&self) -> bool
[src]
unsafe fn to_subset_unchecked(&self) -> SS
[src]
fn from_subset(element: &SS) -> SP
[src]
impl<T> Downcast for T where
T: Any,
[src]
T: Any,
fn into_any(self: Box<T>) -> Box<dyn Any + 'static>
[src]
fn as_any(&self) -> &(dyn Any + 'static)
[src]
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
impl<T> Same for T
type Output = T
Should always be Self