![]() |
Parasol Planning Library (PPL)
|
#include <RapidCollisionDetection.h>
Public Member Functions | |
Construction | |
Rapid () | |
virtual | ~Rapid () |
CollisionDetectionMethod Overrides | |
virtual bool | IsInCollision (const GMSPolyhedron &_polyhedron1, const mathtool::Transformation &_t1, const GMSPolyhedron &_polyhedron2, const mathtool::Transformation &_t2, CDInfo &_cdInfo) override |
![]() | |
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 RAPID_model * | Build (const GMSPolyhedron &_polyhedron) |
Additional Inherited Members | |
![]() | |
std::string | m_name |
Name of the CD method. More... | |
RAPID checks for polygon collisions between two meshes.
RAPID is fast, but it cannot determine any auxiliary information. The contacts (colliding triangle IDs) are stored in the CDInfo object.
Reference: Stefan Gottschalk and Ming C. Lin and Dinesh Manocha. "OBBTree: A Hierarchical Structure for Rapid Interference Detection". SIGGRAPH 1996.
Rapid::Rapid | ( | ) |
|
virtualdefault |
|
static |
Build a RAPID model for a GMSPolyhedron.
_polyhedron | The polyhedron to model. |
|
overridevirtual |
Check if two polyhedrons are in collision.
_polyhedron1 | The first polyhedron. |
_transformation1 | Transformation for the first polyhedron. |
_polyhedron2 | The second polyhedron. |
_transformation2 | Transformation for the second polyhedron. |
_cdInfo | Output information from the collision computation. |
@TODO See if we can modify RAPID to accept const values to avoid the copy here.
Reimplemented from CollisionDetectionMethod.