Class merging the OBB and RSS, can handle collision and distance simultaneously. More...
#include <OBBRSS.h>
Public Member Functions | |
const Vec3f & | center () const |
Center of the OBBRSS. | |
bool | contain (const Vec3f &p) const |
Check whether the OBBRSS contains a point. | |
FCL_REAL | depth () const |
Depth of the OBBRSS. | |
FCL_REAL | distance (const OBBRSS &other, Vec3f *P=NULL, Vec3f *Q=NULL) const |
Distance between two OBBRSS; P and Q , is not NULL, returns the nearest points. | |
FCL_REAL | height () const |
Height of the OBBRSS. | |
OBBRSS | operator+ (const OBBRSS &other) const |
Merge two OBBRSS. | |
OBBRSS & | operator+= (const Vec3f &p) |
Merge the OBBRSS and a point. | |
OBBRSS & | operator+= (const OBBRSS &other) |
Merge two OBBRSS. | |
bool | overlap (const OBBRSS &other) const |
Check collision between two OBBRSS. | |
bool | overlap (const OBBRSS &other, OBBRSS &overlap_part) const |
Check collision between two OBBRSS and return the overlap part. | |
FCL_REAL | size () const |
Size of the OBBRSS (used in BV_Splitter to order two OBBRSS) | |
FCL_REAL | volume () const |
Volume of the OBBRSS. | |
FCL_REAL | width () const |
Width of the OBRSS. | |
Public Attributes | |
OBB | obb |
OBB member, for rotation. | |
RSS | rss |
RSS member, for distance. |
const Vec3f& fcl::OBBRSS::center | ( | ) | const [inline] |
bool fcl::OBBRSS::contain | ( | const Vec3f & | p | ) | const [inline] |
FCL_REAL fcl::OBBRSS::depth | ( | ) | const [inline] |
FCL_REAL fcl::OBBRSS::distance | ( | const OBBRSS & | other, |
Vec3f * | P = NULL , |
||
Vec3f * | Q = NULL |
||
) | const [inline] |
FCL_REAL fcl::OBBRSS::height | ( | ) | const [inline] |
bool fcl::OBBRSS::overlap | ( | const OBBRSS & | other | ) | const [inline] |
bool fcl::OBBRSS::overlap | ( | const OBBRSS & | other, |
OBBRSS & | overlap_part | ||
) | const [inline] |
FCL_REAL fcl::OBBRSS::size | ( | ) | const [inline] |
FCL_REAL fcl::OBBRSS::volume | ( | ) | const [inline] |
FCL_REAL fcl::OBBRSS::width | ( | ) | const [inline] |