<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi Samuel,<br>
    In the meantime I have realized what you meant with 'You don't need
    to block the console with a loop to make changes or actions on
    existing graphics.' The following script is loopless. I share it
    with those who perhaps can use it in presentations demonstrating a
    curve under different aspects.<big><big><br>
      </big></big>
    <pre style="font-family:Monospaced;font-style:normal;font-size:13.0;"><big><big><span style="color:rgb(100,174,100);font-style:italic;">//show a 3D curve under selectable aspects</span>
<span style="color:rgb(0,0,0);">x</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(0,0,0);">y</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0.5</span> <span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(0,0,0);">z</span><span style="color:rgb(92,92,92);">=</span><span style="color:r
gb(74,85,219);">[</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">0</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(50,185,185);">xdel</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span> 
<span style="color:rgb(50,185,185);">param3d</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">x</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">y</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">z</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">90</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">90</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">$\huge x$@$\huge y$@$\huge z$</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">4</span> <span style="color:rgb(188,143,143);">3</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(74,85,219);">)</span><span style="c
olor:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">  ce</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(174,92,176);text-decoration:underline;">gce</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>   <span style="color:rgb(0,0,0);">ce</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">thickness</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">5</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">ca</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(174,92,176);text-decoration:underline;">gca</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(100,174,100);font-style:italic;">//</span>
<span style="color:rgb(176,24,19);">function</span> <span style="color:rgb(0,0,0);text-decoration:underline;">!cb</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(131,67,16);font-weight:bold;">c</span><span style="color:rgb(0,0,0);">, </span><span style="color:rgb(131,67,16);font-weight:bold;">C</span><span style="color:rgb(0,0,0);">, </span><span style="color:rgb(131,67,16);font-weight:bold;">cax</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(100,174,100);font-style:italic;">//callback for uimenu()</span>
  <span style="color:rgb(160,32,240);">if</span>        <span style="color:rgb(131,67,16);font-weight:bold;">c</span><span style="color:rgb(92,92,92);">==</span><span style="color:rgb(131,67,16);font-weight:bold;">C</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span> <span style="color:rgb(131,67,16);font-weight:bold;">cax</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">rotation_angles</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">90</span> <span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">90</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">;</span>
  <span style="color:rgb(160,32,240);">elseif</span> <span style="color:rgb(131,67,16);font-weight:bold;">c</span><span style="color:rgb(92,92,92);">==</span><span style="color:rgb(131,67,16);font-weight:bold;">C</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">2</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span> <span style="color:rgb(131,67,16);font-weight:bold;">cax</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">rotation_angles</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">90</span><span style="color:rgb(0,0,0);">,</span>  <span style="color:rgb(188,143,143);">0</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">;</span>
  <span style="color:rgb(160,32,240);">elseif</span> <span style="color:rgb(131,67,16);font-weight:bold;">c</span><span style="color:rgb(92,92,92);">==</span><span style="color:rgb(131,67,16);font-weight:bold;">C</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">3</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span> <span style="color:rgb(131,67,16);font-weight:bold;">cax</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">rotation_angles</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(74,85,219);">[</span> <span style="color:rgb(188,143,143);">0</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">90</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">;</span>
  <span style="color:rgb(160,32,240);">elseif</span> <span style="color:rgb(131,67,16);font-weight:bold;">c</span><span style="color:rgb(92,92,92);">==</span><span style="color:rgb(131,67,16);font-weight:bold;">C</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">4</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span> <span style="color:rgb(131,67,16);font-weight:bold;">cax</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">rotation_angles</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">35</span><span style="color:rgb(0,0,0);">,</span> <span style="color:rgb(188,143,143);">45</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">;</span>
  <span style="color:rgb(160,32,240);">elseif</span> <span style="color:rgb(131,67,16);font-weight:bold;">c</span><span style="color:rgb(92,92,92);">==</span><span style="color:rgb(131,67,16);font-weight:bold;">C</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">5</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span> <span style="color:rgb(131,67,16);font-weight:bold;">cax</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">rotation_angles</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(131,67,16);font-weight:bold;">cax</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">rotation_angles</span><span style="color:rgb(92,92,92);">+</span><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">10</span><spa
