* Bug #13974 fixed - isoview(xmin, xmax, ymin, ymax) was unhandy. 22/17522/9
Samuel GOUGEON [Wed, 2 Dec 2015 07:51:45 +0000 (08:51 +0100)]
The new set of calling sequences is:

isoview
isoview on
isoview off
isoview(idGraphics [,"on"|"off"])
isoview(xmin, xmax, ymin, ymax)

Change-Id: I3cbdeedce53d2fa5f8088b7082bcc46319598373

scilab/CHANGES
scilab/modules/graphics/help/en_US/axes_operations/isoview.xml
scilab/modules/graphics/help/fr_FR/axes_operations/isoview.xml [new file with mode: 0644]
scilab/modules/graphics/help/ja_JP/axes_operations/isoview.xml
scilab/modules/graphics/help/pt_BR/axes_operations/isoview.xml
scilab/modules/graphics/macros/isoview.sci
scilab/modules/helptools/etc/images_md5.txt
scilab/modules/helptools/images/isoview_2.png [new file with mode: 0644]

index 18ac5ce..11cb175 100644 (file)
@@ -99,6 +99,16 @@ Other feature additions
 
 * name2rgb can now handle a single string and a matrix of strings.
 
+* isoview, isoview on, isoview off, isoview(idGraphics, "on"|"off") are now supported
+
+* householder() can now return the reflection matrix, and has a demo.
+
+* ndgrid() can now works with any types of homogeneous data
+
+* bench_run() can now return its results and/or record them in a file
+
+* typeof(.., "overload") allows now to get the overloading type-code of an object
+
 
 Installation
 ============
@@ -256,7 +266,6 @@ Modified Functions
 * ode: y0 is restricted to a column vector.
 * pppdiv: Return a scalar of type 'constant' when the rank is 0.
 * pdiv: Return a matrix of type 'constant' when all the rank are 0.
-* typeof: Add a 2nd argument "overload" of get overloaded name (typeof(cell(), "overload") -> "ce")
 
 
 Syntax Modifications
@@ -306,6 +315,8 @@ In 6.0.0:
 
 * Bug #13869 fixed - bench_run with option nb_run=10 did not override the NB RUN tags
 
+* Bug #13974 fixed - isoview(xmin, xmax, ymin, ymax) was unhandy.
+
 * Bug #14035 fixed - ndgrid did not manage all homogeneous data type (booleans, integers, polynomials, rationals, strings, [])
 
 * Bug #14099 fixed - sci2exp macro was fixed to avoid "a+[] Warning"
index 81eeb4b..eb77e1b 100644 (file)
@@ -2,7 +2,7 @@
 <!--
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) INRIA - Serge Steer
- * 
+ * Copyright (C) 2016 - Samuel GOUGEON
  * Copyright (C) 2012 - 2016 - Scilab Enterprises
  *
  * This file is hereby licensed under the terms of the GNU GPL v2.0,
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"  xml:lang="en" xml:id="isoview">
     <refnamediv>
         <refname>isoview</refname>
-        <refpurpose>set scales for isometric plot (do not change the size of the window)  </refpurpose>
+        <refpurpose>tunes isometric rendering of graphical axes (window size unchanged)
+        </refpurpose>
     </refnamediv>
     <refsynopsisdiv>
         <title>Syntax</title>
-        <synopsis>isoview(xmin,xmax,ymin,ymax)</synopsis>
+        <synopsis>isoview
+            isoview on
+            isoview off
+            isoview(idGraphics [,"on"|"off"])
+            isoview(xmin, xmax, ymin, ymax)    // DEPRECATED. use replot()
+        </synopsis>
     </refsynopsisdiv>
-    <refsection>
+    <refsection role="arguments">
         <title>Arguments</title>
         <variablelist>
             <varlistentry>
-                <term>xmin,xmax,ymin,ymax</term>
+                <term>"on" | "off" | &lt;none&gt;</term>
+                <listitem>Enables or disables or switches the isometric rendering for all considered axes.
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>idGraphics</term>
                 <listitem>
-                    <para>four real values</para>
+                    Vector of graphic handles. All the related axes are processed.
+                    By default, the current axes is processed.
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>xmin, xmax, ymin, ymax</term>
+                <listitem>
+                    Four decimal numbers: new axes bounds.
+                    <warning>These parameters will be removed from Scilab 6.1.
+                        Please used <link linkend="replot">replot</link>
+                        after <function>isoview</function> instead.
+                    </warning>
                 </listitem>
             </varlistentry>
         </variablelist>
     </refsection>
-    <refsection>
+    <refsection role="description">
         <title>Description</title>
         <para>
-            This function is obsolete, use preferably the <literal>frameflag=4</literal> plot2d
-            option which enable window resizing.
+            <function>isoview</function> is used to set or relax isometric rendering scales
+            on the x, y (and z) axes, without changing the size of the graphic window.
+        </para>
+        <para>
+            <literal>isoview()</literal> or simply <literal>isoview</literal>
+            toggles the isoview status of the current axes, and keeps its current
+            bounds: isometric scales are set whenever
+            they were free, or scales are relaxed whenever they were isometric.
         </para>
         <para>
-            <literal>isoview</literal> is used to have isometric scales on the x and y axes. 
-            It does not change the size of the graphics window. The rectangle
-            <literal>xmin, xmax, ymin, ymax</literal> will be contained in the computed frame of 
-            the graphics window. <literal>isoview</literal> set the current graphics scales 
-            and can be used in conjunction with graphics routines which request
-            the current graphics scale (for instance <literal>strf="x0z"</literal> in <literal>plot2d</literal>).
+            <literal>isoview("on")</literal> or <literal>isoview on</literal>
+            sets isometric scales for the current axes.
         </para>
