Struct rapier2d::geometry::RoundShape
source · #[repr(C)]pub struct RoundShape<S> {
pub inner_shape: S,
pub border_radius: f32,
}
Expand description
A shape with rounded borders.
Fields§
§inner_shape: S
The shape being rounded.
border_radius: f32
The radius of the rounded border.
Implementations§
Trait Implementations§
source§impl<S> Clone for RoundShape<S>where
S: Clone,
impl<S> Clone for RoundShape<S>where
S: Clone,
source§fn clone(&self) -> RoundShape<S>
fn clone(&self) -> RoundShape<S>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<S> Debug for RoundShape<S>where
S: Debug,
impl<S> Debug for RoundShape<S>where
S: Debug,
source§impl<'de, S> Deserialize<'de> for RoundShape<S>where
S: Deserialize<'de>,
impl<'de, S> Deserialize<'de> for RoundShape<S>where
S: Deserialize<'de>,
source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<RoundShape<S>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<RoundShape<S>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<S> PointQuery for RoundShape<S>where
S: SupportMap,
impl<S> PointQuery for RoundShape<S>where
S: SupportMap,
source§fn project_local_point(
&self,
point: &OPoint<f32, Const<2>>,
solid: bool,
) -> PointProjection
fn project_local_point( &self, point: &OPoint<f32, Const<2>>, solid: bool, ) -> PointProjection
Projects a point on
self
. Read moresource§fn project_local_point_and_get_feature(
&self,
point: &OPoint<f32, Const<2>>,
) -> (PointProjection, FeatureId)
fn project_local_point_and_get_feature( &self, point: &OPoint<f32, Const<2>>, ) -> (PointProjection, FeatureId)
Projects a point on the boundary of
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>
Projects a point on
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>
Projects a point on
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
Computes the minimal distance between a point and
self
.source§fn contains_local_point(&self, pt: &OPoint<f32, Const<2>>) -> bool
fn contains_local_point(&self, pt: &OPoint<f32, Const<2>>) -> bool
Tests if the given point is inside of
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
Projects a point on
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
Computes the minimal distance between a point and
self
transformed by m
.source§impl<S> RayCast for RoundShape<S>where
S: SupportMap,
impl<S> RayCast for RoundShape<S>where
S: SupportMap,
source§fn cast_local_ray_and_get_normal(
&self,
ray: &Ray,
max_time_of_impact: f32,
solid: bool,
) -> Option<RayIntersection>
fn cast_local_ray_and_get_normal( &self, ray: &Ray, max_time_of_impact: f32, solid: bool, ) -> Option<RayIntersection>
Computes the time of impact, and normal between this transformed shape and a ray.
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>
Computes the time of impact between this transform shape and a ray.
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
Tests whether a ray intersects this transformed shape.
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>
Computes the time of impact between this transform shape and a ray.
source§impl<S> Serialize for RoundShape<S>where
S: Serialize,
impl<S> Serialize for RoundShape<S>where
S: Serialize,
source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
source§impl Shape for RoundShape<ConvexPolygon>
impl Shape for RoundShape<ConvexPolygon>
source§fn scale_dyn(
&self,
scale: &Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
num_subdivisions: u32,
) -> Option<Box<dyn Shape>>
fn scale_dyn( &self, scale: &Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, num_subdivisions: u32, ) -> Option<Box<dyn Shape>>
Scales this shape by
scale
into a boxed trait-object. Read moresource§fn compute_local_aabb(&self) -> Aabb
fn compute_local_aabb(&self) -> Aabb
Computes the
Aabb
of this shape.source§fn compute_local_bounding_sphere(&self) -> BoundingSphere
fn compute_local_bounding_sphere(&self) -> BoundingSphere
Computes the bounding-sphere of this shape.
source§fn compute_aabb(&self, position: &Isometry<f32, Unit<Complex<f32>>, 2>) -> Aabb
fn compute_aabb(&self, position: &Isometry<f32, Unit<Complex<f32>>, 2>) -> Aabb
Computes the
Aabb
of this shape with the given position.source§fn mass_properties(&self, density: f32) -> MassProperties
fn mass_properties(&self, density: f32) -> MassProperties
Compute the mass-properties of this shape given its uniform density.
source§fn shape_type(&self) -> ShapeType
fn shape_type(&self) -> ShapeType
Gets the type tag of this shape.
source§fn as_typed_shape(&self) -> TypedShape<'_>
fn as_typed_shape(&self) -> TypedShape<'_>
Gets the underlying shape as an enum.
fn ccd_thickness(&self) -> f32
fn ccd_angular_thickness(&self) -> f32
source§fn as_support_map(&self) -> Option<&dyn SupportMap>
fn as_support_map(&self) -> Option<&dyn SupportMap>
Converts this shape into its support mapping, if it has one.
source§fn as_polygonal_feature_map(&self) -> Option<(&dyn PolygonalFeatureMap, f32)>
fn as_polygonal_feature_map(&self) -> Option<(&dyn PolygonalFeatureMap, f32)>
Converts this shape to a polygonal feature-map, if it is one.
source§fn clone_box(&self) -> Box<dyn Shape>
fn clone_box(&self) -> Box<dyn Shape>
👎Deprecated: renamed to
clone_dyn
Clones this shape into a boxed trait-object. Read more
source§fn compute_bounding_sphere(
&self,
position: &Isometry<f32, Unit<Complex<f32>>, 2>,
) -> BoundingSphere
fn compute_bounding_sphere( &self, position: &Isometry<f32, Unit<Complex<f32>>, 2>, ) -> BoundingSphere
Computes the bounding-sphere of this shape with the given position.
fn as_composite_shape(&self) -> Option<&dyn SimdCompositeShape>
source§impl Shape for RoundShape<Cuboid>
impl Shape for RoundShape<Cuboid>
source§fn scale_dyn(
&self,
scale: &Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
num_subdivisions: u32,
) -> Option<Box<dyn Shape>>
fn scale_dyn( &self, scale: &Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, num_subdivisions: u32, ) -> Option<Box<dyn Shape>>
Scales this shape by
scale
into a boxed trait-object. Read moresource§fn compute_local_aabb(&self) -> Aabb
fn compute_local_aabb(&self) -> Aabb
Computes the
Aabb
of this shape.source§fn compute_local_bounding_sphere(&self) -> BoundingSphere
fn compute_local_bounding_sphere(&self) -> BoundingSphere
Computes the bounding-sphere of this shape.
source§fn compute_aabb(&self, position: &Isometry<f32, Unit<Complex<f32>>, 2>) -> Aabb
fn compute_aabb(&self, position: &Isometry<f32, Unit<Complex<f32>>, 2>) -> Aabb
Computes the
Aabb
of this shape with the given position.source§fn mass_properties(&self, density: f32) -> MassProperties
fn mass_properties(&self, density: f32) -> MassProperties
Compute the mass-properties of this shape given its uniform density.
source§fn shape_type(&self) -> ShapeType
fn shape_type(&self) -> ShapeType
Gets the type tag of this shape.
source§fn as_typed_shape(&self) -> TypedShape<'_>
fn as_typed_shape(&self) -> TypedShape<'_>
Gets the underlying shape as an enum.
fn ccd_thickness(&self) -> f32
fn ccd_angular_thickness(&self) -> f32
source§fn as_support_map(&self) -> Option<&dyn SupportMap>
fn as_support_map(&self) -> Option<&dyn SupportMap>
Converts this shape into its support mapping, if it has one.
source§fn as_polygonal_feature_map(&self) -> Option<(&dyn PolygonalFeatureMap, f32)>
fn as_polygonal_feature_map(&self) -> Option<(&dyn PolygonalFeatureMap, f32)>
Converts this shape to a polygonal feature-map, if it is one.
source§fn clone_box(&self) -> Box<dyn Shape>
fn clone_box(&self) -> Box<dyn Shape>
👎Deprecated: renamed to
clone_dyn
Clones this shape into a boxed trait-object. Read more
source§fn compute_bounding_sphere(
&self,
position: &Isometry<f32, Unit<Complex<f32>>, 2>,
) -> BoundingSphere
fn compute_bounding_sphere( &self, position: &Isometry<f32, Unit<Complex<f32>>, 2>, ) -> BoundingSphere
Computes the bounding-sphere of this shape with the given position.
fn as_composite_shape(&self) -> Option<&dyn SimdCompositeShape>
source§impl Shape for RoundShape<Triangle>
impl Shape for RoundShape<Triangle>
source§fn scale_dyn(
&self,
scale: &Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
num_subdivisions: u32,
) -> Option<Box<dyn Shape>>
fn scale_dyn( &self, scale: &Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, num_subdivisions: u32, ) -> Option<Box<dyn Shape>>
Scales this shape by
scale
into a boxed trait-object. Read moresource§fn compute_local_aabb(&self) -> Aabb
fn compute_local_aabb(&self) -> Aabb
Computes the
Aabb
of this shape.source§fn compute_local_bounding_sphere(&self) -> BoundingSphere
fn compute_local_bounding_sphere(&self) -> BoundingSphere
Computes the bounding-sphere of this shape.
source§fn compute_aabb(&self, position: &Isometry<f32, Unit<Complex<f32>>, 2>) -> Aabb
fn compute_aabb(&self, position: &Isometry<f32, Unit<Complex<f32>>, 2>) -> Aabb
Computes the
Aabb
of this shape with the given position.source§fn mass_properties(&self, density: f32) -> MassProperties
fn mass_properties(&self, density: f32) -> MassProperties
Compute the mass-properties of this shape given its uniform density.
source§fn shape_type(&self) -> ShapeType
fn shape_type(&self) -> ShapeType
Gets the type tag of this shape.
source§fn as_typed_shape(&self) -> TypedShape<'_>
fn as_typed_shape(&self) -> TypedShape<'_>
Gets the underlying shape as an enum.
fn ccd_thickness(&self) -> f32
fn ccd_angular_thickness(&self) -> f32
source§fn as_support_map(&self) -> Option<&dyn SupportMap>
fn as_support_map(&self) -> Option<&dyn SupportMap>
Converts this shape into its support mapping, if it has one.
source§fn as_polygonal_feature_map(&self) -> Option<(&dyn PolygonalFeatureMap, f32)>
fn as_polygonal_feature_map(&self) -> Option<(&dyn PolygonalFeatureMap, f32)>
Converts this shape to a polygonal feature-map, if it is one.
source§fn clone_box(&self) -> Box<dyn Shape>
fn clone_box(&self) -> Box<dyn Shape>
👎Deprecated: renamed to
clone_dyn
Clones this shape into a boxed trait-object. Read more
source§fn compute_bounding_sphere(
&self,
position: &Isometry<f32, Unit<Complex<f32>>, 2>,
) -> BoundingSphere
fn compute_bounding_sphere( &self, position: &Isometry<f32, Unit<Complex<f32>>, 2>, ) -> BoundingSphere
Computes the bounding-sphere of this shape with the given position.
fn as_composite_shape(&self) -> Option<&dyn SimdCompositeShape>
source§impl<S> SupportMap for RoundShape<S>where
S: SupportMap,
impl<S> SupportMap for RoundShape<S>where
S: SupportMap,
fn local_support_point( &self, dir: &Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, ) -> OPoint<f32, Const<2>>
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>>
Same as
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<S> Copy for RoundShape<S>where
S: Copy,
Auto Trait Implementations§
impl<S> Freeze for RoundShape<S>where
S: Freeze,
impl<S> RefUnwindSafe for RoundShape<S>where
S: RefUnwindSafe,
impl<S> Send for RoundShape<S>where
S: Send,
impl<S> Sync for RoundShape<S>where
S: Sync,
impl<S> Unpin for RoundShape<S>where
S: Unpin,
impl<S> UnwindSafe for RoundShape<S>where
S: UnwindSafe,
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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>
Convert
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>
Convert
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)
Convert
&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)
Convert
&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> 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>
Converts
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>
Converts
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>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read moresource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.