#include <OgreAxisAlignedBox.h>
Public Methods | |
AxisAlignedBox () | |
AxisAlignedBox (const Vector3 &min, const Vector3 &max) | |
AxisAlignedBox (Real mx, Real my, Real mz, Real Mx, Real My, Real Mz) | |
const Vector3 & | getMinimum (void) const |
Gets the minimum corner of the box. | |
const Vector3 & | getMaximum (void) const |
Gets the maximum corner of the box. | |
void | setMinimum (const Vector3 &vec) |
Sets the minimum corner of the box. | |
void | setMinimum (Real x, Real y, Real z) |
void | setMaximum (const Vector3 &vec) |
Sets the maximum corner of the box. | |
void | setMaximum (Real x, Real y, Real z) |
void | setExtents (const Vector3 &min, const Vector3 &max) |
Sets both minimum and maximum extents at once. | |
void | setExtents (Real mx, Real my, Real mz, Real Mx, Real My, Real Mz) |
const Vector3 * | getAllCorners (void) const |
Returns a pointer to an array of 8 corner points, useful for collision vs. | |
void | merge (const AxisAlignedBox &rhs) |
Merges the passed in box into the current box. | |
void | merge (const Vector3 &point) |
Extends the box to encompass the specified point (if needed). | |
void | transform (const Matrix4 &matrix) |
Transforms the box according to the matrix supplied. | |
void | setNull () |
Sets the box to a 'null' value i.e. | |
bool | isNull (void) const |
Returns true if the box is null i.e. | |
bool | intersects (const AxisAlignedBox &b2) const |
Returns whether or not this box intersects another. | |
void | scale (const Vector3 &s) |
Scales the AABB by the vector given. | |
bool | intersects (const Sphere &s) const |
Tests whether this box intersects a sphere. | |
bool | intersects (const Plane &p) const |
Tests whether this box intersects a plane. | |
bool | intersects (const Vector3 &v) const |
Tests whether the vector point is within this box. | |
Vector3 | getCenter (void) const |
Gets the centre of the box. | |
Protected Methods | |
void | updateCorners (void) |
Internal method for updating corner points. | |
Protected Attributes | |
Vector3 | mMinimum |
Vector3 | mMaximum |
bool | mNull |
Vector3 | mCorners [8] |
Friends | |
std::ostream & | operator<< (std::ostream &o, AxisAlignedBox aab) |
Definition at line 45 of file OgreAxisAlignedBox.h.
|
Definition at line 75 of file OgreAxisAlignedBox.h. |
|
Definition at line 83 of file OgreAxisAlignedBox.h. |
|
Definition at line 88 of file OgreAxisAlignedBox.h. References Ogre::Real. |
|
Returns a pointer to an array of 8 corner points, useful for collision vs. non-aligned objects.
Definition at line 195 of file OgreAxisAlignedBox.h. Referenced by Ogre::OctreeSceneManager::_addOctreeNode(), Ogre::Octree::_getCullBounds(), Ogre::Octree::_isTwiceSize(), Ogre::ParticleSystem::_updateBounds(), Ogre::ShadowCaster::extrudeBounds(), Ogre::TerrainSceneManager::getTerrainTile(), Ogre::OctreeCamera::getVisibility(), Ogre::intersect(), Ogre::PlaneBoundedVolume::intersects(), Ogre::Math::intersects(), Ogre::TerrainRenderable::intersectSegment(), and Ogre::Frustum::isVisible(). |
|
Gets the centre of the box.
Definition at line 370 of file OgreAxisAlignedBox.h. |
|
Gets the maximum corner of the box.
Definition at line 104 of file OgreAxisAlignedBox.h. Referenced by Ogre::Octree::_getChildIndexes(), Ogre::OctreeNode::_isIn(), Ogre::Mesh::_setBounds(), Ogre::ShadowCaster::extrudeBounds(), Ogre::OctreeSceneManager::getOption(), Ogre::WireBoundingBox::getSquaredViewDepth(), Ogre::OctreeSceneManager::init(), Ogre::Math::intersects(), Ogre::WireBoundingBox::setupBoundingBoxVertices(), and Ogre::MeshSerializerImpl::writeBoundsInfo(). |
|
Gets the minimum corner of the box.
Definition at line 97 of file OgreAxisAlignedBox.h. Referenced by Ogre::Octree::_getChildIndexes(), Ogre::OctreeNode::_isIn(), Ogre::Mesh::_setBounds(), Ogre::ShadowCaster::extrudeBounds(), Ogre::OctreeSceneManager::getOption(), Ogre::WireBoundingBox::getSquaredViewDepth(), Ogre::OctreeSceneManager::init(), Ogre::Math::intersects(), Ogre::WireBoundingBox::setupBoundingBoxVertices(), and Ogre::MeshSerializerImpl::writeBoundsInfo(). |
|
Tests whether the vector point is within this box.
Definition at line 363 of file OgreAxisAlignedBox.h. References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. |
|
Tests whether this box intersects a plane.
Definition at line 358 of file OgreAxisAlignedBox.h. |
|
Tests whether this box intersects a sphere.
Definition at line 353 of file OgreAxisAlignedBox.h. |
|
Returns whether or not this box intersects another.
Definition at line 317 of file OgreAxisAlignedBox.h. References isNull(), mMaximum, mMinimum, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. Referenced by Ogre::DefaultAxisAlignedBoxSceneQuery::execute(), Ogre::DefaultIntersectionSceneQuery::execute(), and Ogre::BspIntersectionSceneQuery::execute(). |
|
Returns true if the box is null i.e. empty. Definition at line 311 of file OgreAxisAlignedBox.h. Referenced by Ogre::ParticleSystem::_updateBounds(), Ogre::OctreeNode::_updateBounds(), Ogre::OctreeSceneManager::_updateOctreeNode(), Ogre::MeshSerializerImpl::exportMesh(), Ogre::OctreeCamera::getVisibility(), Ogre::PlaneBoundedVolume::intersects(), Ogre::Math::intersects(), intersects(), and Ogre::Frustum::isVisible(). |
|
Extends the box to encompass the specified point (if needed).
Definition at line 248 of file OgreAxisAlignedBox.h. References Ogre::Vector3::makeCeil(), and Ogre::Vector3::makeFloor(). |
|
Merges the passed in box into the current box. The result is the box which encompasses both. Definition at line 221 of file OgreAxisAlignedBox.h. References Ogre::Vector3::makeCeil(), Ogre::Vector3::makeFloor(), mMaximum, mMinimum, and mNull. Referenced by Ogre::SceneNode::_updateBounds(), Ogre::OctreeNode::_updateBounds(), Ogre::Entity::getBoundingBox(), Ogre::Entity::getChildObjectsBoundingBox(), and Ogre::MeshSerializerImpl_v1::readGeometry(). |
|
Scales the AABB by the vector given.
Definition at line 344 of file OgreAxisAlignedBox.h. |
|
Definition at line 155 of file OgreAxisAlignedBox.h. References Ogre::Real, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. |
|
Sets both minimum and maximum extents at once.
Definition at line 147 of file OgreAxisAlignedBox.h. Referenced by Ogre::OctreeSceneManager::_addOctreeNode(), Ogre::Mesh::_setBounds(), Ogre::ParticleSystem::_updateBounds(), Ogre::BillboardSet::_updateBounds(), Ogre::PatchSurface::defineSurface(), Ogre::ShadowCaster::extrudeBounds(), Ogre::SceneManager::findShadowCastersForLight(), Ogre::TerrainRenderable::init(), Ogre::MeshSerializerImpl_v1::readGeometry(), Ogre::Rectangle2D::setCorners(), and Ogre::Frustum::updateFrustum(). |
|
Definition at line 136 of file OgreAxisAlignedBox.h. References Ogre::Real, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. |
|
Sets the maximum corner of the box.
Definition at line 129 of file OgreAxisAlignedBox.h. Referenced by Ogre::BspLevel::loadQuake3Level(). |
|
Definition at line 118 of file OgreAxisAlignedBox.h. References Ogre::Real, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. |
|
Sets the minimum corner of the box.
Definition at line 111 of file OgreAxisAlignedBox.h. Referenced by Ogre::BspLevel::loadQuake3Level(). |
|
Sets the box to a 'null' value i.e. not a box. Definition at line 304 of file OgreAxisAlignedBox.h. Referenced by Ogre::SceneNode::_updateBounds(), Ogre::OctreeNode::_updateBounds(), Ogre::BillboardSet::_updateBounds(), Ogre::Entity::getChildObjectsBoundingBox(), and Ogre::MovableObject::MovableObject(). |
|
Transforms the box according to the matrix supplied.
Definition at line 268 of file OgreAxisAlignedBox.h. References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. Referenced by Ogre::Entity::getChildObjectsBoundingBox(), and Ogre::MovableObject::getWorldBoundingBox(). |
|
Internal method for updating corner points.
Definition at line 56 of file OgreAxisAlignedBox.h. References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. |
|
Definition at line 201 of file OgreAxisAlignedBox.h. |
|
Definition at line 52 of file OgreAxisAlignedBox.h. |
|
Definition at line 49 of file OgreAxisAlignedBox.h. Referenced by intersects(), and merge(). |
|
Definition at line 48 of file OgreAxisAlignedBox.h. Referenced by intersects(), and merge(). |
|
Definition at line 50 of file OgreAxisAlignedBox.h. Referenced by merge(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Fri May 14 23:25:52 2004