From 6c14e7127da1974c7884f97454046bffc772b8a0 Mon Sep 17 00:00:00 2001 From: torsten Date: Sat, 2 Jan 2010 16:40:06 +0000 Subject: [PATCH] add "operator == ()" to SGGeod and SGGeoc --- simgear/math/SGGeoc.hxx | 11 +++++++++++ simgear/math/SGGeod.hxx | 12 ++++++++++++ 2 files changed, 23 insertions(+) diff --git a/simgear/math/SGGeoc.hxx b/simgear/math/SGGeoc.hxx index e8f1b0d1..cb603bc4 100644 --- a/simgear/math/SGGeoc.hxx +++ b/simgear/math/SGGeoc.hxx @@ -79,6 +79,8 @@ public: static double courseDeg(const SGGeoc& from, const SGGeoc& to); static double distanceM(const SGGeoc& from, const SGGeoc& to); + // Compare two geocentric positions for equality + bool operator == ( const SGGeoc & other ) const; private: /// This one is private since construction is not unique if you do /// not know the units of the arguments, use the factory methods for @@ -323,6 +325,15 @@ SGGeoc::distanceM(const SGGeoc& from, const SGGeoc& to) return SGGeodesy::distanceM(from, to); } +inline +bool +SGGeoc::operator == ( const SGGeoc & other ) const +{ + return _lon == other._lon && + _lat == other._lat && + _radius == other._radius; +} + /// Output to an ostream template inline diff --git a/simgear/math/SGGeod.hxx b/simgear/math/SGGeod.hxx index 86e38a1f..a7153334 100644 --- a/simgear/math/SGGeod.hxx +++ b/simgear/math/SGGeod.hxx @@ -86,6 +86,9 @@ public: /// Set the geodetic elevation from the argument given in feet void setElevationFt(double elevation); + // Compare two geodetic positions for equality + bool operator == ( const SGGeod & other ) const; + #ifndef NO_OPENSCENEGRAPH_INTERFACE // Create a local coordinate frame in the earth-centered frame of // reference. X points north, Z points down. @@ -350,6 +353,15 @@ SGGeod::setElevationFt(double elevation) _elevation = elevation*SG_FEET_TO_METER; } +inline +bool +SGGeod::operator == ( const SGGeod & other ) const +{ + return _lon == other._lon && + _lat == other._lat && + _elevation == other._elevation; +} + /// Output to an ostream template inline -- 2.39.5