+        <para>
+            <literal>isoview("off")</literal> or <literal>isoview off</literal>
+            relaxes x, y (and z)  scales for the current axes.
+        </para>
+        <para>
+            <literal>isoview(idGraphics,..)</literal> runs on axes related
+            to each graphic object listed in the vector <varname>idGraphics</varname>:
+            <itemizedlist>
+                <listitem>
+                    If <varname>idGraphics(i)</varname> is a figure's handle,
+                    all its Axes are considered.
+                </listitem>
+                <listitem>
+                    If <varname>idGraphics(i)</varname> is an Axes,
+                    it is considered as is.
+                </listitem>
+                <listitem>
+                    If <varname>idGraphics(i)</varname> is the handle of a
+                    sub-axes component(such as a polyline, a compound, etc),
+                    its hosting axes is considered.
+                </listitem>
+            </itemizedlist>
+        </para>
+        <para>
+            <literal>isoview(xmin, xmax, ymin, ymax)</literal> sets the current
+            axes in isometric mode, and then sets its bounds to the given values.
+            <warning>
+                This usage is deprecated and will be removed from Scilab 6.1 onwards. Please use
+                <link linkend="replot">replot</link> after
+                <function>isoview</function> instead.
+            </warning>
+        </para>
+        <note>
+            The current axes graphical entity is still the same after calling <literal>isoview(..)</literal>.
+        </note>
+        <note>To plot some curves directly in isometric mode without calling
+            <function>isoview</function> afterwards, the <literal>plot2d(...,frameflag=4)</literal>
+            option may be used at call time.
+        </note>
     </refsection>
-    <refsection>
+    <refsection role="examples">
         <title>Examples</title>
-        <programlisting role="example"><![CDATA[ 
-t=[0:0.1:2*%pi]';
-plot2d(sin(t),cos(t))
-clf()
-isoview(-1,1,-1,1)
-plot2d(sin(t),cos(t),1,"001")
+        <programlisting role="example"><![CDATA[
+t = [0:0.1:2*%pi]';
+clf
+nc = 3;
+
+subplot(2,nc,1)
+plot2d(cos(t),sin(t))
+xtitle("True circle")
+a1 = gca();
+
+subplot(2,nc,nc+1)
+plot2d(cos(t),sin(t))
+isoview
+
+subplot(2,nc,2)
+plot2d(7*cos(t),2*sin(t))
+xtitle("True ellipse")
+a2 = gca();
+
+subplot(2,nc,nc+2)
+plot2d(7*cos(t),2*sin(t))
+isoview
+
+// plot of a sphere using facets computed by eval3dp
+deff("[x,y,z] = sph(alp,tet)",[
+    "x = r*cos(alp).*cos(tet)+orig(1)*ones(tet)"; ..
+    "y = r*cos(alp).*sin(tet)+orig(2)*ones(tet)"; ..
+    "z = r*sin(alp)+orig(3)*ones(tet)"]);
+r = 3; orig = [0 0 0];
+[xx,yy,zz] = eval3dp(sph,linspace(-%pi/2,%pi/2,40),linspace(0,%pi*2,40));
+subplot(2,nc,3)
+plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
+xtitle("True sphere")
+a3 = gca();
+subplot(2,nc,nc+3)
+plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
+isoview
+
+// Switching isoview status for all axes
+isoview(gcf())
 
-plot2d(sin(t),cos(t),frameflag=4)
- ]]></programlisting>
+// Forcing isoview for all axes of the current figure
+isoview(gcf(), "on")
+
+// Relaxing isoview for the current axes
+isoview off
+
+// Setting isoview for top axes
+isoview(gcf(),"off")
+isoview([a1 a2 a3], "on")
+             ]]></programlisting>
+        <scilab:image>
+            t = [0:0.1:2*%pi]';
+            clf
+            f = gcf();
+            f.axes_size = [850 400];
+            nc = 3;
+            subplot(2,nc,1)
+            plot2d(cos(t),sin(t))
+            xtitle("True circle")
+            a1 = gca();
+            subplot(2,nc,nc+1)
+            plot2d(cos(t),sin(t))
+            isoview
+            
+            subplot(2,nc,2)
+            plot2d(7*cos(t),2*sin(t))
+            xtitle("True ellipse")
+            a2 = gca();
+            subplot(2,nc,nc+2)
+            plot2d(7*cos(t),2*sin(t))
+            isoview
+            
+            // plot of a sphere using facets computed by eval3dp
+            deff("[x,y,z] = sph(alp,tet)",["x = r*cos(alp).*cos(tet)+orig(1)*ones(tet)"; ..
+            "y = r*cos(alp).*sin(tet)+orig(2)*ones(tet)"; ..
+            "z = r*sin(alp)+orig(3)*ones(tet)"]);
+            r = 3; orig = [0 0 0];
+            [xx,yy,zz] = eval3dp(sph,linspace(-%pi/2,%pi/2,40),linspace(0,%pi*2,40));
+            subplot(2,nc,3)
+            plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
+            xtitle("True sphere")
+            a3 = gca();
+            subplot(2,nc,nc+3)
+            plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
+            isoview
+        </scilab:image>
+        <programlisting role="example"><![CDATA[
+// Using plot2d(..., frameflag=4) :
+r = linspace(1,10,200);
+t = r*3;
+scf();
+subplot(1,2,1)
+plot2d(r.*sin(t),r.*cos(t))
+xtitle("plot2d(..)")
+
+subplot(1,2,2)
+plot2d(r.*sin(t),r.*cos(t),frameflag=4)
+xtitle("with frameflag=4")
+             ]]></programlisting>
         <scilab:image>
-            t=[0:0.1:2*%pi]';
-            isoview(-1,1,-1,1)
-            plot2d(sin(t),cos(t),1,"001")
+            r = linspace(1,10,200);
+            t = r*3;
+            scf();
+            subplot(1,2,1)
+            plot2d(r.*sin(t),r.*cos(t))
+            xtitle("plot2d(..)")
+            
+            subplot(1,2,2)
+            plot2d(r.*sin(t),r.*cos(t),frameflag=4)
+            xtitle("with frameflag=4")
         </scilab:image>
     </refsection>
     <refsection role="see also">
@@ -72,8 +233,29 @@ plot2d(sin(t),cos(t),frameflag=4)
                 <link linkend="square">square</link>
             </member>
             <member>
-                <link linkend="xsetech">xsetech</link>
+                <link linkend="replot">replot</link>
+            </member>
+            <member>
+                <link linkend="axes_properties">Axes properties</link>
             </member>
         </simplelist>
     </refsection>
+    
+    <refsection role="history">
+        <title>History</title>
+        <revhistory>
+            <revision>
+                <revnumber>6.0</revnumber>
+                <revdescription>
+                    <itemizedlist>
+                        <listitem>input flags "on"|"off" added.</listitem>
+                        <listitem>input parameters &lt;none&gt; or idGraphics added.</listitem>
+                        <listitem>
+                            <literal>isoview(xmin, xmax, ymin, ymax)</literal> marked as deprecated.
+                        </listitem>
+                    </itemizedlist>
+                </revdescription>
+            </revision>
+        </revhistory>
+    </refsection>
 </refentry>
