diff --git a/src/loop_closure_falko.cpp b/src/loop_closure_falko.cpp index 2008e2892c49df3db5f904edd7f6b25efe3b0d6d..ebf430aeee3f084716f9662273dd9be424da1926 100644 --- a/src/loop_closure_falko.cpp +++ b/src/loop_closure_falko.cpp @@ -9,16 +9,22 @@ namespace laserscanutils{ - loopClosureFalko::loopClosureFalko(){} - loopClosureFalko::~loopClosureFalko(){} -/* - std::shared_ptr<cornerScene> loopClosureBase2d::extractScene(LaserScan &scan,LaserScanParams &scanParams){ + template <typename Extractor, typename Matcher> + loopClosureFalko<Extractor, Matcher>::loopClosureFalko(){ + + } + + template <typename Extractor, typename Matcher> + loopClosureFalko<Extractor, Matcher>::~loopClosureFalko(){} + + template <typename Extractor, typename Matcher> + std::shared_ptr<cornerScene> loopClosureFalko<Extractor, Matcher>::extractScene(LaserScan &scan,LaserScanParams &scanParams){ auto NewScene=std::make_shared<cornerScene>(); return NewScene; } -*/ + //void findLoopClosure(std::list<cornerScene>& scenes, const cornerScene newScene){} diff --git a/src/loop_closure_falko.h b/src/loop_closure_falko.h index 6053c7bf27b2475a585becfd16db8da4ff8a7a0a..ea7f16db317907df6e0dd341cb28fd24e46ebe48 100644 --- a/src/loop_closure_falko.h +++ b/src/loop_closure_falko.h @@ -34,9 +34,12 @@ namespace laserscanutils { +typedef falkolib::BSCExtractor<falkolib::FALKO> bscExtractor; +typedef falkolib::NNMatcher<falkolib::FALKO> NNMatcher; - /** \brief A 2base class for loop closure using falko library -*/ + /** \brief A base class for loop closure using falko library + **/ +template <typename Extractor, typename Matcher> class loopClosureFalko{ private: @@ -55,9 +58,10 @@ public: /** \brief update the scene struct with keypoints and descriptors **/ - std::shared_ptr<cornerScene> extractScene(LaserScan &scan,LaserScanParams &scanParams){} - + std::shared_ptr<cornerScene> extractScene(LaserScan &scan,LaserScanParams &scanParams); + Extractor extractor; + Matcher matcher; }; } /* namespace laserscanutils */