pub trait BoundingVolume<N: RealField + Copy>: Debug {
// Required methods
fn center(&self) -> Point<N>;
fn intersects(&self, _: &Self) -> bool;
fn contains(&self, _: &Self) -> bool;
fn merge(&mut self, _: &Self);
fn merged(&self, _: &Self) -> Self;
fn loosen(&mut self, _: N);
fn loosened(&self, _: N) -> Self;
fn tighten(&mut self, _: N);
fn tightened(&self, _: N) -> Self;
}
Expand description
Trait of bounding volumes.
Bounding volumes are coarse approximations of shapes. It usually have constant time intersection, inclusion test. Two bounding volume must also be mergeable into a bigger bounding volume.
Required Methods§
Sourcefn center(&self) -> Point<N>
fn center(&self) -> Point<N>
Returns a point inside of this bounding volume. This is ideally its center.
Sourcefn intersects(&self, _: &Self) -> bool
fn intersects(&self, _: &Self) -> bool
Checks if this bounding volume intersect with another one.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.