From: Jiri Vlasak Date: Fri, 23 Jul 2021 11:12:13 +0000 (+0200) Subject: Rewrite rrtext6 X-Git-Tag: v0.8.0~1^2~3 X-Git-Url: http://rtime.felk.cvut.cz/gitweb/hubacji1/rrts.git/commitdiff_plain/0ce338e2acc75a609d132bd9f584b25df843d809 Rewrite rrtext6 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 963aefc..910678f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,6 +25,7 @@ add_library(rrts STATIC src/rrtext13.cc src/rrtext10.cc src/rrtext8.cc + src/rrtext6.cc src/rrtext2.cc src/reeds_shepp.cpp ) diff --git a/incl/rrtext.hh b/incl/rrtext.hh index dba83fa..b09f1c4 100644 --- a/incl/rrtext.hh +++ b/incl/rrtext.hh @@ -231,16 +231,17 @@ class RRTExt7 : public virtual RRTS { std::vector nv(RRTNode &t); }; -/*! \brief Reeds and Shepp cost for building and search. -*/ +/*! \brief Reeds & Shepp (build, search). + * + * Use Reeds & Shepp path length for building tree data structure as well as for + * searching it. + * + * \ingroup ext-cost + */ 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); +private: + double cost_build(RRTNode const& f, RRTNode const& t) const; + double cost_search(RRTNode const& f, RRTNode const& t) const; }; /*! \brief Different costs extension. diff --git a/src/rrtext6.cc b/src/rrtext6.cc index db7d661..934c871 100644 --- a/src/rrtext6.cc +++ b/src/rrtext6.cc @@ -1,18 +1,21 @@ -#include "rrtext.h" +#include "rrtext.hh" #include "reeds_shepp.h" -double RRTExt6::cost_build(RRTNode &f, RRTNode &t) +namespace rrts { + +double +RRTExt6::cost_build(RRTNode const& f, RRTNode const& t) const { double q0[] = {f.x(), f.y(), f.h()}; double q1[] = {t.x(), t.y(), t.h()}; - ReedsSheppStateSpace rsss(this->bc.mtr()); + ReedsSheppStateSpace rsss(this->bc_.mtr()); return rsss.distance(q0, q1); } -double RRTExt6::cost_search(RRTNode &f, RRTNode &t) +double +RRTExt6::cost_search(RRTNode const& f, RRTNode const& t) const { - double q0[] = {f.x(), f.y(), f.h()}; - double q1[] = {t.x(), t.y(), t.h()}; - ReedsSheppStateSpace rsss(this->bc.mtr()); - return rsss.distance(q0, q1); + return this->cost_build(f, t); } + +} // namespace rrts