Go to the documentation of this file.
   35 #ifndef COAL_PYTHON_BROADPHASE_BROADPHASE_COLLISION_MANAGER_HH 
   36 #define COAL_PYTHON_BROADPHASE_BROADPHASE_COLLISION_MANAGER_HH 
   46 #ifdef COAL_HAS_DOXYGEN_AUTODOC 
   47 #include "doxygen_autodoc/functions.h" 
   48 #include "doxygen_autodoc/coal/broadphase/broadphase_collision_manager.h" 
   51 #include <boost/algorithm/string/replace.hpp> 
   52 #include <boost/type_index.hpp> 
   58       bp::wrapper<BroadPhaseCollisionManager> {
 
   62     this->get_override(
"registerObjects")(other_objs);
 
   65     this->get_override(
"registerObjects")(obj);
 
   68     this->get_override(
"unregisterObject")(obj);
 
   71   void update(
const std::vector<CollisionObject *> &other_objs) {
 
   72     this->get_override(
"update")(other_objs);
 
   75   void update() { this->get_override(
"update")(); }
 
   77   void setup() { this->get_override(
"setup")(); }
 
   78   void clear() { this->get_override(
"clear")(); }
 
   81 #pragma GCC diagnostic push 
   82 #pragma GCC diagnostic ignored "-Wconversion" 
   83     return this->get_override(
"getObjects")();
 
   84 #pragma GCC diagnostic pop 
   88     this->get_override(
"collide")(
callback);
 
   91     this->get_override(
"collide")(obj, 
callback);
 
   95     this->get_override(
"collide")(other_manager, 
callback);
 
   99     this->get_override(
"distance")(
callback);
 
  102     this->get_override(
"collide")(obj, 
callback);
 
  106     this->get_override(
"collide")(other_manager, 
callback);
 
  110 #pragma GCC diagnostic push 
  111 #pragma GCC diagnostic ignored "-Wconversion" 
  112     return this->get_override(
"empty")();
 
  113 #pragma GCC diagnostic pop 
  116 #pragma GCC diagnostic push 
  117 #pragma GCC diagnostic ignored "-Wconversion" 
  118     return this->get_override(
"size")();
 
  119 #pragma GCC diagnostic pop 
  123     bp::class_<BroadPhaseCollisionManagerWrapper, boost::noncopyable>(
 
  124         "BroadPhaseCollisionManager", bp::no_init)
 
  127              bp::with_custodian_and_ward_postcall<1, 2>())
 
  130              bp::with_custodian_and_ward_postcall<1, 2>())
 
  138                  (
void(
Base::*)(
const std::vector<CollisionObject *> &)) &
 
  141                  const std::vector<CollisionObject *> &))(&
Base::update)),
 
  142              bp::with_custodian_and_ward_postcall<1, 2>())
 
  148              bp::with_custodian_and_ward_postcall<1, 2>())
 
  161             bp::pure_virtual((std::vector<CollisionObject *>(
Base::*)() 
const) &
 
  164                 (std::vector<CollisionObject *>(
Base::*)() 
const) &
 
  166             bp::with_custodian_and_ward_postcall<0, 1>())
 
  215   template <
typename Derived>
 
  217     std::string class_name = boost::typeindex::type_id<Derived>().pretty_name();
 
  218     boost::algorithm::replace_all(class_name, 
"coal::", 
"");
 
  220     boost::algorithm::replace_all(class_name, 
"class ", 
"");
 
  223     bp::class_<Derived, bp::bases<BroadPhaseCollisionManager> >(
 
  224         class_name.c_str(), bp::no_init)
 
  225         .
def(dv::init<Derived>());
 
  232 #endif  // ifndef COAL_PYTHON_BROADPHASE_BROADPHASE_COLLISION_MANAGER_HH 
  
BroadPhaseCollisionManager Base
void registerObjects(const std::vector< CollisionObject * > &other_objs)
add objects to the manager
virtual size_t size() const =0
the number of objects managed by the manager
void collide(CollisionCallBackBase *callback) const
perform collision test for the objects belonging to the manager (i.e., N^2 self collision)
virtual void distance(CollisionObject *obj, DistanceCallBackBase *callback) const =0
perform distance computation between one object and all the objects belonging to the manager
void registerObject(CollisionObject *obj)
add one object to the manager
bool empty() const
whether the manager is empty
size_t size() const
the number of objects managed by the manager
std::vector< CollisionObject * > getObjects() const
return the objects managed by the manager
virtual void clear()=0
clear the manager
Base class for broad phase collision. It helps to accelerate the collision/distance between N objects...
void collide(BroadPhaseCollisionManager *other_manager, CollisionCallBackBase *callback) const
perform collision test with objects belonging to another manager
virtual std::vector< CollisionObject * > getObjects() const
return the objects managed by the manager
void setup()
initialize the manager, related with the specific type of manager
void def(const char *name, Func func)
virtual void registerObjects(const std::vector< CollisionObject * > &other_objs)
add objects to the manager
virtual void setup()=0
initialize the manager, related with the specific type of manager
void collide(CollisionObject *obj, CollisionCallBackBase *callback) const
perform collision test between one object and all the objects belonging to the manager
static void exposeDerived()
virtual void update()=0
update the condition of manager
void update(const std::vector< CollisionObject * > &other_objs)
update the manager by explicitly given the set of objects update
Base callback class for distance queries. This class can be supersed by child classes to provide desi...
the object for collision or distance computation, contains the geometry and the transform information
void update()
update the condition of manager
virtual bool empty() const =0
whether the manager is empty
void unregisterObject(CollisionObject *obj)
remove one object from the manager
void clear()
clear the manager
void distance(DistanceCallBackBase *callback) const
perform distance test for the objects belonging to the manager (i.e., N^2 self distance)
virtual void registerObject(CollisionObject *obj)=0
add one object to the manager
void distance(BroadPhaseCollisionManager *other_manager, DistanceCallBackBase *callback) const
perform distance test with objects belonging to another manager
Base callback class for collision queries. This class can be supersed by child classes to provide des...
virtual void collide(CollisionObject *obj, CollisionCallBackBase *callback) const =0
perform collision test between one object and all the objects belonging to the manager
virtual void unregisterObject(CollisionObject *obj)=0
remove one object from the manager
void update(CollisionObject *obj)
update the manager by explicitly given the object updated
const char * member_func_doc(FuncPtr)
void distance(CollisionObject *obj, DistanceCallBackBase *callback) const
perform distance computation between one object and all the objects belonging to the manager
hpp-fcl
Author(s): 
autogenerated on Fri Feb 14 2025 03:45:50