Struct parry3d::bounding_volume::BoundingSphere
source · #[repr(C)]pub struct BoundingSphere {
pub center: Point<Real>,
pub radius: Real,
}
Expand description
A Bounding Sphere.
Fields§
§center: Point<Real>
§radius: Real
Implementations§
source§impl BoundingSphere
impl BoundingSphere
sourcepub fn transform_by(&self, m: &Isometry<Real>) -> BoundingSphere
pub fn transform_by(&self, m: &Isometry<Real>) -> BoundingSphere
Transforms this bounding sphere by m
.
Trait Implementations§
source§impl BoundingVolume for BoundingSphere
impl BoundingVolume for BoundingSphere
source§fn center(&self) -> Point<Real>
fn center(&self) -> Point<Real>
Returns a point inside of this bounding volume. This is ideally its center.
source§fn intersects(&self, other: &BoundingSphere) -> bool
fn intersects(&self, other: &BoundingSphere) -> bool
Checks if this bounding volume intersect with another one.
source§fn contains(&self, other: &BoundingSphere) -> bool
fn contains(&self, other: &BoundingSphere) -> bool
Checks if this bounding volume contains another one.
source§fn merge(&mut self, other: &BoundingSphere)
fn merge(&mut self, other: &BoundingSphere)
Merges this bounding volume with another one. The merge is done in-place.
source§fn merged(&self, other: &BoundingSphere) -> BoundingSphere
fn merged(&self, other: &BoundingSphere) -> BoundingSphere
Merges this bounding volume with another one.
source§fn loosened(&self, amount: Real) -> BoundingSphere
fn loosened(&self, amount: Real) -> BoundingSphere
Creates a new, enlarged version, of this bounding volume.
source§fn tightened(&self, amount: Real) -> BoundingSphere
fn tightened(&self, amount: Real) -> BoundingSphere
Creates a new, tightened version, of this bounding volume.
source§impl Clone for BoundingSphere
impl Clone for BoundingSphere
source§fn clone(&self) -> BoundingSphere
fn clone(&self) -> BoundingSphere
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 Debug for BoundingSphere
impl Debug for BoundingSphere
source§impl PartialEq for BoundingSphere
impl PartialEq for BoundingSphere
source§fn eq(&self, other: &BoundingSphere) -> bool
fn eq(&self, other: &BoundingSphere) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PointQuery for BoundingSphere
impl PointQuery for BoundingSphere
source§fn project_local_point(&self, pt: &Point<Real>, solid: bool) -> PointProjection
fn project_local_point(&self, pt: &Point<Real>, solid: bool) -> PointProjection
Projects a point on
self
. Read moresource§fn project_local_point_and_get_feature(
&self,
pt: &Point<Real>
) -> (PointProjection, FeatureId)
fn project_local_point_and_get_feature( &self, pt: &Point<Real> ) -> (PointProjection, FeatureId)
Projects a point on the boundary of
self
and returns the id of the
feature the point was projected on.source§fn distance_to_local_point(&self, pt: &Point<Real>, solid: bool) -> Real
fn distance_to_local_point(&self, pt: &Point<Real>, solid: bool) -> Real
Computes the minimal distance between a point and
self
.source§fn contains_local_point(&self, pt: &Point<Real>) -> bool
fn contains_local_point(&self, pt: &Point<Real>) -> bool
Tests if the given point is inside of
self
.source§fn project_local_point_with_max_dist(
&self,
pt: &Point<Real>,
solid: bool,
max_dist: Real
) -> Option<PointProjection>
fn project_local_point_with_max_dist( &self, pt: &Point<Real>, solid: bool, max_dist: Real ) -> 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<Real>,
pt: &Point<Real>,
solid: bool,
max_dist: Real
) -> Option<PointProjection>
fn project_point_with_max_dist( &self, m: &Isometry<Real>, pt: &Point<Real>, solid: bool, max_dist: Real ) -> Option<PointProjection>
Projects a point on
self
transformed by m
, unless the projection lies further than the given max distance.source§fn project_point(
&self,
m: &Isometry<Real>,
pt: &Point<Real>,
solid: bool
) -> PointProjection
fn project_point( &self, m: &Isometry<Real>, pt: &Point<Real>, solid: bool ) -> PointProjection
Projects a point on
self
transformed by m
.source§fn distance_to_point(
&self,
m: &Isometry<Real>,
pt: &Point<Real>,
solid: bool
) -> Real
fn distance_to_point( &self, m: &Isometry<Real>, pt: &Point<Real>, solid: bool ) -> Real
Computes the minimal distance between a point and
self
transformed by m
.source§fn project_point_and_get_feature(
&self,
m: &Isometry<Real>,
pt: &Point<Real>
) -> (PointProjection, FeatureId)
fn project_point_and_get_feature( &self, m: &Isometry<Real>, pt: &Point<Real> ) -> (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 RayCast for BoundingSphere
impl RayCast for BoundingSphere
source§fn cast_local_ray(
&self,
ray: &Ray,
max_time_of_impact: Real,
solid: bool
) -> Option<Real>
fn cast_local_ray( &self, ray: &Ray, max_time_of_impact: Real, solid: bool ) -> Option<Real>
Computes the time of impact between this transform shape and a ray.
source§fn cast_local_ray_and_get_normal(
&self,
ray: &Ray,
max_time_of_impact: Real,
solid: bool
) -> Option<RayIntersection>
fn cast_local_ray_and_get_normal( &self, ray: &Ray, max_time_of_impact: Real, solid: bool ) -> Option<RayIntersection>
Computes the time of impact, and normal between this transformed shape and a ray.
source§fn intersects_local_ray(&self, ray: &Ray, max_time_of_impact: Real) -> bool
fn intersects_local_ray(&self, ray: &Ray, max_time_of_impact: Real) -> bool
Tests whether a ray intersects this transformed shape.
source§fn cast_ray(
&self,
m: &Isometry<Real>,
ray: &Ray,
max_time_of_impact: Real,
solid: bool
) -> Option<Real>
fn cast_ray( &self, m: &Isometry<Real>, ray: &Ray, max_time_of_impact: Real, solid: bool ) -> Option<Real>
Computes the time of impact between this transform shape and a ray.
source§fn cast_ray_and_get_normal(
&self,
m: &Isometry<Real>,
ray: &Ray,
max_time_of_impact: Real,
solid: bool
) -> Option<RayIntersection>
fn cast_ray_and_get_normal( &self, m: &Isometry<Real>, ray: &Ray, max_time_of_impact: Real, solid: bool ) -> Option<RayIntersection>
Computes the time of impact, and normal between this transformed shape and a ray.
impl Copy for BoundingSphere
impl StructuralPartialEq for BoundingSphere
Auto Trait Implementations§
impl Freeze for BoundingSphere
impl RefUnwindSafe for BoundingSphere
impl Send for BoundingSphere
impl Sync for BoundingSphere
impl Unpin for BoundingSphere
impl UnwindSafe for BoundingSphere
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> 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<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.