From b187bb7bd336618a660f837e4acc140a53a1eac7 Mon Sep 17 00:00:00 2001
From: PepMS <jmarti@iri.upc.edu>
Date: Thu, 4 Jul 2019 11:53:23 +0200
Subject: [PATCH] Added function ecefToPos()

---
 include/gnss_utils/gnss_utils.h | 7 +++++++
 src/gnss_utils.cpp              | 8 ++++++++
 2 files changed, 15 insertions(+)

diff --git a/include/gnss_utils/gnss_utils.h b/include/gnss_utils/gnss_utils.h
index 9d68ae9..a550db3 100644
--- a/include/gnss_utils/gnss_utils.h
+++ b/include/gnss_utils/gnss_utils.h
@@ -4,6 +4,11 @@
 #include <vector>
 #include <iostream>
 #include <memory>
+
+#include <eigen3/Eigen/Dense>
+#include <eigen3/Eigen/Geometry>
+#include <eigen3/Eigen/Sparse>
+
 #include "observations.h"
 #include "navigation.h"
 
@@ -17,5 +22,7 @@ namespace GNSSUtils
   int getPos(const std::shared_ptr<Observations> & _observations,
             const std::shared_ptr<Navigation> & _navigation,
             sol_t & _sol);
+
+  Eigen::Vector3d ecefToPos(const Eigen::Vector3d & _ecef);
 }
 #endif
diff --git a/src/gnss_utils.cpp b/src/gnss_utils.cpp
index 0eb5ab1..b5c9c0a 100644
--- a/src/gnss_utils.cpp
+++ b/src/gnss_utils.cpp
@@ -36,4 +36,12 @@ namespace GNSSUtils
 
     return stat;
   }
+
+  Eigen::Vector3d ecefToPos(const Eigen::Vector3d & _ecef)
+  {
+    double pos[3];
+    ecef2pos(&_ecef(0), pos);
+
+    return Eigen::Map<Eigen::Vector3d>(pos);
+  }
 }
-- 
GitLab