bug 14980 fix (The datatip display of the root locus arcs is broken) 28/19028/2
Serge Steer [Wed, 1 Feb 2017 22:24:09 +0000 (23:24 +0100)]
Change-Id: I345e6df7e995d915d3598279a300f5859e4be713

scilab/CHANGES.md
scilab/modules/cacsd/macros/evans.sci
scilab/modules/cacsd/macros/formatEvansTip.sci [new file with mode: 0644]
scilab/modules/cacsd/tests/nonreg_tests/bug_14980.tst [new file with mode: 0644]

index b11e1db..6291230 100644 (file)
@@ -660,3 +660,4 @@ Bug Fixes
 * [#14524](http://bugzilla.scilab.org/show_bug.cgi?id=14524): Numeric locales were not set to standard "C" by default at scilab startup
 * [#14540](http://bugzilla.scilab.org/show_bug.cgi?id=14540): Datatips did not clip outside axes bounds
 * [#14685](http://bugzilla.scilab.org/show_bug.cgi?id=14685): datavec produced an invalid index error.
+* [#14980] (http://bugzilla.scilab.org/show_bug.cgi?id=14980): The datatip display of the root locus arcs is broken.
index 42a4d62..f1ba7cb 100644 (file)
@@ -220,12 +220,3 @@ function evans(n,d,kmax)
     end
 endfunction
 
-function str=formatEvansTip(curve)
-    //this function is called by the datatip mechanism to format the tip
-    //string for the evans root loci curves
-    ud = curve.parent.display_function_data;
-    pt = curve.data(1:2);
-    [d,ptp,i,c]=orthProj(curve.parent.data, pt);
-    K=ud(i)+(ud(i+1)-ud(i))*c;
-    str=msprintf("r: %.4g %+.4g i\nK: %.4g", pt,K);
-endfunction
diff --git a/scilab/modules/cacsd/macros/formatEvansTip.sci b/scilab/modules/cacsd/macros/formatEvansTip.sci
new file mode 100644 (file)
index 0000000..72067f6
--- /dev/null
@@ -0,0 +1,19 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - INRIA - Serge STEER
+// Copyright (C) 2012 - 2016 - Scilab Enterprises
+//
+// This file is hereby licensed under the terms of the GNU GPL v2.0,
+// pursuant to article 5.3.4 of the CeCILL v.2.1.
+// This file was originally licensed under the terms of the CeCILL v2.1,
+// and continues to be available under such terms.
+// For more information, see the COPYING file which you should have received
+// along with this program.
+function str=formatEvansTip(curve)
+    //this function is called by the datatip mechanism to format the tip
+    //string for the evans root loci curves
+    ud = curve.parent.display_function_data;
+    pt = curve.data(1:2);
+    [d,ptp,i,c]=orthProj(curve.parent.data, pt);
+    K=ud(i)+(ud(i+1)-ud(i))*c;
+    str=msprintf(_("Pole: %.4g %+.4g i\nLoop gain: %.4g"), pt,K);
+endfunction
diff --git a/scilab/modules/cacsd/tests/nonreg_tests/bug_14980.tst b/scilab/modules/cacsd/tests/nonreg_tests/bug_14980.tst
new file mode 100644 (file)
index 0000000..8cd3466
--- /dev/null
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2017 - INRIA - Serge STEER
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- TEST WITH GRAPHIC -->
+// <-- INTERACTIVE TEST -->
+
+// <-- Non-regression test for bug 14980 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=14980
+//
+// <-- Short Description -->
+// The datatip display of the root locus arcs is broken
+
+H=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c'));
+clf();evans(H,100);
+
+//now add a datatip on ones of the locus arc
\ No newline at end of file