Bug Fix #13725 triangulator max initialization 92/17992/5
Caio SOUZA [Sun, 27 Mar 2016 18:16:24 +0000 (15:16 -0300)]
bug 13725 has status resolved but still may fail for some cases

For some polygons it would not fill correctly
Change-Id: I2d6b72ddce3cbef1b9110f36f9c94894ed4dd55a

scilab/CHANGES
scilab/modules/graphic_objects/src/cpp/Triangulator.cpp
scilab/modules/graphic_objects/tests/nonreg_tests/bug_13725.tst

index 7226f15..3168ac4 100644 (file)
@@ -326,6 +326,8 @@ In 6.0.0:
 
 * Bug #13468 fixed - Scilab hanged when incorrect format was used for file reading using mfscanf.
 
+* Bug #13725 fixed - xfpoly polygon filling would may fail for some cases
+
 * Bug #13769 fixed - t = "abc..//ghi" was parsed as a continued + comment
 
 * Bug #13810 fixed - householder(v, k*v) returned column of %nan. Input parameters were not checked. The Householder matrix could not be returned. Help pages were inaccurate and without examples. There was no householder() demo.
index a561995..2f99f68 100644 (file)
@@ -603,7 +603,7 @@ Triangulator::Triangulator(void)
     numColinearVertices = 0;
 
     xmin = ymin = zmin = std::numeric_limits<double>::max();
-    xmax = ymax = zmax = std::numeric_limits<double>::min();
+    xmax = ymax = zmax = std::numeric_limits<double>::lowest();
 
     inputPoints.clear();
     points.clear();
index f1e64f0..3f2e675 100644 (file)
 
 y = [0, -4, 2, -3, -1, -1, 7, 0]
 x = [0, 1, 3, 6, 16, 7, 3, 0]
+
 scf();
 xfpoly(x*1e18, y, 3)
 
-// check that the polyline is correctly filled
+x = -x - 1e15;
+y = y - 1e15;
+scf();
+xfpoly(x, y, 3)
+
+scf();
+xfpoly(x*1d6, y, 3)
+
+scf();
+xfpoly(x*1d7, y, 3)
+
+scf();
+xfpoly(x*1d8, y, 3)
+
+// check that all polylines are correctly filled