fixed compilation on Windows (NAN)
authorAlexander Shishkov <no@email>
Mon, 12 Mar 2012 07:27:04 +0000 (07:27 +0000)
committerAlexander Shishkov <no@email>
Mon, 12 Mar 2012 07:27:04 +0000 (07:27 +0000)
modules/contrib/src/rgbdodometry.cpp

index e7608ee..4293a1d 100644 (file)
 #include <Eigen/Dense>
 #endif
 
+#if defined _MSC_VER
+#include <limits>
+#endif
+
+
 using namespace cv;
 
 inline static
@@ -220,11 +225,18 @@ void preprocessDepth( Mat depth0, Mat depth1,
         {
             float& d0 = depth0.at<float>(y,x);
             if( !cvIsNaN(d0) && (d0 > maxDepth || d0 < minDepth || d0 <= 0 || (!validMask0.empty() && !validMask0.at<uchar>(y,x))) )
+#if defined _MSC_VER
+                d0 = std::numeric_limits<float>::quiet_NaN();
+#else
                 d0 = NAN;
-
+#endif
             float& d1 = depth1.at<float>(y,x);
             if( !cvIsNaN(d1) && (d1 > maxDepth || d1 < minDepth || d1 <= 0 || (!validMask1.empty() && !validMask1.at<uchar>(y,x))) )
+#if defined _MSC_VER
+                d1 = std::numeric_limits<float>::quiet_NaN();
+#else
                 d1 = NAN;
+#endif
         }
     }
 }