<pre style='margin:0'>
Marius Schamschula (Schamschula) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/be5fdf0d2efc8460fd27ac72371e492404817e64">https://github.com/macports/macports-ports/commit/be5fdf0d2efc8460fd27ac72371e492404817e64</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new be5fdf0d2ef octave-vrml: fix obsolete line continuation issue
</span>be5fdf0d2ef is described below

<span style='display:block; white-space:pre;color:#808000;'>commit be5fdf0d2efc8460fd27ac72371e492404817e64
</span>Author: Marius Schamschula <mschamschula@gmail.com>
AuthorDate: Wed Jun 5 11:42:56 2024 -0500

<span style='display:block; white-space:pre;color:#404040;'>    octave-vrml: fix obsolete line continuation issue
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    See: https://savannah.gnu.org/bugs/?65302
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/70167
</span>---
 octave/octave-vrml/Portfile                 |    4 +-
 octave/octave-vrml/files/patch-octave9.diff | 1220 +++++++++++++++++++++++++++
 2 files changed, 1223 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/octave/octave-vrml/Portfile b/octave/octave-vrml/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index a47cb7bd469..368a5a973e2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/octave/octave-vrml/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/octave/octave-vrml/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,7 +4,7 @@ PortSystem          1.0
</span> PortGroup           octave 1.0
 
 octave.setup        sourceforge octave vrml 1.0.13
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            6
</span> platforms           darwin
 license             GPL-3+ GFDL
 maintainers         {mps @Schamschula} openmaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -22,3 +22,5 @@ depends_lib-append  port:octave-linear-algebra \
