create_isosurface.m.html | ![]() |
Source file: create_isosurface.m | |
Directory: /home/rjl/git/rjleveque/clawpack-4.x/matlab | |
Converted: Sun May 15 2011 at 19:15:56 using clawcode2html | |
This documentation file will not reflect any later changes in the source file. |
function p = create_isosurface(xc,yc,zc,q,r,ivalue,icolor,ialpha,mappedgrid) % Internal matlab routine used by Clawpack graphics. [xcm,ycm,zcm] = meshgrid(xc,yc,zc); p = patch(isosurface(xcm,ycm,zcm,q,ivalue)); reducepatch(p,r); if (mappedgrid == 1) v = get(p,'Vertices'); if (~isempty(v)) [v(:,1),v(:,2),v(:,3)] = mapc2p(v(:,1),v(:,2),v(:,3)); set(p,'Vertices',v); % isonormals are computed using triangular elements - results may not % appear smooth, but it isn't clear how to set isonormals in the mapped % grid case. end; else % isonormals are computed using data - smoother results? isonormals(xcm,ycm,zcm,q,p); % for lighting effects. end; if (strcmp(icolor,'q')==1) set(p,'CData',ivalue); set(p,'FaceColor','flat'); else [l,ic,m,msg] = colstyle(icolor); if (strcmp(ic,'') == 1) error(['*** create_isosurface : Bad color spec : ''',icolor,'''']); end; icolor = ic; set(p,'FaceColor',icolor); end; set(p,'EdgeColor','none'); set(p,'FaceAlpha',ialpha); udata.q = q; udata.xc = xc; udata.yc = yc; udata.zc = zc; udata.value = ivalue; udata.alpha = ialpha; udata.color = icolor; udata.mappedgrid = mappedgrid; set(p,'UserData',udata); set(p,'Tag','on');