Parasol Planning Library (PPL)
PQP Class Reference

#include <PQPCollisionDetection.h>

Inheritance diagram for PQP:
Inheritance graph
[legend]
Collaboration diagram for PQP:
Collaboration graph
[legend]

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
 
- Public Member Functions inherited from CollisionDetectionMethod
 CollisionDetectionMethod (const std::string &_name="CD_USER1")
 
virtual ~CollisionDetectionMethod ()
 
const std::string & GetName () const
 
virtual void Print (std::ostream &_os) const
 
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)
 

Additional Inherited Members

- Protected Attributes inherited from CollisionDetectionMethod
std::string m_name
 Name of the CD method. More...
 

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.

Constructor & Destructor Documentation

◆ PQP()

PQP::PQP ( )

◆ ~PQP()

PQP::~PQP ( )
virtualdefault

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

@TODO See if we can modify PQP_Distance to take const double arrays instead of just double arrays so we don't have to copy.

@TODO Update to use polyhedrons instead of bodies?

Reimplemented from CollisionDetectionMethod.

Reimplemented in PQPSolid.


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