37 #ifndef MOVEIT_COLLISION_DETECTION_COLLISION_DETECTOR_ 38 #define MOVEIT_COLLISION_DETECTION_COLLISION_DETECTOR_ 57 virtual const std::string&
getName()
const = 0;
60 virtual CollisionWorldPtr
allocateWorld(
const WorldPtr& world)
const = 0;
65 virtual CollisionWorldPtr
allocateWorld(
const CollisionWorldConstPtr& orig,
const WorldPtr& world)
const = 0;
71 virtual CollisionRobotPtr
allocateRobot(
const CollisionRobotConstPtr& orig)
const = 0;
75 template <
class CollisionWorldType,
class CollisionRobotType,
class CollisionDetectorAllocatorType>
79 virtual const std::string&
getName()
const 81 return CollisionDetectorAllocatorType::NAME_;
86 return CollisionWorldPtr(
new CollisionWorldType(world));
89 virtual CollisionWorldPtr
allocateWorld(
const CollisionWorldConstPtr& orig,
const WorldPtr& world)
const 91 return CollisionWorldPtr(
new CollisionWorldType(dynamic_cast<const CollisionWorldType&>(*orig), world));
96 return CollisionRobotPtr(
new CollisionRobotType(robot_model));
99 virtual CollisionRobotPtr
allocateRobot(
const CollisionRobotConstPtr& orig)
const 101 return CollisionRobotPtr(
new CollisionRobotType(dynamic_cast<const CollisionRobotType&>(*orig)));
105 static CollisionDetectorAllocatorPtr
create()
107 return CollisionDetectorAllocatorPtr(
new CollisionDetectorAllocatorType());
Core components of MoveIt!
virtual CollisionWorldPtr allocateWorld(const CollisionWorldConstPtr &orig, const WorldPtr &world) const
An allocator for a compatible CollisionWorld/CollisionRobot pair.
static CollisionDetectorAllocatorPtr create()
virtual CollisionRobotPtr allocateRobot(const CollisionRobotConstPtr &orig) const
virtual CollisionRobotPtr allocateRobot(const robot_model::RobotModelConstPtr &robot_model) const =0
MOVEIT_CLASS_FORWARD(AllowedCollisionMatrix)
Generic interface to collision detection.
virtual const std::string & getName() const
virtual CollisionWorldPtr allocateWorld(const WorldPtr &world) const
virtual CollisionRobotPtr allocateRobot(const robot_model::RobotModelConstPtr &robot_model) const
virtual ~CollisionDetectorAllocator()
Template class to make it easy to create an allocator for a specific CollisionWorld/CollisionRobot pa...
virtual const std::string & getName() const =0
virtual CollisionWorldPtr allocateWorld(const WorldPtr &world) const =0