coal  3.0.1
Coal, The Collision Detection Library. Previously known as HPP-FCL, fork of FCL -- The Flexible Collision Library
coal::RSS Struct Reference

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

#include <coal/BV/RSS.h>

Public Member Functions

 RSS ()
   More...
 
bool operator== (const RSS &other) const
 Equality operator. More...
 
bool operator!= (const RSS &other) const
 Difference operator. More...
 
bool contain (const Vec3s &p) const
 Check whether the RSS contains a point. More...
 
bool overlap (const RSS &other) const
 Check collision between two RSS. More...
 
bool overlap (const RSS &other, const CollisionRequest &, Scalar &sqrDistLowerBound) const
 Not implemented. More...
 
Scalar distance (const RSS &other, Vec3s *P=NULL, Vec3s *Q=NULL) const
 the distance between two RSS; P and Q, if not NULL, return the nearest points More...
 
RSSoperator+= (const Vec3s &p)
 A simple way to merge the RSS and a point, not compact. More...
 
RSSoperator+= (const RSS &other)
 Merge the RSS and another RSS. More...
 
RSS operator+ (const RSS &other) const
 Return the merged RSS of current RSS and the other one. More...
 
Scalar size () const
 Size of the RSS (used in BV_Splitter to order two RSSs) More...
 
const Vec3scenter () const
 The RSS center. More...
 
Scalar width () const
 Width of the RSS. More...
 
Scalar height () const
 Height of the RSS. More...
 
Scalar depth () const
 Depth of the RSS. More...
 
Scalar volume () const
 Volume of the RSS. More...
 
bool overlap (const RSS &other, RSS &) 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. More...
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW Matrix3s axes
 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. More...
 
Vec3s Tr
 Origin of the rectangle in RSS. More...
 
Scalar length [2]
 Side lengths of rectangle. More...
 
Scalar radius
 Radius of sphere summed with rectangle to form RSS. More...
 

Detailed Description

A class for rectangle sphere-swept bounding volume.

Constructor & Destructor Documentation

◆ RSS()

coal::RSS::RSS ( )
inline

 

Default constructor with default values

Member Function Documentation

◆ center()

const Vec3s& coal::RSS::center ( ) const
inline

The RSS center.

◆ contain()

bool coal::RSS::contain ( const Vec3s p) const

Check whether the RSS contains a point.

◆ depth()

Scalar coal::RSS::depth ( ) const
inline

Depth of the RSS.

◆ distance()

Scalar coal::RSS::distance ( const RSS other,
Vec3s P = NULL,
Vec3s Q = NULL 
) const

the distance between two RSS; P and Q, if not NULL, return the nearest points

◆ height()

Scalar coal::RSS::height ( ) const
inline

Height of the RSS.

◆ operator!=()

bool coal::RSS::operator!= ( const RSS other) const
inline

Difference operator.

◆ operator+()

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

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

◆ operator+=() [1/2]

RSS& coal::RSS::operator+= ( const RSS other)
inline

Merge the RSS and another RSS.

◆ operator+=() [2/2]

RSS& coal::RSS::operator+= ( const Vec3s p)

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

Todo:
This function may have some bug.

◆ operator==()

bool coal::RSS::operator== ( const RSS other) const
inline

Equality operator.

◆ overlap() [1/3]

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

Check collision between two RSS.

◆ overlap() [2/3]

bool coal::RSS::overlap ( const RSS other,
const CollisionRequest ,
Scalar sqrDistLowerBound 
) const
inline

Not implemented.

◆ overlap() [3/3]

bool coal::RSS::overlap ( const RSS other,
RSS  
) 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.

◆ size()

Scalar coal::RSS::size ( ) const
inline

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

◆ volume()

Scalar coal::RSS::volume ( ) const
inline

Volume of the RSS.

◆ width()

Scalar coal::RSS::width ( ) const
inline

Width of the RSS.

Member Data Documentation

◆ axes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW Matrix3s coal::RSS::axes

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.

◆ length

Scalar coal::RSS::length[2]

Side lengths of rectangle.

◆ radius

Scalar coal::RSS::radius

Radius of sphere summed with rectangle to form RSS.

◆ Tr

Vec3s coal::RSS::Tr

Origin of the rectangle in RSS.


The documentation for this struct was generated from the following file: