X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Fm%2Fplot%2Fshading.m;fp=octave_packages%2Fm%2Fplot%2Fshading.m;h=e396227ea79e030f96f447f6b69989e9553fd441;hp=0000000000000000000000000000000000000000;hb=1c0469ada9531828709108a4882a751d2816994a;hpb=63de9f36673d49121015e3695f2c336ea92bc278 diff --git a/octave_packages/m/plot/shading.m b/octave_packages/m/plot/shading.m new file mode 100644 index 0000000..e396227 --- /dev/null +++ b/octave_packages/m/plot/shading.m @@ -0,0 +1,113 @@ +## Copyright (C) 2006-2012 Kai Habel +## +## 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 +## . + +## -*- texinfo -*- +## @deftypefn {Function File} {} shading (@var{type}) +## @deftypefnx {Function File} {} shading (@var{ax}, @dots{}) +## Set the shading of surface or patch graphic objects. Valid arguments +## for @var{type} are +## +## @table @asis +## @item "flat" +## Single colored patches with invisible edges. +## +## @item "faceted" +## Single colored patches with visible edges. +## +## @item "interp" +## Color between patch vertices are interpolated and the patch edges are +## invisible. +## @end table +## +## If @var{ax} is given the shading is applied to axis @var{ax} instead +## of the current axis. +## @end deftypefn + +## Author: Kai Habel + +function shading (varargin) + + [ax, varargin] = __plt_get_axis_arg__ ("shading", varargin{:}); + + if (nargin != 1 && nargin != 2) + print_usage (); + endif + + mode = varargin{1}; + + h1 = findobj (ax, "type", "patch"); + h2 = findobj (ax, "type", "surface"); + + obj = [h1(:); h2(:)]; + + for n = 1:numel(obj) + h = obj(n); + if (strcmpi (mode, "flat")) + set (h, "facecolor", "flat"); + set (h, "edgecolor", "none"); + elseif (strcmpi (mode, "interp")) + set (h, "facecolor", "interp"); + set (h, "edgecolor", "none"); + elseif (strcmpi (mode, "faceted")) + set (h, "facecolor", "flat"); + set (h, "edgecolor", [0 0 0]); + else + error ("shading: unknown argument"); + endif + endfor + +endfunction + + +%!demo +%! clf +%! colormap (jet) +%! sombrero +%! shading faceted +%! title ('shading "faceted"') + +%!demo +%! clf +%! sombrero +%! shading flat +%! title ('shading "flat"') + +%!demo +%! clf +%! sombrero +%! shading interp +%! title ('shading "interp"') + +%!demo +%! clf +%! pcolor (peaks ()) +%! shading faceted +%! title ('shading "faceted"') + +%!demo +%! clf +%! pcolor (peaks ()) +%! shading flat +%! title ('shading "flat"') + +%!demo +%! clf +%! pcolor (peaks ()) +%! shading interp +%! title ('shading "interp"') +