diff --git a/scilab/modules/graphics/help/fr_FR/axes_operations/isoview.xml b/scilab/modules/graphics/help/fr_FR/axes_operations/isoview.xml
new file mode 100644 (file)
index 0000000..497abba
--- /dev/null
@@ -0,0 +1,264 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA - Serge Steer
+ * Copyright (C) 2016 - Samuel GOUGEON
+ * 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.
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"  xml:lang="fr" xml:id="isoview">
+    <refnamediv>
+        <refname>isoview</refname>
+        <refpurpose>Règle la vue isométrique des repères graphiques (taille de fenêtre fixe)
+        </refpurpose>
+    </refnamediv>
+    <refsynopsisdiv>
+        <title>Syntaxe</title>
+        <synopsis>isoview
+            isoview on
+            isoview off
+            isoview(idGraphics [,"on"|"off"])
+            isoview(xmin, xmax, ymin, ymax)    // OBSOLETE. utiliser replot()
+        </synopsis>
+    </refsynopsisdiv>
+    <refsection role="arguments">
+        <title>Paramètres</title>
+        <variablelist>
+            <varlistentry>
+                <term>"on" | "off" | &lt;none&gt;</term>
+                <listitem>Active, désactive ou commute la vue isométrique pour
+                    les repères graphiques considérés.
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>idGraphics</term>
+                <listitem>
+                    Vecteur d'identifiants graphiques. Tous les repères
+                    graphiques afférents sont traités. Par défaut, le repère
+                    actif est traité.
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>xmin, xmax, ymin, ymax</term>
+                <listitem>
+                    4 nombres décimaux : nouvelles bornes du repère actif.
+                    <warning>
+                        Ces paramètres seront supprimés de <literal>isoview()</literal>
+                        dans Scilab 6.1. SVP désormais utiliser
+                        <link linkend="replot">replot</link>
+                        à la suite de <function>isoview</function>.
+                    </warning>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection role="description">
+        <title>Description</title>
+        <para>
+            <function>isoview</function> est utilisée pour activer ou désactiver
+            l'affichage graphique en échelles isométriques sur les axes
+            x, y, voire z, sans modifier la taille de la fenêtre graphique.
+        </para>
+        <para>
+            <literal>isoview()</literal> ou simplement <literal>isoview</literal>
+            commute la vue isométrique/normale pour le repère actif, en conservant
+            ses bornes.
+        </para>
+        <para>
+            <literal>isoview("on")</literal> ou <literal>isoview on</literal>
+            active la vue isométrique pour le repère actif.
+        </para>
+        <para>
+            <literal>isoview("off")</literal> ou <literal>isoview off</literal>
+            relaxes les échelles en x, y (voire z) pour le repère actif.
+        </para>
+        <para>
+            <literal>isoview(idGraphics,..)</literal> agit sur tous les repères
+            graphiques impliqués dans le vecteur d'identifiants graphiques donné :
+            <itemizedlist>
+                <listitem>
+                    Si <varname>idGraphics(i)</varname> désigne une figure,
+                    tous ses repères graphiques sont considérés.
+                </listitem>
+                <listitem>
+                    Si <varname>idGraphics(i)</varname> représente un repère
+                    graphique, il est modifié comme tel.
+                </listitem>
+                <listitem>
+                    Si <varname>idGraphics(i)</varname> désigne un
+                    sous-composant d'un repère (telle qu'une courbe polyline, un agrégat
+                    compound, etc), son repère graphique parent est considéré.
+                </listitem>
+            </itemizedlist>
+        </para>
+        <para>
+            <literal>isoview(xmin, xmax, ymin, ymax)</literal> sets the current
+            axes in isometric mode, and then sets its bounds to the given values.
+            <warning>
+                Cette utilisation sera supprimée à partir de Scilab 6.1. Merci d'utiliser
+                <link linkend="replot">replot</link> après
+                <function>isoview</function> à la place.
+            </warning>
+        </para>
+        <note>
+            Après l'appel à <literal>isoview(..)</literal>, le repère actif
+            reste le même, y compris lorsque plusieurs repères ont été traités.
+        </note>
+        <note>Il est possible de tracer directement des courbes en échelles isométriques
+            en utilisant l'option <literal>plot2d(...,frameflag=4)</literal> lors
+            de l'appel, sans devoir utiliser <function>isoview</function> après coup.
+        </note>
+    </refsection>
+    <refsection role="examples">
+        <title>Exemples</title>
+        <programlisting role="example"><![CDATA[
+t = [0:0.1:2*%pi]';
+clf
+nc = 3;
+
+subplot(2,nc,1)
+plot2d(cos(t),sin(t))
+xtitle("Véritable cercle")
+a1 = gca();
+
+subplot(2,nc,nc+1)
+plot2d(cos(t),sin(t))
+isoview
+
+subplot(2,nc,2)
+plot2d(7*cos(t),2*sin(t))
+xtitle("Véritable ellipse")
+a2 = gca();
+
+subplot(2,nc,nc+2)
+plot2d(7*cos(t),2*sin(t))
+isoview
+
+// Dessinons une sphère à facettes calculées avec eval3dp()
+deff("[x,y,z] = sph(alp,tet)",[
+      "x = r*cos(alp).*cos(tet)+orig(1)*ones(tet)"; ..
+      "y = r*cos(alp).*sin(tet)+orig(2)*ones(tet)"; ..
+      "z = r*sin(alp)+orig(3)*ones(tet)"]);
+r = 3; orig = [0 0 0];
+[xx,yy,zz] = eval3dp(sph,linspace(-%pi/2,%pi/2,40),linspace(0,%pi*2,40));
+subplot(2,nc,3)
+plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
+xtitle("Véritable sphère")
+a3 = gca();
+subplot(2,nc,nc+3)
+plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
+isoview
+
+// Commutation en vue isométrique/normale pour tous les repères de la fenêtre
+isoview(gcf())
+
+// Passage en vue isométrique de tous les repères de la fenêtre graphique
+isoview(gcf(), "on")
+
+// Passage en vue normale du repère actif
+isoview off
+
+// Passage en vue isométrique des repères graphiques du haut
+isoview(gcf(),"off")
+isoview([a1 a2 a3], "on")
+ ]]></programlisting>
+        <scilab:image>
+            t = [0:0.1:2*%pi]';
+            clf
+            f = gcf();
+            f.axes_size = [850 400];
+            nc = 3;
+            subplot(2,nc,1)
+            plot2d(cos(t),sin(t))
+            xtitle("True circle")
+            a1 = gca();
+            subplot(2,nc,nc+1)
+            plot2d(cos(t),sin(t))
+            isoview
+            
+            subplot(2,nc,2)
+            plot2d(7*cos(t),2*sin(t))
+            xtitle("True ellipse")
+            a2 = gca();
+            subplot(2,nc,nc+2)
+            plot2d(7*cos(t),2*sin(t))
+            isoview
+            
+            // plot of a sphere using facets computed by eval3dp
+            deff("[x,y,z] = sph(alp,tet)",["x = r*cos(alp).*cos(tet)+orig(1)*ones(tet)"; ..
+            "y = r*cos(alp).*sin(tet)+orig(2)*ones(tet)"; ..
+            "z = r*sin(alp)+orig(3)*ones(tet)"]);
+            r = 3; orig = [0 0 0];
+            [xx,yy,zz] = eval3dp(sph,linspace(-%pi/2,%pi/2,40),linspace(0,%pi*2,40));
+            subplot(2,nc,3)
+            plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
+            xtitle("True sphere")
+            a3 = gca();
+            subplot(2,nc,nc+3)
+            plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
+            isoview
+        </scilab:image>
+        <programlisting role="example"><![CDATA[
+// Utilisation de l'option frameflag=4  de plot2d() :
+r = linspace(1,10,200);
+t = r*3;
+scf();
+subplot(1,2,1)
+plot2d(r.*sin(t),r.*cos(t))
+xtitle("plot2d(..)")
+
+subplot(1,2,2)
+plot2d(r.*sin(t),r.*cos(t),frameflag=4)
+xtitle("with frameflag=4")
+ ]]></programlisting>
+        <scilab:image>
+            r = linspace(1,10,200);
+            t = r*3;
+            scf();
+            subplot(1,2,1)
+            plot2d(r.*sin(t),r.*cos(t))
+            xtitle("plot2d(..)")
+            
+            subplot(1,2,2)
+            plot2d(r.*sin(t),r.*cos(t),frameflag=4)
+            xtitle("with frameflag=4")
+        </scilab:image>
+    </refsection>
+    <refsection role="see also">
+        <title>Voir aussi</title>
+        <simplelist type="inline">
+            <member>
+                <link linkend="square">square</link>
+            </member>
+            <member>
+                <link linkend="replot">replot</link>
+            </member>
+            <member>
+                <link linkend="axes_properties">Axes properties</link>
+            </member>
+        </simplelist>
+    </refsection>
+    
+    <refsection role="history">
+        <title>Historique</title>
+        <revhistory>
+            <revision>
+                <revnumber>6.0</revnumber>
+                <revdescription>
+                    <itemizedlist>
+                        <listitem>Ajout des drapeaux "on", "off".</listitem>
+                        <listitem>Ajout des paramètres d'entrée &lt;none&gt; et idGraphics.</listitem>
+                    </itemizedlist>
+                </revdescription>
+            </revision>
+        </revhistory>
+    </refsection>
+    
+</refentry>
index 6322e4c..34a28c6 100644 (file)
@@ -1,14 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-
 <!--
