From d6e753014d0b2d535aa2e5aea944d85f5c5b9e55 Mon Sep 17 00:00:00 2001
From: Frederic Bouvier <fredfgfs01@free.fr>
Date: Sun, 6 Jan 2013 00:22:11 +0100
Subject: [PATCH] Suppress warnings under Windows. The level of code
 duplication is remarkable. Maybe a template could fit

---
 src/Lib/terragear/tg_unique_geod.hxx   | 9 +++++++++
 src/Lib/terragear/tg_unique_tgnode.hxx | 9 +++++++++
 src/Lib/terragear/tg_unique_vec2f.hxx  | 9 +++++++++
 src/Lib/terragear/tg_unique_vec3f.hxx  | 9 +++++++++
 4 files changed, 36 insertions(+)

diff --git a/src/Lib/terragear/tg_unique_geod.hxx b/src/Lib/terragear/tg_unique_geod.hxx
index 5f5e3fde..323d872f 100644
--- a/src/Lib/terragear/tg_unique_geod.hxx
+++ b/src/Lib/terragear/tg_unique_geod.hxx
@@ -17,6 +17,11 @@
 // same bucket.
 // We could experiment with making it so 1 point per bucket, but I'm nervous...
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4309)
+#endif
+
 #define PROXIMITY_MULTIPLIER (100000)
 #define PROXIMITY_EPSILON    ((double) 1 / (double)( PROXIMITY_MULTIPLIER * 10 ) )
 
@@ -70,6 +75,10 @@ private:
     unsigned int ordered_index;
 };
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 inline bool operator == (const SGGeodIndex& a, const SGGeodIndex& b) {
     return (( fabs(a.geod.getLongitudeDeg() - b.geod.getLongitudeDeg()) < PROXIMITY_EPSILON ) &&
             ( fabs(a.geod.getLatitudeDeg()  - b.geod.getLatitudeDeg()) < PROXIMITY_EPSILON ));
diff --git a/src/Lib/terragear/tg_unique_tgnode.hxx b/src/Lib/terragear/tg_unique_tgnode.hxx
index 8a5b7f13..9255da2d 100644
--- a/src/Lib/terragear/tg_unique_tgnode.hxx
+++ b/src/Lib/terragear/tg_unique_tgnode.hxx
@@ -124,6 +124,11 @@ private:
     TGFaceList  faces;
 };
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4309)
+#endif
+
 class TGNodeIndex {
 public:
     TGNodeIndex( SGGeod g ) {
@@ -172,6 +177,10 @@ private:
     unsigned int ordered_index;
 };
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 inline bool operator == (const TGNodeIndex& a, const TGNodeIndex& b) {
     return (( fabs(a.geod.getLongitudeDeg() - b.geod.getLongitudeDeg()) < PROXIMITY_EPSILON ) &&
             ( fabs(a.geod.getLatitudeDeg()  - b.geod.getLatitudeDeg()) < PROXIMITY_EPSILON ));
diff --git a/src/Lib/terragear/tg_unique_vec2f.hxx b/src/Lib/terragear/tg_unique_vec2f.hxx
index 3e9f14f3..cd1170b0 100644
--- a/src/Lib/terragear/tg_unique_vec2f.hxx
+++ b/src/Lib/terragear/tg_unique_vec2f.hxx
@@ -14,6 +14,11 @@
 // same bucket.
 // We could experiment with making it so 1 point per bucket, but I'm nervous...
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4309)
+#endif
+
 #define PROXIMITY_MULTIPLIER (100000)
 #define PROXIMITY_EPSILON    ((double) 1 / (double)( PROXIMITY_MULTIPLIER * 10 ) )
 
@@ -67,6 +72,10 @@ private:
     unsigned int ordered_index;
 };
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 inline bool operator == (const SGVec2fIndex& a, const SGVec2fIndex& b) {
     return (( fabs(a.vec.x() - b.vec.x()) < PROXIMITY_EPSILON ) &&
             ( fabs(a.vec.y() - b.vec.y()) < PROXIMITY_EPSILON ));
diff --git a/src/Lib/terragear/tg_unique_vec3f.hxx b/src/Lib/terragear/tg_unique_vec3f.hxx
index ab67ed09..e765d3df 100644
--- a/src/Lib/terragear/tg_unique_vec3f.hxx
+++ b/src/Lib/terragear/tg_unique_vec3f.hxx
@@ -14,6 +14,11 @@
 // same bucket.
 // We could experiment with making it so 1 point per bucket, but I'm nervous...
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4309)
+#endif
+
 #define PROXIMITY_MULTIPLIER (100000)
 #define PROXIMITY_EPSILON    ((double) 1 / (double)( PROXIMITY_MULTIPLIER * 10 ) )
 
@@ -68,6 +73,10 @@ private:
     unsigned int ordered_index;
 };
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 inline bool operator == (const SGVec3fIndex& a, const SGVec3fIndex& b) {
     return (( fabs(a.vec.x() - b.vec.x()) < PROXIMITY_EPSILON ) &&
             ( fabs(a.vec.y() - b.vec.y()) < PROXIMITY_EPSILON ) &&