]> git.mxchange.org Git - flightgear.git/blobdiff - src/WeatherCM/FGWindItem.h
Erik Hofman:
[flightgear.git] / src / WeatherCM / FGWindItem.h
index ceffd6d025eece661ac72bf1c19124e1102b43dc..9aa6ab39577d9c6b29a72b51960429a203214ebd 100644 (file)
@@ -36,6 +36,8 @@ HISTORY
                                suggestion
 19.10.1999 Christian Mayer     change to use PLIB's sg instead of Point[2/3]D
                                and lots of wee code cleaning
+21.12.1999 Christian Mayer     Added a fix for compatibility to gcc 2.8 which
+                               suggested by Oliver Delise
 *****************************************************************************/
 
 /****************************************************************************/
@@ -52,13 +54,13 @@ HISTORY
 #  include <config.h>
 #endif
 
-#include <Include/compiler.h>
+#include <simgear/compiler.h>
 
 #ifdef HAVE_WINDOWS_H
 #  include <windows.h>
 #endif
 
-#include <sg.h>
+#include <plib/sg.h>
 
 #include "FGWeatherDefs.h"
 
@@ -68,6 +70,12 @@ HISTORY
 class FGWindItem;
 FGWindItem operator-(const FGWindItem& arg);
 
+#if ( __GNU_C__ == 2 && __GNU_MAJOR__ < 9 )
+#  define const_sgVec3 const sgVec3
+#else
+#  define const_sgVec3 const sgVec3&
+#endif
+
 /****************************************************************************/
 /* CLASS DECLARATION                                                       */
 /****************************************************************************/
@@ -79,7 +87,7 @@ private:
 protected:
 public:
 
-    FGWindItem(const sgVec3& v)        { sgCopyVec3(value, v); }
+    FGWindItem(const_sgVec3 v) { sgCopyVec3(value, v); }
     FGWindItem(const WeatherPrecision x, const WeatherPrecision y, const WeatherPrecision z)   
                                { sgSetVec3 (value, x, y, z); }
     FGWindItem()               { sgZeroVec3(value);    }
@@ -91,6 +99,10 @@ public:
     WeatherPrecision y(void) const { return value[1]; };
     WeatherPrecision z(void) const { return value[2]; };
 
+    void x(const WeatherPrecision x) { value[0] = x; };
+    void y(const WeatherPrecision y) { value[1] = y; };
+    void z(const WeatherPrecision z) { value[2] = z; };
+
     FGWindItem& operator*= (const WeatherPrecision arg);
     FGWindItem& operator+= (const FGWindItem&      arg);
     FGWindItem& operator-= (const FGWindItem&      arg);