All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fcl::OBBRSS Class Reference

Class merging the OBB and RSS, can handle collision and distance simultaneously. More...

#include <hpp/fcl/BV/OBBRSS.h>

Collaboration diagram for fcl::OBBRSS:

Public Member Functions

bool overlap (const OBBRSS &other) const
 Check collision between two OBBRSS. More...
 
bool overlap (const OBBRSS &other, FCL_REAL &sqrDistLowerBound) const
 Check collision between two OBBRSS. More...
 
bool overlap (const OBBRSS &other, OBBRSS &overlap_part) const
 Check collision between two OBBRSS and return the overlap part. More...
 
bool contain (const Vec3f &p) const
 Check whether the OBBRSS contains a point. More...
 
OBBRSSoperator+= (const Vec3f &p)
 Merge the OBBRSS and a point. More...
 
OBBRSSoperator+= (const OBBRSS &other)
 Merge two OBBRSS. More...
 
OBBRSS operator+ (const OBBRSS &other) const
 Merge two OBBRSS. More...
 
FCL_REAL width () const
 Width of the OBRSS. More...
 
FCL_REAL height () const
 Height of the OBBRSS. More...
 
FCL_REAL depth () const
 Depth of the OBBRSS. More...
 
FCL_REAL volume () const
 Volume of the OBBRSS. More...
 
FCL_REAL size () const
 Size of the OBBRSS (used in BV_Splitter to order two OBBRSS) More...
 
const Vec3fcenter () const
 Center of the OBBRSS. More...
 
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. More...
 

Public Attributes

OBB obb
 OBB member, for rotation. More...
 
RSS rss
 RSS member, for distance. More...
 

Detailed Description

Class merging the OBB and RSS, can handle collision and distance simultaneously.

Member Function Documentation

const Vec3f& fcl::OBBRSS::center ( ) const
inline

Center of the OBBRSS.

References fcl::OBB::center().

bool fcl::OBBRSS::contain ( const Vec3f p) const
inline

Check whether the OBBRSS contains a point.

References fcl::OBB::contain().

FCL_REAL fcl::OBBRSS::depth ( ) const
inline

Depth of the OBBRSS.

References fcl::OBB::depth().

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().

OBBRSS fcl::OBBRSS::operator+ ( const OBBRSS other) const
inline

Merge two OBBRSS.

References obb, and rss.

OBBRSS& fcl::OBBRSS::operator+= ( const Vec3f p)
inline

Merge the OBBRSS and a point.

OBBRSS& fcl::OBBRSS::operator+= ( const OBBRSS other)
inline

Merge two OBBRSS.

bool fcl::OBBRSS::overlap ( const OBBRSS other) const
inline

Check collision between two OBBRSS.

References obb, and fcl::OBB::overlap().

Referenced by overlap().

bool fcl::OBBRSS::overlap ( const OBBRSS other,
FCL_REAL sqrDistLowerBound 
) const
inline

Check collision between two OBBRSS.

Return values
sqrDistLowerBoundsquared lower bound on distance between objects if they do not overlap.

References obb, and fcl::OBB::overlap().

bool fcl::OBBRSS::overlap ( const OBBRSS other,
OBBRSS overlap_part 
) const
inline

Check collision between two OBBRSS and return the overlap part.

References overlap().

FCL_REAL fcl::OBBRSS::size ( ) const
inline

Size of the OBBRSS (used in BV_Splitter to order two OBBRSS)

References fcl::OBB::size().

FCL_REAL fcl::OBBRSS::volume ( ) const
inline

Volume of the OBBRSS.

References fcl::OBB::volume().

FCL_REAL fcl::OBBRSS::width ( ) const
inline

Width of the OBRSS.

References fcl::OBB::width().

Member Data Documentation

OBB fcl::OBBRSS::obb

OBB member, for rotation.

Referenced by operator+(), and overlap().

RSS fcl::OBBRSS::rss

RSS member, for distance.

Referenced by distance(), and operator+().