48 #ifdef COAL_HAS_DOXYGEN_AUTODOC 
   49 #include "doxygen_autodoc/functions.h" 
   50 #include "doxygen_autodoc/coal/collision_data.h" 
   53 #include "../doc/python/doxygen.hh" 
   54 #include "../doc/python/doxygen-boost.hh" 
   64   return index == 1 ? 
c.o1 : 
c.o2;
 
   79     enum_<CollisionRequestFlag>(
"CollisionRequestFlag")
 
   86   if (!eigenpy::register_symbolic_link_to_registered_type<CPUTimes>()) {
 
   87     class_<CPUTimes>(
"CPUTimes", no_init)
 
   88         .def_readonly(
"wall", &CPUTimes::wall,
 
   89                       "wall time in micro seconds (us)")
 
   90         .def_readonly(
"user", &CPUTimes::user,
 
   91                       "user time in micro seconds (us)")
 
   92         .def_readonly(
"system", &CPUTimes::system,
 
   93                       "system time in micro seconds (us)")
 
   94         .def(
"clear", &CPUTimes::clear, arg(
"self"), 
"Reset the time values.");
 
   99   if (!eigenpy::register_symbolic_link_to_registered_type<QueryRequest>()) {
 
  100     class_<QueryRequest>(
"QueryRequest", doxygen::class_doc<QueryRequest>(),
 
  105         .DEF_RW_CLASS_ATTRIB(
QueryRequest, gjk_convergence_criterion)
 
  106         .DEF_RW_CLASS_ATTRIB(
QueryRequest, gjk_convergence_criterion_type)
 
  108         .DEF_RW_CLASS_ATTRIB(
QueryRequest, enable_cached_gjk_guess)
 
  110             "enable_cached_gjk_guess",
 
  113                   return self.enable_cached_gjk_guess;
 
  116                     "enable_cached_gjk_guess has been marked as deprecated and " 
  117                     "will be removed in a future release.\n" 
  118                     "Please use gjk_initial_guess instead.")),
 
  121                   self.enable_cached_gjk_guess = 
value;
 
  124                     "enable_cached_gjk_guess has been marked as deprecated and " 
  125                     "will be removed in a future release.\n" 
  126                     "Please use gjk_initial_guess instead.")),
 
  127             doxygen::class_attrib_doc<QueryRequest>(
"enable_cached_gjk_guess"))
 
  129         .DEF_RW_CLASS_ATTRIB(
QueryRequest, cached_support_func_guess)
 
  139   if (!eigenpy::register_symbolic_link_to_registered_type<CollisionRequest>()) {
 
  140     class_<CollisionRequest, bases<QueryRequest> >(
 
  141         "CollisionRequest", doxygen::class_doc<CollisionRequest>(), no_init)
 
  142         .
def(dv::init<CollisionRequest>())
 
  143         .
def(dv::init<CollisionRequest, const CollisionRequestFlag, size_t>())
 
  147             "enable_distance_lower_bound",
 
  150                   return self.enable_distance_lower_bound;
 
  153                     "enable_distance_lower_bound has been marked as " 
  155                     "A lower bound on distance is always computed.\n")),
 
  158                   self.enable_distance_lower_bound = 
value;
 
  161                     "enable_distance_lower_bound has been marked as " 
  163                     "A lower bound on distance is always computed.\n")),
 
  164             doxygen::class_attrib_doc<CollisionRequest>(
 
  165                 "enable_distance_lower_bound"))
 
  173           std::vector<CollisionRequest> >()) {
 
  174     class_<std::vector<CollisionRequest> >(
"StdVec_CollisionRequest")
 
  175         .
def(vector_indexing_suite<std::vector<CollisionRequest> >());
 
  179   if (!eigenpy::register_symbolic_link_to_registered_type<Contact>()) {
 
  180     class_<Contact>(
"Contact", doxygen::class_doc<Contact>(),
 
  181                     init<>(arg(
"self"), 
"Default constructor"))
 
  189             make_function(&geto<1>,
 
  190                           return_value_policy<reference_existing_object>()),
 
  191             doxygen::class_attrib_doc<Contact>(
"o1"))
 
  194             make_function(&geto<2>,
 
  195                           return_value_policy<reference_existing_object>()),
 
  196             doxygen::class_attrib_doc<Contact>(
"o2"))
 
  198              doxygen::class_attrib_doc<Contact>(
"nearest_points"))
 
  200              doxygen::class_attrib_doc<Contact>(
"nearest_points"))
 
  201         .DEF_RW_CLASS_ATTRIB(
Contact, b1)
 
  202         .DEF_RW_CLASS_ATTRIB(
Contact, b2)
 
  203         .DEF_RW_CLASS_ATTRIB(
Contact, normal)
 
  204         .DEF_RW_CLASS_ATTRIB(
Contact, nearest_points)
 
  206         .DEF_RW_CLASS_ATTRIB(
Contact, penetration_depth)
 
  212           std::vector<Contact> >()) {
 
  213     class_<std::vector<Contact> >(
"StdVec_Contact")
 
  214         .
def(vector_indexing_suite<std::vector<Contact> >());
 
  217   if (!eigenpy::register_symbolic_link_to_registered_type<QueryResult>()) {
 
  218     class_<QueryResult>(
"QueryResult", doxygen::class_doc<QueryResult>(),
 
  220         .DEF_RW_CLASS_ATTRIB(
QueryResult, cached_gjk_guess)
 
  221         .DEF_RW_CLASS_ATTRIB(
QueryResult, cached_support_func_guess)
 
  225   if (!eigenpy::register_symbolic_link_to_registered_type<CollisionResult>()) {
 
  226     class_<CollisionResult, bases<QueryResult> >(
 
  227         "CollisionResult", doxygen::class_doc<CollisionResult>(), no_init)
 
  228         .
def(dv::init<CollisionResult>())
 
  234                          return_value_policy<copy_const_reference>())
 
  238                 &CollisionResult::getContacts)))
 
  241                              const
>(&CollisionResult::getContacts),
 
  244                                  const
>(&CollisionResult::getContacts)),
 
  245              return_internal_reference<>())
 
  252           std::vector<CollisionResult> >()) {
 
  253     class_<std::vector<CollisionResult> >(
"StdVec_CollisionResult")
 
  254         .
def(vector_indexing_suite<std::vector<CollisionResult> >());
 
  258                static_cast<std::size_t (*)(
 
  268   class_<ComputeCollision>(
"ComputeCollision",
 
  269                            doxygen::class_doc<ComputeCollision>(), no_init)