Public Member Functions |
const Vec3f & | center () const |
| Center of the OBB.
|
bool | contain (const Vec3f &p) const |
| Check whether the OBB contains a point.
|
FCL_REAL | depth () const |
| Depth of the OBB.
|
FCL_REAL | distance (const OBB &other, Vec3f *P=NULL, Vec3f *Q=NULL) const |
| Distance between two OBBs, not implemented.
|
FCL_REAL | height () const |
| Height of the OBB.
|
OBB | operator+ (const OBB &other) const |
| Return the merged OBB of current OBB and the other one (the result is not compact).
|
OBB & | operator+= (const Vec3f &p) |
| A simple way to merge the OBB and a point (the result is not compact).
|
OBB & | operator+= (const OBB &other) |
| Merge the OBB and another OBB (the result is not compact).
|
bool | overlap (const OBB &other) const |
| Check collision between two OBB, return true if collision happens.
|
bool | overlap (const OBB &other, OBB &overlap_part) const |
| Check collision between two OBB and return the overlap part. For OBB, the overlap_part return value is NOT used as the overlap part of two obbs usually is not an obb.
|
FCL_REAL | size () const |
| Size of the OBB (used in BV_Splitter to order two OBBs)
|
FCL_REAL | volume () const |
| Volume of the OBB.
|
FCL_REAL | width () const |
| Width of the OBB.
|
Public Attributes |
Vec3f | axis [3] |
| Orientation of OBB. axis[i] is the ith column of the orientation matrix for the box; it is also the i-th principle direction of the box. We assume that axis[0] corresponds to the axis with the longest box edge, axis[1] corresponds to the shorter one and axis[2] corresponds to the shortest one.
|
Vec3f | extent |
| Half dimensions of OBB.
|
Vec3f | To |
| Center of OBB.
|
Oriented bounding box class.
Definition at line 48 of file OBB.h.
Check collision between two OBB, return true if collision happens.
compute what transform [R,T] that takes us from cs1 to cs2. [R,T] = [R1,T1]'[R2,T2] = [R1',-R1'T][R2,T2] = [R1'R2, R1'(T2-T1)] First compute the rotation part, then translation part
Definition at line 302 of file OBB.cpp.