|
virtual | ~CollisionStrategy () |
| Destroys object.
|
|
bool | inCollision (const rw::core::Ptr< kinematics::Frame > a, const math::Transform3D< double > &wTa, const rw::core::Ptr< kinematics::Frame > b, const math::Transform3D< double > &wTb, QueryType type=FirstContact) |
| Checks to see if two given frames \( \mathcal{F}_a \) and \( \mathcal{F}_b \) are in collision. More...
|
|
bool | inCollision (const rw::core::Ptr< kinematics::Frame > a, const math::Transform3D< double > &wTa, const rw::core::Ptr< kinematics::Frame > b, const math::Transform3D< double > &wTb, class ProximityStrategyData &data, QueryType type=FirstContact) |
| Checks to see if two given frames \( \mathcal{F}_a \) and \( \mathcal{F}_b \) are in collision. More...
|
|
bool | inCollision (ProximityModel::Ptr a, const math::Transform3D< double > &wTa, ProximityModel::Ptr b, const math::Transform3D< double > &wTb, ProximityStrategyData &data) |
| Checks to see if two proximity models are in collision. More...
|
|
virtual void | getCollisionContacts (std::vector< CollisionStrategy::Contact > &contacts, ProximityStrategyData &data)=0 |
| this method interprets the collision query result and calculates a list of contacts to represent the collision geometry between the colliding geometries. More...
|
|
virtual | ~ProximityStrategy () |
| Destructor.
|
|
virtual bool | addModel (rw::core::Ptr< rw::models::Object > object) |
| Adds a Proximity model of a frame to this strategy. More...
|
|
virtual bool | addModel (const rw::core::Ptr< rw::kinematics::Frame > frame, const rw::geometry::Geometry &faces) |
| Adds a Proximity model to a frame where the geometry is copied in the underlying proximity strategy. More...
|
|
virtual bool | addModel (const rw::core::Ptr< rw::kinematics::Frame > frame, rw::core::Ptr< rw::geometry::Geometry > faces, bool forceCopy=false) |
| Adds a Proximity model to a frame. More...
|
|
virtual bool | hasModel (const rw::core::Ptr< rw::kinematics::Frame > frame) |
| Tells whether the frame has a proximity model in the strategy. More...
|
|
virtual void | clearFrame (const rw::core::Ptr< rw::kinematics::Frame > frame) |
| Clear (remove all) model information for frame frame.
|
|
virtual void | clearFrames () |
| Clear (remove all) model information for all frames.
|
|
ProximityModel::Ptr | getModel (const rw::core::Ptr< rw::kinematics::Frame > frame) |
| get the proximitymodel associated to frame. If no model has been associated to frame then NULL is returned. More...
|
|
virtual ProximityModel::Ptr | createModel ()=0 |
| creates an empty ProximityModel
|
|
virtual void | destroyModel (ProximityModel *model)=0 |
| deallocates the memory used for model More...
|
|
virtual bool | addGeometry (ProximityModel *model, const rw::geometry::Geometry &geom)=0 |
| adds geometry to a specific proximity model. The proximity strategy copies all data of the geometry. More...
|
|
virtual bool | addGeometry (ProximityModel *model, rw::core::Ptr< rw::geometry::Geometry > geom, bool forceCopy=false)=0 |
| adds geometry to a specific model. Depending on the option forceCopy the proximity strategy may choose to copy the geometry data or use it directly. More...
|
|
virtual bool | removeGeometry (ProximityModel *model, const std::string &geomId)=0 |
| removes a geometry from a specific proximity model
|
|
virtual std::vector< std::string > | getGeometryIDs (ProximityModel *model)=0 |
| the list of all geometry ids that are associated to the proximity model model is returned More...
|
|
virtual std::vector< rw::core::Ptr< rw::geometry::Geometry > > | getGeometries (rw::proximity::ProximityModel *model)=0 |
| the list of all geometry that are associated to the proximity model model is returned More...
|
|
| DEPRECATED ("This function is deprecated due to a spelling mistake, use the correct " "spelling \"getGeometries\" instead") std |
|
virtual void | clear ()=0 |
| Clears any stored model information.
|
|
void | useThreads (int threads) |
| setNumber of threads the strategy may use More...
|
|
An interface that defines methods to test collision between two objects.
this method interprets the collision query result and calculates a list of contacts to represent the collision geometry between the colliding geometries.
Please note that for most collisions a single point and normal is not sufficient to describe the complete collision area. However, it is typically a reasonable approximation. The approximation can hence be implementation specific.
- Parameters
-
contacts | [out] list of contacts that can be calculated from data |
data | [in] the result from the collision query |
Implemented in ProximityStrategyYaobi, ProximityStrategyPQP, ProximityStrategyFCL, and ProximityStrategyRW.