#[repr(C)]pub struct RoundShape<S> {
pub inner_shape: S,
pub border_radius: f64,
}Expand description
A shape with rounded borders.
Fields§
§inner_shape: SThe shape being rounded.
border_radius: f64The radius of the rounded border.
Implementations§
Trait Implementations§
Source§impl<S: Clone> Clone for RoundShape<S>
impl<S: Clone> Clone for RoundShape<S>
Source§fn clone(&self) -> RoundShape<S>
fn clone(&self) -> RoundShape<S>
Returns a duplicate 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> Debug for RoundShape<S>
impl<S: Debug> Debug for RoundShape<S>
Source§impl<S: SupportMap> PointQuery for RoundShape<S>
impl<S: SupportMap> PointQuery for RoundShape<S>
Source§fn project_local_point(
&self,
point: &Point<f64>,
solid: bool,
) -> PointProjection
fn project_local_point( &self, point: &Point<f64>, solid: bool, ) -> PointProjection
Projects a point on
self. Read moreSource§fn project_local_point_and_get_feature(
&self,
point: &Point<f64>,
) -> (PointProjection, FeatureId)
fn project_local_point_and_get_feature( &self, point: &Point<f64>, ) -> (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: &Point<f64>,
solid: bool,
max_dist: f64,
) -> Option<PointProjection>
fn project_local_point_with_max_dist( &self, pt: &Point<f64>, solid: bool, max_dist: f64, ) -> 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<f64>,
pt: &Point<f64>,
solid: bool,
max_dist: f64,
) -> Option<PointProjection>
fn project_point_with_max_dist( &self, m: &Isometry<f64>, pt: &Point<f64>, solid: bool, max_dist: f64, ) -> 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: &Point<f64>, solid: bool) -> f64
fn distance_to_local_point(&self, pt: &Point<f64>, solid: bool) -> f64
Computes the minimal distance between a point and
self.Source§fn contains_local_point(&self, pt: &Point<f64>) -> bool
fn contains_local_point(&self, pt: &Point<f64>) -> bool
Tests if the given point is inside of
self.Source§fn project_point(
&self,
m: &Isometry<f64>,
pt: &Point<f64>,
solid: bool,
) -> PointProjection
fn project_point( &self, m: &Isometry<f64>, pt: &Point<f64>, solid: bool, ) -> PointProjection
Projects a point on
self transformed by m.Source§fn distance_to_point(
&self,
m: &Isometry<f64>,
pt: &Point<f64>,
solid: bool,
) -> f64
fn distance_to_point( &self, m: &Isometry<f64>, pt: &Point<f64>, solid: bool, ) -> f64
Computes the minimal distance between a point and
self transformed by m.Source§fn project_point_and_get_feature(
&self,
m: &Isometry<f64>,
pt: &Point<f64>,
) -> (PointProjection, FeatureId)
fn project_point_and_get_feature( &self, m: &Isometry<f64>, pt: &Point<f64>, ) -> (PointProjection, FeatureId)
Projects a point on the boundary of
self transformed by m and returns the id of the
feature the point was projected on.Source§impl<S: SupportMap> RayCast for RoundShape<S>
impl<S: SupportMap> RayCast for RoundShape<S>
Source§fn cast_local_ray_and_get_normal(
&self,
ray: &Ray,
max_time_of_impact: f64,
solid: bool,
) -> Option<RayIntersection>
fn cast_local_ray_and_get_normal( &self, ray: &Ray, max_time_of_impact: f64, 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: f64,
solid: bool,
) -> Option<f64>
fn cast_local_ray( &self, ray: &Ray, max_time_of_impact: f64, solid: bool, ) -> Option<f64>
Computes the time of impact between this transform shape and a ray.
Source§fn intersects_local_ray(&self, ray: &Ray, max_time_of_impact: f64) -> bool
fn intersects_local_ray(&self, ray: &Ray, max_time_of_impact: f64) -> bool
Tests whether a ray intersects this transformed shape.
Source§fn cast_ray(
&self,
m: &Isometry<f64>,
ray: &Ray,
max_time_of_impact: f64,
solid: bool,
) -> Option<f64>
fn cast_ray( &self, m: &Isometry<f64>, ray: &Ray, max_time_of_impact: f64, solid: bool, ) -> Option<f64>
Computes the time of impact between this transform shape and a ray.
Source§fn cast_ray_and_get_normal(
&self,
m: &Isometry<f64>,
ray: &Ray,
max_time_of_impact: f64,
solid: bool,
) -> Option<RayIntersection>
fn cast_ray_and_get_normal( &self, m: &Isometry<f64>, ray: &Ray, max_time_of_impact: f64, solid: bool, ) -> Option<RayIntersection>
Computes the time of impact, and normal between this transformed shape and a ray.
Source§impl Shape for RoundShape<Cone>
impl Shape for RoundShape<Cone>
Source§fn scale_dyn(
&self,
scale: &Vector<f64>,
num_subdivisions: u32,
) -> Option<Box<dyn Shape>>
fn scale_dyn( &self, scale: &Vector<f64>, 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<f64>) -> Aabb
fn compute_aabb(&self, position: &Isometry<f64>) -> Aabb
Computes the
Aabb of this shape with the given position.Source§fn mass_properties(&self, density: f64) -> MassProperties
fn mass_properties(&self, density: f64) -> 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) -> f64
fn ccd_angular_thickness(&self) -> f64
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, f64)>
fn as_polygonal_feature_map(&self) -> Option<(&dyn PolygonalFeatureMap, f64)>
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<f64>) -> BoundingSphere
fn compute_bounding_sphere(&self, position: &Isometry<f64>) -> BoundingSphere
Computes the bounding-sphere of this shape with the given position.
fn as_composite_shape(&self) -> Option<&dyn CompositeShape>
Source§impl Shape for RoundShape<ConvexPolyhedron>
impl Shape for RoundShape<ConvexPolyhedron>
Source§fn scale_dyn(
&self,
scale: &Vector<f64>,
num_subdivisions: u32,
) -> Option<Box<dyn Shape>>
fn scale_dyn( &self, scale: &Vector<f64>, 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<f64>) -> Aabb
fn compute_aabb(&self, position: &Isometry<f64>) -> Aabb
Computes the
Aabb of this shape with the given position.Source§fn mass_properties(&self, density: f64) -> MassProperties
fn mass_properties(&self, density: f64) -> 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) -> f64
fn ccd_angular_thickness(&self) -> f64
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, f64)>
fn as_polygonal_feature_map(&self) -> Option<(&dyn PolygonalFeatureMap, f64)>
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<f64>) -> BoundingSphere
fn compute_bounding_sphere(&self, position: &Isometry<f64>) -> BoundingSphere
Computes the bounding-sphere of this shape with the given position.
fn as_composite_shape(&self) -> Option<&dyn CompositeShape>
Source§impl Shape for RoundShape<Cuboid>
impl Shape for RoundShape<Cuboid>
Source§fn scale_dyn(
&self,
scale: &Vector<f64>,
num_subdivisions: u32,
) -> Option<Box<dyn Shape>>
fn scale_dyn( &self, scale: &Vector<f64>, 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<f64>) -> Aabb
fn compute_aabb(&self, position: &Isometry<f64>) -> Aabb
Computes the
Aabb of this shape with the given position.Source§fn mass_properties(&self, density: f64) -> MassProperties
fn mass_properties(&self, density: f64) -> 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) -> f64
fn ccd_angular_thickness(&self) -> f64
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, f64)>
fn as_polygonal_feature_map(&self) -> Option<(&dyn PolygonalFeatureMap, f64)>
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<f64>) -> BoundingSphere
fn compute_bounding_sphere(&self, position: &Isometry<f64>) -> BoundingSphere
Computes the bounding-sphere of this shape with the given position.
fn as_composite_shape(&self) -> Option<&dyn CompositeShape>
Source§impl Shape for RoundShape<Cylinder>
impl Shape for RoundShape<Cylinder>
Source§fn scale_dyn(
&self,
scale: &Vector<f64>,
num_subdivisions: u32,
) -> Option<Box<dyn Shape>>
fn scale_dyn( &self, scale: &Vector<f64>, 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<f64>) -> Aabb
fn compute_aabb(&self, position: &Isometry<f64>) -> Aabb
Computes the
Aabb of this shape with the given position.Source§fn mass_properties(&self, density: f64) -> MassProperties
fn mass_properties(&self, density: f64) -> 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) -> f64
fn ccd_angular_thickness(&self) -> f64
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, f64)>
fn as_polygonal_feature_map(&self) -> Option<(&dyn PolygonalFeatureMap, f64)>
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<f64>) -> BoundingSphere
fn compute_bounding_sphere(&self, position: &Isometry<f64>) -> BoundingSphere
Computes the bounding-sphere of this shape with the given position.
fn as_composite_shape(&self) -> Option<&dyn CompositeShape>
Source§impl Shape for RoundShape<Triangle>
impl Shape for RoundShape<Triangle>
Source§fn scale_dyn(
&self,
scale: &Vector<f64>,
num_subdivisions: u32,
) -> Option<Box<dyn Shape>>
fn scale_dyn( &self, scale: &Vector<f64>, 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<f64>) -> Aabb
fn compute_aabb(&self, position: &Isometry<f64>) -> Aabb
Computes the
Aabb of this shape with the given position.Source§fn mass_properties(&self, density: f64) -> MassProperties
fn mass_properties(&self, density: f64) -> 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) -> f64
fn ccd_angular_thickness(&self) -> f64
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, f64)>
fn as_polygonal_feature_map(&self) -> Option<(&dyn PolygonalFeatureMap, f64)>
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<f64>) -> BoundingSphere
fn compute_bounding_sphere(&self, position: &Isometry<f64>) -> BoundingSphere
Computes the bounding-sphere of this shape with the given position.
fn as_composite_shape(&self) -> Option<&dyn CompositeShape>
Source§impl<S: SupportMap> SupportMap for RoundShape<S>
impl<S: SupportMap> SupportMap for RoundShape<S>
fn local_support_point(&self, dir: &Vector<f64>) -> Point<f64>
Source§fn local_support_point_toward(&self, dir: &Unit<Vector<f64>>) -> Point<f64>
fn local_support_point_toward(&self, dir: &Unit<Vector<f64>>) -> Point<f64>
Same as
self.local_support_point except that dir is normalized.fn support_point( &self, transform: &Isometry<f64>, dir: &Vector<f64>, ) -> Point<f64>
impl<S: Copy> Copy for RoundShape<S>
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> UnsafeUnpin for RoundShape<S>where
S: UnsafeUnpin,
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§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>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn 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>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which 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)
Converts
&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)
Converts
&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> DowncastSend for T
impl<T> DowncastSend for T
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<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.