</span>                     port:octave-miscellaneous \
                            port:octave-struct \
                     port:octave-statistics
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          patch-octave9.diff
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/octave/octave-vrml/files/patch-octave9.diff b/octave/octave-vrml/files/patch-octave9.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..5dd770cd6b4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/octave/octave-vrml/files/patch-octave9.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,1220 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Description: Adjust ode for Octave 9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ The continuation lines with '\' has been deprecated since Octave 7.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ In Octave 9, only '...' is allowed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Rafael Laboissière <rafael@debian.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Forwarded: no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Last-Update: 2024-02-13
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/best_dir_cov.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/best_dir_cov.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -88,10 +88,10 @@ tmp = zeros(D,D*P) ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           # wrt. d  and  x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for i=1:D,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ## d2wx(W+i,(i-1)*P+1:i*P) = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  ## d2wx(W+i,(i-1)*P+1:i*P) = ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ##    2*x'*(kron(y(i,:))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  d2wx(W+i,:) =                        \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      2*x'*kron(y(i,:),kron(d,isig)) - \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  d2wx(W+i,:) =                        ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      2*x'*kron(y(i,:),kron(d,isig)) - ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       w'*a'*isig*kron(y(i,:),eye(P)) ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/save_vrml.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/save_vrml.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -54,15 +54,15 @@ l_direction = [0.57735  -0.57735   0.577
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bg_node = sprintf (["Background {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               "  skyColor    %8.3g %8.3g %8.3g\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "}\n"],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "}\n"],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              bg_col);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bg_node = "";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-lightstr = sprintf (["PointLight {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-               "  intensity         %8.3g\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-               "  ambientIntensity  %8.3g\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-               "  direction         %8.3g %8.3g %8.3g\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-               "}\n"],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++lightstr = sprintf (["PointLight {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++               "  intensity         %8.3g\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++               "  ambientIntensity  %8.3g\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++               "  direction         %8.3g %8.3g %8.3g\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++               "}\n"],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               l_intensity, l_ambientIntensity, l_direction);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lightstr = "";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/test_moving_surf.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/test_moving_surf.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -59,7 +59,7 @@ if 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   s4 = vrml_anim ("Coordinate",[a,b,a],"foo.set_point",[0 0.5 1],tn);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  s3 = vrml_faces ([-1 -1 1 1;-1 1 1 -1;0.1 0.1 0.1 0.1],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  s3 = vrml_faces ([-1 -1 1 1;-1 1 1 -1;0.1 0.1 0.1 0.1],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                              {[1 2 3 4]},"tran",0.4,"col",[0.9 0.4 0.4]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   vrml_browse ([s1,s2,s3,s4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/test_vmesh.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/test_vmesh.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -46,14 +46,14 @@ vmesh (z);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ printf ("Press a key.\n"); pause;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-printf (["The same surface, with checkered stripes ",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++printf (["The same surface, with checkered stripes ",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "(see the 'checker' option).\n"]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vmesh (z,"checker",-[6,5]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ printf ("Press a key.\n"); pause;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-printf (["The same surface, with z-dependent coloring (see 'zrb', 'zgrey'\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++printf (["The same surface, with z-dependent coloring (see 'zrb', 'zgrey'\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "  and 'zcol' options)\n"]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vmesh (z,"zrb");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/test_vrml_faces.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/test_vrml_faces.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -36,7 +36,7 @@ if 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   printf ("Going to show a tetrahedron\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  printf (["\n     If nothing appears, it may be due to problems",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  printf (["\n     If nothing appears, it may be due to problems",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      "\n     with your FreeWRL installation\n"]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   vrml_browse ([slight, s1]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   printf ("Press a key in this terminal when done\n");pause;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -47,7 +47,7 @@ if 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   printf ("Going to show almost the same tetrahedron\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  printf (["\n     If nothing appears, it may be due to problems",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  printf (["\n     If nothing appears, it may be due to problems",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      "\n     with your FreeWRL installation\n"]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   vrml_browse ([slight, s1]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   printf ("Press a key in this terminal when done\n");pause;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -104,15 +104,15 @@ if 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   s1 = vrml_faces (x, trg, "tex",texfile,"imsz",[H,W]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   s2 = vrml_faces (x, trg, "tex",texfile);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  printf (["Tetrahedrons should appear like (R=red, G=green, B=blue)\n\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     "              R 2\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     "               /\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     "              / G\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     "     G     B /\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     "   3--------4 B\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     "     R     B \\\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     "              \\ R\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     "             G \\\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  printf (["Tetrahedrons should appear like (R=red, G=green, B=blue)\n\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     "              R 2\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     "               /\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     "              / G\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     "     G     B /\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     "   3--------4 B\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     "     R     B \\\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     "              \\ R\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     "             G \\\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      "                 1\n"]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   vrml_browse ([slight, s1, vrml_transfo(s2,[2,0,0])]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vmesh.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vmesh.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -108,7 +108,7 @@ surf_args = {x,y,z};   # Arguments that'll
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if numel (varargin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  op1 = [" tran col checker creaseAngle emit colorPerVertex tex zcol  frame ",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  op1 = [" tran col checker creaseAngle emit colorPerVertex tex zcol  frame ",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    " level lcol ltran bwid "];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   op0 = " smooth zgray zrb normalize steps bars ";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -117,11 +117,11 @@ if numel (varargin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   opts = read_options (varargin,"op0",op0,"op1",op1,"default",df);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           # Identify options for vrml_surf()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#   all_surf_opts  = list ("tran", "col", "checker", "creaseAngle", "emit", \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#                          "colorPerVertex", "smooth", "tex",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#   all_surf_opts  = list ("tran", "col", "checker", "creaseAngle", "emit", ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#                          "colorPerVertex", "smooth", "tex",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #                          "zgray","zrb","zcol");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  all_surf_opts  = {"tran", "col", "checker", "creaseAngle", "emit", \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "colorPerVertex", "smooth", "steps", "bars", "bwid", "tex",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  all_surf_opts  = {"tran", "col", "checker", "creaseAngle", "emit", ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "colorPerVertex", "smooth", "steps", "bars", "bwid", "tex",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               "zgray","zrb","zcol"};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   for i = 1:length(all_surf_opts)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -187,16 +187,16 @@ pt2 = pts(:,ii); x2 = x(ii); y2 = y(ii);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # pl = [pl1 pl2];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-pl = [vrml_DirectionalLight("direction",[-1,-1,-1],"intensity",0.75),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      vrml_DirectionalLight("direction",[-1, 1,-1],"intensity",0.5),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      vrml_DirectionalLight("direction",[ 1,-1,-1],"intensity",0.5),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      vrml_DirectionalLight("direction",[ 1, 1,-1],"intensity",0.33),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++pl = [vrml_DirectionalLight("direction",[-1,-1,-1],"intensity",0.75),...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      vrml_DirectionalLight("direction",[-1, 1,-1],"intensity",0.5),...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      vrml_DirectionalLight("direction",[ 1,-1,-1],"intensity",0.5),...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      vrml_DirectionalLight("direction",[ 1, 1,-1],"intensity",0.33),...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       vrml_DirectionalLight("direction",[ 0, 0, 1],"intensity",0.5)];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#  distance = max ([max (x(:)) - min (x(:)),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#                  max (y(:)) - min (y(:)),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  distance = max ([max (x(:)) - min (x(:)),...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#                  max (y(:)) - min (y(:)),...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #                  max (z(:)) - min (z(:))])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#  vp = vrml_Viewpoint  ("orientation", [1 0 0 -pi/6],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  vp = vrml_Viewpoint  ("orientation", [1 0 0 -pi/6],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #                       "position",    distance*[0 0 5]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ minpts = min (pt2');
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -205,7 +205,7 @@ medpts = (minpts + maxpts)/2;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ptssz  = (maxpts - minpts);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ptssz  = max (ptssz, max (ptssz/10));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if frame, fr = vrml_frame (minpts-ptssz/10,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if frame, fr = vrml_frame (minpts-ptssz/10,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                      "scale", ptssz * 1.2, "col",(ones(3)+eye(3))/2);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else      fr = "";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -235,10 +235,10 @@ if ! isempty (level)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if prod (size (ltran)) == 1    , ltran = ltran*ones(1,nlev); end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   for i = 1:nlev
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    slevel = [slevel, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        vrml_parallelogram([xmin     xmin     xmax     xmax;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                            ymin     ymax     ymax     ymin;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                            level(i) level(i) level(i) level(i)],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    slevel = [slevel, ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        vrml_parallelogram([xmin     xmin     xmax     xmax;...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            ymin     ymax     ymax     ymin;...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            level(i) level(i) level(i) level(i)],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            "col",lcol(i,:),"tran",ltran(i))];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_DirectionalLight.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_DirectionalLight.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -39,10 +39,10 @@ for k=1:2:nargin,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    hash = setfield(hash,varargin{k:k+1}); 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-tpl = struct ("ambientIntensity", "%8.3f",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "intensity",        "%8.3f",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "direction",        "%8.3f",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "on",               "%s",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++tpl = struct ("ambientIntensity", "%8.3f",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "intensity",        "%8.3f",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "direction",        "%8.3f",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "on",               "%s",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         "color",            "%8.3f %8.3f %8.3f");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ body = "";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -55,7 +55,7 @@ for [val,key] = hash,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       error (sprintf ("vrml_PointLight : unknown field '%s'",key));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    body = [body,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    body = [body,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       sprintf("   %-20s   %s\n",key,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                sprintf(getfield (tpl,key), val))];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_PointLight.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_PointLight.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -40,12 +40,12 @@ function s = vrml_PointLight (varargin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if mod(nargin,2) != 0, print_usage; end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ h = struct (varargin{:});
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-tpl = struct ("ambientIntensity", "%8.3f",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "intensity",        "%8.3f",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "radius",           "%8.3f",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "on",               "%s",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "attenuation",      "%8.3f %8.3f %8.3f",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "color",            "%8.3f %8.3f %8.3f",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++tpl = struct ("ambientIntensity", "%8.3f",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "intensity",        "%8.3f",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "radius",           "%8.3f",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "on",               "%s",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "attenuation",      "%8.3f %8.3f %8.3f",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "color",            "%8.3f %8.3f %8.3f",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         "location",         "%8.3f %8.3f %8.3f");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ body = "";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -61,8 +61,8 @@ for [val,key] = h,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    body = [body,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      sprintf("   %-20s   %s\n",key, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    body = [body,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      sprintf("   %-20s   %s\n",key, ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               sprintf (getfield (tpl,key), val))];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_TimeSensor.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_TimeSensor.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -42,10 +42,10 @@ function s = vrml_TimeSensor (varargin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ verbose = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-tpl = struct ("cycleInterval", "SFTime",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"startTime",     "SFTime",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"stopTime",      "SFTime",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"enabled",       "SFBool",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++tpl = struct ("cycleInterval", "SFTime",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"startTime",     "SFTime",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"stopTime",      "SFTime",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"enabled",       "SFBool",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "loop",          "SFBool"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -55,7 +55,7 @@ dnode = struct ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           # Transform varargin into key-value pairs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i = j = k = 1;                    # i:pos in new varargin, j:pos in headpar,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           # k:pos is old varargin.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-while i <= length (varargin) && \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++while i <= length (varargin) && ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       ! (ischar (varargin{i}) && isfield (tpl, varargin{i}))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if j <= length (headpar)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -70,7 +70,7 @@ while i <= length (varargin) && \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     i += 2;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     k++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    error ("vrml_TimeSensor : Argument %i should be string, not '%s'",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    error ("vrml_TimeSensor : Argument %i should be string, not '%s'",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      k,typeinfo (varargin{i}));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -86,11 +86,11 @@ while i < length (varargin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   k = varargin{i++};      # Read key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if ! ischar (k)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    error ("vrml_TimeSensor : Arg n. %i should be a string, not a %s.",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    error ("vrml_TimeSensor : Arg n. %i should be a string, not a %s.",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      i-1, typeinfo (k));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if ! isfield (tpl, k) && ! strcmp (k,"DEF")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    error ("vrml_TimeSensor : Unknown field '%s'. Should be one of :\n%s",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    error ("vrml_TimeSensor : Unknown field '%s'. Should be one of :\n%s",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       k, sprintf ("   '%s'\n",fieldnames (tpl)'{:}));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -107,7 +107,7 @@ while i < length (varargin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else                            # Add data field
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if verbose
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      printf ("vrml_TimeSensor : Adding '%s' of type %s, with arg of type %s\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      printf ("vrml_TimeSensor : Adding '%s' of type %s, with arg of type %s\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         k,getfield(tpl,k),typeinfo (v));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     tmp = getfield(tpl,k);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_Viewpoint.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_Viewpoint.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -42,12 +42,12 @@ if mod(nargin,2) != 0, print_usage; end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ h = struct (varargin{:});
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-tpl = struct ("fieldOfView",      "%8.3f",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "jump",             "%s",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "orientation",      "%8.3f %8.3f %8.3f %8.3f",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "orientation0",     "%8.3f %8.3f %8.3f %8.3f",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "position",         "%8.3f %8.3f %8.3f",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "description",      "\"%s\"",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++tpl = struct ("fieldOfView",      "%8.3f",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "jump",             "%s",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "orientation",      "%8.3f %8.3f %8.3f %8.3f",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "orientation0",     "%8.3f %8.3f %8.3f %8.3f",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "position",         "%8.3f %8.3f %8.3f",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "description",      "\"%s\"",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         "DEF",              "");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DEF = "";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ defaultPos = [0 0 10];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -113,8 +113,8 @@ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ body = "";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for [val, key] = h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  body = [body,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    sprintf("   %-20s   %s\n",key, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  body = [body,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    sprintf("   %-20s   %s\n",key, ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             sprintf (getfield (tpl,key), val))];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_arrow.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_arrow.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -76,43 +76,43 @@ endfor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ smat1 = vrml_material (col(:,1), emit);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ smat2 = vrml_material (col(:,2), emit);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-v = sprintf (["Group {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "  children [\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "    Transform {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "      translation  %8.3g %8.3g %8.3g\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "      children [\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "        Shape {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "          appearance Appearance {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        smat1,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "          }\n"\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "          geometry Cylinder {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "            radius %8.3g\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "            height %8.3g\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "          }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "        }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "      ]\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "    }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "    Transform {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "      translation  %8.3g %8.3g %8.3g\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "      children [\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "        Shape {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "          appearance Appearance {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        smat2,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "          }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "          geometry Cone { \n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "            bottomRadius  %8.3g \n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "            height  %8.3g\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "          }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "        }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "      ]\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "    }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "  ]\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "}\n"],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       [0,(sz(1)-sz(2))/2,0],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       sz(4),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       sz(1)-sz(2),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       [0,sz(2)/2+sz(1)-sz(2),0],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       sz(3),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++v = sprintf (["Group {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "  children [\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "    Transform {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "      translation  %8.3g %8.3g %8.3g\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "      children [\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "        Shape {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "          appearance Appearance {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        smat1,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "          }\n"...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "          geometry Cylinder {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "            radius %8.3g\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "            height %8.3g\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "          }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "        }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "      ]\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "    }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "    Transform {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "      translation  %8.3g %8.3g %8.3g\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "      children [\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "        Shape {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "          appearance Appearance {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        smat2,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "          }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "          geometry Cone { \n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "            bottomRadius  %8.3g \n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "            height  %8.3g\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "          }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "        }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "      ]\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "    }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "  ]\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "}\n"],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       [0,(sz(1)-sz(2))/2,0],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       sz(4),...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       sz(1)-sz(2),...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       [0,sz(2)/2+sz(1)-sz(2),0],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       sz(3),...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        sz(2));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endfunction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_browse.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_browse.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -113,7 +113,7 @@ if vrml_b_pid > 0           # There's already a b
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if verbose
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      printf ( ["vrml_browse : ",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      printf ( ["vrml_browse : ",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           "browser pid=%d died. I'll spawn another\n"], vrml_b_pid);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     vrml_b_pid = -1 ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -138,10 +138,10 @@ if !length (s)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   x /= 4 ; y /= 4 ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ##  pix = ones (n) ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ##    tmp = [1 0 0 1 1 1 0 0 1 1 0 0 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 0 0 ;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ##       0 1 1 0 1 0 1 1 0 1 1 1 0 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1 1 ;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ##       0 1 1 0 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 0 0 ;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ##       0 1 1 0 1 0 1 1 0 1 1 1 0 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 1 1 ;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  ##    tmp = [1 0 0 1 1 1 0 0 1 1 0 0 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 0 0 ;...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  ##       0 1 1 0 1 0 1 1 0 1 1 1 0 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1 1 ;...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  ##       0 1 1 0 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 0 0 ;...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  ##       0 1 1 0 1 0 1 1 0 1 1 1 0 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 1 1 ;...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ##       1 0 0 1 1 1 0 0 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 1 1 1 0 0 0 ];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ##    rtmp = rows(tmp)+2;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -194,7 +194,7 @@ if vrml_b_pid <= 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ##  cmd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if status,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      printf("vrml_browse : Can't start browser '%s'. Is it installed?\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      printf("vrml_browse : Can't start browser '%s'. Is it installed?\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        vrml_b_name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       p = vrml_b_pid ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       return ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_cyl.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_cyl.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -48,7 +48,7 @@ if nargin > 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   op1 = " rad tran col hcol brad emit " ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   op0 = " verbose balls noemit arrow " ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  df = tars (rad, tran, col, hcol, verbose, balls, noemit, arrow, brad, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  df = tars (rad, tran, col, hcol, verbose, balls, noemit, arrow, brad, ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       emit);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -97,36 +97,36 @@ for i = 2:N
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       smat = vrml_material (col(:,i-1), emitcol(:,i-1), tran(i-1));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           # Do a cylinder
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      s = [s,sprintf(["Transform {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "  translation %8.3f %8.3f %8.3f\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "  children [\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "    Transform {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "      rotation    %8.3f %8.3f %8.3f %8.3f\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "      children [\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "        Shape {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "          appearance Appearance {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "              %s",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "          }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "          geometry Cylinder {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "            height %8.3f\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "            radius %8.3f\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "          }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "        }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "      ]\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "    }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "  ]\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "}\n"],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-               t,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-               ax,an,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-               smat,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-               n,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      s = [s,sprintf(["Transform {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "  translation %8.3f %8.3f %8.3f\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "  children [\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "    Transform {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "      rotation    %8.3f %8.3f %8.3f %8.3f\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "      children [\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "        Shape {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "          appearance Appearance {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "              %s",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "          }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "          geometry Cylinder {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "            height %8.3f\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "            radius %8.3f\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "          }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "        }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "      ]\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "    }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "  ]\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "}\n"],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++               t,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++               ax,an,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++               smat,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++               n,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                rad)];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       t = x(:,i-1) ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if isnan (hcol), hcol = col(:,i); end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       arrowcol = [col(:,i) hcol(1:3)(:)];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      s = [s,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     vrml_transfo(vrml_arrow ([n,nan,2*rad/n,rad/n],arrowcol,emit),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      s = [s,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     vrml_transfo(vrml_arrow ([n,nan,2*rad/n,rad/n],arrowcol,emit),...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   t, ax*an)];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -137,7 +137,7 @@ if balls,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   s = [s, vrml_points(x,"balls","col",col, "rad",brad,"emit",emit)];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ elseif columns(x)>2,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           # Make a rounded junction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  s = [s, vrml_points(x(:,2:columns(x)-1),"balls","col",col,"rad",rad, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  s = [s, vrml_points(x(:,2:columns(x)-1),"balls","col",col,"rad",rad, ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 "emit", emit)];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_demo_tutorial_1.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_demo_tutorial_1.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13,19 +13,19 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## You should have received a copy of the GNU General Public License along with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## this program; if not, see <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-printf (["\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "    VRML Mini-HOWTO's first listing\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++printf (["\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "    VRML Mini-HOWTO's first listing\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "    Display a quadratic surface w/ 31 x 31 points\n\n"]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-printf (["    Reminder of FreeWRL keystrokes and mouse actions :\n"\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      q : quit\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      w : switch to walk mode\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      e : switch to examine mode\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      h : toggle headlights on or off\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      drag left mouse : rotate (examine mode) or translate\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "          (walk mode).\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      drag right mouse : zoom (examine mode) or translate\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "          (walk mode).\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++printf (["    Reminder of FreeWRL keystrokes and mouse actions :\n"...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      q : quit\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      w : switch to walk mode\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      e : switch to examine mode\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      h : toggle headlights on or off\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      drag left mouse : rotate (examine mode) or translate\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "          (walk mode).\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      drag right mouse : zoom (examine mode) or translate\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "          (walk mode).\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "\n"]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## Listing 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_demo_tutorial_2.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_demo_tutorial_2.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,19 +16,19 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ printf("vrml_select_points does not work any more. Sorry\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-printf (["\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "     VRML Mini-HOWTO's second listing\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++printf (["\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "     VRML Mini-HOWTO's second listing\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "     Show 3D points and select some with the mouse\n\n"]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-printf (["    Reminder of FreeWRL keystrokes and mouse actions :\n"\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      q : quit\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      w : switch to walk mode\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      e : switch to examine mode\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      drag left mouse : rotate (examine mode) or translate\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "          (walk mode).\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      drag right mouse : zoom (examine mode) or translate\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "          (walk mode).\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      click on box : toggle selection\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++printf (["    Reminder of FreeWRL keystrokes and mouse actions :\n"...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      q : quit\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      w : switch to walk mode\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      e : switch to examine mode\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      drag left mouse : rotate (examine mode) or translate\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "          (walk mode).\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      drag right mouse : zoom (examine mode) or translate\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "          (walk mode).\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      click on box : toggle selection\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "\n"]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## Listing 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_demo_tutorial_3.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_demo_tutorial_3.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13,18 +13,18 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## You should have received a copy of the GNU General Public License along with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## this program; if not, see <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-printf (["\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "     VRML Mini-HOWTO's second listing\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++printf (["\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "     VRML Mini-HOWTO's second listing\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "     Show a XYZ frame with a background\n\n"]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-printf (["    Reminder of FreeWRL keystrokes and mouse actions :\n"\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      q : quit\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      w : switch to walk mode\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      e : switch to examine mode\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      drag left mouse : rotate (examine mode) or translate\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "          (walk mode).\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      drag right mouse : zoom (examine mode) or translate\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "          (walk mode).\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++printf (["    Reminder of FreeWRL keystrokes and mouse actions :\n"...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      q : quit\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      w : switch to walk mode\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      e : switch to examine mode\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      drag left mouse : rotate (examine mode) or translate\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "          (walk mode).\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      drag right mouse : zoom (examine mode) or translate\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "          (walk mode).\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "\n"]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## Listing 3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_demo_tutorial_4.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_demo_tutorial_4.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13,19 +13,19 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## You should have received a copy of the GNU General Public License along with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## this program; if not, see <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-printf (["\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "     VRML Mini-HOWTO's second listing\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++printf (["\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "     VRML Mini-HOWTO's second listing\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "     Show a helix of ellipsoids and one consisting of cylinders\n\n"]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-printf (["    Reminder of FreeWRL keystrokes and mouse actions :\n"\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      q : quit\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      w : switch to walk mode\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      e : switch to examine mode\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      h : toggle headlights on or off\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      drag left mouse : rotate (examine mode) or translate\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "          (walk mode).\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "      drag right mouse : zoom (examine mode) or translate\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   "          (walk mode).\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++printf (["    Reminder of FreeWRL keystrokes and mouse actions :\n"...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      q : quit\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      w : switch to walk mode\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      e : switch to examine mode\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      h : toggle headlights on or off\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      drag left mouse : rotate (examine mode) or translate\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "          (walk mode).\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "      drag right mouse : zoom (examine mode) or translate\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   "          (walk mode).\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "\n"]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## Listing 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_ellipsoid.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_ellipsoid.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -48,26 +48,26 @@ d(find(d)) = 1 ./ nze (d) ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [r,a] = rotparams (u');
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-v = sprintf (["Transform {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "  translation  0 0 0\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "  rotation     %8.3g %8.3g %8.3g %8.3g\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "  scale        %8.3g %8.3g %8.3g\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "  children [\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "    Shape {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "      appearance  Appearance {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "        material Material {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "          diffuseColor  %8.3g %8.3g %8.3g\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "          emissiveColor %8.3g %8.3g %8.3g\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "        }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "      }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "      geometry Sphere {}\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "    }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "  ]\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "}\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              ],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       r,a,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       d,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       col,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++v = sprintf (["Transform {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "  translation  0 0 0\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "  rotation     %8.3g %8.3g %8.3g %8.3g\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "  scale        %8.3g %8.3g %8.3g\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "  children [\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "    Shape {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "      appearance  Appearance {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "        material Material {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "          diffuseColor  %8.3g %8.3g %8.3g\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "          emissiveColor %8.3g %8.3g %8.3g\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "        }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "      }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "      geometry Sphere {}\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "    }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "  ]\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "}\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              ],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       r,a,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       d,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       col,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        col/20);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endfunction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_faces.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_faces.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -153,11 +153,11 @@ function s = vrml_faces (x,f,varargin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     texcoord_point_str = sprintf ("    %8.5f %8.5f\n", tcoord);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    col_str_2 = sprintf (["  texCoord TextureCoordinate {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    "    point [\n      %s]\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    "  }\n"\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    ],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                   texcoord_point_str\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    col_str_2 = sprintf (["  texCoord TextureCoordinate {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    "    point [\n      %s]\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    "  }\n"...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    ],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                   texcoord_point_str...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           # If texture has been provided
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -187,14 +187,14 @@ function s = vrml_faces (x,f,varargin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       tcoord = tcoord (:,1:3*nfaces);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    col_str_2 = sprintf (["  texCoord TextureCoordinate {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    "    point [\n      %s]\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    "  }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    "  texCoordIndex [\n      %s]\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    "  coordIndex [\n      %s]\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    ],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                   sprintf ("%10.8f %10.8f,\n      ",tcoord),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                   sprintf ("%-4d, %-4d, %-4d, -1,\n     ",0:3*nfaces-1),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    col_str_2 = sprintf (["  texCoord TextureCoordinate {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    "    point [\n      %s]\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    "  }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    "  texCoordIndex [\n      %s]\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    "  coordIndex [\n      %s]\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    ],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                   sprintf ("%10.8f %10.8f,\n      ",tcoord),...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                   sprintf ("%-4d, %-4d, %-4d, -1,\n     ",0:3*nfaces-1),...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sprintf ("%-4d, %-4d, %-4d, -1,\n     ",f-1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -205,7 +205,7 @@ function s = vrml_faces (x,f,varargin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           # surface
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     col_str_1 = ["  appearance Appearance {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-           vrml_material(col, emit, tran,DEFcol),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++           vrml_material(col, emit, tran,DEFcol),...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "  }\n"];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     col_str_2 = "";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -219,7 +219,7 @@ function s = vrml_faces (x,f,varargin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if tran, ts = sprintf ("transparency %8.3f",tran);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       else     ts = "";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      col_str_1 = ["appearance Appearance {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      col_str_1 = ["appearance Appearance {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              "    material Material {",ts,"}\n}\n"];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if isnan (colorPerVertex)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -229,13 +229,13 @@ function s = vrml_faces (x,f,varargin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if colorPerVertex, cPVs = "TRUE"; else cPVs = "FALSE"; end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    col_str_2 = sprintf (["     colorPerVertex %s\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    "     color %s Color {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    "       color [\n%s\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    "       ]\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    "     }"],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                   cPVs,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                   col_def_str,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    col_str_2 = sprintf (["     colorPerVertex %s\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    "     color %s Color {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    "       color [\n%s\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    "       ]\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    "     }"],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                   cPVs,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                   col_def_str,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sprintf("         %8.3f %8.3f %8.3f,\n",col));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_frame.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_frame.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -65,12 +65,12 @@ if args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   verbose = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ## df = tars (col, hcol, diam, scale, verbose);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  df = struct ("dc",     dc,    \ # Diameter of cone (absolute)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-         "dr",     dr,    \ # Diameter of rod (absolute)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-         "col",    col,   \ # Color
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-         "hcol",   hcol,  \ # Color of head (if different)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-         "diam",   diam,  \ # Diameter of cone relative to branch length
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-         "scale",  scale, \ # Lenght of branches
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  df = struct ("dc",     dc,    ... # Diameter of cone (absolute)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++         "dr",     dr,    ... # Diameter of rod (absolute)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++         "col",    col,   ... # Color
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++         "hcol",   hcol,  ... # Color of head (if different)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++         "diam",   diam,  ... # Diameter of cone relative to branch length
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++         "scale",  scale, ... # Lenght of branches
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          "verbose",verbose);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   op1 = " col hcol diam scale dc dr ";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   op0 = " verbose ";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -127,17 +127,17 @@ sz(4,:) ./= n;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmp = [r2(:,1), null(r2(:,1)')](:,[2,1,3])';
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if det (tmp) < 0, tmp(3,:) *= -1; end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-a1 = vrml_transfo (vrml_arrow(sz(:,1),[col(1,:);hcol(1,:)],0),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++a1 = vrml_transfo (vrml_arrow(sz(:,1),[col(1,:);hcol(1,:)],0),...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              [0,0,0],tmp);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## keyboard
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmp = [r2(:,2), null(r2(:,2)')](:,[2,1,3])';
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if det (tmp) < 0, tmp(3,:) *= -1; end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-a2 = vrml_transfo (vrml_arrow(sz(:,2),[col(2,:);hcol(2,:)],0),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++a2 = vrml_transfo (vrml_arrow(sz(:,2),[col(2,:);hcol(2,:)],0),...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              [0,0,0],tmp);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmp = [r2(:,3), null(r2(:,3)')](:,[2,1,3])';
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if det (tmp) < 0, tmp(3,:) *= -1; end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-a3 = vrml_transfo (vrml_arrow(sz(:,3),[col(3,:);hcol(3,:)],0),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++a3 = vrml_transfo (vrml_arrow(sz(:,3),[col(3,:);hcol(3,:)],0),...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              [0,0,0],tmp);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ f0 = vrml_group (a1, a2, a3);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_group.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_group.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -34,11 +34,11 @@ end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ni = 4;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ s = [blanks(ni), strrep(s,"\n",["\n",blanks(ni)])(:)'];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-v = sprintf (["Group {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              "  children [\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "%s",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              " ]\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "}\n"],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++v = sprintf (["Group {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              "  children [\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "%s",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              " ]\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "}\n"],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        s);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endfunction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_interp.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_interp.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -45,12 +45,12 @@ persistent nname = struct ("col"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if isfield (nname, typ)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   typs = nname.(typ);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ elseif ischar(typ)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#  e2 = leval ("sprintf",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  e2 = leval ("sprintf",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #       append (list("    '%s'\n"), fieldnames (nname)));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   e2 = sprintf("    '%s'\n", fieldnames (nname){:});
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   error ("vrml_interp : Unknown type '%s'. Should be in:\n%s",typ,e2);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#  e2 = leval ("sprintf",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  e2 = leval ("sprintf",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #       append (list("    '%s;\n"), fieldnames (nname)));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   e2 = sprintf("    '%s'\n", fieldnames (nname){:});
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   error ("vrml_interp : typ should be a string in:\n%s",typ,e2);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_material.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_material.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -53,10 +53,10 @@ if isempty (DEF), sd = "";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else              sd = ["DEF ",DEF];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-s = sprintf (["            material ",sd," Material {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        se,st,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "              diffuseColor  %8.3g %8.3g %8.3g \n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "          }\n"],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++s = sprintf (["            material ",sd," Material {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        se,st,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "              diffuseColor  %8.3g %8.3g %8.3g \n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "          }\n"],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        dc);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endfunction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_parallelepiped.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_parallelepiped.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -66,15 +66,15 @@ if balls
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-x = [bnds([1 2 2 1 1 2 2 1],1)';\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     bnds([1 1 2 2 1 1 2 2],2)';\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++x = [bnds([1 2 2 1 1 2 2 1],1)';...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     bnds([1 1 2 2 1 1 2 2],2)';...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      bnds([1 1 1 1 2 2 2 2],3)'];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-faces = [1 2 3 4;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   5 6 7 8;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   1 2 6 5;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   2 3 7 6;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   3 4 8 7;\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++faces = [1 2 3 4;...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   5 6 7 8;...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   1 2 6 5;...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   2 3 7 6;...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   3 4 8 7;...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    4 1 5 8]';
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           # The facet
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -99,8 +99,8 @@ if border
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if isnan (bocol), bocol = col; end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if !balls                       # Make pretty junctions of cylinders
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    s = [s,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   vrml_cyl(x(:,[1:columns(x),1]),"rad",borad,"emit",boemit,"col",col),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    s = [s,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   vrml_cyl(x(:,[1:columns(x),1]),"rad",borad,"emit",boemit,"col",col),...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    vrml_points(x(:,1),"balls","rad",borad,"emit",boemit,"col",col)];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else                            # but only if balls don't cover them
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     s = [s,vrml_cyl(x(:,[1:columns(x),1]),"rad",borad,"emit",boemit)];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_parallelogram.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_parallelogram.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -86,8 +86,8 @@ if border
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if isnan (bocol), bocol = col; end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if !balls                       # Make pretty junctions of cylinders
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    s = [s,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   vrml_cyl(x(:,[1:columns(x),1]),"rad",borad,"emit",boemit,"col",col),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    s = [s,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   vrml_cyl(x(:,[1:columns(x),1]),"rad",borad,"emit",boemit,"col",col),...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    vrml_points(x(:,1),"balls","rad",borad,"emit",boemit,"col",col)];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else                            # but only if balls don't cover them
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     s = [s,vrml_cyl(x(:,[1:columns(x),1]),"rad",borad,"emit",boemit)];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_points.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_points.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -103,19 +103,19 @@ if !balls && !cubes && !nums,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if prod (size (col)) == 3*P     # One color per point
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     smat = "";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    scol = sprintf ("  color Color { color [\n   %s]\n   }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    scol = sprintf ("  color Color { color [\n   %s]\n   }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               sprintf ("      %8.3f %8.3f %8.3f\n", col));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else                            # One color
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    smat = ["  appearance Appearance {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      vrml_material(col, emit),"\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    smat = ["  appearance Appearance {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      vrml_material(col, emit),"\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       "  }\n"];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     scol = "";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  s = sprintf(["Shape {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-         smat,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-         "  geometry PointSet {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-         scol,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  s = sprintf(["Shape {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++         smat,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++         "  geometry PointSet {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++         scol,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          "  coord DEF %s Coordinate {\n  point [\n  " ],name); # ] 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -131,28 +131,28 @@ elseif nums,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   s = "";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if prod (size (col)) == 3, col = col(:) * ones (1,P); end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   for i = 1:P,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    s0 = sprintf([\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "Transform {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "  translation %10.6g %10.6g %10.6g\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "  children [\n",\ # ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "    Billboard {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "      children [\n",\ # ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "        Shape {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "          appearance Appearance {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            vrml_material(col(:,i), emit, tran),"\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "          }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "          geometry Text {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "            string \"%s\"\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "            fontStyle FontStyle { size 0.25 }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "          }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "        }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "      ]\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "    }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "  ]\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "}\n"],\ # [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    s0 = sprintf([...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "Transform {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "  translation %10.6g %10.6g %10.6g\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "  children [\n",... # ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "    Billboard {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "      children [\n",... # ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "        Shape {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "          appearance Appearance {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            vrml_material(col(:,i), emit, tran),"\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "          }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "          geometry Text {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "            string \"%s\"\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "            fontStyle FontStyle { size 0.25 }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "          }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "        }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "      ]\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "    }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "  ]\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "}\n"],... # [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            x(:,i),sprintf("%d",i-1));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ## x(:,i),col,col,sprintf("%d",i-1));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    ## "              emissiveColor %8.3f %8.3f %8.3f\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ## "              emissiveColor %8.3f %8.3f %8.3f\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ## "      axisOfRotation 0.0 0.0 0.0\n",\ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     s = sprintf("%s%s",s,s0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -196,20 +196,20 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           # nodes individually
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if ! all_same_col, colorstr = vrml_material (col(:,i), emit); end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    s0 = sprintf([\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "Transform {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "  translation %10.6g %10.6g %10.6g\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "  children [\n",\ # ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "    Shape {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "      appearance Appearance {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            colorstr,"\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "      }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "      geometry ",shapestr,"\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "    }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "  ]\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "}\n"],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    s0 = sprintf([...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "Transform {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "  translation %10.6g %10.6g %10.6g\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "  children [\n",... # ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "    Shape {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "      appearance Appearance {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            colorstr,"\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "      }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "      geometry ",shapestr,"\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "    }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "  ]\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "}\n"],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            x(:,i));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    ## "          emissiveColor %8.3f %8.3f %8.3f\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ## "          emissiveColor %8.3f %8.3f %8.3f\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ##             x(:,i),col,col,shape);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     s = sprintf("%s%s",s,s0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_surf.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_surf.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -118,7 +118,7 @@ if numel (varargin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   op1 = " tran col creaseAngle emit colorPerVertex checker DEFcoord DEFcol zcol bwid tex ";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   op0 = " smooth zgray zrb steps bars " ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  default = tars (tran, col, creaseAngle, emit, colorPerVertex, steps, bars, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  default = tars (tran, col, creaseAngle, emit, colorPerVertex, steps, bars, ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             bwid, DEFcoord, DEFcol, zcol, smooth, checker, zgray, zrb, tex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   s = read_options (varargin,"op0",op0,"op1",op1,"default",default);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -374,7 +374,7 @@ if zgray || zrb || any (zcol(:)) # Treat
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ii = find (ci >= columns (zcol));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if ! isempty (ii), ci(ii) = columns (zcol) - 1; cw(ii) = 1; end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   col = zeros (3,R*C);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  col(:,keepip) = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  col(:,keepip) = ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       zcol(:,ci) .* ([1;1;1]*(1-cw)) + zcol(:,ci+1) .* ([1;1;1]*cw);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end                               # EOF zgray zrb and zcol options
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -419,8 +419,8 @@ if ! colorPerVertex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     col = reshape (col,3, (R-1)*(C-1));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     col = [col, col];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    printf(["vrml_surf : ",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      " colorPerVertex==0, (R-1)*(C-1)==%i, but col has size [%i,%i]\n"],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    printf(["vrml_surf : ",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      " colorPerVertex==0, (R-1)*(C-1)==%i, but col has size [%i,%i]\n"],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      R*C,size (col));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -441,9 +441,9 @@ if ! all(keepp),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     keept = all (reshape(keepp(trgs),3,2*(R-1)*(C-1)));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     tmp = reshape (keepp,R,C);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    keept = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  all (reshape (tmp(trgs(1:2,:)),2,2*(R-1)*(C-1))) & \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  [(tmp(1:R-1,2:C) | tmp(2:R,2:C))(:)', \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    keept = ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  all (reshape (tmp(trgs(1:2,:)),2,2*(R-1)*(C-1))) & ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  [(tmp(1:R-1,2:C) | tmp(2:R,2:C))(:)', ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    (tmp(1:R-1,1:C-1) | tmp(2:R,1:C-1))(:)'] ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -473,10 +473,10 @@ if ! all(keepp),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## printf ("Calling vrml_faces\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if !tex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  s = vrml_faces (pts, trgs, "col", col,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "colorPerVertex",colorPerVertex,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "creaseAngle", creaseAngle,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "tran", tran, "emit", emit,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  s = vrml_faces (pts, trgs, "col", col,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "colorPerVertex",colorPerVertex,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "creaseAngle", creaseAngle,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "tran", tran, "emit", emit,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             "DEFcoord",DEFcoord,"DEFcol",DEFcol);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    texXY = texXY(:,keepip);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -488,8 +488,8 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  texXY(:,trgs(:))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #   R, C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  keyboard
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  s = vrml_faces (pts, trgs,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            "tran", tran, "tex", tex, "tcoord", texXY,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  s = vrml_faces (pts, trgs,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "tran", tran, "tex", tex, "tcoord", texXY,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             "DEFcoord",DEFcoord,"DEFcol",DEFcol);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end  
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## printf ("Done\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_text.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_text.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -52,31 +52,31 @@ if nargin > 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   style=     s.style;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   verbose=   s.verbose;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-s = sprintf (["Shape {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "  appearance Appearance {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "    material Material {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "      diffuseColor  %8.3f %8.3f %8.3f\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "      emissiveColor %8.3f %8.3f %8.3f\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "    }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "  }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "  geometry Text {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "    string \"%s\"\n"\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "    fontStyle FontStyle {\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "      family  \"%s\"\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "      justify \"%s\"\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "      style   \"%s\"\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "      size     %-8.3f\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "    }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "  }\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        "}\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        ],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       col,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       col,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       t,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       family,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       justify,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       style,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       size\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++s = sprintf (["Shape {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "  appearance Appearance {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "    material Material {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "      diffuseColor  %8.3f %8.3f %8.3f\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "      emissiveColor %8.3f %8.3f %8.3f\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "    }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "  }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "  geometry Text {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "    string \"%s\"\n"...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "    fontStyle FontStyle {\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "      family  \"%s\"\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "      justify \"%s\"\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "      style   \"%s\"\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "      size     %-8.3f\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "    }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "  }\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "}\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       col,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       col,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       t,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       family,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       justify,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       style,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       size...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endfunction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- inst/vrml_transfo.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ inst/vrml_transfo.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -75,8 +75,8 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   error ("vrml_transfo : rotation should have size 3x3, 3 or 4\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if verbose,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  printf (["vrml_transfo : %8.3f %8.3f %8.3f %8.3f\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     "               %8.3f %8.3f %8.3f\n"],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  printf (["vrml_transfo : %8.3f %8.3f %8.3f %8.3f\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     "               %8.3f %8.3f %8.3f\n"],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     axis,ang,t);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   printf ("length of string is %i\n",prod(size(s)));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -103,11 +103,11 @@ if any (abs (c - c0)>sqrt (eps))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if !isempty (DEF), sd = ["DEF ",DEF," "]; end 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-v = sprintf([sd,"Transform {\n",sr,st,ss,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       "  children [\n%s\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       "           ]\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       "}\n",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       ],\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++v = sprintf([sd,"Transform {\n",sr,st,ss,...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       "  children [\n%s\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       "           ]\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       "}\n",...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       ],...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       s) ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## keyboard
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span></pre><pre style='margin:0'>

</pre>