Mercurial > hg > octave-lyh
annotate scripts/plot/pbaspect.m @ 17204:bc20614022aa
build: Redo LLVM macros to disable JIT rather than stop build if headers not found.
* configure.ac: Move functionality for OCTAVE_LLVM_IR_DIR,
OCTAVE_LLVM_IRBUILDER_HEADER, OCTAVE_LLVM_DATALAYOUT_HEADER macros
from acinclude.m4 to configure.ac.
* m4/acinclude.m4: Delete OCTAVE_LLVM_IR_DIR, OCTAVE_LLVM_IRBUILDER_HEADER,
OCTAVE_LLVM_DATALAYOUT_HEADER macros. Eliminate unnecessary else clause of
OCTAVE_LLVM_FUNCTION_ADDATTRIBUTE_API, OCTAVE_LLVM_FUNCTION_ADDFNATTR_API,
OTAVE_LLVM_CALLINST_ADDATTRIBUTE_API macros.
author | Rik <rik@octave.org> |
---|---|
date | Wed, 07 Aug 2013 12:03:31 -0700 |
parents | 4bb7ae321901 |
children | bc924baa2c4e |
rev | line source |
---|---|
14138
72c96de7a403
maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents:
12575
diff
changeset
|
1 ## Copyright (C) 2010-2012 Ben Abbott |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11563
diff
changeset
|
2 ## |
11104 | 3 ## This file is part of Octave. |
4 ## | |
5 ## Octave is free software; you can redistribute it and/or modify it | |
6 ## under the terms of the GNU General Public License as published by | |
7 ## the Free Software Foundation; either version 3 of the License, or (at | |
8 ## your option) any later version. | |
9 ## | |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
14 ## | |
10218
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
15 ## You should have received a copy of the GNU General Public License |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
16 ## along with Octave; see the file COPYING. If not, see |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
17 ## <http://www.gnu.org/licenses/>. |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
18 |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
19 ## -*- texinfo -*- |
16491
b10a23fe80bb
doc: Tweak docstrings of functions changed for Texinfo 5.0 compatibility.
Rik <rik@octave.org>
parents:
16489
diff
changeset
|
20 ## @deftypefn {Function File} {@var{plot_box_aspect_ratio} =} pbaspect ( ) |
b10a23fe80bb
doc: Tweak docstrings of functions changed for Texinfo 5.0 compatibility.
Rik <rik@octave.org>
parents:
16489
diff
changeset
|
21 ## @deftypefnx {Function File} {} pbaspect (@var{plot_box_aspect_ratio}) |
16489
36dba9be680b
doc: Make documentation compatible with Texinfo 5.0 (bug #38392)
Amod Mulay <amodmulay1@gmail.com>
parents:
14245
diff
changeset
|
22 ## @deftypefnx {Function File} {} pbaspect (@var{mode}) |
36dba9be680b
doc: Make documentation compatible with Texinfo 5.0 (bug #38392)
Amod Mulay <amodmulay1@gmail.com>
parents:
14245
diff
changeset
|
23 ## @deftypefnx {Function File} {@var{plot_box_aspect_ratio_mode} =} pbaspect ("mode") |
36dba9be680b
doc: Make documentation compatible with Texinfo 5.0 (bug #38392)
Amod Mulay <amodmulay1@gmail.com>
parents:
14245
diff
changeset
|
24 ## @deftypefnx {Function File} {} pbaspect (@var{hax}, @dots{}) |
16491
b10a23fe80bb
doc: Tweak docstrings of functions changed for Texinfo 5.0 compatibility.
Rik <rik@octave.org>
parents:
16489
diff
changeset
|
25 ## |
17163
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
26 ## Query or set the plot box aspect ratio of the current axes. |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
27 ## |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
28 ## The aspect ratio is a normalized 3-element vector representing the rendered |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
29 ## lengths of the x, y, and z axes. |
16491
b10a23fe80bb
doc: Tweak docstrings of functions changed for Texinfo 5.0 compatibility.
Rik <rik@octave.org>
parents:
16489
diff
changeset
|
30 ## |
b10a23fe80bb
doc: Tweak docstrings of functions changed for Texinfo 5.0 compatibility.
Rik <rik@octave.org>
parents:
16489
diff
changeset
|
31 ## @code{pbaspect(@var{mode})} |
b10a23fe80bb
doc: Tweak docstrings of functions changed for Texinfo 5.0 compatibility.
Rik <rik@octave.org>
parents:
16489
diff
changeset
|
32 ## |
b10a23fe80bb
doc: Tweak docstrings of functions changed for Texinfo 5.0 compatibility.
Rik <rik@octave.org>
parents:
16489
diff
changeset
|
33 ## Set the plot box aspect ratio mode of the current axes. @var{mode} is |
b10a23fe80bb
doc: Tweak docstrings of functions changed for Texinfo 5.0 compatibility.
Rik <rik@octave.org>
parents:
16489
diff
changeset
|
34 ## either "auto" or "manual". |
b10a23fe80bb
doc: Tweak docstrings of functions changed for Texinfo 5.0 compatibility.
Rik <rik@octave.org>
parents:
16489
diff
changeset
|
35 ## |
b10a23fe80bb
doc: Tweak docstrings of functions changed for Texinfo 5.0 compatibility.
Rik <rik@octave.org>
parents:
16489
diff
changeset
|
36 ## @code{pbaspect ("mode")} |
b10a23fe80bb
doc: Tweak docstrings of functions changed for Texinfo 5.0 compatibility.
Rik <rik@octave.org>
parents:
16489
diff
changeset
|
37 ## |
b10a23fe80bb
doc: Tweak docstrings of functions changed for Texinfo 5.0 compatibility.
Rik <rik@octave.org>
parents:
16489
diff
changeset
|
38 ## Return the plot box aspect ratio mode of the current axes. |
b10a23fe80bb
doc: Tweak docstrings of functions changed for Texinfo 5.0 compatibility.
Rik <rik@octave.org>
parents:
16489
diff
changeset
|
39 ## |
b10a23fe80bb
doc: Tweak docstrings of functions changed for Texinfo 5.0 compatibility.
Rik <rik@octave.org>
parents:
16489
diff
changeset
|
40 ## @code{pbaspect (@var{hax}, @dots{})} |
b10a23fe80bb
doc: Tweak docstrings of functions changed for Texinfo 5.0 compatibility.
Rik <rik@octave.org>
parents:
16489
diff
changeset
|
41 ## |
b10a23fe80bb
doc: Tweak docstrings of functions changed for Texinfo 5.0 compatibility.
Rik <rik@octave.org>
parents:
16489
diff
changeset
|
42 ## Operate on the axes in handle @var{hax} instead of the current axes. |
10218
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
43 ## |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
44 ## @seealso{axis, daspect, xlim, ylim, zlim} |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
45 ## @end deftypefn |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
46 |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
47 ## Author: Ben Abbott <bpabbott@mac.com> |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
48 ## Created: 2010-01-26 |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
49 |
17163
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
50 function pbratio = pbaspect (varargin) |
10218
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
51 |
17163
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
52 ## Grab axes handle if present |
10218
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
53 if (nargin > 0) |
17163
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
54 if (isscalar (varargin{1}) && isaxes (varargin{1})) |
10218
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
55 hax = varargin{1}; |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
56 varargin = varargin(2:end); |
17163
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
57 else |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
58 hax = gca (); |
10218
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
59 endif |
17163
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
60 else |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
61 hax = gca (); |
10218
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
62 endif |
17163
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
63 |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
64 nargin = numel (varargin); |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
65 if (nargin > 1) |
10218
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
66 print_usage (); |
11113
a8ac114ec9ab
Stylefixes, replace end by endif.
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
11104
diff
changeset
|
67 endif |
10218
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
68 |
17163
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
69 if (nargin == 0) |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
70 pbratio = get (hax, "plotboxaspectratio"); |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
71 else |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
72 arg = varargin{1}; |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
73 if (isreal (arg)) |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
74 if (numel (arg) == 2) |
17183
4bb7ae321901
pbaspect.m: Fix typo in property name in cset 6a1aa61b5b16.
Rik <rik@octave.org>
parents:
17163
diff
changeset
|
75 set (hax, "plotboxaspectratio", [arg, 1]); |
17163
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
76 elseif (numel (arg) == 3) |
17183
4bb7ae321901
pbaspect.m: Fix typo in property name in cset 6a1aa61b5b16.
Rik <rik@octave.org>
parents:
17163
diff
changeset
|
77 set (hax, "plotboxaspectratio", arg); |
17163
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
78 else |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
79 error ("pbaspect: PLOT_BOX_ASPECT_RATIO must be a 2 or 3 element vector"); |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
80 endif |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
81 elseif (ischar (arg)) |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
82 arg = tolower (arg); |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
83 switch (arg) |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
84 case "auto" |
17183
4bb7ae321901
pbaspect.m: Fix typo in property name in cset 6a1aa61b5b16.
Rik <rik@octave.org>
parents:
17163
diff
changeset
|
85 set (hax, "plotboxaspectratiomode", "auto"); |
17163
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
86 case "manual" |
17183
4bb7ae321901
pbaspect.m: Fix typo in property name in cset 6a1aa61b5b16.
Rik <rik@octave.org>
parents:
17163
diff
changeset
|
87 set (hax, "plotboxaspectratiomode", "manual"); |
17163
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
88 case "mode" |
17183
4bb7ae321901
pbaspect.m: Fix typo in property name in cset 6a1aa61b5b16.
Rik <rik@octave.org>
parents:
17163
diff
changeset
|
89 pbratio = get (hax, "plotboxaspectratiomode"); |
17163
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
90 otherwise |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
91 error ("pbaspect: Invalid mode <%s>", arg); |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
92 endswitch |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
93 else |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
94 print_usage (); |
6a1aa61b5b16
pbaspect.m: Overhaul function using modern coding practices.
Rik <rik@octave.org>
parents:
16491
diff
changeset
|
95 endif |
11113
a8ac114ec9ab
Stylefixes, replace end by endif.
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
11104
diff
changeset
|
96 endif |
10218
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
97 |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
98 endfunction |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
99 |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
100 |
10218
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
101 %!demo |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
102 %! clf; |
10218
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
103 %! x = 0:0.01:4; |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
104 %! plot (x,cos(x), x,sin(x)); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
105 %! pbaspect ([1 1 1]); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
106 %! title ('plot box is square'); |
10218
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
107 |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
108 %!demo |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
109 %! clf; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
110 %! x = 0:0.01:4;; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
111 %! plot (x,cos(x), x,sin(x)); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
112 %! pbaspect ([2 1 1]); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
113 %! title ('plot box aspect ratio is 2x1'); |
10218
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
114 |
11161
2e32236eaa90
Add demos setting both data and plotbox aspect ratios.
Ben Abbott <bpabbott@mac.com>
parents:
11120
diff
changeset
|
115 %!demo |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
116 %! clf; |
11161
2e32236eaa90
Add demos setting both data and plotbox aspect ratios.
Ben Abbott <bpabbott@mac.com>
parents:
11120
diff
changeset
|
117 %! x = 0:0.01:4; |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
118 %! plot (x,cos(x), x,sin(x)); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
119 %! daspect ([1 1 1]); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
120 %! pbaspect ([2 1 1]); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
121 %! title ('plot box is 2x1, and axes [0 4 -1 1]'); |
11161
2e32236eaa90
Add demos setting both data and plotbox aspect ratios.
Ben Abbott <bpabbott@mac.com>
parents:
11120
diff
changeset
|
122 |