]> git.mxchange.org Git - simgear.git/blobdiff - simgear/math/SGGeod.hxx
Move vector property templates to separate header file.
[simgear.git] / simgear / math / SGGeod.hxx
index 86e38a1f655889801f36be830c2dbc2e0d97456d..9a9ab14651d43fd19e3b3b4f237ad0f7fd656d73 100644 (file)
 
 #include <simgear/constants.h>
 
-#ifndef NO_OPENSCENEGRAPH_INTERFACE
-#include <osg/Matrix>
-#endif
-
 // #define SG_GEOD_NATIVE_DEGREE
 
 /// Class representing a geodetic location
@@ -86,19 +82,9 @@ public:
   /// Set the geodetic elevation from the argument given in feet
   void setElevationFt(double elevation);
 
-#ifndef NO_OPENSCENEGRAPH_INTERFACE
-  // Create a local coordinate frame in the earth-centered frame of
-  // reference. X points north, Z points down.
-  // makeSimulationFrameRelative() only includes rotation.
-  osg::Matrix makeSimulationFrameRelative() const;
-  osg::Matrix makeSimulationFrame() const;
-
-  // Create a Z-up local coordinate frame in the earth-centered frame
-  // of reference. This is what scenery models, etc. expect.
-  // makeZUpFrameRelative() only includes rotation.
-  osg::Matrix makeZUpFrameRelative() const;
-  osg::Matrix makeZUpFrame() const;
-#endif
+  // Compare two geodetic positions for equality
+  bool operator == ( const SGGeod & 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
@@ -350,6 +336,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<typename char_type, typename traits_type>
 inline