Public Member Functions | Public Attributes | List of all members
hpp::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 hpp::fcl::OBBRSS:
[legend]

Public Member Functions

bool overlap (const OBBRSS &other) const
 Check collision between two OBBRSS. More...
 
bool overlap (const OBBRSS &other, const CollisionRequest &request, FCL_REAL &sqrDistLowerBound) const
 Check collision between two OBBRSS. More...
 
bool overlap (const OBBRSS &other, OBBRSS &) 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& hpp::fcl::OBBRSS::center ( ) const
inline

Center of the OBBRSS.

References hpp::fcl::OBB::center().

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

Check whether the OBBRSS contains a point.

References hpp::fcl::OBB::contain().

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

Depth of the OBBRSS.

References hpp::fcl::OBB::depth().

FCL_REAL hpp::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 hpp::fcl::RSS::distance(), overlap(), rss, and hpp::fcl::translate().

FCL_REAL hpp::fcl::OBBRSS::height ( ) const
inline

Height of the OBBRSS.

References hpp::fcl::OBB::height().

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

Merge two OBBRSS.

References obb, and rss.

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

Merge the OBBRSS and a point.

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

Merge two OBBRSS.

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

Check collision between two OBBRSS.

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

Referenced by distance(), and overlap().

bool hpp::fcl::OBBRSS::overlap ( const OBBRSS other,
const CollisionRequest request,
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 hpp::fcl::OBB::overlap().

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

Check collision between two OBBRSS and return the overlap part.

References overlap().

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

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

References hpp::fcl::OBB::size().

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

Volume of the OBBRSS.

References hpp::fcl::OBB::volume().

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

Width of the OBRSS.

References hpp::fcl::OBB::width().

Member Data Documentation

OBB hpp::fcl::OBBRSS::obb

OBB member, for rotation.

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

RSS hpp::fcl::OBBRSS::rss

RSS member, for distance.

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