GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: python/doxygen_autodoc/functions.h Lines: 3 4 75.0 %
Date: 2024-02-09 12:57:42 Branches: 1 2 50.0 %

Line Branch Exec Source
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