<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>