bug #10981 fixed - When the view property of Axes object is set at 2d, the rotation... 82/18582/3
Adeline CARNIS [Wed, 12 Oct 2016 14:48:04 +0000 (16:48 +0200)]
Change-Id: Id3e66e3c04bd9dfbd223749a87ea1375bc395b4f

scilab/CHANGES.md
scilab/modules/graphics/tests/nonreg_tests/bug_10981.tst [new file with mode: 0644]
scilab/modules/renderer/src/java/org/scilab/modules/renderer/JoGLView/interaction/DragZoomRotateInteraction.java

index 39973f7..6dc5476 100644 (file)
@@ -197,6 +197,9 @@ will zoom all axes in the current figure.
 * The graphics entity "Datatip" has a new property `detached_position` which accepts `[]`
 or a 3-components vector to set the position in axes coordinates to draw the datatip text box.
 * `MPI_Create_comm` create a new communicator from MPI_COMM_WORLD using MPI world ranks.
+* The `grand` non-free `fsultra` generator was removed.
+* The original `rpoly` algorithm was removed in favor of a C++11 implementation
+* When the view property of Axes object is set at `2d`, the rotation becomes impossible.
 
 Help pages:
 -----------
@@ -329,6 +332,7 @@ Bug Fixes
 * [#9876](http://bugzilla.scilab.org/show_bug.cgi?id=9876): Creating a complex structure with multiple hierarchy level and size failed.
 * [#9912](http://bugzilla.scilab.org/show_bug.cgi?id=9912): In case of missing translated help page, the default en_US was sometimes ignored
 * [#10116](http://bugzilla.scilab.org/show_bug.cgi?id=10116): `for h = H, .., end` could not be used when H is a vector of graphic handles
+* [#10981](http://bugzilla.scilab.org/show_bug.cgi?id=10981):  When the view property of Axes object is set at 2d, the rotation becomes impossible.
 * [#11375](http://bugzilla.scilab.org/show_bug.cgi?id=11375): When a localized help subdirectory has only a CHAPTER file specifying the section title, it was ignored.
 * [#11692](http://bugzilla.scilab.org/show_bug.cgi?id=11692): The summary of a help section built from both default en_US and localized files was never sorted overall.
 * [#11959](http://bugzilla.scilab.org/show_bug.cgi?id=11959): Allow "Zoom Area" to be clicked out of axes
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_10981.tst b/scilab/modules/graphics/tests/nonreg_tests/bug_10981.tst
new file mode 100644 (file)
index 0000000..6942ceb
--- /dev/null
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Vincent COUVERT
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- TEST WITH GRAPHIC -->
+// <-- INTERACTIVE TEST -->
+//
+// <-- Non-regression test for bug 10981 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=10981
+//
+// <-- Short Description -->
+// Avoid rotate 2d plot
+
+plot2d();
+//plot must not be rotatable
\ No newline at end of file
index 6bee346..341c045 100644 (file)
@@ -267,10 +267,12 @@ public class DragZoomRotateInteraction extends FigureInteraction {
             int dy = e.getY() - previousEvent.getY();
 
             for (Axes axes : currentAxes) {
-                Double[] angles = axes.getRotationAngles();
-                angles[0] -= dy / 4.0;
-                angles[1] -= Math.signum(Math.sin(Math.toRadians(angles[0]))) * (dx / 4.0);
-                GraphicController.getController().setProperty(axes.getIdentifier(), GraphicObjectProperties.__GO_ROTATION_ANGLES__, angles);
+                if (axes.getView() != 0) {
+                    Double[] angles = axes.getRotationAngles();
+                    angles[0] -= dy / 4.0;
+                    angles[1] -= Math.signum(Math.sin(Math.toRadians(angles[0]))) * (dx / 4.0);
+                    GraphicController.getController().setProperty(axes.getIdentifier(), GraphicObjectProperties.__GO_ROTATION_ANGLES__, angles);
+                }
             }
         }