Public Member Functions | Public Attributes
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:
[legend]

List of all members.

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.
OBBRSSoperator+= (const Vec3f &p)
 Merge the OBBRSS and a point.
OBBRSSoperator+= (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 Vec3fcenter () 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.

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

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.

References obb, and rss.

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


Member Data Documentation

OBB member, for rotation.

Referenced by center(), contain(), depth(), height(), operator+(), operator+=(), overlap(), size(), volume(), and width().

RSS member, for distance.

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

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines