23 return (static_cast<FCLCollisionObject *>(entity))->
BVCheck(obj2);
34 return (static_cast<FCLCollisionObject *>(entity))->
getAABB();
37 <<
"Returning bounding volume for complex shapes is not implemented";
42 if (fcl_solver_entity_valid_) {
43 fcl_entity_->invalidateSolverEntityCache();
45 if (boost_solver_entity_valid_) {
46 boost_entity_->invalidateSolverEntityCache();
51 if (fcl_solver_entity_valid_) {
57 std::move(std::unique_ptr<SolverEntity_FCL, SolverEntity_FCLDeleter>(
59 fcl_solver_entity_valid_ =
true;
60 ptr = fcl_entity_.get();
66 if (boost_solver_entity_valid_) {
71 boost_entity_ = std::move(
72 std::unique_ptr<SolverEntity_Boost, SolverEntity_BoostDeleter>(
74 boost_solver_entity_valid_ =
true;
75 ptr = boost_entity_.get();
SolverEntity_FCL * createFCLSolverEntity(const CollisionObjectEx *obj)
virtual bool BVCheck(CollisionObjectConstPtr obj2) const
void invalidateCollisionEntityCache(void)
std::shared_ptr< const CollisionObject > CollisionObjectConstPtr
std::size_t collide_binary(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
virtual std::shared_ptr< const collision::RectangleAABB > getAABB() const
SolverEntity_Boost * createBoostSolverEntity(const CollisionObjectEx *obj)
virtual FCL_COLLISION_ENTITY_TYPE getFclEntityType(void) const
Universal structure specifying collision request properties.
virtual bool collide(const CollisionObject &c, const collision::CollisionRequest &req=CollisionRequest()) const
virtual int getSolverEntity(solvers::solverFCL::SolverEntity_FCL *&ptr) const
Base class for CollisionObjects and some of their groups.
Structure holding result for a collision request.