-
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-
  * Copyright (C) INRIA - Serge Steer
-
- * 
-
-
+ * Copyright (C) 2016 - Samuel GOUGEON
  * Copyright (C) 2012 - 2016 - Scilab Enterprises
  *
  * This file is hereby licensed under the terms of the GNU GPL v2.0,
  * and continues to be available under such terms.
  * For more information, see the COPYING file which you should have received
  * along with this program.
-
  *
-
  -->
-
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"  xml:lang="ja" xml:id="isoview">
     
     <refnamediv>
-        
         <refname>isoview</refname>
-        
         <refpurpose>等軸プロットにスケールを設定 (ウインドウの大きさを変更しない)  </refpurpose>
-        
     </refnamediv>
     
     <refsynopsisdiv>
-        
         <title>呼び出し手順</title>
-        
-        <synopsis>isoview(xmin,xmax,ymin,ymax)</synopsis>
-        
+        <synopsis>isoview
+            isoview on
+            isoview off
+            isoview(idGraphics [,"on"|"off"])
+            isoview(xmin, xmax, ymin, ymax)    // DEPRECATED. use replot()
+        </synopsis>
     </refsynopsisdiv>
     
-    <refsection>
-        
+    <refsection role="arguments">
         <title>引数</title>
-        
         <variablelist>
-            
             <varlistentry>
-                
-                <term>xmin,xmax,ymin,ymax</term>
-                
+                <term>"on" | "off" | &lt;none&gt;</term>
+                <listitem>Enables or disables or switches the isometric rendering for all considered axes.
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>idGraphics</term>
+                <listitem>
+                    Vector of graphic handles. All the related axes are processed.
+                    By default, the current axes is processed.
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>xmin, xmax, ymin, ymax</term>
                 <listitem>
-                    
                     <para>実数値</para>
-                    
+                    <warning>These parameters will be removed from Scilab 6.1.
+                        Please used <link linkend="replot">replot</link>
+                        after <function>isoview</function> instead.
+                    </warning>
                 </listitem>
-                
             </varlistentry>
-            
         </variablelist>
-        
     </refsection>
     
-    <refsection>
-        
+    <refsection role="description">
         <title>説明</title>
-        
         <para>
-            
-            この関数は廃止予定であり, ウインドウのリサイズが可能な plot2d の
-            
-            <literal>frameflag=4</literal> オプションの使用を推奨します.
-            
+            <function>isoview</function> is used to set or relax isometric rendering scales
+            on the x, y (and z) axes, without changing the size of the graphic window.
         </para>
-        
         <para>
-            
-            <literal>isoview</literal> は x および y 軸を等軸スケール
-            
-            とするために使用されます.
-            
-            この関数は,グラフィックウインドウの大きさを変更しません.
-            
-            矩形 
-            
-            <literal>xmin, xmax, ymin, ymax</literal> はグラフィックウインドウの
-            
-            計算上のフレーム内に保持されます.
-            
-            <literal>isoview</literal> はカレントのグラフィックのスケールを設定し,
-            
-            カレントのグラフィックのスケールを指定するグラフィックルーチン
-            
-            (例えば<literal>plot2d</literal>の<literal>strf="x0z"</literal>)と組み合わせて
-            
-            使用できます.
-            
+            <literal>isoview()</literal> or simply <literal>isoview</literal>
+            switches the isoview status of the current axes, and keeps its current
+            bounds: isometric scales are set whenever
+            they were free, or scales are relaxed whenever they were isometric.
         </para>
