PPL API Reference
Overview Core Algorithm Abstractions Utilities Parallel Methods
Modules Class Hierarchy Classes Functions
Todo List Bug List Dead Code
List of all members

Public Member Functions

Construction
 PQP ()
 
virtual ~PQP ()
 
CollisionDetectionMethod Overrides
virtual bool IsInCollision (const GMSPolyhedron &_polyhedron1, const mathtool::Transformation &_t1, const GMSPolyhedron &_polyhedron2, const mathtool::Transformation &_t2, CDInfo &_cdInfo) override
 
Accessors
const std::string & GetName () const
 
virtual void Print (std::ostream &_os) const
 
CD Interface
virtual bool IsInsideObstacle (const mathtool::Vector3d &_point, const GMSPolyhedron &_polyhedron, const mathtool::Transformation &_transformation)
 

Static Public Member Functions

Model Construction
static PQP_Model * Build (const GMSPolyhedron &_polyhedron)
 

Protected Attributes

Internal State
std::string m_name
 Name of the CD method.
 

Detailed Description

Compute collision information with Proximity Query Package (PQP) package.

PQP has the option to compute clearance and penetration information through distance queries. To enable this pass in CDInfo with m_retAllInfo set to true.

Reference: Eric Larsen and Stefan Gottschalk and Ming C. Lin and Dinesh Manocha. "Fast Proximity Queries with Swept Sphere Volumes". ICRA 2000.

Member Function Documentation

◆ Build()

PQP_Model * PQP::Build ( const GMSPolyhedron _polyhedron)
static

Build a PQP model for a GMSPolyhedron.

Parameters
_polyhedronThe polyhedron to model.
Returns
A PQP model of _model.

◆ IsInCollision()

bool PQP::IsInCollision ( const GMSPolyhedron _polyhedron1,
const mathtool::Transformation &  _transformation1,
const GMSPolyhedron _polyhedron2,
const mathtool::Transformation &  _transformation2,
CDInfo _cdInfo 
)
overridevirtual

Check if two polyhedrons are in collision.

Parameters
_polyhedron1The first polyhedron.
_transformation1Transformation for the first polyhedron.
_polyhedron2The second polyhedron.
_transformation2Transformation for the second polyhedron.
_cdInfoOutput information from the collision computation.
Returns
True if the polyhedrons are considered to be in collision. Some method check only intersection (i.e. Rapid, PQP) while others also check if one polyhedron is inside the other (i.e. PQPSolid).

Reimplemented from CollisionDetectionMethod.

Reimplemented in PQPSolid.

◆ GetName()

const std::string & CollisionDetectionMethod::GetName ( ) const
inherited
Returns
Name of CD Method

◆ Print()

void CollisionDetectionMethod::Print ( std::ostream &  _os) const
virtualinherited

Print information to an output stream.

Parameters
_osThe output stream.

◆ IsInsideObstacle()

bool CollisionDetectionMethod::IsInsideObstacle ( const mathtool::Vector3d &  _point,
const GMSPolyhedron _polyhedron,
const mathtool::Transformation &  _transformation 
)
virtualinherited

Check if a point is inside of a polyhedron.

Parameters
_pointThe point to check.
_polyhedronThe polyhedron to check against.
_transformationTransformation for the polyhedron.
Returns
Is the point inside _polyhedron?

Reimplemented in PQPSolid.


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