#include <OPC_IceHook.h>
Public Member Functions | |
void | ComputeLSS (LSS &lss) const |
bool | ComputePlanes (Plane *planes) const |
bool | ComputePoints (Point *pts) const |
bool | ComputeVertexNormals (Point *pts) const |
void | ComputeWorldEdgeNormal (udword edge_index, Point &world_normal) const |
bool | ContainsPoint (const Point &p) const |
void | Create (const AABB &aabb, const Matrix4x4 &mat) |
inline_ const Point & | GetCenter () const |
const udword * | GetEdges () const |
inline_ const Point & | GetExtents () const |
const Point * | GetLocalEdgeNormals () const |
inline_ const Matrix3x3 & | GetRot () const |
inline_ void | GetRotatedExtents (Matrix3x3 &extents) const |
BOOL | IsInside (const OBB &box) const |
inline_ BOOL | IsValid () const |
inline_ | OBB () |
Constructor. More... | |
inline_ | OBB (const Point ¢er, const Point &extents, const Matrix3x3 &rot) |
Constructor. More... | |
inline_ void | Rotate (const Matrix4x4 &mtx, OBB &obb) const |
void | SetEmpty () |
inline_ | ~OBB () |
Destructor. More... | |
Public Attributes | |
Point | mCenter |
B for Box. More... | |
Point | mExtents |
B for Bounding. More... | |
Matrix3x3 | mRot |
O for Oriented. More... | |
Definition at line 19 of file OPC_IceHook.h.
|
inline |
Constructor.
Definition at line 23 of file OPC_IceHook.h.
|
inline |
Constructor.
Definition at line 25 of file OPC_IceHook.h.
|
inline |
Destructor.
Definition at line 27 of file OPC_IceHook.h.
Computes an LSS surrounding the OBB.
lss | [out] the LSS |
Definition at line 255 of file IceOBB.cpp.
bool OBB::ComputePlanes | ( | Plane * | planes | ) | const |
Computes the obb planes.
planes | [out] 6 box planes |
Definition at line 82 of file IceOBB.cpp.
bool OBB::ComputePoints | ( | Point * | pts | ) | const |
Computes the obb points.
pts | [out] 8 box points |
Definition at line 125 of file IceOBB.cpp.
bool OBB::ComputeVertexNormals | ( | Point * | pts | ) | const |
Computes vertex normals.
pts | [out] 8 box points |
Definition at line 166 of file IceOBB.cpp.
Returns world edge normal
edge_index | [in] 0 <= edge index < 12 |
world_normal | [out] edge normal in world space |
Definition at line 243 of file IceOBB.cpp.
Tests if a point is contained within the OBB.
p | [in] the world point to test |
Definition at line 32 of file IceOBB.cpp.
Builds an OBB from an AABB and a world transform.
aabb | [in] the aabb |
mat | [in] the world transform |
Definition at line 60 of file IceOBB.cpp.
Definition at line 160 of file OPC_IceHook.h.
Returns edges.
Definition at line 197 of file IceOBB.cpp.
Definition at line 161 of file OPC_IceHook.h.
Returns local edge normals.
Definition at line 214 of file IceOBB.cpp.
Definition at line 162 of file OPC_IceHook.h.
Definition at line 164 of file OPC_IceHook.h.
Checks the OBB is inside another OBB.
box | [in] the other OBB |
Definition at line 288 of file IceOBB.cpp.
Checks the OBB is valid.
Definition at line 82 of file OPC_IceHook.h.
Recomputes the OBB after an arbitrary transform by a 4x4 matrix.
mtx | [in] the transform matrix |
obb | [out] the transformed OBB |
Definition at line 66 of file OPC_IceHook.h.
|
inline |
Setups an empty OBB.
Definition at line 34 of file OPC_IceHook.h.
Point IceMaths::OBB::mCenter |
B for Box.
Definition at line 170 of file OPC_IceHook.h.
Point IceMaths::OBB::mExtents |
B for Bounding.
Definition at line 171 of file OPC_IceHook.h.
Matrix3x3 IceMaths::OBB::mRot |
O for Oriented.
Definition at line 172 of file OPC_IceHook.h.