## Implemented extensions
There is a list of implemented extensions and what they include:
+- `rrtext6.cc`: Reeds and Shepp for both -- building and search costs,
- `rrtext5.cc`: different cost for building (Reeds and Shepp) and searching
(Euclidean distance),
- `rrtext4.cc`: store RRT nodes to grid,
// ext2
#include "cute_c2.h"
+/*! \brief Reeds and Shepp cost for building and search.
+*/
+class RRTExt6 : public virtual RRTS {
+ public:
+ /*! \brief Reeds and Shepp path length.
+ */
+ double cost_build(RRTNode &f, RRTNode &t);
+ /*! \brief Reeds and Shepp path length.
+ */
+ double cost_search(RRTNode &f, RRTNode &t);
+};
+
/*! \brief Different costs extension.
Use different cost for bulding tree data structure and searching in the
--- /dev/null
+#include "rrtext.h"
+#include "reeds_shepp.h"
+
+double RRTExt6::cost_build(RRTNode &f, RRTNode &t)
+{
+ double q0[] = {f.x(), f.y(), f.h()};
+ double q1[] = {t.x(), t.y(), t.h()};
+ ReedsSheppStateSpace rsss(f.mtr());
+ return rsss.distance(q0, q1);
+}
+
+double RRTExt6::cost_search(RRTNode &f, RRTNode &t)
+{
+ double q0[] = {f.x(), f.y(), f.h()};
+ double q1[] = {t.x(), t.y(), t.h()};
+ ReedsSheppStateSpace rsss(f.mtr());
+ return rsss.distance(q0, q1);
+}