Mercurial > hg > octave-lyh
comparison scripts/plot/surfl.m @ 14225:f0d903879eaa
Replace unnecessary strcmpi calls with strcmp.
* __gnuplot_drawnow__.m, __go_draw_axes__.m, surfl.m, uigetfile.m: Replace
unnecessary strcmpi calls with strcmp.
author | Rik <octave@nomad.inbox5.com> |
---|---|
date | Wed, 18 Jan 2012 21:17:14 -0800 |
parents | ba7a26030214 |
children | 11949c9795a0 |
comparison
equal
deleted
inserted
replaced
14224:f6007bb54f06 | 14225:f0d903879eaa |
---|---|
78 newplot (); | 78 newplot (); |
79 | 79 |
80 ## Check for lighting type. | 80 ## Check for lighting type. |
81 use_cdata = true; | 81 use_cdata = true; |
82 if (ischar (varargin{end})) | 82 if (ischar (varargin{end})) |
83 lstr = varargin{end}; | 83 lstr = tolower (varargin{end}); |
84 if (strncmp (tolower (lstr), "light", 5)) | 84 if (strncmp (lstr, "light", 5)) |
85 warning ("light method not supported (yet), using cdata method instead"); | 85 warning ("light method not supported (yet), using cdata method instead"); |
86 ## This can be implemented when light objects are supported. | 86 ## This can be implemented when light objects are supported. |
87 use_cdata = false; | 87 use_cdata = false; |
88 elseif (strncmp (tolower (lstr), "cdata", 5)) | 88 elseif (strncmp (lstr, "cdata", 5)) |
89 use_cdata = true; | 89 use_cdata = true; |
90 else | 90 else |
91 error ("surfl: unknown lighting method"); | 91 error ("surfl: unknown lighting method"); |
92 endif | 92 endif |
93 varargin(end) = []; | 93 varargin(end) = []; |
121 varargin(end) = []; | 121 varargin(end) = []; |
122 have_lv = true; | 122 have_lv = true; |
123 endif | 123 endif |
124 endif | 124 endif |
125 | 125 |
126 tmp = surface (varargin{:}); | 126 htmp = surface (varargin{:}); |
127 if (! ishold ()) | 127 if (! ishold ()) |
128 set (h, "view", [-37.5, 30], | 128 set (h, "view", [-37.5, 30], |
129 "xgrid", "on", "ygrid", "on", "zgrid", "on", "clim", [0 1]); | 129 "xgrid", "on", "ygrid", "on", "zgrid", "on", "clim", [0 1]); |
130 endif | 130 endif |
131 | 131 |
142 sin(Phi), cos(Phi), 0; | 142 sin(Phi), cos(Phi), 0; |
143 0, 0, 1]; | 143 0, 0, 1]; |
144 lv = (R * vv.').'; | 144 lv = (R * vv.').'; |
145 endif | 145 endif |
146 | 146 |
147 vn = get (tmp, "vertexnormals"); | 147 vn = get (htmp, "vertexnormals"); |
148 dar = get (h, "plotboxaspectratio"); | 148 dar = get (h, "plotboxaspectratio"); |
149 vn(:,:,1) *= dar(1); | 149 vn(:,:,1) *= dar(1); |
150 vn(:,:,2) *= dar(2); | 150 vn(:,:,2) *= dar(2); |
151 vn(:,:,3) *= dar(3); | 151 vn(:,:,3) *= dar(3); |
152 | 152 |
153 ## Normalize vn. | 153 ## Normalize vn. |
154 vn = vn ./ repmat (sqrt (sumsq (vn, 3)), [1, 1, 3]); | 154 vn = vn ./ repmat (sqrt (sumsq (vn, 3)), [1, 1, 3]); |
155 [nr, nc] = size(get(tmp, "zdata")); | 155 [nr, nc] = size(get(htmp, "zdata")); |
156 | 156 |
157 ## Ambient, diffuse, and specular term. | 157 ## Ambient, diffuse, and specular term. |
158 cdata = (r(1) * ones (nr, nc) | 158 cdata = (r(1) * ones (nr, nc) |
159 + r(2) * diffuse (vn(:,:,1), vn(:,:,2), vn(:,:,3), lv) | 159 + r(2) * diffuse (vn(:,:,1), vn(:,:,2), vn(:,:,3), lv) |
160 + r(3) * specular (vn(:,:,1), vn(:,:,2), vn(:,:,3), lv, vv, r(4))); | 160 + r(3) * specular (vn(:,:,1), vn(:,:,2), vn(:,:,3), lv, vv, r(4))); |
161 | 161 |
162 set (tmp, "cdata", cdata ./ sum (r(1:3))); | 162 set (htmp, "cdata", cdata ./ sum (r(1:3))); |
163 | 163 |
164 unwind_protect_cleanup | 164 unwind_protect_cleanup |
165 axes (oldh); | 165 axes (oldh); |
166 end_unwind_protect | 166 end_unwind_protect |
167 | 167 |
168 if (nargout > 0) | 168 if (nargout > 0) |
169 retval = tmp; | 169 retval = htmp; |
170 endif | 170 endif |
171 | 171 |
172 endfunction | 172 endfunction |
173 | 173 |
174 | 174 |