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
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<typename char_type, typename traits_type>
inline
/// 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.
_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<typename char_type, typename traits_type>
inline