Public Member Functions | Public Attributes
OBB Class Reference

#include <IceOBB.h>

List of all members.

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 PointGetCenter () const
const udwordGetEdges () const
inline_ const PointGetExtents () const
const PointGetLocalEdgeNormals () const
inline_ const Matrix3x3GetRot () const
inline_ void GetRotatedExtents (Matrix3x3 &extents) const
BOOL IsInside (const OBB &box) const
inline_ BOOL IsValid () const
inline_ OBB ()
 Constructor.
inline_ OBB (const Point &center, const Point &extents, const Matrix3x3 &rot)
 Constructor.
inline_ void Rotate (const Matrix4x4 &mtx, OBB &obb) const
void SetEmpty ()
inline_ ~OBB ()
 Destructor.

Public Attributes

Point mCenter
 B for Box.
Point mExtents
 B for Bounding.
Matrix3x3 mRot
 O for Oriented.

Detailed Description

An Oriented Bounding Box (OBB).

Author:
Pierre Terdiman
Version:
1.0

Definition at line 18 of file IceOBB.h.


Constructor & Destructor Documentation

inline_ OBB::OBB ( ) [inline]

Constructor.

Definition at line 22 of file IceOBB.h.

inline_ OBB::OBB ( const Point center,
const Point extents,
const Matrix3x3 rot 
) [inline]

Constructor.

Definition at line 24 of file IceOBB.h.

inline_ OBB::~OBB ( ) [inline]

Destructor.

Definition at line 26 of file IceOBB.h.


Member Function Documentation

void OBB::ComputeLSS ( LSS lss) const

Computes an LSS surrounding the OBB.

Parameters:
lss[out] the LSS
bool OBB::ComputePlanes ( Plane planes) const

Computes the obb planes.

Parameters:
planes[out] 6 box planes
Returns:
true if success
bool OBB::ComputePoints ( Point pts) const

Computes the obb points.

Parameters:
pts[out] 8 box points
Returns:
true if success
bool OBB::ComputeVertexNormals ( Point pts) const

Computes vertex normals.

Parameters:
pts[out] 8 box points
Returns:
true if success
void OBB::ComputeWorldEdgeNormal ( udword  edge_index,
Point world_normal 
) const

Returns world edge normal

Parameters:
edge_index[in] 0 <= edge index < 12
world_normal[out] edge normal in world space
bool OBB::ContainsPoint ( const Point p) const

Tests if a point is contained within the OBB.

Parameters:
p[in] the world point to test
Returns:
true if inside the OBB
void OBB::Create ( const AABB aabb,
const Matrix4x4 mat 
)

Builds an OBB from an AABB and a world transform.

Parameters:
aabb[in] the aabb
mat[in] the world transform
inline_ const Point& OBB::GetCenter ( ) const [inline]

Definition at line 159 of file IceOBB.h.

Returns edges.

Returns:
24 indices (12 edges) indexing the list returned by ComputePoints()
inline_ const Point& OBB::GetExtents ( ) const [inline]

Definition at line 160 of file IceOBB.h.

Returns local edge normals.

Returns:
edge normals in local space
inline_ const Matrix3x3& OBB::GetRot ( ) const [inline]

Definition at line 161 of file IceOBB.h.

inline_ void OBB::GetRotatedExtents ( Matrix3x3 extents) const [inline]

Definition at line 163 of file IceOBB.h.

BOOL OBB::IsInside ( const OBB box) const

Checks the OBB is inside another OBB.

Parameters:
box[in] the other OBB
Returns:
TRUE if we're inside the other box
inline_ BOOL OBB::IsValid ( ) const [inline]

Checks the OBB is valid.

Returns:
true if the box is valid

Definition at line 81 of file IceOBB.h.

inline_ void OBB::Rotate ( const Matrix4x4 mtx,
OBB obb 
) const [inline]

Recomputes the OBB after an arbitrary transform by a 4x4 matrix.

Parameters:
mtx[in] the transform matrix
obb[out] the transformed OBB

Definition at line 65 of file IceOBB.h.

void OBB::SetEmpty ( ) [inline]

Setups an empty OBB.

Definition at line 33 of file IceOBB.h.


Member Data Documentation

B for Box.

Definition at line 169 of file IceOBB.h.

B for Bounding.

Definition at line 170 of file IceOBB.h.

O for Oriented.

Definition at line 171 of file IceOBB.h.


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


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Thu Apr 11 2019 03:30:21