pub struct RegularPolygonColliderShape(pub RegularPolygon);
Expand description
A regular polygon shape that can be stored in a SharedShape
for a regular polygon Collider
.
This wrapper is required to allow implementing the necessary traits from parry
for Bevy’s RegularPolygon
type.
Tuple Fields§
§0: RegularPolygon
Methods from Deref<Target = RegularPolygon>§
Sourcepub fn circumradius(&self) -> f32
pub fn circumradius(&self) -> f32
Get the radius of the circumcircle on which all vertices of the regular polygon lie
Sourcepub fn inradius(&self) -> f32
pub fn inradius(&self) -> f32
Get the inradius or apothem of the regular polygon. This is the radius of the largest circle that can be drawn within the polygon
Sourcepub fn side_length(&self) -> f32
pub fn side_length(&self) -> f32
Get the length of one side of the regular polygon
Sourcepub fn internal_angle_degrees(&self) -> f32
pub fn internal_angle_degrees(&self) -> f32
Get the internal angle of the regular polygon in degrees.
This is the angle formed by two adjacent sides with points within the angle being in the interior of the polygon
Sourcepub fn internal_angle_radians(&self) -> f32
pub fn internal_angle_radians(&self) -> f32
Get the internal angle of the regular polygon in radians.
This is the angle formed by two adjacent sides with points within the angle being in the interior of the polygon
Sourcepub fn external_angle_degrees(&self) -> f32
pub fn external_angle_degrees(&self) -> f32
Get the external angle of the regular polygon in degrees.
This is the angle formed by two adjacent sides with points within the angle being in the exterior of the polygon
Sourcepub fn external_angle_radians(&self) -> f32
pub fn external_angle_radians(&self) -> f32
Get the external angle of the regular polygon in radians.
This is the angle formed by two adjacent sides with points within the angle being in the exterior of the polygon
Trait Implementations§
Source§impl Clone for RegularPolygonColliderShape
impl Clone for RegularPolygonColliderShape
Source§fn clone(&self) -> RegularPolygonColliderShape
fn clone(&self) -> RegularPolygonColliderShape
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for RegularPolygonColliderShape
impl Debug for RegularPolygonColliderShape
Source§impl Deref for RegularPolygonColliderShape
impl Deref for RegularPolygonColliderShape
Source§impl PointQuery for RegularPolygonColliderShape
impl PointQuery for RegularPolygonColliderShape
Source§fn project_local_point(
&self,
pt: &Point<Scalar>,
solid: bool,
) -> PointProjection
fn project_local_point( &self, pt: &Point<Scalar>, solid: bool, ) -> PointProjection
self
. Read moreSource§fn project_local_point_and_get_feature(
&self,
pt: &Point<Scalar>,
) -> (PointProjection, FeatureId)
fn project_local_point_and_get_feature( &self, pt: &Point<Scalar>, ) -> (PointProjection, FeatureId)
self
and returns the id of the
feature the point was projected on.Source§fn project_local_point_with_max_dist(
&self,
pt: &OPoint<f32, Const<2>>,
solid: bool,
max_dist: f32,
) -> Option<PointProjection>
fn project_local_point_with_max_dist( &self, pt: &OPoint<f32, Const<2>>, solid: bool, max_dist: f32, ) -> Option<PointProjection>
self
, unless the projection lies further than the given max distance. Read moreSource§fn project_point_with_max_dist(
&self,
m: &Isometry<f32, Unit<Complex<f32>>, 2>,
pt: &OPoint<f32, Const<2>>,
solid: bool,
max_dist: f32,
) -> Option<PointProjection>
fn project_point_with_max_dist( &self, m: &Isometry<f32, Unit<Complex<f32>>, 2>, pt: &OPoint<f32, Const<2>>, solid: bool, max_dist: f32, ) -> Option<PointProjection>
self
transformed by m
, unless the projection lies further than the given max distance.Source§fn distance_to_local_point(
&self,
pt: &OPoint<f32, Const<2>>,
solid: bool,
) -> f32
fn distance_to_local_point( &self, pt: &OPoint<f32, Const<2>>, solid: bool, ) -> f32
self
.Source§fn contains_local_point(&self, pt: &OPoint<f32, Const<2>>) -> bool
fn contains_local_point(&self, pt: &OPoint<f32, Const<2>>) -> bool
self
.Source§fn project_point(
&self,
m: &Isometry<f32, Unit<Complex<f32>>, 2>,
pt: &OPoint<f32, Const<2>>,
solid: bool,
) -> PointProjection
fn project_point( &self, m: &Isometry<f32, Unit<Complex<f32>>, 2>, pt: &OPoint<f32, Const<2>>, solid: bool, ) -> PointProjection
self
transformed by m
.Source§fn distance_to_point(
&self,
m: &Isometry<f32, Unit<Complex<f32>>, 2>,
pt: &OPoint<f32, Const<2>>,
solid: bool,
) -> f32
fn distance_to_point( &self, m: &Isometry<f32, Unit<Complex<f32>>, 2>, pt: &OPoint<f32, Const<2>>, solid: bool, ) -> f32
self
transformed by m
.Source§impl PolygonalFeatureMap for RegularPolygonColliderShape
impl PolygonalFeatureMap for RegularPolygonColliderShape
Source§fn local_support_feature(
&self,
direction: &UnitVector2<Scalar>,
out_feature: &mut PolygonalFeature,
)
fn local_support_feature( &self, direction: &UnitVector2<Scalar>, out_feature: &mut PolygonalFeature, )
self
towards the dir
.Source§fn is_convex_polyhedron(&self) -> bool
fn is_convex_polyhedron(&self) -> bool
ConvexPolyhedron
?Source§impl RayCast for RegularPolygonColliderShape
impl RayCast for RegularPolygonColliderShape
Source§fn cast_local_ray_and_get_normal(
&self,
ray: &Ray,
max_toi: Scalar,
solid: bool,
) -> Option<RayIntersection>
fn cast_local_ray_and_get_normal( &self, ray: &Ray, max_toi: Scalar, solid: bool, ) -> Option<RayIntersection>
Source§fn cast_local_ray(
&self,
ray: &Ray,
max_time_of_impact: f32,
solid: bool,
) -> Option<f32>
fn cast_local_ray( &self, ray: &Ray, max_time_of_impact: f32, solid: bool, ) -> Option<f32>
Source§fn intersects_local_ray(&self, ray: &Ray, max_time_of_impact: f32) -> bool
fn intersects_local_ray(&self, ray: &Ray, max_time_of_impact: f32) -> bool
Source§fn cast_ray(
&self,
m: &Isometry<f32, Unit<Complex<f32>>, 2>,
ray: &Ray,
max_time_of_impact: f32,
solid: bool,
) -> Option<f32>
fn cast_ray( &self, m: &Isometry<f32, Unit<Complex<f32>>, 2>, ray: &Ray, max_time_of_impact: f32, solid: bool, ) -> Option<f32>
Source§impl Shape for RegularPolygonColliderShape
impl Shape for RegularPolygonColliderShape
Source§fn scale_dyn(
&self,
scale: &Vector<Scalar>,
_num_subdivisions: u32,
) -> Option<Box<dyn Shape>>
fn scale_dyn( &self, scale: &Vector<Scalar>, _num_subdivisions: u32, ) -> Option<Box<dyn Shape>>
scale
into a boxed trait-object. Read moreSource§fn compute_local_aabb(&self) -> Aabb
fn compute_local_aabb(&self) -> Aabb
Aabb
of this shape.Source§fn compute_aabb(&self, position: &Isometry<Scalar>) -> Aabb
fn compute_aabb(&self, position: &Isometry<Scalar>) -> Aabb
Aabb
of this shape with the given position.Source§fn compute_local_bounding_sphere(&self) -> BoundingSphere
fn compute_local_bounding_sphere(&self) -> BoundingSphere
Source§fn compute_bounding_sphere(&self, position: &Isometry<Scalar>) -> BoundingSphere
fn compute_bounding_sphere(&self, position: &Isometry<Scalar>) -> BoundingSphere
Source§fn clone_box(&self) -> Box<dyn Shape>
fn clone_box(&self) -> Box<dyn Shape>
clone_dyn
Source§fn mass_properties(&self, density: Scalar) -> MassProperties
fn mass_properties(&self, density: Scalar) -> MassProperties
Source§fn shape_type(&self) -> ShapeType
fn shape_type(&self) -> ShapeType
Source§fn as_typed_shape(&self) -> TypedShape<'_>
fn as_typed_shape(&self) -> TypedShape<'_>
fn ccd_thickness(&self) -> Scalar
fn ccd_angular_thickness(&self) -> Scalar
Source§fn as_support_map(&self) -> Option<&dyn SupportMap>
fn as_support_map(&self) -> Option<&dyn SupportMap>
Source§fn as_polygonal_feature_map(&self) -> Option<(&dyn PolygonalFeatureMap, Scalar)>
fn as_polygonal_feature_map(&self) -> Option<(&dyn PolygonalFeatureMap, Scalar)>
Source§fn feature_normal_at_point(
&self,
feature: FeatureId,
_point: &Point2<Scalar>,
) -> Option<UnitVector2<Scalar>>
fn feature_normal_at_point( &self, feature: FeatureId, _point: &Point2<Scalar>, ) -> Option<UnitVector2<Scalar>>
fn as_composite_shape(&self) -> Option<&dyn SimdCompositeShape>
Source§impl SupportMap for RegularPolygonColliderShape
impl SupportMap for RegularPolygonColliderShape
fn local_support_point(&self, direction: &Vector2<Scalar>) -> Point2<Scalar>
Source§fn local_support_point_toward(
&self,
dir: &Unit<Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>>,
) -> OPoint<f32, Const<2>>
fn local_support_point_toward( &self, dir: &Unit<Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>>, ) -> OPoint<f32, Const<2>>
self.local_support_point
except that dir
is normalized.fn support_point( &self, transform: &Isometry<f32, Unit<Complex<f32>>, 2>, dir: &Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, ) -> OPoint<f32, Const<2>>
impl Copy for RegularPolygonColliderShape
Auto Trait Implementations§
impl Freeze for RegularPolygonColliderShape
impl RefUnwindSafe for RegularPolygonColliderShape
impl Send for RegularPolygonColliderShape
impl Sync for RegularPolygonColliderShape
impl Unpin for RegularPolygonColliderShape
impl UnwindSafe for RegularPolygonColliderShape
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.