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