-        
+        <para>
+            <literal>isoview("on")</literal> or <literal>isoview on</literal>
+            sets isometric scales for the current axes.
+        </para>
+        <para>
+            <literal>isoview("off")</literal> or <literal>isoview off</literal>
+            relaxes x, y (and z)  scales for the current axes.
+        </para>
+        <para>
+            <literal>isoview(idGraphics,..)</literal> runs on axes related
+            to each graphic object listed in the vector <varname>idGraphics</varname>:
+            <itemizedlist>
+                <listitem>
+                    If <varname>idGraphics(i)</varname> is a figure's handle,
+                    all its Axes are considered.
+                </listitem>
+                <listitem>
+                    If <varname>idGraphics(i)</varname> is an Axes,
+                    it is considered as is.
+                </listitem>
+                <listitem>
+                    If <varname>idGraphics(i)</varname> is the handle of a
+                    sub-axes component(such as a polyline, a compound, etc),
+                    its hosting axes is considered.
+                </listitem>
+            </itemizedlist>
+        </para>
+        <para>
+            <literal>isoview(idFigure,..)</literal> runs on each axes of the figure
+            identified by its handle <varname>idFigure</varname>.
+        </para>
+        <para>
+            <literal>isoview(xmin, xmax, ymin, ymax)</literal> sets the current
+            axes in isometric mode, and then sets its bounds to the given values.
+            <warning>
+                This usage
+                will be removed from Scilab 6.1. Please used
+                <link linkend="replot">replot</link> after
+                <function>isoview</function> instead.
+            </warning>
+        </para>
+        <note>The current axes is still the same after calling
+            <literal>isoview(..)</literal>, even when several axes have been processed.
+        </note>
+        <note>To plot some curves directly in isometric mode without calling
+            <function>isoview</function> afterwards, the <literal>plot2d(...,frameflag=4)</literal>
+            option may be used at call time.
+        </note>
     </refsection>
     
-    <refsection>
-        
+    <refsection role="examples">
         <title>例</title>
