Mercurial > hg > octave-lyh
annotate scripts/plot/__plt2__.m @ 9110:22ae6b3411a7
Add isocolor, isonormals and isosurface functions (For Martin Helm). Add 3D filled triangular patches and the trisurf function
author | David Bateman <dbateman@free.fr> |
---|---|
date | Sat, 11 Apr 2009 16:26:01 +0200 |
parents | eb63fbe60fab |
children |
rev | line source |
---|---|
8920 | 1 ## Copyright (C) 1994, 1995, 1996, 1997, 2000, 2002, 2005, 2006, 2007, |
2 ## 2008, 2009 John W. Eaton | |
2313 | 3 ## |
4 ## This file is part of Octave. | |
5 ## | |
6 ## Octave is free software; you can redistribute it and/or modify it | |
7 ## under the terms of the GNU General Public License as published by | |
7016 | 8 ## the Free Software Foundation; either version 3 of the License, or (at |
9 ## your option) any later version. | |
2313 | 10 ## |
11 ## Octave is distributed in the hope that it will be useful, but | |
12 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 ## General Public License for more details. | |
15 ## | |
16 ## You should have received a copy of the GNU General Public License | |
7016 | 17 ## along with Octave; see the file COPYING. If not, see |
18 ## <http://www.gnu.org/licenses/>. | |
933 | 19 |
8812
7d48766c21a5
use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents:
7664
diff
changeset
|
20 ## -*- texinfo -*- |
7d48766c21a5
use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents:
7664
diff
changeset
|
21 ## @deftypefn {Function File} {} __plt2__ (@var{h}, @var{x1}, @var{x2}, @var{options}, @var{properties}) |
6895 | 22 ## Undocumented internal function. |
8812
7d48766c21a5
use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents:
7664
diff
changeset
|
23 ## @end deftypefn |
3402 | 24 |
2314 | 25 ## Author: jwe |
26 | |
6459 | 27 function retval = __plt2__ (h, x1, x2, options, properties) |
933 | 28 |
6459 | 29 if (nargin < 3 || nargin > 5) |
6046 | 30 print_usage (); |
933 | 31 endif |
32 | |
6264 | 33 if (nargin < 4 || isempty (options)) |
34 options = __default_plot_options__ (); | |
933 | 35 endif |
36 | |
6459 | 37 if (nargin < 5) |
38 properties = {}; | |
39 endif | |
40 | |
6264 | 41 if (! isstruct (options)) |
42 error ("__plt1__: options must be a struct array"); | |
933 | 43 endif |
44 | |
45 if (any (any (imag (x1)))) | |
46 x1 = real (x1); | |
47 endif | |
5115 | 48 |
933 | 49 if (any (any (imag (x2)))) |
50 x2 = real (x2); | |
51 endif | |
5115 | 52 |
6302 | 53 h_set = false; |
7664
0dff8d9bf229
Fix for plot(zeros(1,0),zeros(1,0))
David Bateman <dbateman@free.fr>
parents:
7290
diff
changeset
|
54 if (isempty (x1) && isempty (x2)) |
0dff8d9bf229
Fix for plot(zeros(1,0),zeros(1,0))
David Bateman <dbateman@free.fr>
parents:
7290
diff
changeset
|
55 retval = zeros (0, 1); |
0dff8d9bf229
Fix for plot(zeros(1,0),zeros(1,0))
David Bateman <dbateman@free.fr>
parents:
7290
diff
changeset
|
56 elseif (isscalar (x1)) |
4030 | 57 if (isscalar (x2)) |
6459 | 58 retval = __plt2ss__ (h, x1, x2, options, properties); |
7290 | 59 elseif (isvector (x2)) |
60 retval = __plt2sv__ (h, x1, x2, options, properties); | |
5115 | 61 else |
62 error ("__plt2__: invalid data for plotting"); | |
933 | 63 endif |
4030 | 64 elseif (isvector (x1)) |
7290 | 65 if (isscalar (x2)) |
66 retval = __plt2vs__ (h, x1, x2, options, properties); | |
67 elseif (isvector (x2)) | |
6459 | 68 retval = __plt2vv__ (h, x1, x2, options, properties); |
4030 | 69 elseif (ismatrix (x2)) |
6459 | 70 retval = __plt2vm__ (h, x1, x2, options, properties); |
5115 | 71 else |
72 error ("__plt2__: invalid data for plotting"); | |
933 | 73 endif |
4030 | 74 elseif (ismatrix (x1)) |
75 if (isvector (x2)) | |
6459 | 76 retval = __plt2mv__ (h, x1, x2, options, properties); |
4030 | 77 elseif (ismatrix (x2)) |
6459 | 78 retval = __plt2mm__ (h, x1, x2, options, properties); |
5115 | 79 else |
80 error ("__plt2__: invalid data for plotting"); | |
933 | 81 endif |
5115 | 82 else |
83 error ("__plt2__: invalid data for plotting"); | |
933 | 84 endif |
85 | |
86 endfunction |