All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Public Attributes
fcl::RSS Class Reference

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

#include <RSS.h>

List of all members.

Public Member Functions

const Vec3fcenter () const
 The RSS center.
bool contain (const Vec3f &p) const
 Check whether the RSS contains a point.
FCL_REAL depth () const
 Depth of the RSS.
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
FCL_REAL height () const
 Height of the RSS.
RSS operator+ (const RSS &other) const
 Return the merged RSS of current RSS and the other one.
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.
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.
FCL_REAL size () const
 Size of the RSS (used in BV_Splitter to order two RSSs)
FCL_REAL volume () const
 Volume of the RSS.
FCL_REAL width () const
 Width of the RSS.

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.
FCL_REAL l [2]
 Side lengths of rectangle.
FCL_REAL r
 Radius of sphere summed with rectangle to form RSS.
Vec3f Tr
 Origin of the rectangle in RSS.

Detailed Description

A class for rectangle sphere-swept bounding volume.

Definition at line 49 of file RSS.h.


Member Function Documentation

const Vec3f& fcl::RSS::center ( ) const [inline]

The RSS center.

Definition at line 123 of file RSS.h.

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.

FCL_REAL fcl::RSS::depth ( ) const [inline]

Depth of the RSS.

Definition at line 105 of file RSS.h.

FCL_REAL fcl::RSS::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

Definition at line 1104 of file RSS.cpp.

FCL_REAL fcl::RSS::height ( ) const [inline]

Height of the RSS.

Definition at line 99 of file RSS.h.

RSS fcl::RSS::operator+ ( const RSS other) const

Return the merged RSS of current RSS and the other one.

Definition at line 1039 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.

RSS& fcl::RSS::operator+= ( const RSS other) [inline]

Merge the RSS and another RSS.

Definition at line 83 of file RSS.h.

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.

bool fcl::RSS::overlap ( const RSS other,
RSS overlap_part 
) const [inline]

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.

Definition at line 70 of file RSS.h.

FCL_REAL fcl::RSS::size ( ) const [inline]

Size of the RSS (used in BV_Splitter to order two RSSs)

Definition at line 117 of file RSS.h.

FCL_REAL fcl::RSS::volume ( ) const [inline]

Volume of the RSS.

Definition at line 111 of file RSS.h.

FCL_REAL fcl::RSS::width ( ) const [inline]

Width of the RSS.

Definition at line 93 of file RSS.h.


Member Data Documentation

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.

Definition at line 54 of file RSS.h.

Side lengths of rectangle.

Definition at line 60 of file RSS.h.

Radius of sphere summed with rectangle to form RSS.

Definition at line 63 of file RSS.h.

Origin of the rectangle in RSS.

Definition at line 57 of file RSS.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


fcl
Author(s): Jia Pan
autogenerated on Tue Jan 15 2013 16:05:32