Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

sheep::AABB3 Class Reference

#include <aabb3.h>

List of all members.

Public Member Functions

 AABB3 ()
 Invalidates the AABB.

 AABB3 (const AABB3 &aabb)
 AABB3 (const Point3 &min, const Point3 &max)
void Invalidate ()
bool IsValid () const
void Include (const Point3 &point)
void Include (const AABB3 &aabb)
void Include (const BS &bs)
void Intersect (const AABB3 &aabb)
bool Overlaps (const AABB3 &aabb) const
bool Contains (const Point3 &point) const
Point3 GetCenter () const
Vector3 GetSize () const
 Returns bounding box dimensions (m_max - m_min).

void Scale (const Vector3 &scale)
void Extend (const Vector3 &ext)
AABB3 Transform (const Matrix4 &m) const

Static Public Member Functions

AABB3 Biggest ()
 Returns the largest possible bounding box.


Public Attributes

Point3 m_min
Point3 m_max


Constructor & Destructor Documentation

AABB3::AABB3  )  [inline]
 

Invalidates the AABB.

Definition at line 103 of file aabb3.h.

AABB3::AABB3 const AABB3 aabb  )  [inline]
 

Definition at line 108 of file aabb3.h.

AABB3::AABB3 const Point3 min,
const Point3 max
[inline]
 

Definition at line 113 of file aabb3.h.


Member Function Documentation

AABB3 AABB3::Biggest  )  [inline, static]
 

Returns the largest possible bounding box.

Definition at line 118 of file aabb3.h.

bool AABB3::Contains const Point3 point  )  const [inline]
 

Definition at line 181 of file aabb3.h.

void AABB3::Extend const Vector3 ext  )  [inline]
 

Offsets the box corners outward by a given amount on each axis, without affecting the box center.

Definition at line 216 of file aabb3.h.

Referenced by toxic::Cube::Cube(), toxic::DummyObject::DummyObject(), toxic::Mesh::Finalize(), toxic::Ring::Ring(), toxic::Sphere::Sphere(), and toxic::Square::Square().

Point3 AABB3::GetCenter  )  const [inline]
 

Definition at line 192 of file aabb3.h.

Referenced by toxic::Mesh::triangle_voxel_intersector::Intersect().

Vector3 AABB3::GetSize  )  const [inline]
 

Returns bounding box dimensions (m_max - m_min).

Definition at line 197 of file aabb3.h.

void AABB3::Include const BS bs  ) 
 

Definition at line 31 of file aabb3.cpp.

void AABB3::Include const AABB3 aabb  )  [inline]
 

Definition at line 150 of file aabb3.h.

void AABB3::Include const Point3 point  )  [inline]
 

Definition at line 140 of file aabb3.h.

Referenced by toxic::Octree::Finalize(), toxic::Mesh::Finalize(), sheep::GLMesh::Insert(), and Transform().

void AABB3::Intersect const AABB3 aabb  )  [inline]
 

Warning, calling the Intersect() method may result in an invalid bounding box.

Definition at line 160 of file aabb3.h.

void AABB3::Invalidate  )  [inline]
 

Definition at line 126 of file aabb3.h.

Referenced by toxic::Octree::Finalize(), and toxic::Mesh::Finalize().

bool AABB3::IsValid  )  const [inline]
 

Definition at line 132 of file aabb3.h.

bool AABB3::Overlaps const AABB3 aabb  )  const [inline]
 

Definition at line 170 of file aabb3.h.

Referenced by toxic::Octree::object_voxel_intersector::Intersect().

void AABB3::Scale const Vector3 scale  )  [inline]
 

Scales the box extent by a given factor on each axis without affecting the box center.

Definition at line 202 of file aabb3.h.

AABB3 AABB3::Transform const Matrix4 m  )  const
 

Definition at line 36 of file aabb3.cpp.

References Include(), sheep::Point3::m_x, sheep::Point3::m_y, and sheep::Point3::m_z.

Referenced by toxic::Cube::Cube(), toxic::DummyObject::DummyObject(), toxic::Ring::Ring(), toxic::Sphere::Sphere(), and toxic::Square::Square().


Member Data Documentation

Point3 sheep::AABB3::m_max
 

Definition at line 39 of file aabb3.h.

Referenced by toxic::Mesh::triangle_voxel_intersector::Intersect(), sheep::OctreeNode< const triangle * >::Subdivide(), and sheep::OctreeNode< const triangle * >::Trace().

Point3 sheep::AABB3::m_min
 

Definition at line 39 of file aabb3.h.

Referenced by sheep::OctreeNode< const triangle * >::Subdivide(), and sheep::OctreeNode< const triangle * >::Trace().


The documentation for this class was generated from the following files:
Generated on Tue May 11 01:31:54 2004 for toxic by doxygen 1.3.6