[−][src]Struct ncollide2d::shape::ConvexPolygon
A 2D convex polygon.
Methods
impl<N: RealField> ConvexPolygon<N>
[src]
pub fn try_from_points(points: &[Point<N>]) -> Option<Self>
[src]
Creates a new 2D convex polygon from an arbitrary set of points.
This explicitly computes the convex hull of the given set of points. Use
Returns None
if the convex hull computation failed.
pub fn try_new(points: Vec<Point<N>>) -> Option<Self>
[src]
Creates a new 2D convex polygon from a set of points assumed to describe a counter-clockwise convex polyline.
Convexity of the input polyline is not checked.
Returns None
if some consecutive points are identical (or too close to being so).
pub fn points(&self) -> &[Point<N>]
[src]
The vertices of this convex polygon.
pub fn normals(&self) -> &[Unit<Vector<N>>]
[src]
The normals of the edges of this convex polygon.
pub fn tangent_cone_contains_dir(
&self,
feature: FeatureId,
m: &Isometry<N>,
dir: &Unit<Vector<N>>
) -> bool
[src]
&self,
feature: FeatureId,
m: &Isometry<N>,
dir: &Unit<Vector<N>>
) -> bool
Checks that the given direction in world-space is on the tangent cone of the given feature
.
Trait Implementations
impl<N: RealField> HasBoundingVolume<N, AABB<N>> for ConvexPolygon<N>
[src]
fn bounding_volume(&self, m: &Isometry<N>) -> AABB<N>
[src]
fn local_bounding_volume(&self) -> AABB<N>
[src]
impl<N: RealField> HasBoundingVolume<N, BoundingSphere<N>> for ConvexPolygon<N>
[src]
fn bounding_volume(&self, m: &Isometry<N>) -> BoundingSphere<N>
[src]
fn local_bounding_volume(&self) -> BoundingSphere<N>
[src]
impl<N: RealField> PointQuery<N> for ConvexPolygon<N>
[src]
fn project_point(
&self,
m: &Isometry<N>,
point: &Point<N>,
solid: bool
) -> PointProjection<N>
[src]
&self,
m: &Isometry<N>,
point: &Point<N>,
solid: bool
) -> PointProjection<N>
fn project_point_with_feature(
&self,
m: &Isometry<N>,
point: &Point<N>
) -> (PointProjection<N>, FeatureId)
[src]
&self,
m: &Isometry<N>,
point: &Point<N>
) -> (PointProjection<N>, FeatureId)
fn distance_to_point(&self, m: &Isometry<N>, pt: &Point<N>, solid: bool) -> N
[src]
Computes the minimal distance between a point and self
transformed by m
.
fn contains_point(&self, m: &Isometry<N>, pt: &Point<N>) -> bool
[src]
Tests if the given point is inside of self
transformed by m
.
impl<N: RealField> RayCast<N> for ConvexPolygon<N>
[src]
fn toi_and_normal_with_ray(
&self,
m: &Isometry<N>,
ray: &Ray<N>,
solid: bool
) -> Option<RayIntersection<N>>
[src]
&self,
m: &Isometry<N>,
ray: &Ray<N>,
solid: bool
) -> Option<RayIntersection<N>>
fn toi_with_ray(&self, m: &Isometry<N>, ray: &Ray<N>, solid: bool) -> Option<N>
[src]
Computes the time of impact between this transform shape and a ray.
fn intersects_ray(&self, m: &Isometry<N>, ray: &Ray<N>) -> bool
[src]
Tests whether a ray intersects this transformed shape.
impl<N: RealField> ConvexPolyhedron<N> for ConvexPolygon<N>
[src]
fn vertex(&self, id: FeatureId) -> Point<N>
[src]
fn face(&self, id: FeatureId, out: &mut ConvexPolygonalFeature<N>)
[src]
fn feature_normal(&self, feature: FeatureId) -> Unit<Vector<N>>
[src]
fn support_face_toward(
&self,
m: &Isometry<N>,
dir: &Unit<Vector<N>>,
out: &mut ConvexPolygonalFeature<N>
)
[src]
&self,
m: &Isometry<N>,
dir: &Unit<Vector<N>>,
out: &mut ConvexPolygonalFeature<N>
)
fn support_feature_toward(
&self,
transform: &Isometry<N>,
dir: &Unit<Vector<N>>,
_angle: N,
out: &mut ConvexPolygonalFeature<N>
)
[src]
&self,
transform: &Isometry<N>,
dir: &Unit<Vector<N>>,
_angle: N,
out: &mut ConvexPolygonalFeature<N>
)
fn support_feature_id_toward(&self, local_dir: &Unit<Vector<N>>) -> FeatureId
[src]
impl<N: RealField> Shape<N> for ConvexPolygon<N>
[src]
fn aabb(&self, m: &Isometry<N>) -> AABB<N>
[src]
fn local_aabb(&self) -> AABB<N>
[src]
fn bounding_sphere(&self, m: &Isometry<N>) -> BoundingSphere<N>
[src]
fn as_ray_cast(&self) -> Option<&dyn RayCast<N>>
[src]
fn as_point_query(&self) -> Option<&dyn PointQuery<N>>
[src]
fn as_support_map(&self) -> Option<&dyn SupportMap<N>>
[src]
fn is_support_map(&self) -> bool
[src]
fn as_convex_polyhedron(&self) -> Option<&dyn ConvexPolyhedron<N>>
[src]
fn is_convex_polyhedron(&self) -> bool
[src]
fn tangent_cone_contains_dir(
&self,
feature: FeatureId,
m: &Isometry<N>,
_: Option<&[N]>,
dir: &Unit<Vector<N>>
) -> bool
[src]
&self,
feature: FeatureId,
m: &Isometry<N>,
_: Option<&[N]>,
dir: &Unit<Vector<N>>
) -> bool
fn local_bounding_sphere(&self) -> BoundingSphere<N>
[src]
The bounding sphere of self
.
fn subshape_containing_feature(&self, _i: FeatureId) -> usize
[src]
Returns the id of the subshape containing the specified feature. Read more
fn as_composite_shape(&self) -> Option<&dyn CompositeShape<N>>
[src]
The composite shape representation of self
if applicable.
fn as_deformable_shape(&self) -> Option<&dyn DeformableShape<N>>
[src]
The deformable shape representation of self
if applicable.
fn as_deformable_shape_mut(&mut self) -> Option<&mut dyn DeformableShape<N>>
[src]
The mutable deformable shape representation of self
if applicable.
fn is_composite_shape(&self) -> bool
[src]
Whether self
uses a composite shape-based representation.
fn is_deformable_shape(&self) -> bool
[src]
Whether self
uses a composite shape-based representation.
impl<N: RealField> SupportMap<N> for ConvexPolygon<N>
[src]
fn support_point(&self, m: &Isometry<N>, dir: &Vector<N>) -> Point<N>
[src]
fn support_point_toward(
&self,
transform: &Isometry<N>,
dir: &Unit<Vector<N>>
) -> Point<N>
[src]
&self,
transform: &Isometry<N>,
dir: &Unit<Vector<N>>
) -> Point<N>
Same as self.support_point
except that dir
is normalized.
impl<N: Clone + RealField> Clone for ConvexPolygon<N>
[src]
fn clone(&self) -> ConvexPolygon<N>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<N: Debug + RealField> Debug for ConvexPolygon<N>
[src]
Auto Trait Implementations
impl<N> Unpin for ConvexPolygon<N> where
N: Scalar + Unpin,
N: Scalar + Unpin,
impl<N> Sync for ConvexPolygon<N> where
N: Scalar,
N: Scalar,
impl<N> Send for ConvexPolygon<N> where
N: Scalar,
N: Scalar,
impl<N> UnwindSafe for ConvexPolygon<N> where
N: Scalar + UnwindSafe,
N: Scalar + UnwindSafe,
impl<N> RefUnwindSafe for ConvexPolygon<N> where
N: RefUnwindSafe + Scalar,
N: RefUnwindSafe + Scalar,
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
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, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<SS, SP> SupersetOf<SS> 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<T> for T
type Output = T
Should always be Self