From e5c460f2db3f7506f4fc38b16747f0ace9151017 Mon Sep 17 00:00:00 2001 From: Bruno de Oliveira Abinader Date: Tue, 10 Nov 2015 11:45:07 +0200 Subject: [core] Added isValid to geo helper structs --- include/mbgl/util/geo.hpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'include/mbgl/util/geo.hpp') diff --git a/include/mbgl/util/geo.hpp b/include/mbgl/util/geo.hpp index 307134f666..bfcb84bd7c 100644 --- a/include/mbgl/util/geo.hpp +++ b/include/mbgl/util/geo.hpp @@ -14,6 +14,10 @@ struct LatLng { inline LatLng(double lat = 0, double lon = 0) : latitude(lat), longitude(lon) {} + inline bool isValid() const { + return !(std::isnan(latitude) || std::isnan(longitude)); + } + // Constructs a LatLng object with the top left position of the specified tile. LatLng(const TileID& id); @@ -26,6 +30,10 @@ struct ProjectedMeters { inline ProjectedMeters(double n = 0, double e = 0) : northing(n), easting(e) {} + + inline bool isValid() const { + return !(std::isnan(northing) || std::isnan(easting)); + } }; struct LatLngBounds { @@ -35,6 +43,10 @@ struct LatLngBounds { inline LatLngBounds(LatLng sw_ = {90, 180}, LatLng ne_ = {-90, -180}) : sw(sw_), ne(ne_) {} + inline bool isValid() const { + return sw.isValid() && ne.isValid(); + } + // Constructs a LatLngBounds object with the tile's exact boundaries. LatLngBounds(const TileID& id); -- cgit v1.2.1