Struct rapier2d::geometry::ConvexPolygon [−][src]
A 2D convex polygon.
Implementations
impl ConvexPolygon
[src]
pub fn aabb(&self, pos: &Isometry<f32, U2, Unit<Complex<f32>>>) -> AABB
[src]
Computes the world-space AABB of this convex polygon, transformed by pos
.
pub fn local_aabb(&self) -> AABB
[src]
Computes the local-space AABB of this convex polygon.
impl ConvexPolygon
[src]
pub fn bounding_sphere(
&self,
pos: &Isometry<f32, U2, Unit<Complex<f32>>>
) -> BoundingSphere
[src]
&self,
pos: &Isometry<f32, U2, Unit<Complex<f32>>>
) -> BoundingSphere
Computes the world-space bounding sphere of this convex polygon, transformed by pos
.
pub fn local_bounding_sphere(&self) -> BoundingSphere
[src]
Computes the local-space bounding sphere of this convex polygon.
impl ConvexPolygon
[src]
pub fn from_convex_hull(points: &[Point<f32, U2>]) -> Option<ConvexPolygon>
[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 from_convex_polyline(
points: Vec<Point<f32, U2>, Global>
) -> Option<ConvexPolygon>
[src]
points: Vec<Point<f32, U2>, Global>
) -> Option<ConvexPolygon>
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 all points form an almost flat line.
pub fn points(&self) -> &[Point<f32, U2>]
[src]
The vertices of this convex polygon.
pub fn normals(
&self
) -> &[Unit<Matrix<f32, U2, U1, <DefaultAllocator as Allocator<f32, U2, U1>>::Buffer>>]
[src]
&self
) -> &[Unit<Matrix<f32, U2, U1, <DefaultAllocator as Allocator<f32, U2, U1>>::Buffer>>]
The normals of the edges of this convex polygon.
pub fn support_feature_id_toward(
&self,
local_dir: &Unit<Matrix<f32, U2, U1, <DefaultAllocator as Allocator<f32, U2, U1>>::Buffer>>
) -> FeatureId
[src]
&self,
local_dir: &Unit<Matrix<f32, U2, U1, <DefaultAllocator as Allocator<f32, U2, U1>>::Buffer>>
) -> FeatureId
Get the ID of the feature with a normal that maximizes the dot product with local_dir
.
Trait Implementations
impl Clone for ConvexPolygon
[src]
pub fn clone(&self) -> ConvexPolygon
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for ConvexPolygon
[src]
impl PointQuery for ConvexPolygon
[src]
pub fn project_local_point(
&self,
point: &Point<f32, U2>,
solid: bool
) -> PointProjection
[src]
&self,
point: &Point<f32, U2>,
solid: bool
) -> PointProjection
pub fn project_local_point_and_get_feature(
&self,
point: &Point<f32, U2>
) -> (PointProjection, FeatureId)
[src]
&self,
point: &Point<f32, U2>
) -> (PointProjection, FeatureId)
pub fn distance_to_local_point(&self, pt: &Point<f32, U2>, solid: bool) -> f32
[src]
pub fn contains_local_point(&self, pt: &Point<f32, U2>) -> bool
[src]
pub fn project_point(
&self,
m: &Isometry<f32, U2, Unit<Complex<f32>>>,
pt: &Point<f32, U2>,
solid: bool
) -> PointProjection
[src]
&self,
m: &Isometry<f32, U2, Unit<Complex<f32>>>,
pt: &Point<f32, U2>,
solid: bool
) -> PointProjection
pub fn distance_to_point(
&self,
m: &Isometry<f32, U2, Unit<Complex<f32>>>,
pt: &Point<f32, U2>,
solid: bool
) -> f32
[src]
&self,
m: &Isometry<f32, U2, Unit<Complex<f32>>>,
pt: &Point<f32, U2>,
solid: bool
) -> f32
pub fn project_point_and_get_feature(
&self,
m: &Isometry<f32, U2, Unit<Complex<f32>>>,
pt: &Point<f32, U2>
) -> (PointProjection, FeatureId)
[src]
&self,
m: &Isometry<f32, U2, Unit<Complex<f32>>>,
pt: &Point<f32, U2>
) -> (PointProjection, FeatureId)
pub fn contains_point(
&self,
m: &Isometry<f32, U2, Unit<Complex<f32>>>,
pt: &Point<f32, U2>
) -> bool
[src]
&self,
m: &Isometry<f32, U2, Unit<Complex<f32>>>,
pt: &Point<f32, U2>
) -> bool
impl PolygonalFeatureMap for ConvexPolygon
[src]
pub fn local_support_feature(
&self,
dir: &Unit<Matrix<f32, U2, U1, <DefaultAllocator as Allocator<f32, U2, U1>>::Buffer>>,
out_feature: &mut PolygonalFeature
)
[src]
&self,
dir: &Unit<Matrix<f32, U2, U1, <DefaultAllocator as Allocator<f32, U2, U1>>::Buffer>>,
out_feature: &mut PolygonalFeature
)
impl RayCast for ConvexPolygon
[src]
pub fn cast_local_ray_and_get_normal(
&self,
ray: &Ray,
max_toi: f32,
solid: bool
) -> Option<RayIntersection>
[src]
&self,
ray: &Ray,
max_toi: f32,
solid: bool
) -> Option<RayIntersection>
pub fn cast_local_ray(
&self,
ray: &Ray,
max_toi: f32,
solid: bool
) -> Option<f32>
[src]
&self,
ray: &Ray,
max_toi: f32,
solid: bool
) -> Option<f32>
pub fn intersects_local_ray(&self, ray: &Ray, max_toi: f32) -> bool
[src]
pub fn cast_ray(
&self,
m: &Isometry<f32, U2, Unit<Complex<f32>>>,
ray: &Ray,
max_toi: f32,
solid: bool
) -> Option<f32>
[src]
&self,
m: &Isometry<f32, U2, Unit<Complex<f32>>>,
ray: &Ray,
max_toi: f32,
solid: bool
) -> Option<f32>
pub fn cast_ray_and_get_normal(
&self,
m: &Isometry<f32, U2, Unit<Complex<f32>>>,
ray: &Ray,
max_toi: f32,
solid: bool
) -> Option<RayIntersection>
[src]
&self,
m: &Isometry<f32, U2, Unit<Complex<f32>>>,
ray: &Ray,
max_toi: f32,
solid: bool
) -> Option<RayIntersection>
pub fn intersects_ray(
&self,
m: &Isometry<f32, U2, Unit<Complex<f32>>>,
ray: &Ray,
max_toi: f32
) -> bool
[src]
&self,
m: &Isometry<f32, U2, Unit<Complex<f32>>>,
ray: &Ray,
max_toi: f32
) -> bool
impl Shape for ConvexPolygon
[src]
pub fn compute_local_aabb(&self) -> AABB
[src]
pub fn compute_aabb(
&self,
position: &Isometry<f32, U2, Unit<Complex<f32>>>
) -> AABB
[src]
&self,
position: &Isometry<f32, U2, Unit<Complex<f32>>>
) -> AABB
pub fn mass_properties(&self, density: f32) -> MassProperties
[src]
pub fn is_convex(&self) -> bool
[src]
pub fn shape_type(&self) -> ShapeType
[src]
pub fn as_typed_shape(&self) -> TypedShape<'_>
[src]
pub fn ccd_thickness(&self) -> f32
[src]
pub fn as_support_map(&self) -> Option<&dyn SupportMap>
[src]
pub fn as_polygonal_feature_map(
&self
) -> Option<(&dyn PolygonalFeatureMap, f32)>
[src]
&self
) -> Option<(&dyn PolygonalFeatureMap, f32)>
pub fn as_composite_shape(&self) -> Option<&dyn SimdCompositeShape>
[src]
pub fn feature_normal_at_point(
&self,
_feature: FeatureId,
_point: &Point<f32, U2>
) -> Option<Unit<Matrix<f32, U2, U1, <DefaultAllocator as Allocator<f32, U2, U1>>::Buffer>>>
[src]
&self,
_feature: FeatureId,
_point: &Point<f32, U2>
) -> Option<Unit<Matrix<f32, U2, U1, <DefaultAllocator as Allocator<f32, U2, U1>>::Buffer>>>
impl SupportMap for ConvexPolygon
[src]
pub fn local_support_point(
&self,
dir: &Matrix<f32, U2, U1, <DefaultAllocator as Allocator<f32, U2, U1>>::Buffer>
) -> Point<f32, U2>
[src]
&self,
dir: &Matrix<f32, U2, U1, <DefaultAllocator as Allocator<f32, U2, U1>>::Buffer>
) -> Point<f32, U2>
pub fn local_support_point_toward(
&self,
dir: &Unit<Matrix<f32, U2, U1, <DefaultAllocator as Allocator<f32, U2, U1>>::Buffer>>
) -> Point<f32, U2>
[src]
&self,
dir: &Unit<Matrix<f32, U2, U1, <DefaultAllocator as Allocator<f32, U2, U1>>::Buffer>>
) -> Point<f32, U2>
pub fn support_point(
&self,
transform: &Isometry<f32, U2, Unit<Complex<f32>>>,
dir: &Matrix<f32, U2, U1, <DefaultAllocator as Allocator<f32, U2, U1>>::Buffer>
) -> Point<f32, U2>
[src]
&self,
transform: &Isometry<f32, U2, Unit<Complex<f32>>>,
dir: &Matrix<f32, U2, U1, <DefaultAllocator as Allocator<f32, U2, U1>>::Buffer>
) -> Point<f32, U2>
pub fn support_point_toward(
&self,
transform: &Isometry<f32, U2, Unit<Complex<f32>>>,
dir: &Unit<Matrix<f32, U2, U1, <DefaultAllocator as Allocator<f32, U2, U1>>::Buffer>>
) -> Point<f32, U2>
[src]
&self,
transform: &Isometry<f32, U2, Unit<Complex<f32>>>,
dir: &Unit<Matrix<f32, U2, U1, <DefaultAllocator as Allocator<f32, U2, U1>>::Buffer>>
) -> Point<f32, U2>
Auto Trait Implementations
impl RefUnwindSafe for ConvexPolygon
impl Send for ConvexPolygon
impl Sync for ConvexPolygon
impl Unpin for ConvexPolygon
impl UnwindSafe for ConvexPolygon
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
[src]
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
[src]
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
[src]
pub fn as_any(&self) -> &(dyn Any + 'static)
[src]
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
impl<T> DowncastSync for T where
T: Send + Sync + Any,
[src]
T: Send + Sync + Any,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
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]
SS: SubsetOf<SP>,
pub fn to_subset(&self) -> Option<SS>
[src]
pub fn is_in_subset(&self) -> bool
[src]
pub fn to_subset_unchecked(&self) -> SS
[src]
pub fn from_subset(element: &SS) -> SP
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
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.
pub 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.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,