X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fmath%2FSGVec3.hxx;h=56775d3ede34ba6affc15d8fa37076c684311875;hb=66c9187c95fb6861d9737f135fdf68d1bfa265f3;hp=64ceac0a88ac141ed6273738c624779745b2573f;hpb=4f802689f23456e7db7920aeb690516b7a3f399e;p=simgear.git diff --git a/simgear/math/SGVec3.hxx b/simgear/math/SGVec3.hxx index 64ceac0a..56775d3e 100644 --- a/simgear/math/SGVec3.hxx +++ b/simgear/math/SGVec3.hxx @@ -18,17 +18,17 @@ #ifndef SGVec3_H #define SGVec3_H -#ifndef NO_OPENSCENEGRAPH_INTERFACE -#include -#include -#endif - /// 3D Vector Class template class SGVec3 { public: typedef T value_type; +#ifdef __GNUC__ +// Avoid "_data not initialized" warnings (see comment below). +# pragma GCC diagnostic ignored "-Wuninitialized" +#endif + /// Default constructor. Does not initialize at all. /// If you need them zero initialized, use SGVec3::zeros() SGVec3(void) @@ -41,6 +41,12 @@ public: data()[i] = SGLimits::quiet_NaN(); #endif } + +#ifdef __GNUC__ + // Restore warning settings. +# pragma GCC diagnostic warning "-Wuninitialized" +#endif + /// Constructor. Initialize by the given values SGVec3(T x, T y, T z) { data()[0] = x; data()[1] = y; data()[2] = z; } @@ -494,26 +500,4 @@ SGVec3d toVec3d(const SGVec3f& v) { return SGVec3d(v(0), v(1), v(2)); } -#ifndef NO_OPENSCENEGRAPH_INTERFACE -inline -SGVec3d -toSG(const osg::Vec3d& v) -{ return SGVec3d(v[0], v[1], v[2]); } - -inline -SGVec3f -toSG(const osg::Vec3f& v) -{ return SGVec3f(v[0], v[1], v[2]); } - -inline -osg::Vec3d -toOsg(const SGVec3d& v) -{ return osg::Vec3d(v[0], v[1], v[2]); } - -inline -osg::Vec3f -toOsg(const SGVec3f& v) -{ return osg::Vec3f(v[0], v[1], v[2]); } -#endif - #endif