n style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">;</span>
  <span style="color:rgb(160,32,240);">elseif</span> <span style="color:rgb(131,67,16);font-weight:bold;">c</span><span style="color:rgb(92,92,92);">==</span><span style="color:rgb(131,67,16);font-weight:bold;">C</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">6</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span> <span style="color:rgb(131,67,16);font-weight:bold;">cax</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">rotation_angles</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(131,67,16);font-weight:bold;">cax</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">rotation_angles</span><span style="color:rgb(92,92,92);">+</span><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(92,92,92);">+</span><span style="color:rgb(188,143,143);">10</span><spa
n style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">;</span>
  <span style="color:rgb(160,32,240);">elseif</span> <span style="color:rgb(131,67,16);font-weight:bold;">c</span><span style="color:rgb(92,92,92);">==</span><span style="color:rgb(131,67,16);font-weight:bold;">C</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">7</span><span style="color:rgb(74,85,219);">)</span> 
    <span style="color:rgb(0,0,0);">ca0</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(131,67,16);font-weight:bold;">cax</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">rotation_angles</span><span style="color:rgb(0,0,0);">;</span>
    <span style="color:rgb(160,32,240);">for</span> <span style="color:rgb(0,0,0);">k</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">0</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(188,143,143);">100</span> <span style="color:rgb(188,143,143);">99</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span> <span style="color:rgb(188,143,143);">0</span><span style="color:rgb(74,85,219);">]</span>
        <span style="color:rgb(131,67,16);font-weight:bold;">cax</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">rotation_angles</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(0,0,0);">ca0</span><span style="color:rgb(92,92,92);">+</span><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">0.25</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(0,0,0);">k</span> <span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">;</span>
        <span style="color:rgb(50,185,185);">sleep</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">15</span><span style="color:rgb(74,85,219);">)</span>
     <span style="color:rgb(160,32,240);">end</span> 
  <span style="color:rgb(160,32,240);">elseif</span> <span style="color:rgb(131,67,16);font-weight:bold;">c</span><span style="color:rgb(92,92,92);">==</span><span style="color:rgb(131,67,16);font-weight:bold;">C</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">8</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span> <span style="color:rgb(50,185,185);">xdel</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span> <span style="color:rgb(95,158,160);">abort</span>
  <span style="color:rgb(160,32,240);">end</span>
<span style="color:rgb(176,24,19);">endfunction</span>
<span style="color:rgb(100,174,100);font-style:italic;">//</span>
<span style="color:rgb(0,0,0);">C</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">xz</span><span style="color:rgb(188,143,143);">"</span> <span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">yz</span><span style="color:rgb(188,143,143);">"</span> <span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">xy</span><span style="color:rgb(188,143,143);">"</span> <span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">Perspec</span><span style="color:rgb(188,143,143);">"</span> <span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">Turn10°Left</span><span style="color:rgb(188,143,143);">"</span> <span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">Turn10°right</span><span style="color:rgb(188,143,143);">"</span
> <span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">Rotate</span><span style="color:rgb(188,143,143);">"</span> <span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">Finish</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">;</span><span style="color:rgb(100,174,100);font-style:italic;">//case name strings</span>
<span style="color:rgb(160,32,240);">for</span> <span style="color:rgb(0,0,0);">i</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(50,185,185);">size</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">C</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">2</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span>    <span style="color:rgb(50,185,185);">uimenu</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">'</span><span style="color:rgb(188,143,143);">label</span><span style="color:rgb(188,143,143);">'</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">C</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">i</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0
,0);">,</span><span style="color:rgb(188,143,143);">'</span><span style="color:rgb(188,143,143);">callback</span><span style="color:rgb(188,143,143);">'</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">'</span><span style="color:rgb(188,143,143);">!cb(C(</span><span style="color:rgb(188,143,143);">'</span><span style="color:rgb(92,92,92);">+</span><span style="color:rgb(50,185,185);">string</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">i</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">+</span><span style="color:rgb(188,143,143);">'</span><span style="color:rgb(188,143,143);">),C,ca)</span><span style="color:rgb(188,143,143);">'</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>    <span style="color:rgb(160,32,240);">end

<font color="#000000">Thanks again for your consultation.
Regards
Jens</font>
--------------------------------------------------------------------------------------------------
</span></big></big></pre>
    <br>
    <div class="moz-cite-prefix">Am 18.12.2016 18:04, schrieb Jens Simon
      Strom:<br>
    </div>
    <blockquote cite="mid:5856C1AD.6040704@hslmg.de" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      Hi Samuel, <br>
      what I really do is this:<br>
      <br>
      <pre style="font-family:Monospaced;font-style:normal;font-size:13.0;"><big><big>xdel()
