All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends

fcl::RSS Class Reference

A class for rectangle sphere-swept bounding volume. More...

#include <RSS.h>

List of all members.


Public Member Functions

bool overlap (const RSS &other) const
 Check collision between two RSS.
bool overlap (const RSS &other, RSS &overlap_part) const
 Check collision between two RSS and return the overlap part. For RSS, we return nothing, as the overlap part of two RSSs usually is not a RSS.
bool contain (const Vec3f &p) const
 Check whether the RSS contains a point.
RSSoperator+= (const Vec3f &p)
 A simple way to merge the RSS and a point, not compact.
RSSoperator+= (const RSS &other)
 Merge the RSS and another RSS.
RSS operator+ (const RSS &other) const
 Return the merged RSS of current RSS and the other one.
FCL_REAL width () const
 Width of the RSS.
FCL_REAL height () const
 Height of the RSS.
FCL_REAL depth () const
 Depth of the RSS.
FCL_REAL volume () const
 Volume of the RSS.
FCL_REAL size () const
 Size of the RSS (used in BV_Splitter to order two RSSs).
const Vec3fcenter () const
 The RSS center.
FCL_REAL distance (const RSS &other, Vec3f *P=NULL, Vec3f *Q=NULL) const
 the distance between two RSS; P and Q, if not NULL, return the nearest points

Public Attributes

Vec3f axis [3]
 Orientation of RSS. axis[i] is the ith column of the orientation matrix for the RSS; it is also the i-th principle direction of the RSS. We assume that axis[0] corresponds to the axis with the longest length, axis[1] corresponds to the shorter one and axis[2] corresponds to the shortest one.
Vec3f Tr
 Origin of the rectangle in RSS.
FCL_REAL l [2]
 Side lengths of rectangle.
FCL_REAL r
 Radius of sphere summed with rectangle to form RSS.

Detailed Description

A class for rectangle sphere-swept bounding volume.

Definition at line 49 of file RSS.h.


Member Function Documentation

bool fcl::RSS::contain ( const Vec3f p  )  const [inline]

Check whether the RSS contains a point.

projection is within the rectangle

Definition at line 869 of file RSS.cpp.

RSS & fcl::RSS::operator+= ( const Vec3f p  ) 

A simple way to merge the RSS and a point, not compact.

Todo:
This function may have some bug.

Definition at line 904 of file RSS.cpp.

bool fcl::RSS::overlap ( const RSS other  )  const

Check collision between two RSS.

compute what transform [R,T] that takes us from cs1 to cs2. [R,T] = [R1,T1]'[R2,T2] = [R1',-R1'T][R2,T2] = [R1'R2, R1'(T2-T1)] First compute the rotation part, then translation part

First compute T2 - T1

Then compute R1'(T2 - T1)

Now compute R1'R2

Definition at line 831 of file RSS.cpp.


The documentation for this class was generated from the following files: