⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 contour_callback.m

📁 Matlab显式三维地震数据的源代码
💻 M
字号:
function contour_callback(varargin)
% Contourslice erstellen/鋘dern/l鰏chen

% Modified by E. Rietsch: October 15, 2006

global V3D_HANDLES

figure_handle=V3D_HANDLES.figure_handle;
axis_handle=V3D_HANDLES.axis_handle;

eventdata=varargin{2};
handles=varargin{3};

% axis_handle bestimmen
% axis_handle=get(figure_handle,'CurrentAxes');

% Benutzerdaten userdata der Figure figure_handle auslesen
ud=get(figure_handle,'userdata');

% alten CLim sichern
oldclim=get(axis_handle,'CLim');
 
% Konstanten
method_list={'linear','nearest','cubic'};

% Auslesen Einstellungen von Contourslice in Struktur objud
objud.method=get(handles.contour_method,'Value');
objud.edgecolor=get(handles.contour_edgecolor,'userdata');
objud.edgecolor_value=get(handles.contour_edgecolor,'Value');
objud.isovalue=str2num(get(handles.contour_isovalue,'String')); %#ok More than one variable is possible

% wenn Slice X aktiviert
if get(handles.contour_x,'Value')
    % X Wert auslesen
    objud.x=str2num(get(handles.contour_xact,'String')); %#ok More than one variable is possible
else
    % X wurde nicht aktiviert
    objud.x=[];
end
% wenn Slice Y aktiviert
if get(handles.contour_y,'Value')
    % Y Wert auslesen
    objud.y=str2num(get(handles.contour_yact,'String')); %#ok More than one variable is possible
else
    % Y wurde nicht aktiviert
    objud.y=[];
end
% wenn Slice Z aktiviert
if get(handles.contour_z,'Value')
    % Z Wert auslesen
    objud.z=str2num(get(handles.contour_zact,'String')); %#ok More than one variable is possible
else
    % Z wurde nicht aktiviert
    objud.z=[];
end

%	If no slice is activated then activate x-slice to make something happen when
%       the tool is started
if isempty(objud.x)  &&  isempty(objud.y)  &&  isempty(objud.z)  &&  ud.first_contour
   ud.first_contour=false;
   set(figure_handle,'userdata',ud)

   set(handles.contour_x,'Value',1)
   xslice=mean(ud.x);
   objud.x=xslice;
   set(handles.contour_xact,'String',num2str(xslice));

   set(handles.contour_y,'Value',1)
   yslice=mean(ud.y);
   objud.y=yslice;
   set(handles.contour_yact,'String',num2str(yslice));

   set(handles.contour_z,'Value',1)
   zslice=mean(ud.z);
   objud.z=zslice;
   set(handles.contour_zact,'String',num2str(zslice));
end


delete(findobj(figure_handle,'Tag','OrigSlice'))   %%ER

% alle V3D-Slices finden und l鰏chen
delete(findobj(figure_handle,'Tag','V3D:SLICEOMAT'));

% alle V3D-Contourslices finden und l鰏chen
delete(findobj(figure_handle,'Tag','V3D:CONTOUR'));

% V3D_Fenster in Vordergrund bringen
figure(figure_handle);
hold on
figure(handles.figure1);

% Contourslice erstellen
V3D_CONTOUR = contourslice(ud.x,ud.y,ud.z,ud.v,objud.x,objud.y,objud.z,objud.isovalue,method_list{objud.method});

% Turn on grid
% grid_callback(handles.grid, eventdata, handles)

% Attribute setzen    
set(V3D_CONTOUR,'EdgeColor',objud.edgecolor);
set(V3D_CONTOUR,'Tag','V3D:CONTOUR');
set(V3D_CONTOUR,'userdata',objud);
hold off

% Minimum und Maximum Color setzen
set(axis_handle,'CLim',oldclim);
clear ha sl oldclim;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -