PPL API Reference |
|
---|
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 |
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 RAPID_model * | Build (const GMSPolyhedron &_polyhedron) |
Protected Attributes | |
Internal State | |
std::string | m_name |
Name of the CD method. | |
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.
|
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. |
Reimplemented from CollisionDetectionMethod.
|
inherited |
|
virtualinherited |
Print information to an output stream.
_os | The output stream. |
|
virtualinherited |
Check if a point is inside of a polyhedron.
_point | The point to check. |
_polyhedron | The polyhedron to check against. |
_transformation | Transformation for the polyhedron. |
Reimplemented in PQPSolid.