ncollide3d::bounding_volume

Trait BoundingVolume

Source
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§

Source

fn center(&self) -> Point<N>

Returns a point inside of this bounding volume. This is ideally its center.

Source

fn intersects(&self, _: &Self) -> bool

Checks if this bounding volume intersect with another one.

Source

fn contains(&self, _: &Self) -> bool

Checks if this bounding volume contains another one.

Source

fn merge(&mut self, _: &Self)

Merges this bounding volume with another one. The merge is done in-place.

Source

fn merged(&self, _: &Self) -> Self

Merges this bounding volume with another one.

Source

fn loosen(&mut self, _: N)

Enlarges this bounding volume.

Source

fn loosened(&self, _: N) -> Self

Creates a new, enlarged version, of this bounding volume.

Source

fn tighten(&mut self, _: N)

Tighten this bounding volume.

Source

fn tightened(&self, _: N) -> Self

Creates a new, tightened version, of this bounding volume.

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.

Implementors§