From 2910aa3f66283f96abe46bd4898f11899b562cbf Mon Sep 17 00:00:00 2001
From: Sergi Pujol <sergi.pujol.badell@estudiantat.upc.edu>
Date: Sun, 14 Feb 2021 19:37:37 +0100
Subject: [PATCH] added typedef for loopClosurFalko class

---
 src/loop_closure_falko.cpp | 16 +++++++++++-----
 src/loop_closure_falko.h   | 12 ++++++++----
 2 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/src/loop_closure_falko.cpp b/src/loop_closure_falko.cpp
index 2008e28..ebf430a 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 6053c7b..ea7f16d 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 */
 
-- 
GitLab