-        
-        <programlisting role="example"><![CDATA[ 
+        <programlisting role="example"><![CDATA[
+t = [0:0.1:2*%pi]';
+clf
+nc = 3;
 
-t=[0:0.1:2*%pi]';
+subplot(2,nc,1)
+plot2d(cos(t),sin(t))
+xtitle("True circle")
+a1 = gca();
 
-plot2d(sin(t),cos(t))
+subplot(2,nc,nc+1)
+plot2d(cos(t),sin(t))
+isoview
 
-clf()
+subplot(2,nc,2)
+plot2d(7*cos(t),2*sin(t))
+xtitle("True ellipse")
+a2 = gca();
 
-isoview(-1,1,-1,1)
+subplot(2,nc,nc+2)
+plot2d(7*cos(t),2*sin(t))
+isoview
 
-plot2d(sin(t),cos(t),1,"001")
+// plot of a sphere using facets computed by eval3dp
+deff("[x,y,z] = sph(alp,tet)",[
+      "x = r*cos(alp).*cos(tet)+orig(1)*ones(tet)"; ..
+      "y = r*cos(alp).*sin(tet)+orig(2)*ones(tet)"; ..
+      "z = r*sin(alp)+orig(3)*ones(tet)"]);
+r = 3; orig = [0 0 0];
+[xx,yy,zz] = eval3dp(sph,linspace(-%pi/2,%pi/2,40),linspace(0,%pi*2,40));
+subplot(2,nc,3)
+plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
+xtitle("True sphere")
+a3 = gca();
+subplot(2,nc,nc+3)
+plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
+isoview
 
+// Switching isoview status for all axes
+isoview(gcf())
 
+// Forcing isoview for all axes of the current figure
+isoview(gcf(), "on")
 
-plot2d(sin(t),cos(t),frameflag=4)
+// Relaxing isoview for the current axes
+isoview off
 
+// Setting isoview for top axes
+isoview(gcf(),"off")
+isoview([a1 a2 a3], "on")
  ]]></programlisting>
-        
         <scilab:image>
+            t = [0:0.1:2*%pi]';
+            clf
+            f = gcf();
+            f.axes_size = [850 400];
+            nc = 3;
+            subplot(2,nc,1)
+            plot2d(cos(t),sin(t))
+            xtitle("True circle")
+            a1 = gca();
+            subplot(2,nc,nc+1)
+            plot2d(cos(t),sin(t))
+            isoview
             
-            t=[0:0.1:2*%pi]';
-            
-            isoview(-1,1,-1,1)
-            
-            plot2d(sin(t),cos(t),1,"001")
+            subplot(2,nc,2)
+            plot2d(7*cos(t),2*sin(t))
+            xtitle("True ellipse")
+            a2 = gca();
+            subplot(2,nc,nc+2)
+            plot2d(7*cos(t),2*sin(t))
+            isoview
             
+            // plot of a sphere using facets computed by eval3dp
+            deff("[x,y,z] = sph(alp,tet)",["x = r*cos(alp).*cos(tet)+orig(1)*ones(tet)"; ..
+            "y = r*cos(alp).*sin(tet)+orig(2)*ones(tet)"; ..
+            "z = r*sin(alp)+orig(3)*ones(tet)"]);
+            r = 3; orig = [0 0 0];
+            [xx,yy,zz] = eval3dp(sph,linspace(-%pi/2,%pi/2,40),linspace(0,%pi*2,40));
+            subplot(2,nc,3)
+            plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
+            xtitle("True sphere")
+            a3 = gca();
+            subplot(2,nc,nc+3)
+            plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
+            isoview
         </scilab:image>
         
+        <programlisting role="example"><![CDATA[
+// Using plot2d(..., frameflag=4) :
+r = linspace(1,10,200);
+t = r*3;
+scf();
+subplot(1,2,1)
+plot2d(r.*sin(t),r.*cos(t))
+xtitle("plot2d(..)")
+
+subplot(1,2,2)
+plot2d(r.*sin(t),r.*cos(t),frameflag=4)
+xtitle("with frameflag=4")
+ ]]></programlisting>
+        <scilab:image>
+            r = linspace(1,10,200);
+            t = r*3;
+            scf();
+            subplot(1,2,1)
+            plot2d(r.*sin(t),r.*cos(t))
+            xtitle("plot2d(..)")
+            
+            subplot(1,2,2)
+            plot2d(r.*sin(t),r.*cos(t),frameflag=4)
+            xtitle("with frameflag=4")
+        </scilab:image>
     </refsection>
     
     <refsection role="see also">
-        
         <title>参照</title>
-        
         <simplelist type="inline">
-            
             <member>
-                
                 <link linkend="square">square</link>
-                
             </member>
-            
             <member>
-                
-                <link linkend="xsetech">xsetech</link>
-                
+                <link linkend="replot">replot</link>
+            </member>
+            <member>
+                <link linkend="axes_properties">Axes properties</link>
             </member>
-            
         </simplelist>
-        
     </refsection>
     
+    <refsection role="history">
+        <title>履歴</title>
+        <revhistory>
+            <revision>
+                <revnumber>6.0</revnumber>
+                <revdescription>
+                    <itemizedlist>
+                        <listitem>input flags "on"|"off" added.</listitem>
+                        <listitem>input parameters &lt;none&gt; or idGraphics added.</listitem>
+                    </itemizedlist>
+                </revdescription>
+            </revision>
+        </revhistory>
+    </refsection>
 </refentry>
 
index b7604c9..9e697a7 100644 (file)
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) INRIA - Serge Steer
- * 
+ * Copyright (C) 2016 - Samuel GOUGEON
  * Copyright (C) 2012 - 2016 - Scilab Enterprises
  *
  * This file is hereby licensed under the terms of the GNU GPL v2.0,
  * along with this program.
  *
  -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="isoview" xml:lang="en">
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="isoview" xml:lang="pt">
     <refnamediv>
         <refname>isoview</refname>
-        <refpurpose>ajusta escalas para esboço isométrico (não muda o tamanho da
-            janela)
+        <refpurpose>ajusta escalas para esboço isométrico (não muda o tamanho da janela)
         </refpurpose>
     </refnamediv>
     <refsynopsisdiv>
-        <title>Seqüência de Chamamento</title>
-        <synopsis>isoview(xmin,xmax,ymin,ymax)</synopsis>
+        <title>Seqüência de Chamamento</title>
+        <synopsis>isoview
+            isoview on
+            isoview off
+            isoview(idGraphics [,"on"|"off"])
+            isoview(xmin, xmax, ymin, ymax)    // DEPRECATED. use replot()
+        </synopsis>
     </refsynopsisdiv>
-    <refsection>
-        <title>Parâmetros</title>
+    <refsection role="arguments">
+        <title>Parâmetros</title>
         <variablelist>
             <varlistentry>
-                <term>xmin,xmax,ymin,ymax</term>
+                <term>"on" | "off" | &lt;none&gt;</term>
+                <listitem>Enables, disables, or switches the isometric rendering
+                    for all considered axes.
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>idGraphics</term>
                 <listitem>
-                    <para>quatro valores reais</para>
+                    Vector of graphic handles. All the related axes are processed.
+                    By default, the current axes is processed.
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>xmin, xmax, ymin, ymax</term>
+                <listitem>
+                    Quatro valores reais: new axes bounds.
+                    <warning>These parameters will be removed from Scilab 6.1.
+                        Please used <link linkend="replot">replot</link>
+                        after <function>isoview</function> instead.
+                    </warning>
                 </listitem>
             </varlistentry>
         </variablelist>
     </refsection>
-    <refsection>
-        <title>Descrição</title>
-        <para>Esta função está obsoleta, use a opção de plot2d
-            <literal>frameflag=4</literal> que permite redimensionamento da janela, ao
-            invés.
+    <refsection role="description">
+        <title>Descrição</title>
+        <para>
+            <function>isoview</function> is used to set or relax isometric rendering scales
+            on the x, y (and z) axes, without changing the size of the graphic window.
+        </para>
+        <para>
+            <literal>isoview()</literal> or simply <literal>isoview</literal>
+            switches the isoview status of the current axes, and keeps its current
+            bounds: isometric scales are set whenever
+            they were free, or scales are relaxed whenever they were isometric.
+        </para>
+        <para>
+            <literal>isoview("on")</literal> or <literal>isoview on</literal>
+            sets isometric scales for the current axes.
         </para>
         <para>
-            <literal>isoview</literal> é usado para obter escalas isométricas
-            nos eixos x e y. O tamanho da janela de gráficos não é alterado. O
-            retângulo <literal>xmin, xmax, ymin, ymax</literal> será contido no quadro
-            computado da janela de gráficos. <literal>isoview</literal> ajusta as
-            escalas gráficas correntes e pode ser usado em conjunção com rotinas que
-            requerem escalas gráficas correntes (por exemplo
-            <literal>strf="x0z"</literal> em <literal>plot2d</literal>).
+            <literal>isoview("off")</literal> or <literal>isoview off</literal>
+            relaxes x, y (and z)  scales for the current axes.
         </para>
+        <para>
+            <literal>isoview(idGraphics,..)</literal> runs on axes related
+            to each graphic object listed in the vector <varname>idGraphics</varname>:
+            <itemizedlist>
+                <listitem>
+                    If <varname>idGraphics(i)</varname> is a figure's handle,
+                    all its Axes are considered.
+                </listitem>
+                <listitem>
+                    If <varname>idGraphics(i)</varname> is an Axes,
+                    it is considered as is.
+                </listitem>
+                <listitem>
+                    If <varname>idGraphics(i)</varname> is the handle of a
+                    sub-axes component(such as a polyline, a compound, etc),
+                    its hosting axes is considered.
+                </listitem>
+            </itemizedlist>
+        </para>
+        <para>
+            <literal>isoview(xmin, xmax, ymin, ymax)</literal> sets the current
+            axes in isometric mode, and then sets its bounds to the given values.
+            <warning>
+                This usage
+                will be removed from Scilab 6.1. Please used
+                <link linkend="replot">replot</link> after
+                <function>isoview</function> instead.
+            </warning>
+        </para>
+        <note>The current axes is still the same after calling
+            <literal>isoview(..)</literal>, even when several axes have been processed.
+        </note>
+        <note>To plot some curves directly in isometric mode without calling
+            <function>isoview</function> afterwards, the <literal>plot2d(...,frameflag=4)</literal>
+            option may be used at call time.
+        </note>
     </refsection>
-    <refsection>
+    <refsection role="examples">
         <title>Exemplos</title>
-        <programlisting role="example"><![CDATA[ 
-t=[0:0.1:2*%pi]';
-plot2d(sin(t),cos(t))
-clf()
-isoview(-1,1,-1,1)
-plot2d(sin(t),cos(t),1,"001")
-xset("default")
+        <programlisting role="example"><![CDATA[
+t = [0:0.1:2*%pi]';
+clf
+nc = 3;
+
+subplot(2,nc,1)
+plot2d(cos(t),sin(t))
+xtitle("True circle")
+a1 = gca();
+
+subplot(2,nc,nc+1)
+plot2d(cos(t),sin(t))
+isoview
+
+subplot(2,nc,2)
+plot2d(7*cos(t),2*sin(t))
+xtitle("True ellipse")
+a2 = gca();
+
+subplot(2,nc,nc+2)
+plot2d(7*cos(t),2*sin(t))
+isoview
+
+// plot of a sphere using facets computed by eval3dp
+deff("[x,y,z] = sph(alp,tet)",[
+      "x = r*cos(alp).*cos(tet)+orig(1)*ones(tet)"; ..
+      "y = r*cos(alp).*sin(tet)+orig(2)*ones(tet)"; ..
+      "z = r*sin(alp)+orig(3)*ones(tet)"]);
+r = 3; orig = [0 0 0];
+[xx,yy,zz] = eval3dp(sph,linspace(-%pi/2,%pi/2,40),linspace(0,%pi*2,40));
+subplot(2,nc,3)
+plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
+xtitle("True sphere")
+a3 = gca();
+subplot(2,nc,nc+3)
+plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
+isoview
 
-plot2d(sin(t),cos(t),frameflag=4)
+// Switching isoview status for all axes of the current figure
+isoview(gcf())
+
+// Forcing isoview for all its axes
+isoview(gcf(), "on")
+
+// Relaxing isoview for the current axes
+isoview off
+
+// Setting isoview for top axes
+isoview(gcf(),"off")
+isoview([a1 a2 a3], "on")
+ ]]></programlisting>
+        <scilab:image>
+            t = [0:0.1:2*%pi]';
+            clf
+            f = gcf();
+            f.axes_size = [850 400];
+            nc = 3;
+            subplot(2,nc,1)
+            plot2d(cos(t),sin(t))
+            xtitle("True circle")
+            a1 = gca();
+            subplot(2,nc,nc+1)
+            plot2d(cos(t),sin(t))
+            isoview
+            
+            subplot(2,nc,2)
+            plot2d(7*cos(t),2*sin(t))
+            xtitle("True ellipse")
+            a2 = gca();
+            subplot(2,nc,nc+2)
+            plot2d(7*cos(t),2*sin(t))
+            isoview
+            
+            // plot of a sphere using facets computed by eval3dp
+            deff("[x,y,z] = sph(alp,tet)",["x = r*cos(alp).*cos(tet)+orig(1)*ones(tet)"; ..
+            "y = r*cos(alp).*sin(tet)+orig(2)*ones(tet)"; ..
+            "z = r*sin(alp)+orig(3)*ones(tet)"]);
+            r = 3; orig = [0 0 0];
+            [xx,yy,zz] = eval3dp(sph,linspace(-%pi/2,%pi/2,40),linspace(0,%pi*2,40));
+            subplot(2,nc,3)
+            plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
+            xtitle("True sphere")
+            a3 = gca();
+            subplot(2,nc,nc+3)
+            plot3d(xx, yy, zz, alpha=60, flag=[color("green") 8 4])
+            isoview
+        </scilab:image>
+        
+        <programlisting role="example"><![CDATA[
+// Using plot2d(..., frameflag=4) :
+r = linspace(1,10,200);
+t = r*3;
+scf();
+subplot(1,2,1)
+plot2d(r.*sin(t),r.*cos(t))
+xtitle("plot2d(..)")
+
+subplot(1,2,2)
+plot2d(r.*sin(t),r.*cos(t),frameflag=4)
+xtitle("with frameflag=4")
  ]]></programlisting>
+        <scilab:image>
+            r = linspace(1,10,200);
+            t = r*3;
+            scf();
+            subplot(1,2,1)
+            plot2d(r.*sin(t),r.*cos(t))
+            xtitle("plot2d(..)")
+            
+            subplot(1,2,2)
+            plot2d(r.*sin(t),r.*cos(t),frameflag=4)
+            xtitle("with frameflag=4")
+        </scilab:image>
     </refsection>
     <refsection role="see also">
-        <title>Ver Também</title>
+        <title>Ver Também</title>
         <simplelist type="inline">
             <member>
                 <link linkend="square">square</link>
             </member>
             <member>
-                <link linkend="xsetech">xsetech</link>
+                <link linkend="replot">replot</link>
+            </member>
+            <member>
+                <link linkend="axes_properties">Axes properties</link>
             </member>
         </simplelist>
     </refsection>
+    
+    <refsection role="history">
+        <title>Histórico</title>
+        <revhistory>
+            <revision>
+                <revnumber>6.0</revnumber>
+                <revdescription>
+                    <itemizedlist>
+                        <listitem>input flags "on"|"off" added.</listitem>
+                        <listitem>input parameters &lt;none&gt; or idGraphics added.</listitem>
+                    </itemizedlist>
+                </revdescription>
+            </revision>
+        </revhistory>
+    </refsection>
 </refentry>
index f1fd1bc..38392b0 100644 (file)
@@ -1,6 +1,8 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) INRIA
 // Copyright (C) 2010 - DIGITEO - Pierre Lando <pierre.lando@scilab.org>
+// Copyright (C) 2016 - Samuel GOUGEON
+//
 // Copyright (C) 2012 - 2016 - Scilab Enterprises
 //
 // This file is hereby licensed under the terms of the GNU GPL v2.0,
 // For more information, see the COPYING file which you should have received
 // along with this program.
 
-function []=isoview(varargin)
-    // setting default plotting to be isoview
+function isoview(varargin)
+    //isoview
+    //isoview on
+    //isoview off
+    //isoview(idGraphics [,"on"|"off"])
+    //isoview(xmin, xmax, ymin, ymax)  // OBSOLETE
 
-    if size(varargin)<>4 then
-        error(msprintf(gettext("%s: Wrong number of input argument(s): %d expected.\n"), "isoview", 4));
+    rhs = argn(2)
+    rhs0 = rhs
+    if rhs==3 | rhs>4 then
+        msg = _("%s: Wrong number of input argument(s): 0, 1, 2, or 4 arguments expected.\n")
+        error(msprintf(msg, "isoview"));
     end
 
-    for i=1:4 do
-        if type(varargin(i)) <> 1 then
-            error(msprintf(gettext("%s: Wrong type for input argument #%d: A real expected.\n"), "isoview", i));
+    // isoview action to be performed: ""=switch, "on", "off"
+    action = ""
+    if rhs>0 & rhs<4 & typeof(varargin($))=="string" then
+        tmp = convstr(varargin($))
+        if tmp(1)=="on"
+            action = "on"
+        elseif tmp(1)=="off"
+            action = "off"
         end
-    end;
+    end
 
-    xmin = varargin(1);
-    xmax = varargin(2);
-    ymin = varargin(3);
-    ymax = varargin(4);
+    // Set of axes to be processed
+    // ---------------------------
+    if rhs==0 | rhs==4 | (rhs==1 & type(varargin(1))==10)
+        a = gca()
+    elseif rhs<3 // varargin(1) must be a graphics handle
+        a = varargin(1)
+        if type(a)~=9 then
+            msg = _("%s: Wrong type for input argument #%d: Graphic handle or string expected.\n")
+            error(msprintf(msg, "isoview", 1));
+        end
 
-    a = gca();
-    a.isoview = "on";
-    a.data_bounds = [xmin, ymin ; xmax, ymax];
-    a.clip_state = "clipgrf";
+        a0 = a  // vector of input handles
+        a = []  // vector of axes to be processed
+        for i=1:size(a0,"*")
+            thisH = a0(i)
+            if thisH.type=="Figure"
+                // All the axes of the figure must be isoviewed
+                tmp = thisH.children
+                a = [a tmp(find(tmp.type=="Axes"))' ]
+            elseif thisH.type=="Axes"
+                a = [a thisH]
+            else
+                while thisH.type~="Axes" & thisH.type~="Figure"
+                    thisH = thisH.parent
+                end
+                if thisH.type=="Axes"
+                    a = [a thisH]
+                end
+                //no else: if thisH.type=="Figure" => no associated Axes
+            end
+        end
+    end
 
+    // isoview(xmin, xmax, ymin, ymax): checking input bounds
+    // ------------------------------------------------------
+    if rhs>2
+        msg = _("isoview: The syntax isoview(xmin, xmax, ymin, ymax) will be removed from Scilab 6.1\nPlease use replot([xmin xmax ymin ymax]) after isoview(..) instead.\n")
+        warning(msprintf(msg))
+        for i = 1:4
+            if type(varargin(i)) <> 1 then
+                msg = _("%s: Wrong type for input argument #%d: A real expected.\n")
+                error(msprintf(msg, "isoview", i))
+            end
+        end;
+        [xmin xmax ymin ymax] = varargin(1:4)
+    end
+
+    // Performing actions
+    // ------------------
+    for i = 1:size(a,"*")
+        tmp = a(i).isoview
+        if action=="on" | (action=="" & tmp=="off")
+            a(i).isoview = "on"
+        else
+            a(i).isoview = "off"
+        end
+        a(i).clip_state = "clipgrf"
+        if rhs>2 then
+            a(i).data_bounds = [xmin xmax ymin ymax]
+        end
+    end
 endfunction
+
index 2a90c7d..60c40b2 100644 (file)
@@ -961,7 +961,8 @@ intg_fr_FR_1.png=49896f43a08105afed470fca8530de7f
 intg_fr_FR_2.png=77946e65b25325b6e167f39b82deedd4
 intg_ja_JP_1.png=24ad1ebaeea773a33928890cfddb6bb5
 intg_ja_JP_2.png=5a9e789d2138a80876bf52ca51b591f8
-isoview_1.png=9c1be224ce4e09164c22b16aae00f70c
+isoview_1.png=a30adca5a6a8d3c7352f9a5c6750732d
+isoview_2.png=7f599cee0ebf55f0e9656eb280e7af3c
 jetcolormap_1.png=1e12eded706f4c2d3dc1c34c389ebd2d
 karmarkar_1.png=626ad2a9c40850305ba69410b5c17794
 kpure_1.png=a4531e4182cb8da893aaa2a449b3f667
@@ -1005,7 +1006,7 @@ nanreglin_1.png=a2189dd0a4084c54b9c1e05b45db555b
 nanreglin_2.png=5a3c75b736030778ba4a1717051810cb
 ndgrid_1.png=881b8c6e4e1ccf21fce8004766f2df8d
 ndgrid_2.png=2c9c5b309ed4b25ee57c8b35e6a1fe1
-ndgrid_ru_RU_2.png=de964c7f8e0168a8c01b85f494329120
+ndgrid_ru_RU_2.png=4ea2b3c6a3035633dbbdf9ffc2c7a676
 nicholschart_en_US_1.png=4123c1234e85121879226ae325b64513
 nicholschart_en_US_2.png=f40d41b275495a2e839ed7f26bbbf92
 nicholschart_fr_FR_1.png=4123c1234e85121879226ae325b64513
@@ -1069,7 +1070,7 @@ plot2d3_2.png=42ff831fb2c002525f96d9232fdd718b
 plot2d4_1.png=ca17ee46fae89a343407d090111051b5
 plot2d4_2.png=44ad62335417f4cd080eefdde0edd1c1
 plot2d_1.png=6938527906d00e35013f43aa6810e52f
-plot2d_10.png=7c45e534c2b6341dd8a24a63871aa3a9
+plot2d_10.png=ad1bc6dc6ac4a8b2201f4f897ea2fb3b
 plot2d_2.png=48949e8c7de5cab2f8f68e9b0d30f65a
 plot2d_3.png=d491471e1355626da75f16255adbbf45
 plot2d_4.png=8db7dbb9f894fa92f0426971771818fa
@@ -1098,7 +1099,7 @@ plot3d_7.png=b106077ec3b360ba717fef4579da3f55
 plot3d_8.png=d7ca9d9d5dd993d30bc6423a0528ff8e
 plot3d_9.png=c0f93d84e3ccdc76486bd41209b1f76b
 plot_1.png=f1b99772428f58ecb395a0e9d646467c
-plot_10.png=e56bd24f47d06312c9f9f37211674a61
+plot_10.png=39217be67a065109f320385c67293b6e
 plot_11.png=3fbb963b7ebc42b5cf32d0443197c30b
 plot_12.png=59b89f2aa6e520bf84d04f4cc922e51
 plot_13.png=483a01785c6cf3d4e2fd579856fd1ac8
diff --git a/scilab/modules/helptools/images/isoview_2.png b/scilab/modules/helptools/images/isoview_2.png
new file mode 100644 (file)
index 0000000..0055a9a
Binary files /dev/null and b/scilab/modules/helptools/images/isoview_2.png differ