From a7b3b977fe3e5936359874e227551f28825dbd84 Mon Sep 17 00:00:00 2001
From: Sergi Pujol <sergi.pujol.badell@estudiantat.upc.edu>
Date: Sun, 14 Feb 2021 10:00:10 +0100
Subject: [PATCH] added class loopClosureFalko

---
 src/CMakeLists.txt         |  2 ++
 src/loop_closure_falko.cpp | 26 ++++++++++++++++
 src/loop_closure_falko.h   | 64 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 92 insertions(+)
 create mode 100644 src/loop_closure_falko.cpp
 create mode 100644 src/loop_closure_falko.h

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index cec2f98..3860988 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -66,6 +66,7 @@ SET(HDRS
   IF(falkolib_FOUND)
     SET(HDRS ${HDRS}
       corner_falko_2d.h
+      loop_closure_falko.h
       corner_scene.h)
   ENDIF(falkolib_FOUND)
 
@@ -96,6 +97,7 @@ SET(SRCS
   IF(falkolib_FOUND)
     SET(SRCS ${SRCS}
       corner_falko_2d.cpp
+      loop_closure_falko.cpp
       corner_scene.cpp)
   ENDIF(falkolib_FOUND)
 
diff --git a/src/loop_closure_falko.cpp b/src/loop_closure_falko.cpp
new file mode 100644
index 0000000..2008e28
--- /dev/null
+++ b/src/loop_closure_falko.cpp
@@ -0,0 +1,26 @@
+/**
+ * \file loop_closure_base_2d.h
+ *
+ *  Created on: Feb 9, 2021
+ *      \author: spujol
+ */
+
+# include "loop_closure_falko.h"
+
+namespace laserscanutils{
+
+    loopClosureFalko::loopClosureFalko(){}
+    loopClosureFalko::~loopClosureFalko(){}
+/*
+    std::shared_ptr<cornerScene> loopClosureBase2d::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
new file mode 100644
index 0000000..6053c7b
--- /dev/null
+++ b/src/loop_closure_falko.h
@@ -0,0 +1,64 @@
+/**
+ * \file loop_closure_base_2d.h
+ *
+ *  Created on: Feb 9, 2021
+ *      \author: spujol
+ */
+
+#ifndef LOOP_CLOSURE_FALKO_H_
+#define LOOP_CLOSURE_FALKO_H_
+
+#include <iostream>
+#include <fstream>
+#include <memory>
+
+/**************************
+ *      laser_scan_utils includes     *
+ **************************/
+#include "laser_scan.h"
+#include "corner_scene.h"
+
+/**************************
+ *      Falko includes      *
+ **************************/
+#include <falkolib/Feature/FALKO.h>
+#include <falkolib/Feature/CGH.h>
+#include <falkolib/Feature/BSC.h>
+#include <falkolib/Feature/FALKOExtractor.h>
+
+#include <falkolib/Feature/BSCExtractor.h>
+#include <falkolib/Feature/CGHExtractor.h>
+
+#include <falkolib/Matching/NNMatcher.h>
+#include <falkolib/Matching/AHTMatcher.h>
+
+namespace laserscanutils
+{
+
+   /** \brief A 2base class for loop closure using falko library
+*/
+class loopClosureFalko{
+private:
+
+public:
+    /** \brief Constructor
+    **/
+    loopClosureFalko();
+
+    /** \brief Destructor 
+    **/
+    ~loopClosureFalko();
+
+    /** \brief compare new scans against the trained set in order to find loop closures
+     **/
+    void findLoopClosure(std::list<cornerScene>& scenes, const cornerScene newScene){}
+
+    /** \brief update the scene struct with keypoints and descriptors
+     **/
+    std::shared_ptr<cornerScene> extractScene(LaserScan &scan,LaserScanParams &scanParams){}
+
+
+};
+} /* namespace laserscanutils */
+
+#endif /* LOOP_CLOSURE_FALKO_H_ */
-- 
GitLab