From 6cf5b62641ad754b05a0f0bab01e0df9be376943 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Wed, 3 Jan 2018 18:55:09 -0800 Subject: [PATCH] Fix NaN in calculation --- src/QGCGeo.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/QGCGeo.cc b/src/QGCGeo.cc index bf3f7252b..0c27941cb 100644 --- a/src/QGCGeo.cc +++ b/src/QGCGeo.cc @@ -28,7 +28,13 @@ static const float epsilon = std::numeric_limits::epsilon(); -void convertGeoToNed(QGeoCoordinate coord, QGeoCoordinate origin, double* x, double* y, double* z) { +void convertGeoToNed(QGeoCoordinate coord, QGeoCoordinate origin, double* x, double* y, double* z) +{ + if (coord == origin) { + // Short circuit to prevent NaNs in calculation + *x = *y = *z = 0; + return; + } double lat_rad = coord.latitude() * M_DEG_TO_RAD; double lon_rad = coord.longitude() * M_DEG_TO_RAD; -- 2.22.0