figure_size=[1800 900];
cf=figure(1,'position',[0 0 figure_size],'background',8,'immediate_drawing','off','visible','off');
//...
//plot3d and param3d commands
// ...
Rotation_Angles=[85 -64];
ca=<span style="text-decoration: underline;">gca</span>();
ca.box='off';
xtitle('$\Huge{\text{Isometrisch}}$','','') 
cf.immediate_drawing='on'; cf.visible='on';
 
m1= uimenu(cf,'label','Himmelspol','callback','ra=[0,0],xtitle(''$\Huge{\text{Himmelspol}}$'','','')');
m2= uimenu(cf,'label','Ost','callback','ra=[90,90],xtitle(''$\Huge{\text{Ost}}$'','','')');
m3= uimenu(cf,'label','Äquator','callback','ra=[90,0],xtitle(''$\Huge{\text{Äquator}}$'','','')');
m4= uimenu(cf,'label','West','callback','ra=[90,-90],xtitle(''$\Huge{\text{West}}$'','','')');
m5= uimenu(cf,'label','Isometrisch','callback','ra=Rotation_Angles,xtitle(''$\Huge{\text{Isometrisch}}$'','','')');
m6= uimenu(cf,'label','Animation','callback','Case=1,xtitle(''$\Huge{\text{Rotierend}}$'','','')');
m7= uimenu(cf,'label', 'Aus', 'callback', "t=%f");

Case=0;<span style="font-style: italic;">//Initiierung für Anfangspassage, d.h.keine Animation</span>
ra=Rotation_Angles;<span style="font-style: italic;">//Initiierung für Anfangspassage</span>
t=%t;
while t==%t    
  if Case==1<span style="font-style: italic;">//m6</span>
      Case=0;
      rota=ca.rotation_angles;
      for k=[0:1:90 89:-1:0]
         drawlater()
         ca.rotation_angles=rota+[0 k];
         sleep(10);
         drawnow()
      end<span style="font-style: italic;">//for k=[ .... ]</span>
  else     
       sleep(200)
       ca.rotation_angles=ra;    
  end<span style="font-style: italic;">//if</span>
end<span style="font-style: italic;">//while</span></big></big>
</pre>
      <br>
      This works satisfactorily. I could not get the result without the
      infinite loop.<br>
      <br>
      Kind regards<br>
      Jens<br>
-----------------------------------------------------------------------<br>
      <br>
      <br>
      <div class="moz-cite-prefix">Am 18.12.2016 16:36, schrieb Samuel
        Gougeon:<br>
      </div>
      <blockquote cite="mid:5856AD01.8060001@free.fr" type="cite">
        <meta content="text/html; charset=ISO-8859-1"
          http-equiv="Content-Type">
        <div class="moz-cite-prefix">Le 18/12/2016 16:20, Jens Simon
          Strom a écrit :<br>
        </div>
        <blockquote cite="mid:5856A928.8070306@hslmg.de" type="cite">
          <meta content="text/html; charset=ISO-8859-1"
            http-equiv="Content-Type">
          Hi Samuel,<br>
          Without the loop the script finishes and gives no chance to
          change anything. <br>
        </blockquote>
        ?<br>
        Have you tried? Since the figure and its menus are still here,
        you can still use them, even if the script having generating
        them is finished.<br>
        <br>
        A callback is an asynchronous independent script that is
        performed just when it is called, "at any time" (actually, its
        instructions are queued when it is called, and performed ASAP).<br>
        <br>
        You don't need to block the console with a loop to make changes
        or actions on existing graphics.<br>
        But if you want to make it "modal", that is to say waiting for
        and compelling the user to do something, yes, a loop is
        required.<br>
        BTW, the loop that you use is infinite: there is no way to
        escape it smoothly, since<br>
        while 1<br>
        is always true. <br>
        <br>
        SG<br>
        <br>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">_______________________________________________
users mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:users@lists.scilab.org">users@lists.scilab.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.scilab.org/mailman/listinfo/users">http://lists.scilab.org/mailman/listinfo/users</a>
</pre>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>