55 virtual const std::string&
getName()
const = 0;
59 const moveit::core::RobotModelConstPtr& robot_model)
const = 0;
64 virtual CollisionEnvPtr
allocateEnv(
const CollisionEnvConstPtr& orig,
const WorldPtr& world)
const = 0;
67 virtual CollisionEnvPtr
allocateEnv(
const moveit::core::RobotModelConstPtr& robot_model)
const = 0;
71 template <
class CollisionEnvType,
class CollisionDetectorAllocatorType>
75 const std::string&
getName()
const override
77 return CollisionDetectorAllocatorType::NAME;
80 CollisionEnvPtr
allocateEnv(
const WorldPtr& world,
const moveit::core::RobotModelConstPtr& robot_model)
const override
82 return std::make_shared<CollisionEnvType>(robot_model, world);
85 CollisionEnvPtr
allocateEnv(
const CollisionEnvConstPtr& orig,
const WorldPtr& world)
const override
87 return std::make_shared<CollisionEnvType>(
dynamic_cast<const CollisionEnvType&
>(*orig), world);
90 CollisionEnvPtr
allocateEnv(
const moveit::core::RobotModelConstPtr& robot_model)
const override
92 return std::make_shared<CollisionEnvType>(robot_model);
96 static CollisionDetectorAllocatorPtr
create()
98 return std::make_shared<CollisionDetectorAllocatorType>();
Template class to make it easy to create an allocator for a specific CollisionWorld/CollisionRobot pa...
static CollisionDetectorAllocatorPtr create()
const std::string & getName() const override
CollisionEnvPtr allocateEnv(const moveit::core::RobotModelConstPtr &robot_model) const override
CollisionEnvPtr allocateEnv(const WorldPtr &world, const moveit::core::RobotModelConstPtr &robot_model) const override
CollisionEnvPtr allocateEnv(const CollisionEnvConstPtr &orig, const WorldPtr &world) const override
An allocator for a compatible CollisionWorld/CollisionRobot pair.
virtual CollisionEnvPtr allocateEnv(const moveit::core::RobotModelConstPtr &robot_model) const =0
virtual CollisionEnvPtr allocateEnv(const WorldPtr &world, const moveit::core::RobotModelConstPtr &robot_model) const =0
virtual CollisionEnvPtr allocateEnv(const CollisionEnvConstPtr &orig, const WorldPtr &world) const =0
virtual ~CollisionDetectorAllocator()
virtual const std::string & getName() const =0
MOVEIT_CLASS_FORWARD(AllowedCollisionMatrix)