From b7ed32b136f5a9c96b437435937495a2e0c2b712 Mon Sep 17 00:00:00 2001
From: Sergi Pujol <sergi.pujol.badell@estudiantat.upc.edu>
Date: Tue, 9 Feb 2021 15:04:21 +0100
Subject: [PATCH] added cornerScene struct

---
 src/CMakeLists.txt           |  8 ++++++--
 src/corner_scene.cpp         |  0
 src/corner_scene.h           | 23 +++++++++++++++++++++++
 src/loop_closure_base_2d.cpp | 16 ++++++++++++++++
 src/loop_closure_base_2d.h   | 23 +++++++++++++++++++++--
 5 files changed, 66 insertions(+), 4 deletions(-)
 create mode 100644 src/corner_scene.cpp
 create mode 100644 src/corner_scene.h

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index b187780..cec2f98 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -56,6 +56,7 @@ SET(HDRS
     point_set.h
     polyline.h
     scan_segment.h
+    loop_closure_base_2d.h
     )
   IF(csm_FOUND)
     SET(HDRS ${HDRS}
@@ -64,7 +65,8 @@ SET(HDRS
 
   IF(falkolib_FOUND)
     SET(HDRS ${HDRS}
-      corner_falko_2d.h)
+      corner_falko_2d.h
+      corner_scene.h)
   ENDIF(falkolib_FOUND)
 
 #sources
@@ -84,6 +86,7 @@ SET(SRCS
     point_set.cpp
     polyline.cpp
     scan_segment.cpp
+    loop_closure_base_2d.cpp
     )
   IF(csm_FOUND)
     SET(SRCS ${SRCS}
@@ -92,7 +95,8 @@ SET(SRCS
 
   IF(falkolib_FOUND)
     SET(SRCS ${SRCS}
-      corner_falko_2d.cpp)
+      corner_falko_2d.cpp
+      corner_scene.cpp)
   ENDIF(falkolib_FOUND)
 
 
diff --git a/src/corner_scene.cpp b/src/corner_scene.cpp
new file mode 100644
index 0000000..e69de29
diff --git a/src/corner_scene.h b/src/corner_scene.h
new file mode 100644
index 0000000..a2cd43c
--- /dev/null
+++ b/src/corner_scene.h
@@ -0,0 +1,23 @@
+/**
+ * \file corner_scene.h
+ *
+ *  Created on: Feb 9, 2021
+ *      \author: spujol
+ */
+
+#ifndef CORNER_SCENE_H_
+#define CORNER_SCENE_H_
+
+#include <iostream>
+#include <fstream>
+
+namespace laserscanutils
+{
+struct cornerScene{
+    std::vector<double> keypointsList;
+    std::vector<double> descriptorsList;
+};
+
+} /* namespace laserscanutils */
+
+#endif /* CORNER_SCENE_H_ */
\ No newline at end of file
diff --git a/src/loop_closure_base_2d.cpp b/src/loop_closure_base_2d.cpp
index e69de29..1693e91 100644
--- a/src/loop_closure_base_2d.cpp
+++ b/src/loop_closure_base_2d.cpp
@@ -0,0 +1,16 @@
+/**
+ * \file loop_closure_base_2d.h
+ *
+ *  Created on: Feb 9, 2021
+ *      \author: spujol
+ */
+
+# include "loop_closure_base_2d.h"
+
+namespace laserscanutils{
+
+    cornerScene extractScene(LaserScan scan,LaserScanParams scanParams){
+        cornerScene NewScene;
+        return NewScene;
+    }
+}
\ No newline at end of file
diff --git a/src/loop_closure_base_2d.h b/src/loop_closure_base_2d.h
index 0c36cf1..73edd7d 100644
--- a/src/loop_closure_base_2d.h
+++ b/src/loop_closure_base_2d.h
@@ -11,8 +11,20 @@
 #include <iostream>
 #include <fstream>
 
+/**************************
+ *      laser_scan_utils includes     *
+ **************************/
+#include "laser_scan.h"
+#include "corner_scene.h"
+
 namespace laserscanutils
 {
+    /*
+struct cornerScene{
+    std::vector<double> keypointsList;
+    std::vector<double> descriptorsList;
+};*/
+
    /** \brief A 2base class for loop closure using falko library
 */
 class loopClosureBase2d{
@@ -21,14 +33,21 @@ private:
 public:
     /** \brief Constructor
     **/
-
     loopClosureBase2d();
 
     /** \brief Destructor 
     **/
     ~loopClosureBase2d();
 
+    /** \brief compare new scans against the trained set in order to find loop closures
+     **/
+    virtual void findLoopClosure();
+
+    /** \brief update the scene struct with keypoints and descriptors
+     **/
+    virtual cornerScene extractScene(LaserScan scan,LaserScanParams scanParams);
+
 };
 } /* namespace laserscanutils */
 
-#endif /* LANDMARK_POLYLINE_2d_H_ */
\ No newline at end of file
+#endif /* LOOP_CLOSURE_BASE_2D_H_ */
\ No newline at end of file
-- 
GitLab