2 This file is part of I am car.
4 I am car is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
9 I am car is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with I am car. If not, see <http://www.gnu.org/licenses/>.
27 class LaValle1998: public RRTBase {
29 //using RRTBase::RRTBase;
30 LaValle1998(RRTNode *init, RRTNode *goal);
34 class Kuwata2008: public RRTBase {
36 Kuwata2008(RRTNode *init, RRTNode *goal);
40 class Karaman2011: public RRTBase {
45 std::vector<RRTNode *> nvs);
46 bool rewire(std::vector<RRTNode *> nvs, RRTNode *ns);
48 Karaman2011(RRTNode *init, RRTNode *goal);
52 class T1: public RRTBase {
54 T1(RRTNode *init, RRTNode *goal);
58 class T2: public Karaman2011 {
60 using Karaman2011::Karaman2011;
65 class T3: public RRTBase {
70 T3(RRTNode *init, RRTNode *goal);
73 std::vector<CircleObstacle> *cobstacles,
74 std::vector<SegmentObstacle> *sobstacles);
75 bool connecttrees(RRTNode *rn, RRTNode *gn);
76 bool overlaptrees(RRTNode **ron, RRTNode **gon);
79 class Klemm2015: public Karaman2011 {
81 RRTNode *orig_root_ = nullptr;
82 RRTNode *orig_goal_ = nullptr;
84 int extendstar1(RRTNode *rs, RRTNode **xn);
85 int extendstarC(RRTNode *rs);
86 int connectstar(RRTNode *x);
89 Klemm2015(RRTNode *init, RRTNode *goal);