[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Why does "mesh " set surface "facecolor" to "none"?
From: |
David Bateman |
Subject: |
Re: Why does "mesh " set surface "facecolor" to "none"? |
Date: |
Fri, 09 Nov 2007 11:33:20 +0100 |
User-agent: |
Thunderbird 1.5.0.7 (X11/20060921) |
Opps, wrong version of the patch included.. Use the attached version
instead.
D.
--
David Bateman address@hidden
Motorola Labs - Paris +33 1 69 35 48 04 (Ph)
Parc Les Algorithmes, Commune de St Aubin +33 6 72 01 06 33 (Mob)
91193 Gif-Sur-Yvette FRANCE +33 1 69 35 77 01 (Fax)
The information contained in this communication has been classified as:
[x] General Business Information
[ ] Motorola Internal Use Only
[ ] Motorola Confidential Proprietary
*** ./scripts/plot/mesh.m.orig12 2007-11-09 10:54:46.617681199 +0100
--- ./scripts/plot/mesh.m 2007-11-09 10:55:31.807334870 +0100
***************
*** 38,44 ****
ax = get (tmp, "parent");
! set (tmp, "facecolor", "none");
set (tmp, "edgecolor", "flat");
set (ax, "view", [-37.5, 30]);
--- 38,44 ----
ax = get (tmp, "parent");
! set (tmp, "facecolor", "w");
set (tmp, "edgecolor", "flat");
set (ax, "view", [-37.5, 30]);
*** ./scripts/plot/hidden.m.orig12 2007-11-09 10:54:52.412380694 +0100
--- ./scripts/plot/hidden.m 2007-11-09 11:31:05.768959824 +0100
***************
*** 0 ****
--- 1,78 ----
+ ## Copyright (C) 2007 Michael Goffioul
+ ##
+ ## This file is part of Octave.
+ ##
+ ## Octave is free software; you can redistribute it and/or modify it
+ ## under the terms of the GNU General Public License as published by
+ ## the Free Software Foundation; either version 3 of the License, or (at
+ ## your option) any later version.
+ ##
+ ## Octave is distributed in the hope that it will be useful, but
+ ## WITHOUT ANY WARRANTY; without even the implied warranty of
+ ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ ## General Public License for more details.
+ ##
+ ## You should have received a copy of the GNU General Public License
+ ## along with Octave; see the file COPYING. If not, see
+ ## <http://www.gnu.org/licenses/>.
+
+ ## -*- texinfo -*-
+ ## @deftypefn {Function File} {} hidden (@var{mode})
+ ## @deftypefnx {Function File} {} hidden ()
+ ## Manipulation the mesh hidden line removal. Called with no argument
+ ## the hidden line removal is toggled. The argument @var{mode} can be either
+ ## 'on' or 'off' and the set of the hidden line removal is set accordingly.
+ ## @seealso{mesh, meshc, surf}
+ ## @end deftypefn
+
+ ## PKG_ADD: mark_as_command hidden
+
+ function retval = hidden (mode)
+
+ if (nargin == 0)
+ mode = "swap";
+ elseif (nargin == 1);
+ if (ischar (mode))
+ mode = tolower (mode);
+ if (! strcmp (mode, "on") && ! strcmp (mode, "off"))
+ error ("hidden: mode expected to be 'on' or 'off'");
+ endif
+ else
+ error ("hidden: expecting mode to be a string");
+ endif
+ else
+ print_usage ();
+ endif
+
+ for h = get (gca (), "children");
+ htype = lower (get (h, "type"));
+ if (strcmp (htype, "surface"))
+ fc = get (h, "facecolor");
+ if ((! ischar (fc) && is_white (fc)) ||
+ (ischar (fc) && strcmp (fc, "none")))
+ switch (mode)
+ case "on"
+ set (h, "facecolor", "w");
+ case "off"
+ set (h, "facecolor", "none");
+ case "swap"
+ if (ischar (fc))
+ set (h, "facecolor", "w");
+ mode = "on";
+ else
+ set (h, "facecolor", "none");
+ mode = "off";
+ endif
+ endswitch
+ endif
+ endif
+ endfor
+
+ if (nargout > 0)
+ retval = mode;
+ endif
+ endfunction
+
+ function [ ret ] = is_white (color)
+ ret = all (color == 1);
+ endfunction
*** ./scripts/plot/Makefile.in.orig12 2007-11-09 10:54:59.337021447 +0100
--- ./scripts/plot/Makefile.in 2007-11-09 10:56:00.821825080 +0100
***************
*** 81,86 ****
--- 81,87 ----
gca.m \
gcf.m \
grid.m \
+ hidden.m \
hist.m \
hold.m \
isfigure.m \
*** ./scripts/plot/meshc.m.orig12 2007-11-09 10:55:05.395706999 +0100
--- ./scripts/plot/meshc.m 2007-11-09 10:55:44.290685595 +0100
***************
*** 35,41 ****
ax = get (tmp, "parent");
! set (tmp, "facecolor", "none");
set (tmp, "edgecolor", "flat");
set (ax, "view", [-37.5, 30]);
--- 35,41 ----
ax = get (tmp, "parent");
! set (tmp, "facecolor", "w");
set (tmp, "edgecolor", "flat");
set (ax, "view", [-37.5, 30]);
*** ./scripts/plot/__go_draw_axes__.m.orig12 2007-11-09 10:55:20.941899611
+0100
--- ./scripts/plot/__go_draw_axes__.m 2007-11-09 11:20:23.509771138 +0100
***************
*** 201,206 ****
--- 201,207 ----
data_idx = 0;
data = cell ();
is_image_data = [];
+ hidden_removal = true;
xminp = yminp = zminp = cminp = Inf;
xmax = ymax = zmax = cmax = -Inf;
***************
*** 341,347 ****
data{data_idx} = [xdat, ydat, zdat]';
usingclause{data_idx} = "using ($1):($2):($3)";
fputs (plot_stream, "set parametric;\n");
- fputs (plot_stream, "set hidden3d;\n");
fputs (plot_stream, "set style data lines;\n");
fputs (plot_stream, "set surface;\n");
fputs (plot_stream, "unset contour;\n");
--- 342,347 ----
***************
*** 670,676 ****
withclause{data_idx} = "with line palette";
fputs (plot_stream, "unset parametric;\n");
- fputs (plot_stream, "set hidden3d;\n");
fputs (plot_stream, "set style data lines;\n");
fputs (plot_stream, "set surface;\n");
fputs (plot_stream, "unset contour;\n");
--- 670,675 ----
***************
*** 686,693 ****
|| strncmp (obj.edgecolor, "interp", 6));
palette_data = [];
if (flat_interp_face
! || (flat_interp_edge && strncmp (obj.facecolor, "none", 4)))
palette_data = [1:rows(surf_colormap); surf_colormap'];
endif
--- 685,699 ----
|| strncmp (obj.edgecolor, "interp", 6));
palette_data = [];
+ if (strncmp (obj.facecolor, "none", 4))
+ hidden_removal = false;
+ endif
+
if (flat_interp_face
! || (flat_interp_edge &&
! (strncmp (obj.facecolor, "none", 4) ||
! (isnumeric (obj.facecolor) &&
! all (obj.facecolor == 1)))))
palette_data = [1:rows(surf_colormap); surf_colormap'];
endif
***************
*** 695,706 ****
palette_data = [1:2; [obj.facecolor; obj.facecolor]'];
endif
! if (strncmp (obj.facecolor, "none", 4)
&& isnumeric (obj.edgecolor))
palette_data = [1:2; [obj.edgecolor; obj.edgecolor]'];
endif
! if (strncmp (obj.facecolor, "none", 4))
elseif (flat_interp_face && strncmp (obj.edgecolor, "flat", 4))
fprintf (plot_stream, "set pm3d at s %s;\n", interp_str);
else
--- 701,717 ----
palette_data = [1:2; [obj.facecolor; obj.facecolor]'];
endif
!
! if ((strncmp (obj.facecolor, "none", 4) ||
! (isnumeric (obj.facecolor) &&
! all (obj.facecolor == 1)))
&& isnumeric (obj.edgecolor))
palette_data = [1:2; [obj.edgecolor; obj.edgecolor]'];
endif
! if (strncmp (obj.facecolor, "none", 4) ||
! (isnumeric (obj.facecolor) &&
! all (obj.facecolor == 1)))
elseif (flat_interp_face && strncmp (obj.edgecolor, "flat", 4))
fprintf (plot_stream, "set pm3d at s %s;\n", interp_str);
else
***************
*** 820,825 ****
--- 831,842 ----
endfor
+ if (hidden_removal)
+ fputs (plot_stream, "set hidden3d;\n");
+ else
+ fputs (plot_stream, "unset hidden3d;\n");
+ endif
+
have_data = (! (isempty (data) && any (cellfun (@isempty, data))));
if (xautoscale && have_data)
2007-11-09 David Bateman <address@hidden>
* plot/hidden.m: New function.
* plot/Makefile.in (SOURCES): Add it here.
* plot/meshc.m, plot/mesh.m: Set facecolor to White for hidden
line removal.
* plot/__go_draw_axes__.m: If facecolor is white flag hidden line
removal and if it is "none" don't do hidden line removal.
2007-11-09 David Bateman <address@hidden>
* interpreter/plot.txi: Document the hidden function.
- Why does "mesh " set surface "facecolor" to "none"?, Michael Goffioul, 2007/11/08
- Re: Why does "mesh " set surface "facecolor" to "none"?, Kai Habel, 2007/11/08
- Re: Why does "mesh " set surface "facecolor" to "none"?, David Bateman, 2007/11/09
- Re: Why does "mesh " set surface "facecolor" to "none"?,
David Bateman <=
- Re: Why does "mesh " set surface "facecolor" to "none"?, John W. Eaton, 2007/11/09
- Re: Why does "mesh " set surface "facecolor" to "none"?, David Bateman, 2007/11/09
- Re: Why does "mesh " set surface "facecolor" to "none"?, John W. Eaton, 2007/11/09
- Re: Why does "mesh " set surface "facecolor" to "none"?, David Bateman, 2007/11/09
- Re: Why does "mesh " set surface "facecolor" to "none"?, John W. Eaton, 2007/11/09
- Re: Why does "mesh " set surface "facecolor" to "none"?, David Bateman, 2007/11/09
Re: Why does "mesh " set surface "facecolor" to "none"?, Kai Habel, 2007/11/08