bl7::geometry2::AABB Class Reference

#include <AABB.h>

Inheritance diagram for bl7::geometry2::AABB:
bl7::geometry2::Box bl7::geometry2::BoundingVolume bl7::geometry2::Geometry

List of all members.

Public Member Functions

 AABB (void)
 ~AABB (void)
 AABB (const AABB &rhs)
AABBoperator= (const AABB &rhs)
 AABB (const ml7::Vector2 &center, const ml7::Vector2 &half_width)
ml7::Vector2 get_min () const
ml7::Vector2 get_max () const
bool overlaps (const AABB &aabb) const
bool overlaps (const BoundingSphere &bs) const
bool contains (const ml7::Vector2 &v) const
bool contains (const AABB &aabb) const
bool contains (const BoundingSphere &bs) const
BoundingVolumeinclude (const ml7::Vector2 &v)
BoundingVolumeinclude (const AABB &aabb)
BoundingVolumeinclude (const BoundingSphere &bs)

Detailed Description

An axis-aligned bounding box (AABB) is a non-rotatable rectangle always aligned to the axis. It is defined by a center point and a half-width vector representing the extent of each of the axes. Its main purpose is to encapsulate another geometry object, preferably a rotatable one of higher complexity.


Constructor & Destructor Documentation

bl7::geometry2::AABB::AABB ( void   )  [inline]

Default constructor.

bl7::geometry2::AABB::~AABB ( void   )  [inline]

Destructor.

bl7::geometry2::AABB::AABB ( const AABB rhs  )  [inline]

Copy constructor.

bl7::geometry2::AABB::AABB ( const ml7::Vector2 center,
const ml7::Vector2 half_width 
) [inline]

Explicit constructor: box from center point and the half-width vector.


Member Function Documentation

bool bl7::geometry2::AABB::contains ( const BoundingSphere bs  )  const [virtual]

Checks whether this AABB contains a given bounding sphere.

Implements bl7::geometry2::BoundingVolume.

bool bl7::geometry2::AABB::contains ( const AABB aabb  )  const

Checks whether this AABB contains another given AABB.

bool bl7::geometry2::AABB::contains ( const ml7::Vector2 v  )  const [virtual]

Checks whether this AABB contains a given point.

Implements bl7::geometry2::BoundingVolume.

ml7::Vector2 bl7::geometry2::AABB::get_max (  )  const [inline]

Returns the maximum components of each axes (the AABB should be normalized).

ml7::Vector2 bl7::geometry2::AABB::get_min (  )  const [inline]

Returns the minimum components of each axes (the AABB should be normalized).

BoundingVolume & bl7::geometry2::AABB::include ( const BoundingSphere bs  )  [virtual]

Updates this AABB so that it contains a given bounding sphere.

Implements bl7::geometry2::BoundingVolume.

BoundingVolume & bl7::geometry2::AABB::include ( const AABB aabb  ) 

Updates this AABB so that it contains another given AABB.

BoundingVolume & bl7::geometry2::AABB::include ( const ml7::Vector2 v  )  [virtual]

Updates this AABB so that it contains a given point.

Implements bl7::geometry2::BoundingVolume.

AABB& bl7::geometry2::AABB::operator= ( const AABB rhs  )  [inline]

Copy assignment operator.

Reimplemented from bl7::geometry2::Box.

bool bl7::geometry2::AABB::overlaps ( const BoundingSphere bs  )  const [virtual]

Checks whether a given bounding sphere and this AABB overlap.

Implements bl7::geometry2::BoundingVolume.

bool bl7::geometry2::AABB::overlaps ( const AABB aabb  )  const

Checks whether a given AABB and this overlap.


The documentation for this class was generated from the following files:

Generated on Tue Dec 1 13:21:10 2009 for flange77: Cyber E-Razor rockt die Galaxis by  doxygen 1.6.1