Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members
Public Member Functions | Public Attributes
core::aabox3d Class Reference

#include <Aabox3d.h>

List of all members.

Public Member Functions

 aabox3d ()
 aabox3d (const vector3d &min, const vector3d &max)
 aabox3d (f32 minx, f32 miny, f32 minz, f32 maxx, f32 maxy, f32 maxz)
 aabox3d (const vector3d &init)
void addInternalBox (const aabox3d &b)
void addInternalPoint (const vector3d &p)
void addInternalPoint (f32 x, f32 y, f32 z)
vector3d getCenter () const
 returns center of the bounding box
void getEdges (vector3d *edges) const
vector3d getExtent () const
 returns extent of the box
bool isEmpty () const
bool operator!= (const aabox3d &other) const
bool operator== (const aabox3d &other) const
void repair ()
 repairs the box, if for example MinEdge and MaxEdge are swapped.
void reset (const vector3d &initValue)
 Resets the bounding box.
void reset (f32 x, f32 y, f32 z)
 Resets the bounding box.
void reset (const aabox3d &initValue)
 Resets the bounding box.

Public Attributes

vector3d MaxEdge
vector3d MinEdge

Detailed Description

Axis aligned box in 3d dimensional space. Has some useful methods used with occlusion culling or clipping.


Constructor & Destructor Documentation

core::aabox3d::aabox3d ( )
core::aabox3d::aabox3d ( const vector3d min,
const vector3d max 
)
core::aabox3d::aabox3d ( const vector3d init)
core::aabox3d::aabox3d ( f32  minx,
f32  miny,
f32  minz,
f32  maxx,
f32  maxy,
f32  maxz 
)

Member Function Documentation

void core::aabox3d::addInternalBox ( const aabox3d b)

Adds an other bounding box to the bounding box, causing it to grow bigger, if the box is outside of the box

Parameters:
b,:Other bounding box to add into this box.

References addInternalPoint(), MaxEdge, and MinEdge.

void core::aabox3d::addInternalPoint ( f32  x,
f32  y,
f32  z 
)

Adds a point to the bounding box, causing it to grow bigger, if point is outside of the box.

Parameters:
x,:X Coordinate of the point to add to this box.
y,:Y Coordinate of the point to add to this box.
z,:Z Coordinate of the point to add to this box.

References MaxEdge, MinEdge, core::vector3d::X, core::vector3d::Y, and core::vector3d::Z.

Referenced by addInternalBox(), addInternalPoint(), and core::matrix4::transformBox().

void core::aabox3d::addInternalPoint ( const vector3d p)

Adds a point to the bounding box, causing it to grow bigger, if point is outside of the box

Parameters:
p,:Point to add into the box.

References addInternalPoint(), core::vector3d::X, core::vector3d::Y, and core::vector3d::Z.

vector3d core::aabox3d::getCenter ( ) const

returns center of the bounding box

References MaxEdge, and MinEdge.

void core::aabox3d::getEdges ( vector3d edges) const

stores all 8 edges of the box into a array

Parameters:
edges,:Pointer to array of 8 edges

Edges are stored in this way: /1--------/3 / | / | / | / | 5---------7 | | 0- - -| -2 | / | / |/ | / 4---------6/

References MaxEdge, MinEdge, core::vector3d::set(), core::vector3d::X, core::vector3d::Y, and core::vector3d::Z.

Referenced by render::Frustum::isVisible(), and core::matrix4::transformBox().

vector3d core::aabox3d::getExtent ( ) const

returns extent of the box

References MaxEdge, and MinEdge.

bool core::aabox3d::isEmpty ( ) const

returns if the box is empty, which means that there is no space within the min and the max edge.

References core::EPSILON, MaxEdge, MinEdge, core::vector3d::X, core::vector3d::Y, and core::vector3d::Z.

bool core::aabox3d::operator!= ( const aabox3d other) const [inline]

References MaxEdge, and MinEdge.

bool core::aabox3d::operator== ( const aabox3d other) const [inline]

References MaxEdge, and MinEdge.

void core::aabox3d::repair ( )

repairs the box, if for example MinEdge and MaxEdge are swapped.

References MaxEdge, MinEdge, core::vector3d::X, core::vector3d::Y, and core::vector3d::Z.

void core::aabox3d::reset ( f32  x,
f32  y,
f32  z 
)

Resets the bounding box.

References MaxEdge, MinEdge, and core::vector3d::set().

Referenced by core::matrix4::transformBox().

void core::aabox3d::reset ( const aabox3d initValue)

Resets the bounding box.

void core::aabox3d::reset ( const vector3d initValue)

Resets the bounding box.

References MaxEdge, and MinEdge.


Member Data Documentation


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

The KG Game Engine
The KG Game Engine Documentation © 2006-2011 by Kat'Oun. Generated on Sat Jul 2 2011 00:50:07 by Doxygen (1.7.4)