pub struct Sphere { /* private fields */ }Expand description
A sphere shape centered at the origin.
The sphere is defined by its radius and is commonly used for simple collision detection and physics calculations. The sphere is centered at the origin (0, 0, 0).
§Examples
use phys_geom::shape::Sphere;
// Create a sphere with radius 1.0
let sphere = Sphere::new(1.0);
assert_eq!(sphere.radius(), 1.0);
// Use the predefined unit sphere
let unit_sphere = Sphere::UNIT;
assert_eq!(unit_sphere.radius(), 0.5);§Panics
Sphere::new()panics if the radius is not positiveSphere::set_radius()panics if the new radius is not positive
Implementations§
Source§impl Sphere
impl Sphere
Sourcepub const UNIT: Sphere
pub const UNIT: Sphere
A unit sphere with radius 0.5.
This is useful as a reference size for normalized shapes.
Sourcepub fn new(radius: Real) -> Sphere
pub fn new(radius: Real) -> Sphere
Creates a new sphere with the given radius.
§Arguments
radius- The radius of the sphere (must be positive)
§Returns
A new Sphere instance with the specified radius.
§Panics
Panics if radius is not positive.
§Examples
use phys_geom::shape::Sphere;
let sphere = Sphere::new(2.5);
assert_eq!(sphere.radius(), 2.5);Sourcepub fn set_radius(&mut self, value: Real)
pub fn set_radius(&mut self, value: Real)
Trait Implementations§
Source§impl ComputeAabb3 for Sphere
impl ComputeAabb3 for Sphere
Source§fn compute_aabb(&self) -> Aabb3
fn compute_aabb(&self) -> Aabb3
Compute the AABB in local space.
Source§impl ComputeVolume for Sphere
impl ComputeVolume for Sphere
Source§fn compute_volume(&self) -> Real
fn compute_volume(&self) -> Real
Computes the volume of this shape. Read more
Source§impl<'de> Deserialize<'de> for Sphere
impl<'de> Deserialize<'de> for Sphere
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for Sphere
impl StructuralPartialEq for Sphere
Auto Trait Implementations§
impl Freeze for Sphere
impl RefUnwindSafe for Sphere
impl Send for Sphere
impl Sync for Sphere
impl Unpin for Sphere
impl UnwindSafe for Sphere
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<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.