pub struct AABB {
pub min: [f64; 3],
pub max: [f64; 3],
}Expand description
A simple AABB (Axis-Aligned Bounding Box) for spatial partitioning
Fields§
§min: [f64; 3]Minimum corner of the bounding box
max: [f64; 3]Maximum corner of the bounding box
Implementations§
Source§impl AABB
impl AABB
Sourcepub fn new(min: [f64; 3], max: [f64; 3]) -> Self
pub fn new(min: [f64; 3], max: [f64; 3]) -> Self
Creates a new AABB with the given minimum and maximum corners
Sourcepub fn from_box3d(box3d: &Box3D) -> Self
pub fn from_box3d(box3d: &Box3D) -> Self
Creates an AABB from a 3D box
Sourcepub fn from_sphere(sphere: &Sphere) -> Self
pub fn from_sphere(sphere: &Sphere) -> Self
Creates an AABB from a sphere
Sourcepub fn from_box2d(box2d: &Box2D) -> Self
pub fn from_box2d(box2d: &Box2D) -> Self
Creates an AABB from a 2D box, setting z-coordinates to 0
Sourcepub fn from_circle(circle: &Circle) -> Self
pub fn from_circle(circle: &Circle) -> Self
Creates an AABB from a circle, setting z-coordinates to 0
Sourcepub fn intersects(&self, other: &AABB) -> bool
pub fn intersects(&self, other: &AABB) -> bool
Tests if this AABB intersects with another AABB
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AABB
impl RefUnwindSafe for AABB
impl Send for AABB
impl Sync for AABB
impl Unpin for AABB
impl UnwindSafe for AABB
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> 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.