43 #ifdef HPP_FCL_HAS_DOXYGEN_AUTODOC 44 #include "doxygen_autodoc/functions.h" 45 #include "doxygen_autodoc/hpp/fcl/collision_data.h" 48 #include "../doc/python/doxygen.hh" 49 #include "../doc/python/doxygen-boost.hh" 65 enum_<CollisionRequestFlag>(
"CollisionRequestFlag")
72 if (!eigenpy::register_symbolic_link_to_registered_type<CPUTimes>()) {
73 class_<CPUTimes>(
"CPUTimes", no_init)
74 .def_readonly(
"wall", &CPUTimes::wall,
75 "wall time in micro seconds (us)")
76 .def_readonly(
"user", &CPUTimes::user,
77 "user time in micro seconds (us)")
78 .def_readonly(
"system", &CPUTimes::system,
79 "system time in micro seconds (us)")
80 .def(
"clear", &CPUTimes::clear, arg(
"self"),
"Reset the time values.");
83 if (!eigenpy::register_symbolic_link_to_registered_type<QueryRequest>()) {
84 class_<QueryRequest>(
"QueryRequest", doxygen::class_doc<QueryRequest>(),
89 .DEF_RW_CLASS_ATTRIB(
QueryRequest, gjk_convergence_criterion)
90 .DEF_RW_CLASS_ATTRIB(
QueryRequest, gjk_convergence_criterion_type)
92 .DEF_RW_CLASS_ATTRIB(
QueryRequest, enable_cached_gjk_guess)
94 "enable_cached_gjk_guess",
97 return self.enable_cached_gjk_guess;
100 "enable_cached_gjk_guess has been marked as deprecated and " 101 "will be removed in a future release.\n" 102 "Please use gjk_initial_guess instead.")),
105 self.enable_cached_gjk_guess = value;
108 "enable_cached_gjk_guess has been marked as deprecated and " 109 "will be removed in a future release.\n" 110 "Please use gjk_initial_guess instead.")),
111 doxygen::class_attrib_doc<QueryRequest>(
"enable_cached_gjk_guess"))
113 .DEF_RW_CLASS_ATTRIB(
QueryRequest, cached_support_func_guess)
118 if (!eigenpy::register_symbolic_link_to_registered_type<CollisionRequest>()) {
119 class_<CollisionRequest, bases<QueryRequest> >(
120 "CollisionRequest", doxygen::class_doc<CollisionRequest>(), no_init)
121 .def(dv::init<CollisionRequest>())
122 .def(dv::init<CollisionRequest, const CollisionRequestFlag, size_t>())
132 std::vector<CollisionRequest> >()) {
133 class_<std::vector<CollisionRequest> >(
"StdVec_CollisionRequest")
134 .
def(vector_indexing_suite<std::vector<CollisionRequest> >());
137 if (!eigenpy::register_symbolic_link_to_registered_type<Contact>()) {
138 class_<Contact>(
"Contact", doxygen::class_doc<Contact>(),
139 init<>(arg(
"self"),
"Default constructor"))
147 make_function(&geto<1>,
148 return_value_policy<reference_existing_object>()),
149 doxygen::class_attrib_doc<Contact>(
"o1"))
152 make_function(&geto<2>,
153 return_value_policy<reference_existing_object>()),
154 doxygen::class_attrib_doc<Contact>(
"o2"))
155 .DEF_RW_CLASS_ATTRIB(
Contact, b1)
156 .DEF_RW_CLASS_ATTRIB(
Contact, b2)
157 .DEF_RW_CLASS_ATTRIB(
Contact, normal)
159 .DEF_RW_CLASS_ATTRIB(
Contact, penetration_depth)
165 std::vector<Contact> >()) {
166 class_<std::vector<Contact> >(
"StdVec_Contact")
167 .
def(vector_indexing_suite<std::vector<Contact> >());
170 if (!eigenpy::register_symbolic_link_to_registered_type<QueryResult>()) {
171 class_<QueryResult>(
"QueryResult", doxygen::class_doc<QueryResult>(),
173 .DEF_RW_CLASS_ATTRIB(
QueryResult, cached_gjk_guess)
174 .DEF_RW_CLASS_ATTRIB(
QueryResult, cached_support_func_guess)
178 if (!eigenpy::register_symbolic_link_to_registered_type<CollisionResult>()) {
179 class_<CollisionResult, bases<QueryResult> >(
180 "CollisionResult", doxygen::class_doc<CollisionResult>(), no_init)
181 .def(dv::init<CollisionResult>())
187 return_value_policy<copy_const_reference>())
191 &CollisionResult::getContacts)))
194 const
>(&CollisionResult::getContacts),
197 const
>(&CollisionResult::getContacts)),
198 return_internal_reference<>())
204 std::vector<CollisionResult> >()) {
205 class_<std::vector<CollisionResult> >(
"StdVec_CollisionResult")
206 .
def(vector_indexing_suite<std::vector<CollisionResult> >());
210 static_cast<std::size_t (*)(
220 class_<ComputeCollision>(
"ComputeCollision",
221 doxygen::class_doc<ComputeCollision>(), no_init)
const char * member_func_doc(FuncPtr)
void exposeCollisionAPI()
base class for all query results
void def(const char *name, Func func)
const CollisionGeometry * geto(const Contact &c)
bool register_symbolic_link_to_registered_type()
CollisionRequestFlag
flag declaration for specifying required params in CollisionResult
request to the collision algorithm
This class reduces the cost of identifying the geometry pair. This is mostly useful for repeated shap...
HPP_FCL_DLLAPI std::size_t collide(const CollisionObject *o1, const CollisionObject *o2, const CollisionRequest &request, CollisionResult &result)
Main collision interface: given two collision objects, and the requirements for contacts, including num of max contacts, whether perform exhaustive collision (i.e., returning returning all the contact points), whether return detailed contact information (i.e., normal, contact point, depth; otherwise only contact primitive id is returned), this function performs the collision between them. Return value is the number of contacts generated between the two objects.
member_func_impl< function_type > member_func(const char *name, const function_type &function)
base class for all query requests
Eigen::Matrix< FCL_REAL, 3, 1 > Vec3f
the object for collision or distance computation, contains the geometry and the transform information...
The geometry for the object for collision or distance computation.