Struct ncollide3d::bounding_volume::AABB[][src]

pub struct AABB<N: RealField> {
    pub mins: Point<N>,
    pub maxs: Point<N>,
}

An Axis Aligned Bounding Box.

Fields

mins: Point<N>maxs: Point<N>

Implementations

impl<N: RealField> AABB<N>[src]

pub fn new(mins: Point<N>, maxs: Point<N>) -> AABB<N>[src]

Creates a new AABB.

Arguments:

  • mins - position of the point with the smallest coordinates.
  • maxs - position of the point with the highest coordinates. Each component of mins must be smaller than the related components of maxs.

pub fn new_invalid() -> Self[src]

Creates an invalid AABB with mins components set to N::max_values and maxscomponents set to -N::max_values.

This is often used as the initial values of some AABB merging algorithms.

pub fn from_half_extents(center: Point<N>, half_extents: Vector<N>) -> Self[src]

Creates a new AABB from its center and its half-extents.

pub fn from_points<'a, I>(pts: I) -> Self where
    I: IntoIterator<Item = &'a Point<N>>, 
[src]

Creates a new AABB from a set of points.

pub fn mins(&self) -> &Point<N>[src]

👎 Deprecated:

use the .mins public field instead.

Reference to the AABB point with the smallest components along each axis.

pub fn maxs(&self) -> &Point<N>[src]

👎 Deprecated:

use the .maxs public field instead.

Reference to the AABB point with the biggest components along each axis.

pub fn center(&self) -> Point<N>[src]

The center of this AABB.

pub fn half_extents(&self) -> Vector<N>[src]

The half extents of this AABB.

pub fn extents(&self) -> Vector<N>[src]

The extents of this AABB.

pub fn take_point(&mut self, pt: Point<N>)[src]

Enlarges this AABB so it also contains the point pt.

pub fn transform_by(&self, m: &Isometry<N>) -> Self[src]

Computes the AABB bounding self transformed by m.

pub fn bounding_sphere(&self) -> BoundingSphere<N>[src]

The smallest bounding sphere containing this AABB.

pub fn contains_local_point(&self, point: &Point<N>) -> bool[src]

impl<N: RealField> AABB<N>[src]

pub fn clip_line_parameters(
    &self,
    orig: &Point<N>,
    dir: &Vector<N>
) -> Option<(N, N)>
[src]

Computes the parameters of the two intersection points between a line and this AABB.

The parameters are such that the point are given by orig + dir * parameter. Returns None if there is no intersection.

pub fn clip_line(&self, orig: &Point<N>, dir: &Vector<N>) -> Option<Segment<N>>[src]

Computes the intersection segment between a line and this AABB.

Returns None if there is no intersection.

pub fn clip_ray_parameters(&self, ray: &Ray<N>) -> Option<(N, N)>[src]

Computes the parameters of the two intersection points between a ray and this AABB.

The parameters are such that the point are given by ray.orig + ray.dir * parameter. Returns None if there is no intersection.

pub fn clip_ray(&self, ray: &Ray<N>) -> Option<Segment<N>>[src]

Computes the intersection segment between a ray and this AABB.

Returns None if there is no intersection.

Trait Implementations

impl<'a, N: RealField, S: CompositeShape<N> + PointQuery<N>> BestFirstVisitor<N, usize, AABB<N>> for CompositeClosestPointVisitor<'a, N, S>[src]

type Result = PointProjection<N>

The result of a best-first traversal.

impl<N: RealField> BoundingVolume<N> for AABB<N>[src]

impl<N: Clone + RealField> Clone for AABB<N>[src]

impl<N: Debug + RealField> Debug for AABB<N>[src]

impl<N: RealField> HasBoundingVolume<N, AABB<N>> for Ball<N>[src]

impl<N: RealField> HasBoundingVolume<N, AABB<N>> for Compound<N>[src]

impl<N: RealField> HasBoundingVolume<N, AABB<N>> for Capsule<N>[src]

impl<N: RealField> HasBoundingVolume<N, AABB<N>> for Segment<N>[src]

impl<N: RealField> HasBoundingVolume<N, AABB<N>> for Triangle<N>[src]

impl<N: RealField> HasBoundingVolume<N, AABB<N>> for TriMesh<N>[src]

impl<N: RealField> HasBoundingVolume<N, AABB<N>> for ConvexHull<N>[src]

impl<N: RealField> HasBoundingVolume<N, AABB<N>> for Cuboid<N>[src]

impl<N: RealField> HasBoundingVolume<N, AABB<N>> for HeightField<N>[src]

impl<N: RealField> HasBoundingVolume<N, AABB<N>> for Plane<N>[src]

impl<N: RealField> HasBoundingVolume<N, AABB<N>> for Polyline<N>[src]

impl<N: RealField> HasBoundingVolume<N, AABB<N>> for dyn Shape<N>[src]

impl<N: RealField> HasBoundingVolume<N, AABB<N>> for Cone<N>[src]

impl<N: RealField> HasBoundingVolume<N, AABB<N>> for Cylinder<N>[src]

impl<N: PartialEq + RealField> PartialEq<AABB<N>> for AABB<N>[src]

impl<N: RealField> PointQuery<N> for AABB<N>[src]

impl<N: RealField> RayCast<N> for AABB<N>[src]

impl<'a, N: RealField, T: Clone> SimultaneousVisitor<T, AABB<N>> for AABBSetsInterferencesCollector<'a, N, T>[src]

impl<N: Copy + RealField> Copy for AABB<N>[src]

impl<N: RealField> StructuralPartialEq for AABB<N>[src]

Auto Trait Implementations

impl<N> RefUnwindSafe for AABB<N> where
    N: RefUnwindSafe

impl<N> Send for AABB<N>

impl<N> Sync for AABB<N>

impl<N> Unpin for AABB<N> where
    N: Unpin

impl<N> UnwindSafe for AABB<N> where
    N: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Downcast for T where
    T: Any
[src]

impl<T> DowncastSync for T where
    T: Any + Send + Sync
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> Scalar for T where
    T: Copy + PartialEq<T> + Debug + Any
[src]

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]

impl<T> Slottable for T where
    T: Copy
[src]