www.gusucode.com > wavelet工具箱matlab源码程序 > wavelet/wavelet/disp3dwin.m
function disp3dwin(option) %DISP3DWIN Display the 3D view in DW3DTOOL. % M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 20-Jun-2009. % Last Revision: 20-Nov-2011. % Copyright 1995-2010 The MathWorks, Inc. [hObj,hFig] = gcbo; if isequal(option,'close') , close(hFig); return; end fig_Handles = guihandles(hFig); Sli_E = fig_Handles.Sli_E; Sli_A = fig_Handles.Sli_A; Edi_E = fig_Handles.Edi_EL; Edi_A = fig_Handles.Edi_AZ; axecur = findobj(hFig,'Type','axe'); v = get(axecur,'View'); maxi = 1; val = get(hObj,'Value'); plus = round(maxi*val); new_v = v; Min_Elev = -89.999; switch option case 'sli_e' if (plus<=-90) , plus = Min_Elev; end new_v(2)= plus; set(Edi_E,'String',sprintf('%5.1f',plus)); case 'edi_e' tmp = str2double(get(Edi_E,'String')); OK = ~isnan(tmp); if OK , OK = (tmp<=90) && (-90<=tmp); end if (tmp<=-90) , tmp = Min_Elev; end if ~OK valE = get(Sli_E,'Value'); set(Edi_E,'String',sprintf('%5.1f',valE)); return end set(Edi_E,'String',sprintf('%5.1f',tmp)) if (tmp<=-90) , tmp = Min_Elev; end set(Sli_E,'Value',tmp) new_v(2)= tmp; case 'sli_a' new_v(1)= plus; set(Edi_A,'String',sprintf('%5.1f',plus)); case 'edi_a' tmp = str2double(get(Edi_A,'String')); OK = ~isnan(tmp); if OK , OK = (tmp<=180) && (-180<=tmp); end if ~OK valA = get(Sli_A,'Value'); set(Edi_A,'String',sprintf('%5.1f',valA)); return end set(Edi_A,'String',sprintf('%5.1f',tmp)) set(Sli_A,'Value',tmp) new_v(1)= tmp; end set(axecur,'View',new_v);