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