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
 PQPSolid ()
 
virtual ~PQPSolid ()
 
CollisionDetectorMethod Overrides
virtual bool IsInCollision (const GMSPolyhedron &_polyhedron1, const mathtool::Transformation &_t1, const GMSPolyhedron &_polyhedron2, const mathtool::Transformation &_t2, CDInfo &_cdInfo) override
 
virtual bool IsInsideObstacle (const mathtool::Vector3d &_point, const GMSPolyhedron &_polyhedron, const mathtool::Transformation &_transformation) override
 
Accessors
const std::string & GetName () const
 
virtual void Print (std::ostream &_os) const
 

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

PQPSolid is an extended PQP which also checks if one mesh lies entirely within another.

Member Function Documentation

◆ IsInCollision()

bool PQPSolid::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 PQP.

◆ IsInsideObstacle()

bool PQPSolid::IsInsideObstacle ( const mathtool::Vector3d &  _point,
const GMSPolyhedron _polyhedron,
const mathtool::Transformation &  _transformation 
)
overridevirtual

Shoot a pseudo-ray outward from a reference point to determine if it lies within a given body.

Parameters
_ptThe reference point of interest.
_bodyThe body to check against.
Returns
True if _pt is inside _body.

Reimplemented from CollisionDetectionMethod.

◆ Build()

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

Build a PQP model for a GMSPolyhedron.

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

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

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