GCC Code Coverage Report


Directory: ./
File: python/doxygen_autodoc/coal/narrowphase/gjk.h
Date: 2025-04-01 09:23:31
Exec Total Coverage
Lines: 6 6 100.0%
Branches: 2 2 100.0%

Line Branch Exec Source
1 #ifndef DOXYGEN_AUTODOC_COAL_NARROWPHASE_GJK_H
2 #define DOXYGEN_AUTODOC_COAL_NARROWPHASE_GJK_H
3
4 #include "/root/robotpkg/path/py-coal/work/coal-3.0.1/doc/python/doxygen.hh"
5
6 #include <coal/narrowphase/gjk.h>
7
8 namespace doxygen {
9
10 template <>
11 struct class_doc_impl< coal::details::EPA >
12 {
13 static inline const char* run ()
14 {
15 return "class for coal::details::EPA algorithm ";
16 }
17 static inline const char* attribute (const char* attrib)
18 {
19 (void)attrib; // turn off unused parameter warning.
20 return "";
21 }
22 };
23
24 template <>
25 struct constructor_2_impl< coal::details::EPA, size_t, coal::SolverScalar >
26 {
27 static inline const char* doc ()
28 {
29 return "";
30 }
31 static inline boost::python::detail::keywords<2+1> args ()
32 {
33 return (boost::python::arg("self"), boost::python::arg("max_iterations_"), boost::python::arg("tolerance_"));
34 }
35 };
36
37 template <>
38 struct constructor_1_impl< coal::details::EPA, const coal::details::EPA & >
39 {
40 static inline const char* doc ()
41 {
42 return "Copy constructor of coal::details::EPA. Mostly needed for the copy constructor of coal::GJKSolver. ";
43 }
44 static inline boost::python::detail::keywords<1+1> args ()
45 {
46 return (boost::python::arg("self"), boost::python::arg("other"));
47 }
48 };
49
50 inline const char* member_func_doc (size_t (coal::details::EPA::*function_ptr) () const)
51 {
52 if (function_ptr == static_cast<size_t (coal::details::EPA::*) () const>(&coal::details::EPA::getNumMaxIterations))
53 return "Get the max number of iterations of coal::details::EPA. ";
54 if (function_ptr == static_cast<size_t (coal::details::EPA::*) () const>(&coal::details::EPA::getNumMaxVertices))
55 return "Get the max number of vertices of coal::details::EPA. ";
56 if (function_ptr == static_cast<size_t (coal::details::EPA::*) () const>(&coal::details::EPA::getNumMaxFaces))
57 return "Get the max number of faces of coal::details::EPA. ";
58 if (function_ptr == static_cast<size_t (coal::details::EPA::*) () const>(&coal::details::EPA::getNumIterations))
59 return "Get the number of iterations of the last run of coal::details::EPA. ";
60 if (function_ptr == static_cast<size_t (coal::details::EPA::*) () const>(&coal::details::EPA::getNumVertices))
61 return "Get the number of vertices in the polytope of the last run of coal::details::EPA. ";
62 if (function_ptr == static_cast<size_t (coal::details::EPA::*) () const>(&coal::details::EPA::getNumFaces))
63 return "Get the number of faces in the polytope of the last run of coal::details::EPA. ";
64 return "";
65 }
66
67 inline boost::python::detail::keywords<1> member_func_args (size_t (coal::details::EPA::*function_ptr) () const)
68 {
69 if (function_ptr == static_cast<size_t (coal::details::EPA::*) () const>(&coal::details::EPA::getNumMaxIterations))
70 return (boost::python::arg("self"));
71 if (function_ptr == static_cast<size_t (coal::details::EPA::*) () const>(&coal::details::EPA::getNumMaxVertices))
72 return (boost::python::arg("self"));
73 if (function_ptr == static_cast<size_t (coal::details::EPA::*) () const>(&coal::details::EPA::getNumMaxFaces))
74 return (boost::python::arg("self"));
75 if (function_ptr == static_cast<size_t (coal::details::EPA::*) () const>(&coal::details::EPA::getNumIterations))
76 return (boost::python::arg("self"));
77 if (function_ptr == static_cast<size_t (coal::details::EPA::*) () const>(&coal::details::EPA::getNumVertices))
78 return (boost::python::arg("self"));
79 if (function_ptr == static_cast<size_t (coal::details::EPA::*) () const>(&coal::details::EPA::getNumFaces))
80 return (boost::python::arg("self"));
81 return (boost::python::arg("self"));
82 }
83
84 inline const char* member_func_doc ( coal::SolverScalar (coal::details::EPA::*function_ptr) () const)
85 {
86 if (function_ptr == static_cast< coal::SolverScalar (coal::details::EPA::*) () const>(&coal::details::EPA::getTolerance))
87 return "Get the tolerance of coal::details::EPA. ";
88 return "";
89 }
90
91 inline boost::python::detail::keywords<1> member_func_args ( coal::SolverScalar (coal::details::EPA::*function_ptr) () const)
92 {
93 if (function_ptr == static_cast< coal::SolverScalar (coal::details::EPA::*) () const>(&coal::details::EPA::getTolerance))
94 return (boost::python::arg("self"));
95 return (boost::python::arg("self"));
96 }
97
98 inline const char* member_func_doc (void (coal::details::EPA::*function_ptr) (size_t, coal::SolverScalar))
99 {
100 if (function_ptr == static_cast<void (coal::details::EPA::*) (size_t, coal::SolverScalar)>(&coal::details::EPA::reset))
101 return "resets the coal::details::EPA algorithm, preparing it for a new run. It potentially reallocates memory for the vertices and faces if the passed parameters are bigger than the previous ones. This function does not modify the parameters of the coal::details::EPA algorithm, i.e. the maximum number of iterations and the tolerance. \n"
102 "\n"
103 "Note: calling this function destroys the previous state of coal::details::EPA. In the future, we may want to copy it instead, i.e. when coal::details::EPA will be (properly) warm-startable. ";
104 return "";
105 }
106
107 inline boost::python::detail::keywords<3> member_func_args (void (coal::details::EPA::*function_ptr) (size_t, coal::SolverScalar))
108 {
109 if (function_ptr == static_cast<void (coal::details::EPA::*) (size_t, coal::SolverScalar)>(&coal::details::EPA::reset))
110 return (boost::python::arg("self"), boost::python::arg("max_iterations"), boost::python::arg("tolerance"));
111 return (boost::python::arg("self"), boost::python::arg("arg0"), boost::python::arg("arg1"));
112 }
113
114 inline const char* member_func_doc ( coal::details::EPA::Status (coal::details::EPA::*function_ptr) ( coal::details::GJK &, const coal::Vec3ps &))
115 {
116 if (function_ptr == static_cast< coal::details::EPA::Status (coal::details::EPA::*) ( coal::details::GJK &, const coal::Vec3ps &)>(&coal::details::EPA::evaluate))
117 return "Return: a Status which can be demangled using (status & Valid) or (status & Failed). The other values provide a more detailled status ";
118 return "";
119 }
120
121 inline boost::python::detail::keywords<3> member_func_args ( coal::details::EPA::Status (coal::details::EPA::*function_ptr) ( coal::details::GJK &, const coal::Vec3ps &))
122 {
123 if (function_ptr == static_cast< coal::details::EPA::Status (coal::details::EPA::*) ( coal::details::GJK &, const coal::Vec3ps &)>(&coal::details::EPA::evaluate))
124 return (boost::python::arg("self"), boost::python::arg("gjk"), boost::python::arg("guess"));
125 return (boost::python::arg("self"), boost::python::arg("arg0"), boost::python::arg("arg1"));
126 }
127
128 inline const char* member_func_doc (void (coal::details::EPA::*function_ptr) (const coal::details::MinkowskiDiff &, coal::Vec3ps &, coal::Vec3ps &, coal::Vec3ps &) const)
129 {
130 if (function_ptr == static_cast<void (coal::details::EPA::*) (const coal::details::MinkowskiDiff &, coal::Vec3ps &, coal::Vec3ps &, coal::Vec3ps &) const>(&coal::details::EPA::getWitnessPointsAndNormal))
131 return "Get the witness points on each object, and the corresponding normal. \n"
132 "Param\n"
133 " - shape is the Minkowski difference of the two shapes. \n"
134 " - w0 is the witness point on shape0. \n"
135 " - w1 is the witness point on shape1. \n"
136 " - normal is the normal found by coal::details::EPA. It points from shape0 to shape1. The normal is used to correct the witness points on the shapes if the shapes have a non-zero swept-sphere radius. ";
137 return "";
138 }
139
140 inline boost::python::detail::keywords<5> member_func_args (void (coal::details::EPA::*function_ptr) (const coal::details::MinkowskiDiff &, coal::Vec3ps &, coal::Vec3ps &, coal::Vec3ps &) const)
141 {
142 if (function_ptr == static_cast<void (coal::details::EPA::*) (const coal::details::MinkowskiDiff &, coal::Vec3ps &, coal::Vec3ps &, coal::Vec3ps &) const>(&coal::details::EPA::getWitnessPointsAndNormal))
143 return (boost::python::arg("self"), boost::python::arg("shape"), boost::python::arg("w0"), boost::python::arg("w1"), boost::python::arg("normal"));
144 return (boost::python::arg("self"), boost::python::arg("arg0"), boost::python::arg("arg1"), boost::python::arg("arg2"), boost::python::arg("arg3"));
145 }
146 } // namespace doxygen
147 #include <coal/narrowphase/gjk.h>
148
149 namespace doxygen {
150
151 template <>
152 struct class_doc_impl< coal::details::GJK >
153 {
154 5 static inline const char* run ()
155 {
156 return "class for coal::details::GJK algorithm \n"
157 "\n"
158 5 "Note: The computations are performed in the frame of the first shape. ";
159 }
160 30 static inline const char* attribute (const char* attrib)
161 {
162
2/2
✓ Branch 0 taken 5 times.
✓ Branch 1 taken 25 times.
30 if (strcmp(attrib, "distance") == 0)
163 5 return "The distance between the two shapes, computed by coal::details::GJK. If the distance is below coal::details::GJK's threshold, the shapes are in collision in the eyes of coal::details::GJK. If distance_upper_bound is set to a value lower than infinity, coal::details::GJK will early stop as soon as it finds distance to be greater than distance_upper_bound. ";
164 (void)attrib; // turn off unused parameter warning.
165 25 return "";
166 }
167 };
168
169 template <>
170 struct constructor_2_impl< coal::details::GJK, size_t, coal::SolverScalar >
171 {
172 static inline const char* doc ()
173 {
174 return "Param\n"
175 " - max_iterations_ number of iteration before coal::details::GJK returns failure. \n"
176 " - tolerance_ precision of the algorithm.\n"
177 "\n"
178 "The tolerance argument is useful for continuous shapes and for polyhedron with some vertices closer than this threshold.\n"
179 "Suggested values are 100 iterations and a tolerance of 1e-6. ";
180 }
181 static inline boost::python::detail::keywords<2+1> args ()
182 {
183 return (boost::python::arg("self"), boost::python::arg("max_iterations_"), boost::python::arg("tolerance_"));
184 }
185 };
186
187 inline const char* member_func_doc (void (coal::details::GJK::*function_ptr) (size_t, coal::SolverScalar))
188 {
189 if (function_ptr == static_cast<void (coal::details::GJK::*) (size_t, coal::SolverScalar)>(&coal::details::GJK::reset))
190 return "resets the coal::details::GJK algorithm, preparing it for a new run. Other than the maximum number of iterations and the tolerance, this function does not modify the parameters of the coal::details::GJK algorithm. ";
191 return "";
192 }
193
194 inline boost::python::detail::keywords<3> member_func_args (void (coal::details::GJK::*function_ptr) (size_t, coal::SolverScalar))
195 {
196 if (function_ptr == static_cast<void (coal::details::GJK::*) (size_t, coal::SolverScalar)>(&coal::details::GJK::reset))
197 return (boost::python::arg("self"), boost::python::arg("max_iterations_"), boost::python::arg("tolerance_"));
198 return (boost::python::arg("self"), boost::python::arg("arg0"), boost::python::arg("arg1"));
199 }
200
201 inline const char* member_func_doc ( coal::details::GJK::Status (coal::details::GJK::*function_ptr) (const coal::details::MinkowskiDiff &, const coal::Vec3ps &, const coal::support_func_guess_t &))
202 {
203 if (function_ptr == static_cast< coal::details::GJK::Status (coal::details::GJK::*) (const coal::details::MinkowskiDiff &, const coal::Vec3ps &, const coal::support_func_guess_t &)>(&coal::details::GJK::evaluate))
204 return "coal::details::GJK algorithm, given the initial value guess. ";
205 return "";
206 }
207
208 inline boost::python::detail::keywords<4> member_func_args ( coal::details::GJK::Status (coal::details::GJK::*function_ptr) (const coal::details::MinkowskiDiff &, const coal::Vec3ps &, const coal::support_func_guess_t &))
209 {
210 if (function_ptr == static_cast< coal::details::GJK::Status (coal::details::GJK::*) (const coal::details::MinkowskiDiff &, const coal::Vec3ps &, const coal::support_func_guess_t &)>(&coal::details::GJK::evaluate))
211 return (boost::python::arg("self"), boost::python::arg("shape"), boost::python::arg("guess"), boost::python::arg("supportHint"));
212 return (boost::python::arg("self"), boost::python::arg("arg0"), boost::python::arg("arg1"), boost::python::arg("arg2"));
213 }
214
215 inline const char* member_func_doc (void (coal::details::GJK::*function_ptr) (const coal::Vec3ps &, coal::details::GJK::SimplexV &, coal::support_func_guess_t &) const)
216 {
217 if (function_ptr == static_cast<void (coal::details::GJK::*) (const coal::Vec3ps &, coal::details::GJK::SimplexV &, coal::support_func_guess_t &) const>(&coal::details::GJK::getSupport))
218 return "apply the support function along a direction, the result is return in sv ";
219 return "";
220 }
221
222 inline boost::python::detail::keywords<4> member_func_args (void (coal::details::GJK::*function_ptr) (const coal::Vec3ps &, coal::details::GJK::SimplexV &, coal::support_func_guess_t &) const)
223 {
224 if (function_ptr == static_cast<void (coal::details::GJK::*) (const coal::Vec3ps &, coal::details::GJK::SimplexV &, coal::support_func_guess_t &) const>(&coal::details::GJK::getSupport))
225 return (boost::python::arg("self"), boost::python::arg("d"), boost::python::arg("sv"), boost::python::arg("hint"));
226 return (boost::python::arg("self"), boost::python::arg("arg0"), boost::python::arg("arg1"), boost::python::arg("arg2"));
227 }
228
229 inline const char* member_func_doc (bool (coal::details::GJK::*function_ptr) ())
230 {
231 if (function_ptr == static_cast<bool (coal::details::GJK::*) ()>(&coal::details::GJK::encloseOrigin))
232 return "whether the simplex enclose the origin ";
233 return "";
234 }
235
236 inline boost::python::detail::keywords<1> member_func_args (bool (coal::details::GJK::*function_ptr) ())
237 {
238 if (function_ptr == static_cast<bool (coal::details::GJK::*) ()>(&coal::details::GJK::encloseOrigin))
239 return (boost::python::arg("self"));
240 return (boost::python::arg("self"));
241 }
242
243 inline const char* member_func_doc ( coal::details::GJK::Simplex * (coal::details::GJK::*function_ptr) () const)
244 {
245 if (function_ptr == static_cast< coal::details::GJK::Simplex * (coal::details::GJK::*) () const>(&coal::details::GJK::getSimplex))
246 return "get the underlying simplex using in coal::details::GJK, can be used for cache in next iteration ";
247 return "";
248 }
249
250 inline boost::python::detail::keywords<1> member_func_args ( coal::details::GJK::Simplex * (coal::details::GJK::*function_ptr) () const)
251 {
252 if (function_ptr == static_cast< coal::details::GJK::Simplex * (coal::details::GJK::*) () const>(&coal::details::GJK::getSimplex))
253 return (boost::python::arg("self"));
254 return (boost::python::arg("self"));
255 }
256
257 inline const char* member_func_doc (bool (coal::details::GJK::*function_ptr) () const)
258 {
259 if (function_ptr == static_cast<bool (coal::details::GJK::*) () const>(&coal::details::GJK::hasClosestPoints))
260 return "Tells whether the closest points are available. ";
261 return "";
262 }
263
264 inline boost::python::detail::keywords<1> member_func_args (bool (coal::details::GJK::*function_ptr) () const)
265 {
266 if (function_ptr == static_cast<bool (coal::details::GJK::*) () const>(&coal::details::GJK::hasClosestPoints))
267 return (boost::python::arg("self"));
268 return (boost::python::arg("self"));
269 }
270
271 inline const char* member_func_doc (void (coal::details::GJK::*function_ptr) (const coal::details::MinkowskiDiff &, coal::Vec3ps &, coal::Vec3ps &, coal::Vec3ps &) const)
272 {
273 if (function_ptr == static_cast<void (coal::details::GJK::*) (const coal::details::MinkowskiDiff &, coal::Vec3ps &, coal::Vec3ps &, coal::Vec3ps &) const>(&coal::details::GJK::getWitnessPointsAndNormal))
274 return "Get the witness points on each object, and the corresponding normal. \n"
275 "Param\n"
276 " - shape is the Minkowski difference of the two shapes. \n"
277 " - w0 is the witness point on shape0. \n"
278 " - w1 is the witness point on shape1. \n"
279 " - normal is the normal of the separating plane found by coal::details::GJK. It points from shape0 to shape1. ";
280 return "";
281 }
282
283 inline boost::python::detail::keywords<5> member_func_args (void (coal::details::GJK::*function_ptr) (const coal::details::MinkowskiDiff &, coal::Vec3ps &, coal::Vec3ps &, coal::Vec3ps &) const)
284 {
285 if (function_ptr == static_cast<void (coal::details::GJK::*) (const coal::details::MinkowskiDiff &, coal::Vec3ps &, coal::Vec3ps &, coal::Vec3ps &) const>(&coal::details::GJK::getWitnessPointsAndNormal))
286 return (boost::python::arg("self"), boost::python::arg("shape"), boost::python::arg("w0"), boost::python::arg("w1"), boost::python::arg("normal"));
287 return (boost::python::arg("self"), boost::python::arg("arg0"), boost::python::arg("arg1"), boost::python::arg("arg2"), boost::python::arg("arg3"));
288 }
289
290 inline const char* member_func_doc ( coal::Vec3ps (coal::details::GJK::*function_ptr) () const)
291 {
292 if (function_ptr == static_cast< coal::Vec3ps (coal::details::GJK::*) () const>(&coal::details::GJK::getGuessFromSimplex))
293 return "get the guess from current simplex ";
294 return "";
295 }
296
297 inline boost::python::detail::keywords<1> member_func_args ( coal::Vec3ps (coal::details::GJK::*function_ptr) () const)
298 {
299 if (function_ptr == static_cast< coal::Vec3ps (coal::details::GJK::*) () const>(&coal::details::GJK::getGuessFromSimplex))
300 return (boost::python::arg("self"));
301 return (boost::python::arg("self"));
302 }
303
304 inline const char* member_func_doc (void (coal::details::GJK::*function_ptr) (const coal::SolverScalar &))
305 {
306 if (function_ptr == static_cast<void (coal::details::GJK::*) (const coal::SolverScalar &)>(&coal::details::GJK::setDistanceEarlyBreak))
307 return "Distance threshold for early break. coal::details::GJK stops when it proved the distance is more than this threshold. \n"
308 "\n"
309 "Note: The closest points will be erroneous in this case. If you want the closest points, set this to infinity (the default). ";
310 return "";
311 }
312
313 inline boost::python::detail::keywords<2> member_func_args (void (coal::details::GJK::*function_ptr) (const coal::SolverScalar &))
314 {
315 if (function_ptr == static_cast<void (coal::details::GJK::*) (const coal::SolverScalar &)>(&coal::details::GJK::setDistanceEarlyBreak))
316 return (boost::python::arg("self"), boost::python::arg("dup"));
317 return (boost::python::arg("self"), boost::python::arg("arg0"));
318 }
319
320 inline const char* member_func_doc (bool (coal::details::GJK::*function_ptr) (const coal::Vec3ps &, const coal::SolverScalar &, coal::SolverScalar &, const coal::SolverScalar &) const)
321 {
322 if (function_ptr == static_cast<bool (coal::details::GJK::*) (const coal::Vec3ps &, const coal::SolverScalar &, coal::SolverScalar &, const coal::SolverScalar &) const>(&coal::details::GJK::checkConvergence))
323 return "Convergence check used to stop coal::details::GJK when shapes are not in collision. ";
324 return "";
325 }
326
327 inline boost::python::detail::keywords<5> member_func_args (bool (coal::details::GJK::*function_ptr) (const coal::Vec3ps &, const coal::SolverScalar &, coal::SolverScalar &, const coal::SolverScalar &) const)
328 {
329 if (function_ptr == static_cast<bool (coal::details::GJK::*) (const coal::Vec3ps &, const coal::SolverScalar &, coal::SolverScalar &, const coal::SolverScalar &) const>(&coal::details::GJK::checkConvergence))
330 return (boost::python::arg("self"), boost::python::arg("w"), boost::python::arg("rl"), boost::python::arg("alpha"), boost::python::arg("omega"));
331 return (boost::python::arg("self"), boost::python::arg("arg0"), boost::python::arg("arg1"), boost::python::arg("arg2"), boost::python::arg("arg3"));
332 }
333
334 inline const char* member_func_doc (size_t (coal::details::GJK::*function_ptr) () const)
335 {
336 if (function_ptr == static_cast<size_t (coal::details::GJK::*) () const>(&coal::details::GJK::getNumMaxIterations))
337 return "Get the max number of iterations of coal::details::GJK. ";
338 if (function_ptr == static_cast<size_t (coal::details::GJK::*) () const>(&coal::details::GJK::getNumIterations))
339 return "Get the number of iterations of the last run of coal::details::GJK. ";
340 if (function_ptr == static_cast<size_t (coal::details::GJK::*) () const>(&coal::details::GJK::getNumIterationsMomentumStopped))
341 return "Get coal::details::GJK number of iterations before momentum stops. Only usefull if the Nesterov or Polyak acceleration activated. ";
342 return "";
343 }
344
345 inline boost::python::detail::keywords<1> member_func_args (size_t (coal::details::GJK::*function_ptr) () const)
346 {
347 if (function_ptr == static_cast<size_t (coal::details::GJK::*) () const>(&coal::details::GJK::getNumMaxIterations))
348 return (boost::python::arg("self"));
349 if (function_ptr == static_cast<size_t (coal::details::GJK::*) () const>(&coal::details::GJK::getNumIterations))
350 return (boost::python::arg("self"));
351 if (function_ptr == static_cast<size_t (coal::details::GJK::*) () const>(&coal::details::GJK::getNumIterationsMomentumStopped))
352 return (boost::python::arg("self"));
353 return (boost::python::arg("self"));
354 }
355
356 inline const char* member_func_doc ( coal::SolverScalar (coal::details::GJK::*function_ptr) () const)
357 {
358 if (function_ptr == static_cast< coal::SolverScalar (coal::details::GJK::*) () const>(&coal::details::GJK::getTolerance))
359 return "Get the tolerance of coal::details::GJK. ";
360 return "";
361 }
362
363 inline boost::python::detail::keywords<1> member_func_args ( coal::SolverScalar (coal::details::GJK::*function_ptr) () const)
364 {
365 if (function_ptr == static_cast< coal::SolverScalar (coal::details::GJK::*) () const>(&coal::details::GJK::getTolerance))
366 return (boost::python::arg("self"));
367 return (boost::python::arg("self"));
368 }
369 } // namespace doxygen
370 #include <coal/narrowphase/gjk.h>
371
372 namespace doxygen {
373
374 template <>
375 struct class_doc_impl< coal::details::GJK::Simplex >
376 {
377 static inline const char* run ()
378 {
379 return "A simplex is a set of up to 4 vertices. Its rank is the number of vertices it contains. \n"
380 "\n"
381 "Note: This data structure does not own the vertices it refers to. To be efficient, the constructor of coal::details::GJK creates storage for 4 vertices. Since coal::details::GJK does not need any more storage, it reuses these vertices throughout the algorithm by using multiple instance of this coal::details::GJK::Simplex class. ";
382 }
383 static inline const char* attribute (const char* attrib)
384 {
385 if (strcmp(attrib, "vertex") == 0)
386 return "simplex vertex ";
387 if (strcmp(attrib, "rank") == 0)
388 return "size of simplex (number of vertices) ";
389 (void)attrib; // turn off unused parameter warning.
390 return "";
391 }
392 };
393
394 template <>
395 struct constructor_0_impl< coal::details::GJK::Simplex >
396 {
397 static inline const char* doc ()
398 {
399 return "";
400 }
401 static inline boost::python::detail::keywords<0+1> args ()
402 {
403 return (boost::python::arg("self"));
404 }
405 };
406
407 inline const char* member_func_doc (void (coal::details::GJK::Simplex::*function_ptr) ())
408 {
409 if (function_ptr == static_cast<void (coal::details::GJK::Simplex::*) ()>(&coal::details::GJK::Simplex::reset))
410 return "";
411 return "";
412 }
413
414 inline boost::python::detail::keywords<1> member_func_args (void (coal::details::GJK::Simplex::*function_ptr) ())
415 {
416 if (function_ptr == static_cast<void (coal::details::GJK::Simplex::*) ()>(&coal::details::GJK::Simplex::reset))
417 return (boost::python::arg("self"));
418 return (boost::python::arg("self"));
419 }
420 } // namespace doxygen
421 #include <coal/narrowphase/gjk.h>
422
423 namespace doxygen {
424
425 template <>
426 struct constructor_0_impl< coal::details::EPA::SimplexFace >
427 {
428 static inline const char* doc ()
429 {
430 return "";
431 }
432 static inline boost::python::detail::keywords<0+1> args ()
433 {
434 return (boost::python::arg("self"));
435 }
436 };
437 } // namespace doxygen
438 #include <coal/narrowphase/gjk.h>
439
440 namespace doxygen {
441
442 template <>
443 struct class_doc_impl< coal::details::EPA::SimplexFaceList >
444 {
445 static inline const char* run ()
446 {
447 return "The simplex list of coal::details::EPA is a linked list of faces. Note: coal::details::EPA's linked list does not own any memory. The memory it refers to is contiguous and owned by a std::vector. ";
448 }
449 static inline const char* attribute (const char* attrib)
450 {
451 (void)attrib; // turn off unused parameter warning.
452 return "";
453 }
454 };
455
456 template <>
457 struct constructor_0_impl< coal::details::EPA::SimplexFaceList >
458 {
459 static inline const char* doc ()
460 {
461 return "";
462 }
463 static inline boost::python::detail::keywords<0+1> args ()
464 {
465 return (boost::python::arg("self"));
466 }
467 };
468
469 inline const char* member_func_doc (void (coal::details::EPA::SimplexFaceList::*function_ptr) ())
470 {
471 if (function_ptr == static_cast<void (coal::details::EPA::SimplexFaceList::*) ()>(&coal::details::EPA::SimplexFaceList::reset))
472 return "";
473 return "";
474 }
475
476 inline boost::python::detail::keywords<1> member_func_args (void (coal::details::EPA::SimplexFaceList::*function_ptr) ())
477 {
478 if (function_ptr == static_cast<void (coal::details::EPA::SimplexFaceList::*) ()>(&coal::details::EPA::SimplexFaceList::reset))
479 return (boost::python::arg("self"));
480 return (boost::python::arg("self"));
481 }
482
483 inline const char* member_func_doc (void (coal::details::EPA::SimplexFaceList::*function_ptr) ( coal::details::EPA::SimplexFace *))
484 {
485 if (function_ptr == static_cast<void (coal::details::EPA::SimplexFaceList::*) ( coal::details::EPA::SimplexFace *)>(&coal::details::EPA::SimplexFaceList::append))
486 return "";
487 if (function_ptr == static_cast<void (coal::details::EPA::SimplexFaceList::*) ( coal::details::EPA::SimplexFace *)>(&coal::details::EPA::SimplexFaceList::remove))
488 return "";
489 return "";
490 }
491
492 inline boost::python::detail::keywords<2> member_func_args (void (coal::details::EPA::SimplexFaceList::*function_ptr) ( coal::details::EPA::SimplexFace *))
493 {
494 if (function_ptr == static_cast<void (coal::details::EPA::SimplexFaceList::*) ( coal::details::EPA::SimplexFace *)>(&coal::details::EPA::SimplexFaceList::append))
495 return (boost::python::arg("self"), boost::python::arg("face"));
496 if (function_ptr == static_cast<void (coal::details::EPA::SimplexFaceList::*) ( coal::details::EPA::SimplexFace *)>(&coal::details::EPA::SimplexFaceList::remove))
497 return (boost::python::arg("self"), boost::python::arg("face"));
498 return (boost::python::arg("self"), boost::python::arg("arg0"));
499 }
500 } // namespace doxygen
501 #include <coal/narrowphase/gjk.h>
502
503 namespace doxygen {
504
505 template <>
506 struct constructor_0_impl< coal::details::EPA::SimplexHorizon >
507 {
508 static inline const char* doc ()
509 {
510 return "";
511 }
512 static inline boost::python::detail::keywords<0+1> args ()
513 {
514 return (boost::python::arg("self"));
515 }
516 };
517 } // namespace doxygen
518 #include <coal/narrowphase/gjk.h>
519
520 namespace doxygen {
521
522 template <>
523 struct class_doc_impl< coal::details::GJK::SimplexV >
524 {
525 static inline const char* run ()
526 {
527 return "";
528 }
529 static inline const char* attribute (const char* attrib)
530 {
531 if (strcmp(attrib, "w0") == 0)
532 return "support vector for shape 0 and 1. ";
533 if (strcmp(attrib, "w") == 0)
534 return "support vector (i.e., the furthest point on the shape along the support direction) ";
535 (void)attrib; // turn off unused parameter warning.
536 return "";
537 }
538 };
539 } // namespace doxygen
540
541 #endif // DOXYGEN_AUTODOC_COAL_NARROWPHASE_GJK_H
542
543