1 |
|
|
#ifndef DOXYGEN_AUTODOC_FUNCTIONS_H |
2 |
|
|
#define DOXYGEN_AUTODOC_FUNCTIONS_H |
3 |
|
|
|
4 |
|
|
#include "/root/robotpkg/path/py-hpp-fcl/work/hpp-fcl-2.4.1/doc/python/doxygen.hh" |
5 |
|
|
|
6 |
|
|
#include <hpp/fcl/shape/geometric_shapes.h> |
7 |
|
|
#include <hpp/fcl/narrowphase/gjk.h> |
8 |
|
|
#include <hpp/fcl/serialization/memory.h> |
9 |
|
|
#include <hpp/fcl/serialization/BVH_model.h> |
10 |
|
|
#include <hpp/fcl/data_types.h> |
11 |
|
|
#include <hpp/fcl/broadphase/detail/hierarchy_tree_array-inl.h> |
12 |
|
|
#include <hpp/fcl/broadphase/detail/hierarchy_tree-inl.h> |
13 |
|
|
#include <hpp/fcl/broadphase/broadphase_spatialhash.h> |
14 |
|
|
#include <hpp/fcl/math/transform.h> |
15 |
|
|
#include <hpp/fcl/hfield.h> |
16 |
|
|
#include <hpp/fcl/serialization/AABB.h> |
17 |
|
|
#include <hpp/fcl/serialization/BV_node.h> |
18 |
|
|
#include <hpp/fcl/serialization/BV_splitter.h> |
19 |
|
|
#include <hpp/fcl/serialization/collision_data.h> |
20 |
|
|
#include <hpp/fcl/serialization/collision_object.h> |
21 |
|
|
#include <hpp/fcl/serialization/convex.h> |
22 |
|
|
#include <hpp/fcl/serialization/eigen.h> |
23 |
|
|
#include <hpp/fcl/serialization/geometric_shapes.h> |
24 |
|
|
#include <hpp/fcl/serialization/hfield.h> |
25 |
|
|
#include <hpp/fcl/serialization/OBB.h> |
26 |
|
|
#include <hpp/fcl/serialization/OBBRSS.h> |
27 |
|
|
#include <hpp/fcl/serialization/quadrilateral.h> |
28 |
|
|
#include <hpp/fcl/serialization/RSS.h> |
29 |
|
|
#include <hpp/fcl/serialization/triangle.h> |
30 |
|
|
#include <hpp/fcl/internal/traversal_node_setup.h> |
31 |
|
|
#include <hpp/fcl/broadphase/default_broadphase_callbacks.h> |
32 |
|
|
#include <hpp/fcl/BV/AABB.h> |
33 |
|
|
#include <hpp/fcl/BV/BV.h> |
34 |
|
|
#include <hpp/fcl/BV/kDOP.h> |
35 |
|
|
#include <hpp/fcl/BV/kIOS.h> |
36 |
|
|
#include <hpp/fcl/BV/OBB.h> |
37 |
|
|
#include <hpp/fcl/BV/OBBRSS.h> |
38 |
|
|
#include <hpp/fcl/BV/RSS.h> |
39 |
|
|
#include <hpp/fcl/BVH/BVH_front.h> |
40 |
|
|
#include <hpp/fcl/BVH/BVH_utility.h> |
41 |
|
|
#include <hpp/fcl/collision.h> |
42 |
|
|
#include <hpp/fcl/collision_data.h> |
43 |
|
|
#include <hpp/fcl/collision_utility.h> |
44 |
|
|
#include <hpp/fcl/distance.h> |
45 |
|
|
#include <hpp/fcl/internal/BV_fitter.h> |
46 |
|
|
#include <hpp/fcl/internal/tools.h> |
47 |
|
|
#include <hpp/fcl/mesh_loader/assimp.h> |
48 |
|
|
#include <hpp/fcl/octree.h> |
49 |
|
|
#include <hpp/fcl/shape/geometric_shape_to_BVH_model.h> |
50 |
|
|
#include <hpp/fcl/shape/geometric_shapes_utility.h> |
51 |
|
|
#include <BV/OBB.h> |
52 |
|
|
#include <narrowphase/details.h> |
53 |
|
|
|
54 |
|
|
namespace doxygen { |
55 |
|
|
|
56 |
|
5 |
inline const char* member_func_doc ( hpp::fcl::ConvexBase * (*function_ptr) (const hpp::fcl::Vec3f *, unsigned int, bool, const char *)) |
57 |
|
|
{ |
58 |
✓✗ |
5 |
if (function_ptr == static_cast< hpp::fcl::ConvexBase * (*) (const hpp::fcl::Vec3f *, unsigned int, bool, const char *)>(&hpp::fcl::ConvexBase::convexHull)) |
59 |
|
|
return "Build a convex hull based on Qhull library and store the vertices and optionally the triangles. \n" |
60 |
|
|
"\n" |
61 |
|
|
"\n" |
62 |
|
|
"Param\n" |
63 |
|
|
" - points, num_points the points whose convex hull should be computed. \n" |
64 |
|
|
" - keepTriangles if true, returns a Convex<Triangle> object which contains the triangle of the shape. \n" |
65 |
|
|
" - qhullCommand the command sent to qhull.\n" |
66 |
|
|
"- if keepTriangles is true, this parameter should include \"Qt\". If NULL, \"Qt\" is passed to Qhull.\n" |
67 |
|
|
"- if keepTriangles is false, an empty string is passed to Qhull. \n" |
68 |
|
|
"\n" |
69 |
|
|
"\n" |
70 |
|
|
"\n" |
71 |
|
5 |
"Note: hpp-fcl must have been compiled with option HPP_FCL_HAS_QHULL set to ON. "; |
72 |
|
|
return ""; |
73 |
|
|
} |
74 |
|
|
|
75 |
|
|
template <typename HashTable> |
76 |
|
|
inline const char* member_func_doc (void (*function_ptr) (std::vector< hpp::fcl::CollisionObject * > &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &)) |
77 |
|
|
{ |
78 |
|
|
if (function_ptr == static_cast<void (*) (std::vector< hpp::fcl::CollisionObject * > &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &)>(&hpp::fcl::SpatialHashingCollisionManager <HashTable >::computeBound)) |
79 |
|
|
return "compute the bound for the environent "; |
80 |
|
|
return ""; |
81 |
|
|
} |
82 |
|
|
|
83 |
|
|
inline const char* member_func_doc (bool (*function_ptr) ( hpp::fcl::CollisionObject *, hpp::fcl::CollisionObject *, void *)) |
84 |
|
|
{ |
85 |
|
|
if (function_ptr == static_cast<bool (*) ( hpp::fcl::CollisionObject *, hpp::fcl::CollisionObject *, void *)>(&hpp::fcl::defaultCollisionFunction)) |
86 |
|
|
return "Provides a simple callback for the collision query in the hpp::fcl::BroadPhaseCollisionManager. It assumes the data parameter is non-null and points to an instance of hpp::fcl::CollisionData. It simply invokes the collide() method on the culled pair of geometries and stores the results in the data's hpp::fcl::CollisionResult instance. \n" |
87 |
|
|
"\n" |
88 |
|
|
"This callback will cause the broadphase evaluation to stop if:\n" |
89 |
|
|
"- the collision requests *disables* cost *and*\n" |
90 |
|
|
"- the collide() reports a collision for the culled pair, *and*\n" |
91 |
|
|
"- we've reported the number of contacts requested in the hpp::fcl::CollisionRequest.\n" |
92 |
|
|
"\n" |
93 |
|
|
"\n" |
94 |
|
|
"For a given instance of hpp::fcl::CollisionData, if broadphase evaluation has already terminated (i.e., defaultCollisionFunction() returned true), subsequent invocations with the same instance of hpp::fcl::CollisionData will return immediately, requesting termination of broadphase evaluation (i.e., return true).\n" |
95 |
|
|
"\n" |
96 |
|
|
"Param\n" |
97 |
|
|
" - o1 The first object in the culled pair. \n" |
98 |
|
|
" - o2 The second object in the culled pair. \n" |
99 |
|
|
" - data A non-null pointer to a hpp::fcl::CollisionData instance. \n" |
100 |
|
|
"\n" |
101 |
|
|
"Return: true if the broadphase evaluation should stop. \n" |
102 |
|
|
"\n" |
103 |
|
|
"\n" |
104 |
|
|
"Templateparam\n" |
105 |
|
|
" - S The scalar type with which the computation will be performed. "; |
106 |
|
|
return ""; |
107 |
|
|
} |
108 |
|
|
|
109 |
|
|
inline const char* member_func_doc (bool (*function_ptr) ( hpp::fcl::CollisionObject *, hpp::fcl::CollisionObject *, void *, hpp::fcl::FCL_REAL &)) |
110 |
|
|
{ |
111 |
|
|
if (function_ptr == static_cast<bool (*) ( hpp::fcl::CollisionObject *, hpp::fcl::CollisionObject *, void *, hpp::fcl::FCL_REAL &)>(&hpp::fcl::defaultDistanceFunction)) |
112 |
|
|
return "Collision data for use with the DefaultContinuousCollisionFunction. It stores the collision request and the result given by the collision algorithm (and stores the conclusion of whether further evaluation of the broadphase collision manager has been deemed unnecessary). \n" |
113 |
|
|
"\n" |
114 |
|
|
"Provides a simple callback for the continuous collision query in the hpp::fcl::BroadPhaseCollisionManager. It assumes the data parameter is non-null and points to an instance of DefaultContinuousCollisionData. It simply invokes the collide() method on the culled pair of geometries and stores the results in the data's ContinuousCollisionResult instance.\n" |
115 |
|
|
"This callback will never cause the broadphase evaluation to terminate early. However, if the done member of the DefaultContinuousCollisionData is set to true, this method will simply return without doing any computation.\n" |
116 |
|
|
"For a given instance of DefaultContinuousCollisionData, if broadphase evaluation has already terminated (i.e., DefaultContinuousCollisionFunction() returned true), subsequent invocations with the same instance of hpp::fcl::CollisionData will return immediately, requesting termination of broadphase evaluation (i.e., return true).\n" |
117 |
|
|
"\n" |
118 |
|
|
"Param\n" |
119 |
|
|
" - o1 The first object in the culled pair. \n" |
120 |
|
|
" - o2 The second object in the culled pair. \n" |
121 |
|
|
" - data A non-null pointer to a hpp::fcl::CollisionData instance. \n" |
122 |
|
|
"\n" |
123 |
|
|
"Return: True if the broadphase evaluation should stop. \n" |
124 |
|
|
"\n" |
125 |
|
|
"\n" |
126 |
|
|
"Templateparam\n" |
127 |
|
|
" - S The scalar type with which the computation will be performed.\n" |
128 |
|
|
"\n" |
129 |
|
|
"Provides a simple callback for the distance query in the hpp::fcl::BroadPhaseCollisionManager. It assumes the data parameter is non-null and points to an instance of hpp::fcl::DistanceData. It simply invokes the distance() method on the culled pair of geometries and stores the results in the data's hpp::fcl::DistanceResult instance.\n" |
130 |
|
|
"This callback will cause the broadphase evaluation to stop if:\n" |
131 |
|
|
"- The distance is less than or equal to zero (i.e., the pair is in contact).\n" |
132 |
|
|
"\n" |
133 |
|
|
"\n" |
134 |
|
|
"For a given instance of hpp::fcl::DistanceData, if broadphase evaluation has already terminated (i.e., defaultDistanceFunction() returned true), subsequent invocations with the same instance of hpp::fcl::DistanceData will simply report the previously reported minimum distance and request termination of broadphase evaluation (i.e., return true).\n" |
135 |
|
|
"\n" |
136 |
|
|
"Param\n" |
137 |
|
|
" - o1 The first object in the culled pair. \n" |
138 |
|
|
" - o2 The second object in the culled pair. \n" |
139 |
|
|
" - data A non-null pointer to a hpp::fcl::DistanceData instance. \n" |
140 |
|
|
" - dist The distance computed by distance(). \n" |
141 |
|
|
"\n" |
142 |
|
|
"Return: true if the broadphase evaluation should stop. \n" |
143 |
|
|
"\n" |
144 |
|
|
"\n" |
145 |
|
|
"Templateparam\n" |
146 |
|
|
" - S The scalar type with which the computation will be performed. "; |
147 |
|
|
return ""; |
148 |
|
|
} |
149 |
|
|
|
150 |
|
|
inline const char* member_func_doc ( hpp::fcl::AABB (*function_ptr) (const hpp::fcl::AABB &, const hpp::fcl::Vec3f &)) |
151 |
|
|
{ |
152 |
|
|
if (function_ptr == static_cast< hpp::fcl::AABB (*) (const hpp::fcl::AABB &, const hpp::fcl::Vec3f &)>(&hpp::fcl::translate)) |
153 |
|
|
return "translate the center of hpp::fcl::AABB by t "; |
154 |
|
|
return ""; |
155 |
|
|
} |
156 |
|
|
|
157 |
|
|
inline const char* member_func_doc (bool (*function_ptr) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::AABB &, const hpp::fcl::AABB &)) |
158 |
|
|
{ |
159 |
|
|
if (function_ptr == static_cast<bool (*) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::AABB &, const hpp::fcl::AABB &)>(&hpp::fcl::overlap)) |
160 |
|
|
return "Check collision between two aabbs, b1 is in configuration (R0, T0) and b2 is in identity. "; |
161 |
|
|
return ""; |
162 |
|
|
} |
163 |
|
|
|
164 |
|
|
inline const char* member_func_doc (bool (*function_ptr) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::AABB &, const hpp::fcl::AABB &, const hpp::fcl::CollisionRequest &, hpp::fcl::FCL_REAL &)) |
165 |
|
|
{ |
166 |
|
|
if (function_ptr == static_cast<bool (*) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::AABB &, const hpp::fcl::AABB &, const hpp::fcl::CollisionRequest &, hpp::fcl::FCL_REAL &)>(&hpp::fcl::overlap)) |
167 |
|
|
return "Check collision between two aabbs, b1 is in configuration (R0, T0) and b2 is in identity. "; |
168 |
|
|
return ""; |
169 |
|
|
} |
170 |
|
|
|
171 |
|
|
template <typename BV1, typename BV2> |
172 |
|
|
inline const char* member_func_doc (void (*function_ptr) (const BV1 &, const hpp::fcl::Transform3f &, BV2 &)) |
173 |
|
|
{ |
174 |
|
|
if (function_ptr == static_cast<void (*) (const BV1 &, const hpp::fcl::Transform3f &, BV2 &)>(&hpp::fcl::convertBV)) |
175 |
|
|
return "Convert a bounding volume of type BV1 in configuration tf1 to bounding volume of type BV2 in identity configuration. "; |
176 |
|
|
return ""; |
177 |
|
|
} |
178 |
|
|
|
179 |
|
|
template <typename BV1, typename BV2> |
180 |
|
|
inline const char* member_func_doc (void (*function_ptr) (const BV1 &, BV2 &)) |
181 |
|
|
{ |
182 |
|
|
if (function_ptr == static_cast<void (*) (const BV1 &, BV2 &)>(&hpp::fcl::convertBV)) |
183 |
|
|
return "Convert a bounding volume of type BV1 to bounding volume of type BV2 in identity configuration. "; |
184 |
|
|
return ""; |
185 |
|
|
} |
186 |
|
|
|
187 |
|
|
template <short N> |
188 |
|
|
inline const char* member_func_doc ( hpp::fcl::KDOP < N > (*function_ptr) (const hpp::fcl::KDOP < N > &, const hpp::fcl::Vec3f &)) |
189 |
|
|
{ |
190 |
|
|
if (function_ptr == static_cast< hpp::fcl::KDOP < N > (*) (const hpp::fcl::KDOP < N > &, const hpp::fcl::Vec3f &)>(&hpp::fcl::translate)) |
191 |
|
|
return "translate the hpp::fcl::KDOP BV "; |
192 |
|
|
return ""; |
193 |
|
|
} |
194 |
|
|
|
195 |
|
|
inline const char* member_func_doc ( hpp::fcl::kIOS (*function_ptr) (const hpp::fcl::kIOS &, const hpp::fcl::Vec3f &)) |
196 |
|
|
{ |
197 |
|
|
if (function_ptr == static_cast< hpp::fcl::kIOS (*) (const hpp::fcl::kIOS &, const hpp::fcl::Vec3f &)>(&hpp::fcl::translate)) |
198 |
|
|
return "Translate the hpp::fcl::kIOS BV. "; |
199 |
|
|
return ""; |
200 |
|
|
} |
201 |
|
|
|
202 |
|
|
inline const char* member_func_doc (bool (*function_ptr) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::kIOS &, const hpp::fcl::kIOS &)) |
203 |
|
|
{ |
204 |
|
|
if (function_ptr == static_cast<bool (*) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::kIOS &, const hpp::fcl::kIOS &)>(&hpp::fcl::overlap)) |
205 |
|
|
return "Check collision between two kIOSs, b1 is in configuration (R0, T0) and b2 is in identity. \n" |
206 |
|
|
"\n" |
207 |
|
|
"TodoNot efficient "; |
208 |
|
|
return ""; |
209 |
|
|
} |
210 |
|
|
|
211 |
|
|
inline const char* member_func_doc (bool (*function_ptr) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::kIOS &, const hpp::fcl::kIOS &, const hpp::fcl::CollisionRequest &, hpp::fcl::FCL_REAL &)) |
212 |
|
|
{ |
213 |
|
|
if (function_ptr == static_cast<bool (*) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::kIOS &, const hpp::fcl::kIOS &, const hpp::fcl::CollisionRequest &, hpp::fcl::FCL_REAL &)>(&hpp::fcl::overlap)) |
214 |
|
|
return "Check collision between two kIOSs, b1 is in configuration (R0, T0) and b2 is in identity. \n" |
215 |
|
|
"\n" |
216 |
|
|
"TodoNot efficient "; |
217 |
|
|
return ""; |
218 |
|
|
} |
219 |
|
|
|
220 |
|
|
inline const char* member_func_doc ( hpp::fcl::FCL_REAL (*function_ptr) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::kIOS &, const hpp::fcl::kIOS &, hpp::fcl::Vec3f *, hpp::fcl::Vec3f *)) |
221 |
|
|
{ |
222 |
|
|
if (function_ptr == static_cast< hpp::fcl::FCL_REAL (*) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::kIOS &, const hpp::fcl::kIOS &, hpp::fcl::Vec3f *, hpp::fcl::Vec3f *)>(&hpp::fcl::distance)) |
223 |
|
|
return "Approximate distance between two hpp::fcl::kIOS bounding volumes. \n" |
224 |
|
|
"\n" |
225 |
|
|
"TodoP and Q is not returned, need implementation "; |
226 |
|
|
return ""; |
227 |
|
|
} |
228 |
|
|
|
229 |
|
|
inline const char* member_func_doc ( hpp::fcl::OBB (*function_ptr) (const hpp::fcl::OBB &, const hpp::fcl::Vec3f &)) |
230 |
|
|
{ |
231 |
|
|
if (function_ptr == static_cast< hpp::fcl::OBB (*) (const hpp::fcl::OBB &, const hpp::fcl::Vec3f &)>(&hpp::fcl::translate)) |
232 |
|
|
return "Translate the hpp::fcl::OBB bv. "; |
233 |
|
|
return ""; |
234 |
|
|
} |
235 |
|
|
|
236 |
|
|
inline const char* member_func_doc (bool (*function_ptr) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::OBB &, const hpp::fcl::OBB &)) |
237 |
|
|
{ |
238 |
|
|
if (function_ptr == static_cast<bool (*) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::OBB &, const hpp::fcl::OBB &)>(&hpp::fcl::overlap)) |
239 |
|
|
return "Check collision between two obbs, b1 is in configuration (R0, T0) and b2 is in identity. "; |
240 |
|
|
return ""; |
241 |
|
|
} |
242 |
|
|
|
243 |
|
|
inline const char* member_func_doc (bool (*function_ptr) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::OBB &, const hpp::fcl::OBB &, const hpp::fcl::CollisionRequest &, hpp::fcl::FCL_REAL &)) |
244 |
|
|
{ |
245 |
|
|
if (function_ptr == static_cast<bool (*) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::OBB &, const hpp::fcl::OBB &, const hpp::fcl::CollisionRequest &, hpp::fcl::FCL_REAL &)>(&hpp::fcl::overlap)) |
246 |
|
|
return "Check collision between two obbs, b1 is in configuration (R0, T0) and b2 is in identity. "; |
247 |
|
|
return ""; |
248 |
|
|
} |
249 |
|
|
|
250 |
|
|
inline const char* member_func_doc (bool (*function_ptr) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &)) |
251 |
|
|
{ |
252 |
|
|
if (function_ptr == static_cast<bool (*) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &)>(&hpp::fcl::obbDisjoint)) |
253 |
|
|
return "Check collision between two boxes \n" |
254 |
|
|
"Param\n" |
255 |
|
|
" - B, T orientation and position of first box, \n" |
256 |
|
|
" - a half dimensions of first box, \n" |
257 |
|
|
" - b half dimensions of second box. The second box is in identity configuration. "; |
258 |
|
|
return ""; |
259 |
|
|
} |
260 |
|
|
|
261 |
|
|
inline const char* member_func_doc (bool (*function_ptr) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::OBBRSS &, const hpp::fcl::OBBRSS &)) |
262 |
|
|
{ |
263 |
|
|
if (function_ptr == static_cast<bool (*) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::OBBRSS &, const hpp::fcl::OBBRSS &)>(&hpp::fcl::overlap)) |
264 |
|
|
return "Check collision between two hpp::fcl::OBBRSS, b1 is in configuration (R0, T0) and b2 is in indentity. "; |
265 |
|
|
return ""; |
266 |
|
|
} |
267 |
|
|
|
268 |
|
|
inline const char* member_func_doc (bool (*function_ptr) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::OBBRSS &, const hpp::fcl::OBBRSS &, const hpp::fcl::CollisionRequest &, hpp::fcl::FCL_REAL &)) |
269 |
|
|
{ |
270 |
|
|
if (function_ptr == static_cast<bool (*) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::OBBRSS &, const hpp::fcl::OBBRSS &, const hpp::fcl::CollisionRequest &, hpp::fcl::FCL_REAL &)>(&hpp::fcl::overlap)) |
271 |
|
|
return "Check collision between two hpp::fcl::OBBRSS \n" |
272 |
|
|
"Param\n" |
273 |
|
|
" - R0, T0 configuration of b1 \n" |
274 |
|
|
" - b1 first hpp::fcl::OBBRSS in configuration (R0, T0) \n" |
275 |
|
|
" - b2 second hpp::fcl::OBBRSS in identity position \n" |
276 |
|
|
"\n" |
277 |
|
|
"\n" |
278 |
|
|
"Retval\n" |
279 |
|
|
" - sqrDistLowerBound squared lower bound on the distance if hpp::fcl::OBBRSS do not overlap. "; |
280 |
|
|
return ""; |
281 |
|
|
} |
282 |
|
|
|
283 |
|
|
inline const char* member_func_doc ( hpp::fcl::FCL_REAL (*function_ptr) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::OBBRSS &, const hpp::fcl::OBBRSS &, hpp::fcl::Vec3f *, hpp::fcl::Vec3f *)) |
284 |
|
|
{ |
285 |
|
|
if (function_ptr == static_cast< hpp::fcl::FCL_REAL (*) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::OBBRSS &, const hpp::fcl::OBBRSS &, hpp::fcl::Vec3f *, hpp::fcl::Vec3f *)>(&hpp::fcl::distance)) |
286 |
|
|
return "Computate distance between two hpp::fcl::OBBRSS, b1 is in configuation (R0, T0) and b2 is in indentity; P and Q, is not NULL, returns the nearest points. "; |
287 |
|
|
return ""; |
288 |
|
|
} |
289 |
|
|
|
290 |
|
|
inline const char* member_func_doc ( hpp::fcl::FCL_REAL (*function_ptr) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::RSS &, const hpp::fcl::RSS &, hpp::fcl::Vec3f *, hpp::fcl::Vec3f *)) |
291 |
|
|
{ |
292 |
|
|
if (function_ptr == static_cast< hpp::fcl::FCL_REAL (*) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::RSS &, const hpp::fcl::RSS &, hpp::fcl::Vec3f *, hpp::fcl::Vec3f *)>(&hpp::fcl::distance)) |
293 |
|
|
return "distance between two hpp::fcl::RSS bounding volumes P and Q (optional return values) are the closest points in the rectangles, not the hpp::fcl::RSS. But the direction P - Q is the correct direction for cloest points Notice that P and Q are both in the local frame of the first hpp::fcl::RSS (not global frame and not even the local frame of object 1) "; |
294 |
|
|
return ""; |
295 |
|
|
} |
296 |
|
|
|
297 |
|
|
inline const char* member_func_doc (bool (*function_ptr) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::RSS &, const hpp::fcl::RSS &)) |
298 |
|
|
{ |
299 |
|
|
if (function_ptr == static_cast<bool (*) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::RSS &, const hpp::fcl::RSS &)>(&hpp::fcl::overlap)) |
300 |
|
|
return "Check collision between two RSSs, b1 is in configuration (R0, T0) and b2 is in identity. "; |
301 |
|
|
return ""; |
302 |
|
|
} |
303 |
|
|
|
304 |
|
|
inline const char* member_func_doc (bool (*function_ptr) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::RSS &, const hpp::fcl::RSS &, const hpp::fcl::CollisionRequest &, hpp::fcl::FCL_REAL &)) |
305 |
|
|
{ |
306 |
|
|
if (function_ptr == static_cast<bool (*) (const hpp::fcl::Matrix3f &, const hpp::fcl::Vec3f &, const hpp::fcl::RSS &, const hpp::fcl::RSS &, const hpp::fcl::CollisionRequest &, hpp::fcl::FCL_REAL &)>(&hpp::fcl::overlap)) |
307 |
|
|
return "Check collision between two RSSs, b1 is in configuration (R0, T0) and b2 is in identity. "; |
308 |
|
|
return ""; |
309 |
|
|
} |
310 |
|
|
|
311 |
|
|
inline const char* member_func_doc (void (*function_ptr) ( hpp::fcl::BVHFrontList *, unsigned int, unsigned int)) |
312 |
|
|
{ |
313 |
|
|
if (function_ptr == static_cast<void (*) ( hpp::fcl::BVHFrontList *, unsigned int, unsigned int)>(&hpp::fcl::updateFrontList)) |
314 |
|
|
return "Add new front node into the front list. "; |
315 |
|
|
return ""; |
316 |
|
|
} |
317 |
|
|
|
318 |
|
|
template <typename BV> |
319 |
|
|
inline const char* member_func_doc ( hpp::fcl::BVHModel < BV > * (*function_ptr) (const hpp::fcl::BVHModel < BV > &, const hpp::fcl::Transform3f &, const hpp::fcl::AABB &)) |
320 |
|
|
{ |
321 |
|
|
if (function_ptr == static_cast< hpp::fcl::BVHModel < BV > * (*) (const hpp::fcl::BVHModel < BV > &, const hpp::fcl::Transform3f &, const hpp::fcl::AABB &)>(&hpp::fcl::BVHExtract)) |
322 |
|
|
return "Extract the part of the hpp::fcl::BVHModel that is inside an hpp::fcl::AABB. A triangle in collision with the hpp::fcl::AABB is considered inside. "; |
323 |
|
|
return ""; |
324 |
|
|
} |
325 |
|
|
|
326 |
|
|
inline const char* member_func_doc (void (*function_ptr) ( hpp::fcl::Vec3f *, hpp::fcl::Vec3f *, hpp::fcl::Triangle *, unsigned int *, unsigned int, hpp::fcl::Matrix3f &)) |
327 |
|
|
{ |
328 |
|
|
if (function_ptr == static_cast<void (*) ( hpp::fcl::Vec3f *, hpp::fcl::Vec3f *, hpp::fcl::Triangle *, unsigned int *, unsigned int, hpp::fcl::Matrix3f &)>(&hpp::fcl::getCovariance)) |
329 |
|
|
return "Compute the covariance matrix for a set or subset of points. if ts = null, then indices refer to points directly; otherwise refer to triangles. "; |
330 |
|
|
return ""; |
331 |
|
|
} |
332 |
|
|
|
333 |
|
|
inline const char* member_func_doc (void (*function_ptr) ( hpp::fcl::Vec3f *, hpp::fcl::Vec3f *, hpp::fcl::Triangle *, unsigned int *, unsigned int, const hpp::fcl::Matrix3f &, hpp::fcl::Vec3f &, hpp::fcl::FCL_REAL[2], hpp::fcl::FCL_REAL &)) |
334 |
|
|
{ |
335 |
|
|
if (function_ptr == static_cast<void (*) ( hpp::fcl::Vec3f *, hpp::fcl::Vec3f *, hpp::fcl::Triangle *, unsigned int *, unsigned int, const hpp::fcl::Matrix3f &, hpp::fcl::Vec3f &, hpp::fcl::FCL_REAL[2], hpp::fcl::FCL_REAL &)>(&hpp::fcl::getRadiusAndOriginAndRectangleSize)) |
336 |
|
|
return "Compute the hpp::fcl::RSS bounding volume parameters: radius, rectangle size and the origin, given the BV axises. "; |
337 |
|
|
return ""; |
338 |
|
|
} |
339 |
|
|
|
340 |
|
|
inline const char* member_func_doc (void (*function_ptr) ( hpp::fcl::Vec3f *, hpp::fcl::Vec3f *, hpp::fcl::Triangle *, unsigned int *, unsigned int, hpp::fcl::Matrix3f &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &)) |
341 |
|
|
{ |
342 |
|
|
if (function_ptr == static_cast<void (*) ( hpp::fcl::Vec3f *, hpp::fcl::Vec3f *, hpp::fcl::Triangle *, unsigned int *, unsigned int, hpp::fcl::Matrix3f &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &)>(&hpp::fcl::getExtentAndCenter)) |
343 |
|
|
return "Compute the bounding volume extent and center for a set or subset of points, given the BV axises. "; |
344 |
|
|
return ""; |
345 |
|
|
} |
346 |
|
|
|
347 |
|
|
inline const char* member_func_doc (void (*function_ptr) (const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, hpp::fcl::Vec3f &, hpp::fcl::FCL_REAL &)) |
348 |
|
|
{ |
349 |
|
|
if (function_ptr == static_cast<void (*) (const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, hpp::fcl::Vec3f &, hpp::fcl::FCL_REAL &)>(&hpp::fcl::circumCircleComputation)) |
350 |
|
|
return "Compute the center and radius for a triangle's circumcircle. "; |
351 |
|
|
return ""; |
352 |
|
|
} |
353 |
|
|
|
354 |
|
|
inline const char* member_func_doc ( hpp::fcl::FCL_REAL (*function_ptr) ( hpp::fcl::Vec3f *, hpp::fcl::Vec3f *, hpp::fcl::Triangle *, unsigned int *, unsigned int, const hpp::fcl::Vec3f &)) |
355 |
|
|
{ |
356 |
|
|
if (function_ptr == static_cast< hpp::fcl::FCL_REAL (*) ( hpp::fcl::Vec3f *, hpp::fcl::Vec3f *, hpp::fcl::Triangle *, unsigned int *, unsigned int, const hpp::fcl::Vec3f &)>(&hpp::fcl::maximumDistance)) |
357 |
|
|
return "Compute the maximum distance from a given center point to a point cloud. "; |
358 |
|
|
return ""; |
359 |
|
|
} |
360 |
|
|
|
361 |
|
|
inline const char* member_func_doc (std::size_t (*function_ptr) (const hpp::fcl::CollisionObject *, const hpp::fcl::CollisionObject *, const hpp::fcl::CollisionRequest &, hpp::fcl::CollisionResult &)) |
362 |
|
|
{ |
363 |
|
|
if (function_ptr == static_cast<std::size_t (*) (const hpp::fcl::CollisionObject *, const hpp::fcl::CollisionObject *, const hpp::fcl::CollisionRequest &, hpp::fcl::CollisionResult &)>(&hpp::fcl::collide)) |
364 |
|
|
return "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. "; |
365 |
|
|
return ""; |
366 |
|
|
} |
367 |
|
|
|
368 |
|
|
inline const char* member_func_doc (std::size_t (*function_ptr) (const hpp::fcl::CollisionObject *, const hpp::fcl::CollisionObject *, hpp::fcl::CollisionRequest &, hpp::fcl::CollisionResult &)) |
369 |
|
|
{ |
370 |
|
|
if (function_ptr == static_cast<std::size_t (*) (const hpp::fcl::CollisionObject *, const hpp::fcl::CollisionObject *, hpp::fcl::CollisionRequest &, hpp::fcl::CollisionResult &)>(&hpp::fcl::collide)) |
371 |
|
|
return "Note: this function update the initial guess of request if requested. See QueryRequest::updateGuess "; |
372 |
|
|
return ""; |
373 |
|
|
} |
374 |
|
|
|
375 |
|
|
inline const char* member_func_doc (std::size_t (*function_ptr) (const hpp::fcl::CollisionGeometry *, const hpp::fcl::Transform3f &, const hpp::fcl::CollisionGeometry *, const hpp::fcl::Transform3f &, hpp::fcl::CollisionRequest &, hpp::fcl::CollisionResult &)) |
376 |
|
|
{ |
377 |
|
|
if (function_ptr == static_cast<std::size_t (*) (const hpp::fcl::CollisionGeometry *, const hpp::fcl::Transform3f &, const hpp::fcl::CollisionGeometry *, const hpp::fcl::Transform3f &, hpp::fcl::CollisionRequest &, hpp::fcl::CollisionResult &)>(&hpp::fcl::collide)) |
378 |
|
|
return "Note: this function update the initial guess of request if requested. See QueryRequest::updateGuess "; |
379 |
|
|
return ""; |
380 |
|
|
} |
381 |
|
|
|
382 |
|
|
inline const char* member_func_doc (const char * (*function_ptr) ( hpp::fcl::NODE_TYPE)) |
383 |
|
|
{ |
384 |
|
|
if (function_ptr == static_cast<const char * (*) ( hpp::fcl::NODE_TYPE)>(&hpp::fcl::get_node_type_name)) |
385 |
|
|
return "Returns the name associated to a NODE_TYPE. "; |
386 |
|
|
return ""; |
387 |
|
|
} |
388 |
|
|
|
389 |
|
|
inline const char* member_func_doc (const char * (*function_ptr) ( hpp::fcl::OBJECT_TYPE)) |
390 |
|
|
{ |
391 |
|
|
if (function_ptr == static_cast<const char * (*) ( hpp::fcl::OBJECT_TYPE)>(&hpp::fcl::get_object_type_name)) |
392 |
|
|
return "Returns the name associated to a OBJECT_TYPE. "; |
393 |
|
|
return ""; |
394 |
|
|
} |
395 |
|
|
|
396 |
|
|
inline const char* member_func_doc ( hpp::fcl::FCL_REAL (*function_ptr) (const hpp::fcl::CollisionObject *, const hpp::fcl::CollisionObject *, const hpp::fcl::DistanceRequest &, hpp::fcl::DistanceResult &)) |
397 |
|
|
{ |
398 |
|
|
if (function_ptr == static_cast< hpp::fcl::FCL_REAL (*) (const hpp::fcl::CollisionObject *, const hpp::fcl::CollisionObject *, const hpp::fcl::DistanceRequest &, hpp::fcl::DistanceResult &)>(&hpp::fcl::distance)) |
399 |
|
|
return "Main distance interface: given two collision objects, and the requirements for contacts, including whether return the nearest points, this function performs the distance between them. Return value is the minimum distance generated between the two objects. "; |
400 |
|
|
return ""; |
401 |
|
|
} |
402 |
|
|
|
403 |
|
|
inline const char* member_func_doc ( hpp::fcl::FCL_REAL (*function_ptr) (const hpp::fcl::CollisionObject *, const hpp::fcl::CollisionObject *, hpp::fcl::DistanceRequest &, hpp::fcl::DistanceResult &)) |
404 |
|
|
{ |
405 |
|
|
if (function_ptr == static_cast< hpp::fcl::FCL_REAL (*) (const hpp::fcl::CollisionObject *, const hpp::fcl::CollisionObject *, hpp::fcl::DistanceRequest &, hpp::fcl::DistanceResult &)>(&hpp::fcl::distance)) |
406 |
|
|
return "Note: this function update the initial guess of request if requested. See QueryRequest::updateGuess "; |
407 |
|
|
return ""; |
408 |
|
|
} |
409 |
|
|
|
410 |
|
|
inline const char* member_func_doc ( hpp::fcl::FCL_REAL (*function_ptr) (const hpp::fcl::CollisionGeometry *, const hpp::fcl::Transform3f &, const hpp::fcl::CollisionGeometry *, const hpp::fcl::Transform3f &, hpp::fcl::DistanceRequest &, hpp::fcl::DistanceResult &)) |
411 |
|
|
{ |
412 |
|
|
if (function_ptr == static_cast< hpp::fcl::FCL_REAL (*) (const hpp::fcl::CollisionGeometry *, const hpp::fcl::Transform3f &, const hpp::fcl::CollisionGeometry *, const hpp::fcl::Transform3f &, hpp::fcl::DistanceRequest &, hpp::fcl::DistanceResult &)>(&hpp::fcl::distance)) |
413 |
|
|
return "Note: this function update the initial guess of request if requested. See QueryRequest::updateGuess "; |
414 |
|
|
return ""; |
415 |
|
|
} |
416 |
|
|
|
417 |
|
|
template <typename BV> |
418 |
|
|
inline const char* member_func_doc (void (*function_ptr) ( hpp::fcl::Vec3f *, unsigned int, BV &)) |
419 |
|
|
{ |
420 |
|
|
if (function_ptr == static_cast<void (*) ( hpp::fcl::Vec3f *, unsigned int, BV &)>(&hpp::fcl::fit)) |
421 |
|
|
return "Compute a bounding volume that fits a set of n points. "; |
422 |
|
|
return ""; |
423 |
|
|
} |
424 |
|
|
|
425 |
|
|
template <typename Derived, typename Vector> |
426 |
|
|
inline const char* member_func_doc (void (*function_ptr) (const Eigen::MatrixBase< Derived > &, typename Derived::Scalar[3], Vector *)) |
427 |
|
|
{ |
428 |
|
|
if (function_ptr == static_cast<void (*) (const Eigen::MatrixBase< Derived > &, typename Derived::Scalar[3], Vector *)>(&hpp::fcl::eigen)) |
429 |
|
|
return "compute the eigen vector and eigen vector of a matrix. dout is the eigen values, vout is the eigen vectors "; |
430 |
|
|
return ""; |
431 |
|
|
} |
432 |
|
|
|
433 |
|
|
template <class BoundingVolume> |
434 |
|
|
inline const char* member_func_doc (void (*function_ptr) (const std::string &, const hpp::fcl::Vec3f &, const shared_ptr< hpp::fcl::BVHModel < BoundingVolume > > &)) |
435 |
|
|
{ |
436 |
|
|
if (function_ptr == static_cast<void (*) (const std::string &, const hpp::fcl::Vec3f &, const shared_ptr< hpp::fcl::BVHModel < BoundingVolume > > &)>(&hpp::fcl::loadPolyhedronFromResource)) |
437 |
|
|
return "Read a mesh file and convert it to a polyhedral mesh. \n" |
438 |
|
|
"\n" |
439 |
|
|
"\n" |
440 |
|
|
"Param\n" |
441 |
|
|
" - resource_path Path to the ressource mesh file to be read \n" |
442 |
|
|
" - scale Scale to apply when reading the ressource \n" |
443 |
|
|
" - polyhedron The resulted polyhedron "; |
444 |
|
|
return ""; |
445 |
|
|
} |
446 |
|
|
|
447 |
|
|
inline const char* member_func_doc (void (*function_ptr) (const hpp::fcl::AABB &, unsigned int, hpp::fcl::AABB &)) |
448 |
|
|
{ |
449 |
|
|
if (function_ptr == static_cast<void (*) (const hpp::fcl::AABB &, unsigned int, hpp::fcl::AABB &)>(&hpp::fcl::computeChildBV)) |
450 |
|
|
return "compute the bounding volume of an octree node's i-th child "; |
451 |
|
|
return ""; |
452 |
|
|
} |
453 |
|
|
|
454 |
|
|
inline const char* member_func_doc ( hpp::fcl::OcTreePtr_t (*function_ptr) (const Eigen::Matrix< hpp::fcl::FCL_REAL , Eigen::Dynamic, 3 > &, const hpp::fcl::FCL_REAL)) |
455 |
|
|
{ |
456 |
|
|
if (function_ptr == static_cast< hpp::fcl::OcTreePtr_t (*) (const Eigen::Matrix< hpp::fcl::FCL_REAL , Eigen::Dynamic, 3 > &, const hpp::fcl::FCL_REAL)>(&hpp::fcl::makeOctree)) |
457 |
|
|
return "Build an hpp::fcl::OcTree from a point cloud and a given resolution. \n" |
458 |
|
|
"\n" |
459 |
|
|
"\n" |
460 |
|
|
"Param\n" |
461 |
|
|
" - point_cloud The input points to insert in the hpp::fcl::OcTree \n" |
462 |
|
|
" - resolution of the octree.\n" |
463 |
|
|
"\n" |
464 |
|
|
"Return: An hpp::fcl::OcTree that can be used for collision checking and more. "; |
465 |
|
|
return ""; |
466 |
|
|
} |
467 |
|
|
|
468 |
|
|
template <typename T> |
469 |
|
|
inline const char* member_func_doc (size_t (*function_ptr) (const T &)) |
470 |
|
|
{ |
471 |
|
|
if (function_ptr == static_cast<size_t (*) (const T &)>(&hpp::fcl::computeMemoryFootprint)) |
472 |
|
|
return "Returns the memory footpring of the input object. For POD objects, this function returns the result of sizeof(T) \n" |
473 |
|
|
"\n" |
474 |
|
|
"\n" |
475 |
|
|
"Param\n" |
476 |
|
|
" - object whose memory footprint needs to be evaluated.\n" |
477 |
|
|
"\n" |
478 |
|
|
"Return: the memory footprint of the input object. "; |
479 |
|
|
return ""; |
480 |
|
|
} |
481 |
|
|
|
482 |
|
|
template <typename BV> |
483 |
|
|
inline const char* member_func_doc (void (*function_ptr) ( hpp::fcl::BVHModel < BV > &, const hpp::fcl::Box &, const hpp::fcl::Transform3f &)) |
484 |
|
|
{ |
485 |
|
|
if (function_ptr == static_cast<void (*) ( hpp::fcl::BVHModel < BV > &, const hpp::fcl::Box &, const hpp::fcl::Transform3f &)>(&hpp::fcl::generateBVHModel)) |
486 |
|
|
return "Generate BVH model from box. "; |
487 |
|
|
return ""; |
488 |
|
|
} |
489 |
|
|
|
490 |
|
|
template <typename BV> |
491 |
|
|
inline const char* member_func_doc (void (*function_ptr) ( hpp::fcl::BVHModel < BV > &, const hpp::fcl::Sphere &, const hpp::fcl::Transform3f &, unsigned int, unsigned int)) |
492 |
|
|
{ |
493 |
|
|
if (function_ptr == static_cast<void (*) ( hpp::fcl::BVHModel < BV > &, const hpp::fcl::Sphere &, const hpp::fcl::Transform3f &, unsigned int, unsigned int)>(&hpp::fcl::generateBVHModel)) |
494 |
|
|
return "Generate BVH model from sphere, given the number of segments along longitude and number of rings along latitude. "; |
495 |
|
|
return ""; |
496 |
|
|
} |
497 |
|
|
|
498 |
|
|
template <typename BV> |
499 |
|
|
inline const char* member_func_doc (void (*function_ptr) ( hpp::fcl::BVHModel < BV > &, const hpp::fcl::Sphere &, const hpp::fcl::Transform3f &, unsigned int)) |
500 |
|
|
{ |
501 |
|
|
if (function_ptr == static_cast<void (*) ( hpp::fcl::BVHModel < BV > &, const hpp::fcl::Sphere &, const hpp::fcl::Transform3f &, unsigned int)>(&hpp::fcl::generateBVHModel)) |
502 |
|
|
return "Generate BVH model from sphere The difference between generateBVHModel is that it gives the number of triangles faces N for a sphere with unit radius. For sphere of radius r, then the number of triangles is r * r * N so that the area represented by a single triangle is approximately the same.s. "; |
503 |
|
|
return ""; |
504 |
|
|
} |
505 |
|
|
|
506 |
|
|
template <typename BV> |
507 |
|
|
inline const char* member_func_doc (void (*function_ptr) ( hpp::fcl::BVHModel < BV > &, const hpp::fcl::Cylinder &, const hpp::fcl::Transform3f &, unsigned int, unsigned int)) |
508 |
|
|
{ |
509 |
|
|
if (function_ptr == static_cast<void (*) ( hpp::fcl::BVHModel < BV > &, const hpp::fcl::Cylinder &, const hpp::fcl::Transform3f &, unsigned int, unsigned int)>(&hpp::fcl::generateBVHModel)) |
510 |
|
|
return "Generate BVH model from cylinder, given the number of segments along circle and the number of segments along axis. "; |
511 |
|
|
return ""; |
512 |
|
|
} |
513 |
|
|
|
514 |
|
|
template <typename BV> |
515 |
|
|
inline const char* member_func_doc (void (*function_ptr) ( hpp::fcl::BVHModel < BV > &, const hpp::fcl::Cylinder &, const hpp::fcl::Transform3f &, unsigned int)) |
516 |
|
|
{ |
517 |
|
|
if (function_ptr == static_cast<void (*) ( hpp::fcl::BVHModel < BV > &, const hpp::fcl::Cylinder &, const hpp::fcl::Transform3f &, unsigned int)>(&hpp::fcl::generateBVHModel)) |
518 |
|
|
return "Generate BVH model from cylinder Difference from generateBVHModel: is that it gives the circle split number tot for a cylinder with unit radius. For cylinder with larger radius, the number of circle split number is r * tot. "; |
519 |
|
|
return ""; |
520 |
|
|
} |
521 |
|
|
|
522 |
|
|
template <typename BV> |
523 |
|
|
inline const char* member_func_doc (void (*function_ptr) ( hpp::fcl::BVHModel < BV > &, const hpp::fcl::Cone &, const hpp::fcl::Transform3f &, unsigned int, unsigned int)) |
524 |
|
|
{ |
525 |
|
|
if (function_ptr == static_cast<void (*) ( hpp::fcl::BVHModel < BV > &, const hpp::fcl::Cone &, const hpp::fcl::Transform3f &, unsigned int, unsigned int)>(&hpp::fcl::generateBVHModel)) |
526 |
|
|
return "Generate BVH model from cone, given the number of segments along circle and the number of segments along axis. "; |
527 |
|
|
return ""; |
528 |
|
|
} |
529 |
|
|
|
530 |
|
|
template <typename BV> |
531 |
|
|
inline const char* member_func_doc (void (*function_ptr) ( hpp::fcl::BVHModel < BV > &, const hpp::fcl::Cone &, const hpp::fcl::Transform3f &, unsigned int)) |
532 |
|
|
{ |
533 |
|
|
if (function_ptr == static_cast<void (*) ( hpp::fcl::BVHModel < BV > &, const hpp::fcl::Cone &, const hpp::fcl::Transform3f &, unsigned int)>(&hpp::fcl::generateBVHModel)) |
534 |
|
|
return "Generate BVH model from cone Difference from generateBVHModel: is that it gives the circle split number tot for a cylinder with unit radius. For cone with larger radius, the number of circle split number is r * tot. "; |
535 |
|
|
return ""; |
536 |
|
|
} |
537 |
|
|
|
538 |
|
|
template <typename BV, typename S> |
539 |
|
|
inline const char* member_func_doc (void (*function_ptr) (const S &, const hpp::fcl::Transform3f &, BV &)) |
540 |
|
|
{ |
541 |
|
|
if (function_ptr == static_cast<void (*) (const S &, const hpp::fcl::Transform3f &, BV &)>(&hpp::fcl::computeBV)) |
542 |
|
|
return "calculate a bounding volume for a shape in a specific configuration "; |
543 |
|
|
return ""; |
544 |
|
|
} |
545 |
|
|
|
546 |
|
|
inline const char* member_func_doc (void (*function_ptr) (const hpp::fcl::AABB &, hpp::fcl::Box &, hpp::fcl::Transform3f &)) |
547 |
|
|
{ |
548 |
|
|
if (function_ptr == static_cast<void (*) (const hpp::fcl::AABB &, hpp::fcl::Box &, hpp::fcl::Transform3f &)>(&hpp::fcl::constructBox)) |
549 |
|
|
return "construct a box shape (with a configuration) from a given bounding volume "; |
550 |
|
|
return ""; |
551 |
|
|
} |
552 |
|
|
|
553 |
|
|
template <typename BV> |
554 |
|
|
inline const char* member_func_doc (bool (*function_ptr) ( hpp::fcl::detail::NodeBase < BV > *, hpp::fcl::detail::NodeBase < BV > *, int)) |
555 |
|
|
{ |
556 |
|
|
if (function_ptr == static_cast<bool (*) ( hpp::fcl::detail::NodeBase < BV > *, hpp::fcl::detail::NodeBase < BV > *, int)>(&hpp::fcl::detail::nodeBaseLess)) |
557 |
|
|
return "Compare two nodes accoording to the d-th dimension of node center. "; |
558 |
|
|
return ""; |
559 |
|
|
} |
560 |
|
|
|
561 |
|
|
template <typename BV> |
562 |
|
|
inline const char* member_func_doc (size_t (*function_ptr) (const hpp::fcl::detail::NodeBase < BV > &, const hpp::fcl::detail::NodeBase < BV > &, const hpp::fcl::detail::NodeBase < BV > &)) |
563 |
|
|
{ |
564 |
|
|
if (function_ptr == static_cast<size_t (*) (const hpp::fcl::detail::NodeBase < BV > &, const hpp::fcl::detail::NodeBase < BV > &, const hpp::fcl::detail::NodeBase < BV > &)>(&hpp::fcl::detail::select)) |
565 |
|
|
return "select from node1 and node2 which is close to a given query. 0 for node1 and 1 for node2 "; |
566 |
|
|
return ""; |
567 |
|
|
} |
568 |
|
|
|
569 |
|
|
template <typename BV> |
570 |
|
|
inline const char* member_func_doc (size_t (*function_ptr) (const BV &, const hpp::fcl::detail::NodeBase < BV > &, const hpp::fcl::detail::NodeBase < BV > &)) |
571 |
|
|
{ |
572 |
|
|
if (function_ptr == static_cast<size_t (*) (const BV &, const hpp::fcl::detail::NodeBase < BV > &, const hpp::fcl::detail::NodeBase < BV > &)>(&hpp::fcl::detail::select)) |
573 |
|
|
return "select from node1 and node2 which is close to a given query bounding volume. 0 for node1 and 1 for node2 "; |
574 |
|
|
return ""; |
575 |
|
|
} |
576 |
|
|
|
577 |
|
|
template <typename BV> |
578 |
|
|
inline const char* member_func_doc (size_t (*function_ptr) (size_t, size_t, size_t, hpp::fcl::detail::implementation_array::NodeBase < BV > *)) |
579 |
|
|
{ |
580 |
|
|
if (function_ptr == static_cast<size_t (*) (size_t, size_t, size_t, hpp::fcl::detail::implementation_array::NodeBase < BV > *)>(&hpp::fcl::detail::implementation_array::select)) |
581 |
|
|
return "select the node from node1 and node2 which is close to the query-th node in the nodes. 0 for node1 and 1 for node2. "; |
582 |
|
|
return ""; |
583 |
|
|
} |
584 |
|
|
|
585 |
|
|
template <typename BV> |
586 |
|
|
inline const char* member_func_doc (size_t (*function_ptr) (const BV &, size_t, size_t, hpp::fcl::detail::implementation_array::NodeBase < BV > *)) |
587 |
|
|
{ |
588 |
|
|
if (function_ptr == static_cast<size_t (*) (const BV &, size_t, size_t, hpp::fcl::detail::implementation_array::NodeBase < BV > *)>(&hpp::fcl::detail::implementation_array::select)) |
589 |
|
|
return "select the node from node1 and node2 which is close to the query hpp::fcl::AABB. 0 for node1 and 1 for node2. "; |
590 |
|
|
return ""; |
591 |
|
|
} |
592 |
|
|
|
593 |
|
|
inline const char* member_func_doc ( hpp::fcl::Vec3f (*function_ptr) (const hpp::fcl::ShapeBase *, const hpp::fcl::Vec3f &, bool, int &)) |
594 |
|
|
{ |
595 |
|
|
if (function_ptr == static_cast< hpp::fcl::Vec3f (*) (const hpp::fcl::ShapeBase *, const hpp::fcl::Vec3f &, bool, int &)>(&hpp::fcl::details::getSupport)) |
596 |
|
|
return "the support function for shape \n" |
597 |
|
|
"\n" |
598 |
|
|
"\n" |
599 |
|
|
"Param\n" |
600 |
|
|
" - hint use to initialize the search when shape is a hpp::fcl::ConvexBase object. "; |
601 |
|
|
return ""; |
602 |
|
|
} |
603 |
|
|
|
604 |
|
|
inline const char* member_func_doc ( hpp::fcl::FCL_REAL (*function_ptr) (const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, hpp::fcl::Vec3f &)) |
605 |
|
|
{ |
606 |
|
|
if (function_ptr == static_cast< hpp::fcl::FCL_REAL (*) (const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, hpp::fcl::Vec3f &)>(&hpp::fcl::details::segmentSqrDistance)) |
607 |
|
|
return "the minimum distance from a point to a line "; |
608 |
|
|
return ""; |
609 |
|
|
} |
610 |
|
|
|
611 |
|
|
inline const char* member_func_doc (bool (*function_ptr) (const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &)) |
612 |
|
|
{ |
613 |
|
|
if (function_ptr == static_cast<bool (*) (const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &)>(&hpp::fcl::details::projectInTriangle)) |
614 |
|
|
return "Whether a point's projection is in a triangle. "; |
615 |
|
|
return ""; |
616 |
|
|
} |
617 |
|
|
|
618 |
|
|
inline const char* member_func_doc (bool (*function_ptr) (const hpp::fcl::Box &, const hpp::fcl::Transform3f &, const hpp::fcl::Halfspace &, const hpp::fcl::Transform3f &)) |
619 |
|
|
{ |
620 |
|
|
if (function_ptr == static_cast<bool (*) (const hpp::fcl::Box &, const hpp::fcl::Transform3f &, const hpp::fcl::Halfspace &, const hpp::fcl::Transform3f &)>(&hpp::fcl::details::boxHalfspaceIntersect)) |
621 |
|
|
return "box half space, a, b, c = +/- edge size n^T * (R(o + a v1 + b v2 + c v3) + T) <= d so (R^T n) (a v1 + b v2 + c v3) + n * T <= d check whether d - n * T - (R^T n) (a v1 + b v2 + c v3) >= 0 for some a, b, c the max value of left side is d - n * T + |(R^T n) (a v1 + b v2 + c v3)|, check that is enough "; |
622 |
|
|
return ""; |
623 |
|
|
} |
624 |
|
|
|
625 |
|
|
inline const char* member_func_doc (bool (*function_ptr) (const hpp::fcl::Plane &, const hpp::fcl::Transform3f &, const hpp::fcl::Halfspace &, const hpp::fcl::Transform3f &, hpp::fcl::Plane &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &, hpp::fcl::FCL_REAL &, int &)) |
626 |
|
|
{ |
627 |
|
|
if (function_ptr == static_cast<bool (*) (const hpp::fcl::Plane &, const hpp::fcl::Transform3f &, const hpp::fcl::Halfspace &, const hpp::fcl::Transform3f &, hpp::fcl::Plane &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &, hpp::fcl::FCL_REAL &, int &)>(&hpp::fcl::details::planeHalfspaceIntersect)) |
628 |
|
|
return "return whether plane collides with halfspace if the separation plane of the halfspace is parallel with the plane return code 1, if the plane's normal is the same with halfspace's normal and plane is inside halfspace, also return plane in pl return code 2, if the plane's normal is oppositie to the halfspace's normal and plane is inside halfspace, also return plane in pl plane is outside halfspace, collision-free if not parallel return the intersection ray, return code 3. ray origin is p and direction is d "; |
629 |
|
|
return ""; |
630 |
|
|
} |
631 |
|
|
|
632 |
|
|
inline const char* member_func_doc (bool (*function_ptr) (const hpp::fcl::Halfspace &, const hpp::fcl::Transform3f &, const hpp::fcl::Halfspace &, const hpp::fcl::Transform3f &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &, hpp::fcl::Halfspace &, hpp::fcl::FCL_REAL &, int &)) |
633 |
|
|
{ |
634 |
|
|
if (function_ptr == static_cast<bool (*) (const hpp::fcl::Halfspace &, const hpp::fcl::Transform3f &, const hpp::fcl::Halfspace &, const hpp::fcl::Transform3f &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &, hpp::fcl::Halfspace &, hpp::fcl::FCL_REAL &, int &)>(&hpp::fcl::details::halfspaceIntersect)) |
635 |
|
|
return "@ brief return whether two halfspace intersect if the separation planes of the two halfspaces are parallel return code 1, if two halfspaces' normal are same and s1 is in s2, also return s1 in s; return code 2, if two halfspaces' normal are same and s2 is in s1, also return s2 in s; return code 3, if two halfspaces' normal are opposite and s1 and s2 are into each other; collision free, if two halfspaces' are separate; if the separation planes of the two halfspaces are not parallel, return intersection ray, return code 4. ray origin is p and direction is d collision free return code 0 "; |
636 |
|
|
return ""; |
637 |
|
|
} |
638 |
|
|
|
639 |
|
|
inline const char* member_func_doc (bool (*function_ptr) (const hpp::fcl::Halfspace &, const hpp::fcl::Transform3f &, const hpp::fcl::ShapeBase &, const hpp::fcl::Transform3f &, hpp::fcl::FCL_REAL &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &)) |
640 |
|
|
{ |
641 |
|
|
if (function_ptr == static_cast<bool (*) (const hpp::fcl::Halfspace &, const hpp::fcl::Transform3f &, const hpp::fcl::ShapeBase &, const hpp::fcl::Transform3f &, hpp::fcl::FCL_REAL &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &)>(&hpp::fcl::details::halfspaceDistance)) |
642 |
|
|
return "Param\n" |
643 |
|
|
" - p1 closest (or most penetrating) point on the hpp::fcl::Halfspace, \n" |
644 |
|
|
" - p2 closest (or most penetrating) point on the shape, \n" |
645 |
|
|
" - normal the halfspace normal. \n" |
646 |
|
|
"\n" |
647 |
|
|
"Return: true if the distance is negative (the shape overlaps). "; |
648 |
|
|
return ""; |
649 |
|
|
} |
650 |
|
|
|
651 |
|
|
inline const char* member_func_doc (bool (*function_ptr) (const hpp::fcl::Box &, const hpp::fcl::Transform3f &, const hpp::fcl::Plane &, const hpp::fcl::Transform3f &, hpp::fcl::FCL_REAL &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &)) |
652 |
|
|
{ |
653 |
|
|
if (function_ptr == static_cast<bool (*) (const hpp::fcl::Box &, const hpp::fcl::Transform3f &, const hpp::fcl::Plane &, const hpp::fcl::Transform3f &, hpp::fcl::FCL_REAL &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &)>(&hpp::fcl::details::boxPlaneIntersect)) |
654 |
|
|
return "box half space, a, b, c = +/- edge size n^T * (R(o + a v1 + b v2 + c v3) + T) ~ d so (R^T n) (a v1 + b v2 + c v3) + n * T ~ d check whether d - n * T - (R^T n) (a v1 + b v2 + c v3) >= 0 for some a, b, c and <=0 for some a, b, c so need to check whether |d - n * T| <= |(R^T n)(a v1 + b v2 + c v3)|, the reason is as follows: (R^T n) (a v1 + b v2 + c v3) can get |(R^T n) (a v1 + b v2 + c v3)| for one a, b, c. if |d - n * T| <= |(R^T n)(a v1 + b v2 + c v3)| then can get both positive and negative value on the right side. "; |
655 |
|
|
return ""; |
656 |
|
|
} |
657 |
|
|
|
658 |
|
|
inline const char* member_func_doc (bool (*function_ptr) (const hpp::fcl::Box &, const hpp::fcl::Transform3f &, const hpp::fcl::Sphere &, const hpp::fcl::Transform3f &, hpp::fcl::FCL_REAL &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &)) |
659 |
|
|
{ |
660 |
|
|
if (function_ptr == static_cast<bool (*) (const hpp::fcl::Box &, const hpp::fcl::Transform3f &, const hpp::fcl::Sphere &, const hpp::fcl::Transform3f &, hpp::fcl::FCL_REAL &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &)>(&hpp::fcl::details::boxSphereDistance)) |
661 |
|
|
return "Taken from book Real Time Collision Detection, from Christer Ericson \n" |
662 |
|
|
"Param\n" |
663 |
|
|
" - pb the closest point to the sphere center on the box surface \n" |
664 |
|
|
" - ps when colliding, matches pb, which is inside the sphere. when not colliding, the closest point on the sphere \n" |
665 |
|
|
" - normal direction of motion of the box \n" |
666 |
|
|
"\n" |
667 |
|
|
"Return: true if the distance is negative (the shape overlaps). "; |
668 |
|
|
return ""; |
669 |
|
|
} |
670 |
|
|
|
671 |
|
|
inline const char* member_func_doc (bool (*function_ptr) (const hpp::fcl::Cylinder &, const hpp::fcl::Transform3f &, const hpp::fcl::Plane &, const hpp::fcl::Transform3f &, hpp::fcl::FCL_REAL &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &)) |
672 |
|
|
{ |
673 |
|
|
if (function_ptr == static_cast<bool (*) (const hpp::fcl::Cylinder &, const hpp::fcl::Transform3f &, const hpp::fcl::Plane &, const hpp::fcl::Transform3f &, hpp::fcl::FCL_REAL &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &, hpp::fcl::Vec3f &)>(&hpp::fcl::details::cylinderPlaneIntersect)) |
674 |
|
|
return "cylinder-plane intersect n^T (R (r * cosa * v1 + r * sina * v2 + h * v3) + T) ~ d need one point to be positive and one to be negative (n^T * v3) * h + n * T -d + r * (cosa * (n^T * R * v1) + sina * (n^T * R * v2)) ~ 0 (n^T * v3) * h + r * (cosa * (n^T * R * v1) + sina * (n^T * R * v2)) + n * T - d ~ 0 "; |
675 |
|
|
return ""; |
676 |
|
|
} |
677 |
|
|
|
678 |
|
|
inline const char* member_func_doc ( hpp::fcl::FCL_REAL (*function_ptr) (const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, hpp::fcl::Vec3f &)) |
679 |
|
|
{ |
680 |
|
|
if (function_ptr == static_cast< hpp::fcl::FCL_REAL (*) (const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, const hpp::fcl::Vec3f &, hpp::fcl::Vec3f &)>(&hpp::fcl::details::computePenetration)) |
681 |
|
|
return "See the prototype below. "; |
682 |
|
|
return ""; |
683 |
|
|
} |
684 |
|
|
|
685 |
|
|
inline const char* member_func_doc (void (*function_ptr) (const hpp::fcl::Vec3f &, const aiScene *, unsigned, hpp::fcl::internal::TriangleAndVertices &)) |
686 |
|
|
{ |
687 |
|
|
if (function_ptr == static_cast<void (*) (const hpp::fcl::Vec3f &, const aiScene *, unsigned, hpp::fcl::internal::TriangleAndVertices &)>(&hpp::fcl::internal::buildMesh)) |
688 |
|
|
return "Recursive procedure for building a mesh. \n" |
689 |
|
|
"\n" |
690 |
|
|
"\n" |
691 |
|
|
"Param\n" |
692 |
|
|
" - scale Scale to apply when reading the ressource \n" |
693 |
|
|
" - scene Pointer to the assimp scene \n" |
694 |
|
|
" - vertices_offset Current number of vertices in the model \n" |
695 |
|
|
" - tv Triangles and Vertices of the mesh submodels "; |
696 |
|
|
return ""; |
697 |
|
|
} |
698 |
|
|
|
699 |
|
|
template <class BoundingVolume> |
700 |
|
|
inline const char* member_func_doc (void (*function_ptr) (const hpp::fcl::Vec3f &, const aiScene *, const shared_ptr< hpp::fcl::BVHModel < BoundingVolume > > &)) |
701 |
|
|
{ |
702 |
|
|
if (function_ptr == static_cast<void (*) (const hpp::fcl::Vec3f &, const aiScene *, const shared_ptr< hpp::fcl::BVHModel < BoundingVolume > > &)>(&hpp::fcl::internal::meshFromAssimpScene)) |
703 |
|
|
return "Convert an assimp scene to a mesh. \n" |
704 |
|
|
"\n" |
705 |
|
|
"\n" |
706 |
|
|
"Param\n" |
707 |
|
|
" - scale Scale to apply when reading the ressource \n" |
708 |
|
|
" - scene Pointer to the assimp scene \n" |
709 |
|
|
" - mesh The mesh that must be built "; |
710 |
|
|
return ""; |
711 |
|
|
} |
712 |
|
|
} // namespace doxygen |
713 |
|
|
|
714 |
|
|
#endif // DOXYGEN_AUTODOC_FUNCTIONS_H |
715 |
|
|
|