]> rtime.felk.cvut.cz Git - hubacji1/rrts.git/blob - api/rrtext.h
1d08a34078915c853d58445510e9545392300041
[hubacji1/rrts.git] / api / rrtext.h
1 #ifndef RRTEXT_H
2 #define RRTEXT_H
3
4 #include "rrts.h"
5
6 // ext2
7 #include "cute_c2.h"
8
9 /*! \brief Use cute_c2 for collision detection.
10
11 \see https://github.com/RandyGaul/cute_headers/blob/master/cute_c2.h
12 */
13 class RRTExt2 : public RRTS {
14         public:
15                 // Collide RRT procedures
16                 std::tuple<bool, unsigned int, unsigned int>
17                 collide_steered_from(RRTNode &f);
18
19                 std::tuple<bool, unsigned int, unsigned int>
20                 collide_two_nodes(RRTNode &f, RRTNode &t);
21 };
22
23 /*! \brief Different costs extension.
24
25 Use different cost for bulding tree data structure and searching in the
26 structure.
27 */
28 class RRTExt1 : public RRTS {
29         public:
30                 /*! \brief Reeds and Shepp path length.
31                 */
32                 double cost_build(RRTNode &f, RRTNode &t);
33                 /*! \brief Matej's heuristics.
34                 */
35                 double cost_search(RRTNode &f, RRTNode &t);
36 };
37
38 #endif /* RRTEXT_H */