47 class CollisionDetectorAllocator
55 virtual const std::string&
getName()
const = 0;
58 virtual CollisionEnvPtr
allocateEnv(
const WorldPtr& world,
59 const moveit::core::RobotModelConstPtr&
robot_model)
const = 0;
64 virtual CollisionEnvPtr
allocateEnv(
const CollisionEnvConstPtr& orig,
const WorldPtr& world)
const = 0;
71 template <
class CollisionEnvType,
class CollisionDetectorAllocatorType>
72 class CollisionDetectorAllocatorTemplate :
public CollisionDetectorAllocator
75 CollisionEnvPtr
allocateEnv(
const WorldPtr& world,
const moveit::core::RobotModelConstPtr&
robot_model)
const override
77 return CollisionEnvPtr(
new CollisionEnvType(
robot_model, world));
80 CollisionEnvPtr
allocateEnv(
const CollisionEnvConstPtr& orig,
const WorldPtr& world)
const override
82 return CollisionEnvPtr(
new CollisionEnvType(
dynamic_cast<const CollisionEnvType&
>(*orig), world));
87 return CollisionEnvPtr(
new CollisionEnvType(
robot_model));
91 static CollisionDetectorAllocatorPtr
create()
93 return CollisionDetectorAllocatorPtr(
new CollisionDetectorAllocatorType());