From 9a959b578cb69a5f0766f415da640bcbd3ebabb1 Mon Sep 17 00:00:00 2001 From: Noel Eck Date: Fri, 1 Jun 2018 10:20:00 -0700 Subject: [PATCH] nmea_gps: Added str method for coordinate struct Provide a method to print out a coordinate structure which can be dropped into online mapping pages. Signed-off-by: Noel Eck --- src/nmea_gps/nmea_gps.cxx | 7 +++++++ src/nmea_gps/nmea_gps.hpp | 5 +++++ src/nmea_gps/nmea_gps.i | 1 + 3 files changed, 13 insertions(+) diff --git a/src/nmea_gps/nmea_gps.cxx b/src/nmea_gps/nmea_gps.cxx index 588ccdfb..2e8a09c4 100644 --- a/src/nmea_gps/nmea_gps.cxx +++ b/src/nmea_gps/nmea_gps.cxx @@ -616,3 +616,10 @@ std::string NMEAGPS::__str__() return oss.str(); } + +std::string coord_DD::__str__() +{ + std::ostringstream oss; + oss << latitude << ", " << longitude; + return oss.str(); +} diff --git a/src/nmea_gps/nmea_gps.hpp b/src/nmea_gps/nmea_gps.hpp index 6696c775..b16bde8f 100644 --- a/src/nmea_gps/nmea_gps.hpp +++ b/src/nmea_gps/nmea_gps.hpp @@ -79,6 +79,11 @@ namespace upm { double latitude = 0.0; /** Longitude in decimal degrees */ double longitude = 0.0; + /** + * Provide a string representation of this structure. + * @return String representing coordinates + */ + std::string __str__(); }; /** Satellite structure definition */ diff --git a/src/nmea_gps/nmea_gps.i b/src/nmea_gps/nmea_gps.i index b5308cf8..97529eff 100644 --- a/src/nmea_gps/nmea_gps.i +++ b/src/nmea_gps/nmea_gps.i @@ -13,6 +13,7 @@ JAVA_JNI_LOADLIBRARY(javaupm_nmea_gps) %feature("python:slot", "tp_str", functype="reprfunc") upm::satellite::__str__; %feature("python:slot", "tp_str", functype="reprfunc") upm::nmeatxt::__str__; %feature("python:slot", "tp_str", functype="reprfunc") upm::NMEAGPS::__str__; +%feature("python:slot", "tp_str", functype="reprfunc") upm::coord_DD::__str__; #endif /* END Python syntax */