Update of /cvsroot/octave/octave-forge/main/vrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23361 Modified Files: best_dir.m best_dir_cov.m bound_convex.m proplan.m save_vrml.m select_3D_points.m test_vmesh.m test_vrml_faces.m vmesh.m vrml_Background.m vrml_PointLight.m vrml_arrow.m vrml_browse.m vrml_cyl.m vrml_demo_tutorial_1.m vrml_demo_tutorial_2.m vrml_demo_tutorial_3.m vrml_demo_tutorial_4.m vrml_faces.m vrml_flatten.m vrml_frame.m vrml_group.m vrml_kill.m vrml_lines.m vrml_material.m vrml_parallelogram.m vrml_points.m vrml_select_points.m vrml_surf.m vrml_text.m vrml_thick_surf.m vrml_transfo.m Log Message: Fix for new freewrl usage Index: vrml_demo_tutorial_4.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_demo_tutorial_4.m,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- vrml_demo_tutorial_4.m 25 May 2005 03:41:16 -0000 1.4 +++ vrml_demo_tutorial_4.m 14 Aug 2005 03:15:54 -0000 1.5 @@ -56,3 +56,5 @@ + + Index: vrml_demo_tutorial_1.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_demo_tutorial_1.m,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- vrml_demo_tutorial_1.m 25 May 2005 03:41:16 -0000 1.3 +++ vrml_demo_tutorial_1.m 14 Aug 2005 03:15:54 -0000 1.4 @@ -44,3 +44,6 @@ pause vmesh (zz,"checker",[5,-2],"col",[1 0 0;0.7 0.7 0.7]'); + + +vmesh (zz,"checker",[5,-2],"col",[1 0 0;0.7 0.7 0.7]'); Index: proplan.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/proplan.m,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- proplan.m 25 May 2005 03:41:16 -0000 1.3 +++ proplan.m 14 Aug 2005 03:15:54 -0000 1.4 @@ -31,3 +31,5 @@ x -= d*d'*(x-p) ; # x = p + (eye(N)-d*d')*(x-p) ; +endfunction + Index: vrml_transfo.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_transfo.m,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- vrml_transfo.m 25 May 2005 03:41:16 -0000 1.7 +++ vrml_transfo.m 14 Aug 2005 03:15:54 -0000 1.8 @@ -111,3 +111,5 @@ s) ; ## keyboard +endfunction + Index: vrml_demo_tutorial_2.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_demo_tutorial_2.m,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- vrml_demo_tutorial_2.m 25 May 2005 03:41:16 -0000 1.4 +++ vrml_demo_tutorial_2.m 14 Aug 2005 03:15:54 -0000 1.5 @@ -13,6 +13,9 @@ ## Author : Etienne Grossmann <et...@cs...> +printf("vrml_select_points does not work any more. Sorry\n"); +return + printf (["\n",\ " VRML Mini-HOWTO's second listing\n",\ " Show 3D points and select some with the mouse\n\n"]); @@ -38,3 +41,5 @@ printf ("The selected points are : \n"); s + + Index: vrml_thick_surf.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_thick_surf.m,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- vrml_thick_surf.m 25 May 2005 03:41:16 -0000 1.6 +++ vrml_thick_surf.m 14 Aug 2005 03:15:54 -0000 1.7 @@ -180,3 +180,5 @@ ## c(holes) = nan; ## vrml_browse ("tmp.wrl",vrml_thick_surf (x, y, c)) ## or save_vrml ("tmp.wrl", vrml_thick_surf (x, y, c)) +endfunction + Index: vrml_demo_tutorial_3.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_demo_tutorial_3.m,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- vrml_demo_tutorial_3.m 25 May 2005 03:41:16 -0000 1.3 +++ vrml_demo_tutorial_3.m 14 Aug 2005 03:15:54 -0000 1.4 @@ -43,3 +43,5 @@ + + Index: vrml_text.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_text.m,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- vrml_text.m 25 May 2005 03:41:16 -0000 1.7 +++ vrml_text.m 14 Aug 2005 03:15:54 -0000 1.8 @@ -81,3 +81,5 @@ size\ ); +endfunction + Index: save_vrml.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/save_vrml.m,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- save_vrml.m 25 May 2005 03:41:16 -0000 1.8 +++ save_vrml.m 14 Aug 2005 03:15:54 -0000 1.9 @@ -118,3 +118,5 @@ fprintf(fid,"\n"); fclose(fid); +endfunction + Index: vrml_select_points.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_select_points.m,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- vrml_select_points.m 25 May 2005 03:41:16 -0000 1.4 +++ vrml_select_points.m 14 Aug 2005 03:15:54 -0000 1.5 @@ -26,6 +26,8 @@ ## Author : Etienne Grossmann <et...@cs...> function s = vrml_select_points (x, state, sphere) +printf("vrml_select_points does not work any more. Sorry\n"); +return P = columns (x); if nargin < 2, @@ -65,3 +67,5 @@ s1 = sprintf (tp, [col1; state; x; diam*ones(3,P);1:P]); s = [s0,s1]; +endfunction + Index: test_vrml_faces.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/test_vrml_faces.m,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- test_vrml_faces.m 25 May 2005 03:41:16 -0000 1.4 +++ test_vrml_faces.m 14 Aug 2005 03:15:54 -0000 1.5 @@ -119,3 +119,5 @@ + + Index: vrml_arrow.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_arrow.m,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- vrml_arrow.m 25 May 2005 03:41:16 -0000 1.5 +++ vrml_arrow.m 14 Aug 2005 03:15:54 -0000 1.6 @@ -102,3 +102,5 @@ [0,sz(2)/2+sz(1)-sz(2),0],\ sz(3),\ sz(2)); +endfunction + Index: vrml_browse.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_browse.m,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- vrml_browse.m 25 May 2005 03:41:16 -0000 1.8 +++ vrml_browse.m 14 Aug 2005 03:15:54 -0000 1.9 @@ -45,7 +45,8 @@ best_option = " "; # Allow scripting and specify where # browser's output goes -out_option = "--ps --psout /tmp/octave_browser_out.txt " ; +##out_option = "--ps --psout /tmp/octave_browser_out.txt " ; +out_option = " " ; global vrml_b_pid = 0; global vrml_b_name = []; @@ -72,7 +73,9 @@ vrml_b_name = "freewrl" ; -b_opt = [out_option," ",bop," ",best_option," --server --snapb octave.snap "] ; +##b_opt = [out_option," ",bop," ",best_option," --server --snapb octave.snap "] ; +b_opt = [out_option," ",bop," ",best_option] ; + b_temp = "/tmp/octave_vrml_output.wrl" ; b_log = " &> /tmp/octave_vrml_browser.log"; @@ -165,16 +168,23 @@ # and exits. Octave reads the output of the # system call, which is the browser's pid. # Phew! - [out, status] = system ([vrml_b_name," ",b_opt," \"file:",b_temp,"\""], 1); +## [out, status] = system (cmd = [vrml_b_name," ",b_opt," \"file:",b_temp,"\""], 1); + [out, status] = system (cmd = [vrml_b_name," ",b_opt," ",b_temp], 1); +## cmd if status, printf("vrml_browse : Can't start browser '%s'. Is it installed?\n",\ vrml_b_name); - p = vrml_b_pid ; + p = vrml_b_pid ; return ; else - vrml_b_pid = str2num (out); + vrml_b_pid = -1; + server_works = 0; + if server_works + vrml_b_pid = str2num (out); + end + if verbose, printf( "vrml_browse : OK\n"); end end Index: vrml_lines.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_lines.m,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- vrml_lines.m 25 May 2005 03:41:16 -0000 1.9 +++ vrml_lines.m 14 Aug 2005 03:15:54 -0000 1.10 @@ -95,3 +95,5 @@ sprintf(" %8.3f %8.3f %8.3f,\n",x)) ; +endfunction + Index: vrml_frame.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_frame.m,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- vrml_frame.m 25 May 2005 03:41:16 -0000 1.14 +++ vrml_frame.m 14 Aug 2005 03:15:54 -0000 1.15 @@ -138,3 +138,5 @@ v = vrml_transfo (f0, t, nan); +endfunction + Index: bound_convex.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/bound_convex.m,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- bound_convex.m 25 May 2005 03:41:16 -0000 1.3 +++ bound_convex.m 14 Aug 2005 03:15:54 -0000 1.4 @@ -104,3 +104,5 @@ ## Shift back y into place y = y+c(:,1:size(y,2)) ; +endfunction + Index: vrml_Background.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_Background.m,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- vrml_Background.m 25 May 2005 03:41:16 -0000 1.8 +++ vrml_Background.m 14 Aug 2005 03:15:54 -0000 1.9 @@ -82,3 +82,5 @@ end end s = sprintf ("Background { \n%s}\n", body); +endfunction + Index: best_dir.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/best_dir.m,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- best_dir.m 25 May 2005 03:41:16 -0000 1.3 +++ best_dir.m 14 Aug 2005 03:15:54 -0000 1.4 @@ -176,3 +176,7 @@ wx = tmp ; end end + +endfunction + + Index: vrml_material.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_material.m,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- vrml_material.m 25 May 2005 03:41:16 -0000 1.7 +++ vrml_material.m 14 Aug 2005 03:15:54 -0000 1.8 @@ -57,3 +57,5 @@ " diffuseColor %8.3g %8.3g %8.3g \n",\ " }\n"],\ dc); +endfunction + Index: vrml_flatten.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_flatten.m,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- vrml_flatten.m 25 May 2005 03:41:16 -0000 1.3 +++ vrml_flatten.m 14 Aug 2005 03:15:54 -0000 1.4 @@ -39,4 +39,7 @@ Q = columns (y); faces = [ones(1,Q-2); 2:Q-1; 3:Q]; + s = vrml_faces (y, faces, "col",col); +endfunction + Index: vrml_PointLight.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_PointLight.m,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- vrml_PointLight.m 25 May 2005 03:41:16 -0000 1.8 +++ vrml_PointLight.m 14 Aug 2005 03:15:54 -0000 1.9 @@ -70,3 +70,5 @@ if struct_contains (h,"DEF") && !isempty (h.DEF) s = ["DEF ",h.DEF," ",s]; end +endfunction + Index: vrml_cyl.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_cyl.m,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- vrml_cyl.m 25 May 2005 03:41:16 -0000 1.8 +++ vrml_cyl.m 14 Aug 2005 03:15:54 -0000 1.9 @@ -143,3 +143,5 @@ end +endfunction + Index: vrml_points.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_points.m,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- vrml_points.m 25 May 2005 03:41:16 -0000 1.13 +++ vrml_points.m 14 Aug 2005 03:15:54 -0000 1.14 @@ -216,3 +216,5 @@ s = sprintf("%s%s",s,s0); end end +endfunction + Index: vrml_faces.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_faces.m,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- vrml_faces.m 25 May 2005 03:41:16 -0000 1.12 +++ vrml_faces.m 14 Aug 2005 03:15:54 -0000 1.13 @@ -68,222 +68,234 @@ ## mytic; starttime = cputime(); -tran = 0 ; -col = [0.3, 0.4, 0.9] ; -convex = emit = 0; -tcoord = imsz = tex = smooth = creaseAngle = nan ; -colorPerVertex = nan; -DEFcol = DEFcoord = ""; + tran = 0 ; + col = [0.3, 0.4, 0.9] ; + convex = emit = 0; + tcoord = imsz = tex = smooth = creaseAngle = nan ; + colorPerVertex = nan; + DEFcol = DEFcoord = ""; -## Read options ###################################################### -opt1 = " tex DEFcoord DEFcol imsz tcoord tran col creaseAngle colorPerVertex emit " ; -opt0 = " smooth convex " ; + ## Read options ###################################################### + opt1 = " tex DEFcoord DEFcol imsz tcoord tran col creaseAngle colorPerVertex emit " ; + opt0 = " smooth convex " ; -verbose = 0 ; -nargin = nargin(); -nargin -= 2 ; + verbose = 0 ; + nargin = nargin(); + nargin -= 2 ; -i = 1; -while nargin>=i - tmp = nth (varargin, i++); - if ! isstr(tmp) , - error ("vrml_faces : Non-string option : \n") ; - ## keyboard - end + i = 1; + while nargin>=i + tmp = nth (varargin, i++); + if ! isstr(tmp) , + error ("vrml_faces : Non-string option : \n") ; + ## keyboard + end - if index(opt1,[" ",tmp," "]) , - - tmp2 = nth (varargin, i++) ; + if index(opt1,[" ",tmp," "]) , + + tmp2 = nth (varargin, i++) ; - eval([tmp,"=tmp2;"]) ; + eval([tmp,"=tmp2;"]) ; - if verbose , printf ("vrml_faces : Read option : %s.\n",tmp); end + if verbose , printf ("vrml_faces : Read option : %s.\n",tmp); end - elseif index(opt0,[" ",tmp," "]) , - - eval([tmp,"=1;"]) ; - if verbose , printf ("vrml_faces : Read boolean option : %s\n",tmp); end + elseif index(opt0,[" ",tmp," "]) , + + eval([tmp,"=1;"]) ; + if verbose , printf ("vrml_faces : Read boolean option : %s\n",tmp); end - else - error ("vrml_faces : Unknown option : %s\n",tmp) ; - ## keyboard + else + error ("vrml_faces : Unknown option : %s\n",tmp) ; + ## keyboard + end + endwhile + ## printf (" Options : %f\n",mytic()); ## Just for measuring time + ## End of reading options ############################################ + + if !isempty (DEFcol), col_def_str = ["DEF ",DEFcol]; + else col_def_str = ""; end -endwhile -## printf (" Options : %f\n",mytic()); ## Just for measuring time -## End of reading options ############################################ -if !isempty (DEFcol), col_def_str = ["DEF ",DEFcol]; -else col_def_str = ""; -end + if ! isnan (smooth), creaseAngle = pi ; end -if ! isnan (smooth), creaseAngle = pi ; end + ## printf ("creaseAngle = %8.3f\n",creaseAngle); -## printf ("creaseAngle = %8.3f\n",creaseAngle); + ## TODO : s/list/cell/g; Should put this code in sometime soon + ## if is_list (f), tmp={}; for i=1:length(f), tmp{i}=nth(f,i);end; f=tmp; end; + ## if is_list (f), nfaces = length (f); else nfaces = columns (f); end -if is_list (f), nfaces = length (f); else nfaces = columns (f); end + if is_list (f), nfaces = length (f); else nfaces = columns (f); end -if ! isnan (tcoord) + if ! isnan (tcoord) - col_str_1 = sprintf ([" appearance Appearance {\n",... - " texture ImageTexture {\n",... - " url \"%s\"\n",... - " }\n",... - " }\n"],... - tex); + col_str_1 = sprintf ([" appearance Appearance {\n",... + " texture ImageTexture {\n",... + " url \"%s\"\n",... + " }\n",... + " }\n"],... + tex); - texcoord_point_str = sprintf (" %8.5f %8.5f\n", tcoord); - - col_str_2 = sprintf ([" texCoord TextureCoordinate {\n",\ - " point [\n %s]\n",\ - " }\n"\ - ],\ - texcoord_point_str\ - ); - + texcoord_point_str = sprintf (" %8.5f %8.5f\n", tcoord); + + col_str_2 = sprintf ([" texCoord TextureCoordinate {\n",\ + " point [\n %s]\n",\ + " }\n"\ + ],\ + texcoord_point_str\ + ); + # If texture has been provided -elseif isstr (tex), # Assume triangles + elseif isstr (tex), # Assume triangles - ## printf ("Using texture\n"); - - col_str_1 = sprintf ([" appearance Appearance {\n",... - " texture ImageTexture {\n",... - " url \"%s\"\n",... - " }\n",... - " }\n"],... - tex); - + ## printf ("Using texture\n"); + + col_str_1 = sprintf ([" appearance Appearance {\n",... + " texture ImageTexture {\n",... + " url \"%s\"\n",... + " }\n",... + " }\n"],... + tex); + # Eventually determine size of image - if isnan(imsz), imsz = imginfo (tex); end + if isnan(imsz), imsz = imginfo (tex); end - if isnan (tcoord), + if isnan (tcoord), - nb = ceil (nfaces/2); # n of blocks - lo = [0:nb-1]/nb; hi = [1:nb]/nb; - on = ones (1,nb); ze = zeros (1,nb); + nb = ceil (nfaces/2); # n of blocks + lo = [0:nb-1]/nb; hi = [1:nb]/nb; + on = ones (1,nb); ze = zeros (1,nb); + + sm = (1/nb) /(imsz(2)+1); + tcoord = [lo; on; lo; ze; hi-sm; ze; lo+sm; on; hi-sm; on; hi-sm; ze]; + tcoord = reshape (tcoord, 2, 6*nb); + tcoord = tcoord (:,1:3*nfaces); + end + + col_str_2 = sprintf ([" texCoord TextureCoordinate {\n",\ + " point [\n %s]\n",\ + " }\n",\ + " texCoordIndex [\n %s]\n",\ + " coordIndex [\n %s]\n",\ + ],\ + sprintf ("%10.8f %10.8f,\n ",tcoord),\ + sprintf ("%-4d, %-4d, %-4d, -1,\n ",0:3*nfaces-1),\ + sprintf ("%-4d, %-4d, %-4d, -1,\n ",f-1) + ); - sm = (1/nb) /(imsz(2)+1); - tcoord = [lo; on; lo; ze; hi-sm; ze; lo+sm; on; hi-sm; on; hi-sm; ze]; - tcoord = reshape (tcoord, 2, 6*nb); - tcoord = tcoord (:,1:3*nfaces); - end + ## TODO : f-1 abobe seems to not work if f is a cell or list (check + ## whether this is possible here) - col_str_2 = sprintf ([" texCoord TextureCoordinate {\n",\ - " point [\n %s]\n",\ - " }\n",\ - " texCoordIndex [\n %s]\n",\ - " coordIndex [\n %s]\n",\ - ],\ - sprintf ("%10.8f %10.8f,\n ",tcoord),\ - sprintf ("%-4d, %-4d, %-4d, -1,\n ",0:3*nfaces-1),\ - sprintf ("%-4d, %-4d, %-4d, -1,\n ",f-1) - ); - - -elseif prod (size (col))==3, # One color has been specified for the whole + elseif prod (size (col))==3, # One color has been specified for the whole # surface - col_str_1 = [" appearance Appearance {\n",... - vrml_material(col, emit, tran,DEFcol),\ - " }\n"]; + col_str_1 = [" appearance Appearance {\n",... + vrml_material(col, emit, tran,DEFcol),\ + " }\n"]; - col_str_2 = ""; -else - if (emit) # Color is emissive by default - col_str_1 = ""; - + col_str_2 = ""; + else + if (emit) # Color is emissive by default + col_str_1 = ""; + - else # If there's a material node, it is not + else # If there's a material node, it is not # emissive. - if tran, ts = sprintf ("transparency %8.3f",tran); - else ts = ""; + if tran, ts = sprintf ("transparency %8.3f",tran); + else ts = ""; + end + col_str_1 = ["appearance Appearance {\n",\ + " material Material {",ts,"}\n}\n"]; end - col_str_1 = ["appearance Appearance {\n",\ - " material Material {",ts,"}\n}\n"]; - end - if isnan (colorPerVertex) - if prod (size (col)) == 3*columns (x), colorPerVertex = 1; - elseif prod (size (col)) == 3*columns (f), colorPerVertex = 0; + if isnan (colorPerVertex) + if prod (size (col)) == 3*columns (x), colorPerVertex = 1; + elseif prod (size (col)) == 3*columns (f), colorPerVertex = 0; + end end - end - if colorPerVertex, cPVs = "TRUE"; else cPVs = "FALSE"; end + if colorPerVertex, cPVs = "TRUE"; else cPVs = "FALSE"; end - col_str_2 = sprintf ([" colorPerVertex %s\n",\ - " color %s Color {\n",\ - " color [\n%s\n",\ - " ]\n",\ - " }"],\ - cPVs,\ - col_def_str,\ - sprintf(" %8.3f %8.3f %8.3f,\n",col)); -end + col_str_2 = sprintf ([" colorPerVertex %s\n",\ + " color %s Color {\n",\ + " color [\n%s\n",\ + " ]\n",\ + " }"],\ + cPVs,\ + col_def_str,\ + sprintf(" %8.3f %8.3f %8.3f,\n",col)); + end -## printf (" Colors : %f\n",mytic()); ## Just for measuring time + ## printf (" Colors : %f\n",mytic()); ## Just for measuring time -etc_str = "" ; -if ! isnan (creaseAngle), - etc_str = [etc_str, sprintf(" creaseAngle %8.3f\n",creaseAngle)]; -end + etc_str = "" ; + if ! isnan (creaseAngle), + etc_str = [etc_str, sprintf(" creaseAngle %8.3f\n",creaseAngle)]; + end + ## TODO : s/list/cell/g; Should put this code in sometime soon + ## Code below seems useless # Faces -if is_list (f), nfaces = length (f); else nfaces = columns (f); end + if is_list (f), nfaces = length (f); else nfaces = columns (f); end -tpl0 = sprintf ("%%%dd, ",floor (log10 (columns (x)))+1); -ltpl0 = length (tpl0); + tpl0 = sprintf ("%%%dd, ",floor (log10 (columns (x)))+1); + ltpl0 = length (tpl0); -ptsface = zeros (1,nfaces); + ptsface = zeros (1,nfaces); # Determine total number of vertices, number # of vertices per face and indexes of # vertices of each face -if is_list (f) + ## TODO : s/list/cell/g; Should put this code in sometime soon + ## if iscell (f), ... f{i} + if is_list (f) - npts = 0; - for i = 1:length (f), npts += ptsface(i) = 1+length (nth (f,i)); end - ii = [0, cumsum(ptsface)]'; - all_indexes = -ones (1,npts); - for i = 1:length (f), all_indexes(ii(i)+1:ii(i+1)-1) = nth (f,i) - 1; end -else - f = [f;-ones(1,columns(f))]; - npts = sum (ptsface = (sum (!! f))); - all_indexes = nze (f) - 1; - all_indexes(find (all_indexes<0)) = -1; -end -## printf (" Indexes : %f\n",mytic()); ## Just for measuring time + npts = 0; + for i = 1:length (f), npts += ptsface(i) = 1+length (nth (f,i)); end + ii = [0, cumsum(ptsface)]'; + all_indexes = -ones (1,npts); + for i = 1:length (f), all_indexes(ii(i)+1:ii(i+1)-1) = nth (f,i) - 1; end + else + f = [f;-ones(1,columns(f))]; + npts = sum (ptsface = (sum (!! f))); + all_indexes = nze (f) - 1; + all_indexes(find (all_indexes<0)) = -1; + end + ## printf (" Indexes : %f\n",mytic()); ## Just for measuring time -coord_str = sprintf (tpl0, all_indexes); -## That's too slow coord_str = strrep (coord_str, "-1, ","-1,\n"); + coord_str = sprintf (tpl0, all_indexes); + ## That's too slow coord_str = strrep (coord_str, "-1, ","-1,\n"); -## printf (" Faces : %f\n",mytic()); ## Just for measuring time + ## printf (" Faces : %f\n",mytic()); ## Just for measuring time -if ! convex, etc_str = [etc_str," convex FALSE\n"]; end + if ! convex, etc_str = [etc_str," convex FALSE\n"]; end -if !isempty (DEFcoord), coord_def_str = ["DEF ",DEFcoord]; -else coord_def_str = ""; -end + if !isempty (DEFcoord), coord_def_str = ["DEF ",DEFcoord]; + else coord_def_str = ""; + end -s = sprintf([... # string of indexed face set - "Shape {\n",... - col_str_1,... - " geometry IndexedFaceSet {\n",... - " solid FALSE # Show back of faces too\n",... - col_str_2,... - etc_str,... - " coordIndex [\n%s]\n",... - " coord %s Coordinate {\n",... - " point [\n%s]\n",... - " }\n",... - " }\n",... - "}\n",... - ],... - coord_str,... - coord_def_str,... - sprintf(" %8.3f %8.3f %8.3f,\n",x)) ; -## printf (" Assembly : %f\n",mytic()); ## Just for measuring time -## printf ("Total Time : %f\n",cputime() - starttime); + s = sprintf([... # string of indexed face set + "Shape {\n",... + col_str_1,... + " geometry IndexedFaceSet {\n",... + " solid FALSE # Show back of faces too\n",... + col_str_2,... + etc_str,... + " coordIndex [\n%s]\n",... + " coord %s Coordinate {\n",... + " point [\n%s]\n",... + " }\n",... + " }\n",... + "}\n",... + ],... + coord_str,... + coord_def_str,... + sprintf(" %8.3f %8.3f %8.3f,\n",x)) ; + ## printf (" Assembly : %f\n",mytic()); ## Just for measuring time + ## printf ("Total Time : %f\n",cputime() - starttime); %!demo %! % Test the vrml_faces and vrml_browse functions with the test_vrml_faces script %! test_vrml_faces +endfunction + Index: select_3D_points.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/select_3D_points.m,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- select_3D_points.m 25 May 2005 03:41:16 -0000 1.9 +++ select_3D_points.m 14 Aug 2005 03:15:54 -0000 1.10 @@ -143,3 +143,5 @@ msg,err); end end +endfunction + Index: vrml_kill.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_kill.m,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- vrml_kill.m 25 May 2005 03:41:16 -0000 1.3 +++ vrml_kill.m 14 Aug 2005 03:15:54 -0000 1.4 @@ -31,3 +31,5 @@ end vrml_b_pid = 0; return +endfunction + Index: test_vmesh.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/test_vmesh.m,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- test_vmesh.m 25 May 2005 03:41:16 -0000 1.6 +++ test_vmesh.m 14 Aug 2005 03:15:54 -0000 1.7 @@ -60,3 +60,5 @@ printf ("That's it!\n"); + + Index: vrml_parallelogram.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_parallelogram.m,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- vrml_parallelogram.m 25 May 2005 03:41:16 -0000 1.6 +++ vrml_parallelogram.m 14 Aug 2005 03:15:54 -0000 1.7 @@ -90,4 +90,8 @@ else # but only if balls don't cover them s = [s,vrml_cyl(x(:,[1:columns(x),1]),"rad",borad,"emit",boemit)]; end + end + +endfunction + Index: best_dir_cov.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/best_dir_cov.m,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- best_dir_cov.m 25 May 2005 03:41:16 -0000 1.3 +++ best_dir_cov.m 14 Aug 2005 03:15:54 -0000 1.4 @@ -114,3 +114,5 @@ +endfunction + Index: vrml_group.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_group.m,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- vrml_group.m 25 May 2005 03:41:16 -0000 1.7 +++ vrml_group.m 14 Aug 2005 03:15:54 -0000 1.8 @@ -43,3 +43,5 @@ " ]\n",\ "}\n"],\ s); +endfunction + Index: vrml_surf.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vrml_surf.m,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- vrml_surf.m 25 May 2005 03:41:16 -0000 1.9 +++ vrml_surf.m 14 Aug 2005 03:15:54 -0000 1.10 @@ -337,3 +337,5 @@ ## save_vrml("tmp.wrl",vrml_surf(x,y,z+1)) ## save_vrml("tmp.wrl",vrml_surf(z,"col",[0.5,0,0],"tran",0.5),vrml_surf(z+1)) +endfunction + Index: vmesh.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/vrml/vmesh.m,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- vmesh.m 25 May 2005 03:41:16 -0000 1.13 +++ vmesh.m 14 Aug 2005 03:15:54 -0000 1.14 @@ -152,7 +152,7 @@ ptssz = (maxpts - minpts); ptssz = max (ptssz, max (ptssz/10)); -if frame, fr = vrml_frame (minpts-ptssz/10, +if frame, fr = vrml_frame (minpts-ptssz/10,\ "scale", ptssz * 1.2, "col",(ones(3)+eye(3))/2); else fr = ""; end @@ -224,3 +224,5 @@ ## %! test_vmesh +endfunction + |