mask_patch.m.html | ![]() |
Source file: mask_patch.m | |
Directory: /home/rjl/git/rjleveque/clawpack-4.x/matlab | |
Converted: Sun May 15 2011 at 19:15:57 using clawcode2html | |
This documentation file will not reflect any later changes in the source file. |
function mask_patches(p,sdir,xlow,xhigh,ylow,yhigh,zlow,zhigh) % Internal matlab routine for Clawpack graphics. % Get stored Cartesian coordinates. If we are not plotting a manifold or % mapped grid, we probably don't need to store this, but we do it anyway % so that we don't have always check for the manifold or mapped grid % condition. udata = get(p,'UserData'); % Use tolerance s so we don't mask cells that are just beyond masked patch. % this value depends on the precision of dx,dy,dz stored in the fort.qXXXX % files. If they are stored in single precision, than setting the % following to 1e-8 will leave gaps in the masking. So assuming single % precision is probably a good idea here. s = 1e-5; if (s > min([udata.dx, udata.dy, udata.dz])) error('mask_patch : s is too big for dx, dy, dz\n'); end; vc = udata.cartCoords; [xdata_like,ydata_like, zdata_like] = get_xyzlike(vc(:,1),vc(:,2), vc(:,3),sdir); [xlow_like, ylow_like, zlow_like] = get_xyzlike(xlow,ylow,zlow,sdir); [xhigh_like, yhigh_like, zhigh_like] = get_xyzlike(xhigh,yhigh,zhigh,sdir); nan_mask = ydata_like > ylow_like+s & ydata_like < yhigh_like-s & ... zdata_like > zlow_like+s & zdata_like < zhigh_like-s; % Mask out physical vertices that should be hidden. vp = get(p,'Vertices'); vp(nan_mask,1) = nan; vp(nan_mask,2) = nan; vp(nan_mask,3) = nan; set(p,'Vertices',vp);