showmesh.m.html | ![]() |
Source file: showmesh.m | |
Directory: /home/rjl/git/rjleveque/clawpack-4.x/matlab | |
Converted: Sun May 15 2011 at 19:15:59 using clawcode2html | |
This documentation file will not reflect any later changes in the source file. |
function showmesh(ratio,level,sdir,snum) % SHOWMESH shows a coarsened mesh on specified amr level. % % SHOWMESH(RATIO) shows a grid coarsened by a factor of RATIO % relative to given level, on all amr levels. % % SHOWMESH(RATIO,LEVEL) shows a coarsened mesh on levels specified in % the vector LEVEL. % % SHOWMESH, by itself, shows the computational grid on all levels, and is % has the same effect as SHOWGRIDLINES(). % % For 2d manifold plots, or 3d slice plots, the mesh on a give level % is not masked by amr patches on higher levels, so for example, % SHOWMESH(4,1) has the effect of showing a mesh coarsened by factor % of 4, relative to level 1, over the entire manifold or slice. On 2d % flat plots, the mesh lines are masked. % % See also HIDEMESH, SHOWGRIDLINES, HIDEGRIDLINES. if (nargin < 3) sdirs = {'x','y','z'}; if (nargin < 2) level = 1; if (nargin < 1) ratio = 1; end; end; hidemesh; % hide all levels else sdirs = {sdir}; hidemesh(level); end; for idir = 1:length(sdirs), slices = get_slices(sdirs{idir}); if (nargin < 4) snum = 1:length(slices); end; for ns = 1:length(snum), n = snum(ns); if (n < 1 | n > length(slices)) continue; end; slice = slices{n}; for l = 1:length(level), pvec = slice{level(l)}; for k = 1:length(pvec), p = pvec(k); set_blocknumber(k); % In case we are doing a multiblock plot udata = get(p,'UserData'); if (isempty(udata.mesh.xlines) | isempty(udata.mesh.ylines)) line_dir = 1:2; % do both x and y lines. mesh = ... create_mesh(sdirs{idir},udata.sval,line_dir, ... udata.xe,udata.ye,udata.ze,... udata.mappedgrid,udata.manifold); udata.mesh = mesh; set(p,'UserData',udata); else mesh = udata.mesh; end; if (nargin >= 1) udata.mesh.ratio = ratio; set(p,'UserData',udata); end; xlines = mesh.xlines; ylines = mesh.ylines; lx = length(xlines); ly = length(ylines); xmask = kron(ones(lx,1),[1;zeros(ratio-1,1)])==1; xmask(lx) = 1==1; % 'true' not in earlier versions of Matlab set(xlines( xmask(1:lx)),'Tag','on'); set(xlines(~xmask(1:lx)),'Tag','off'); ymask = kron(ones(ly,1),[1;zeros(ratio-1,1)])==1; ymask(ly) = 1==1; % 'true' not earlier versions of Matlab set(ylines( ymask(1:ly)),'Tag','on'); set(ylines(~ymask(1:ly)),'Tag','off'); set_mesh_visibility(pvec(k)); end; end; end; end;