RobWorkProject
Classes | Namespaces
CollisionDetector.hpp File Reference

The CollisionDetector implements an efficient way of checking a complete frame tree for collisions. More...

#include "CollisionStrategy.hpp"
#include "ProximityFilterStrategy.hpp"
#include "ProximityStrategyData.hpp"
#include <rw/common/Ptr.hpp>
#include <rw/common/Timer.hpp>
#include <rw/kinematics/FrameMap.hpp>
#include <vector>

Classes

class  CollisionDetector
 The CollisionDetector implements an efficient way of checking a complete frame tree for collisions. More...
 
struct  CollisionDetector::QueryResult
 result of a collision query More...
 

Namespaces

 rw
 RobWork library.
 
 rw::kinematics
 Kinematic modelling.
 
 rw::models
 Workcell and device models.
 
 rw::proximity
 Interfaces for collision checking and distance calculation.
 

Detailed Description

The CollisionDetector implements an efficient way of checking a complete frame tree for collisions.

It relies on a BroadPhaseDetector to do initial filtering which removes obviously not colliding frame pairs.

After the filtering the remaining frame pairs are tested for collision using an CollisionStrategy which is a narrow phase collision detector.

The collision detector does not dictate a specific detection strategy or algorithm, instead it relies on the CollisionStrategy interface for the actual collision checking between two frames.

Note
The collision detector is not thread safe and as such should not be used by multiple threads at a time.