📄 camera_callback.m
字号:
% Callback function for CheckMate camera control function
%
% See Also:
% camera_control
az_default = -37.5;
el_default = 30.0;
current_fig = gcbf;
object_tag = get(gcbo,'Tag');
az_slider = findobj(current_fig,'Tag','az_slider');
el_slider = findobj(current_fig,'Tag','el_slider');
az_edit = findobj(current_fig,'Tag','az_edit');
el_edit = findobj(current_fig,'Tag','el_edit');
fig_edit = findobj(current_fig,'Tag','fig_edit');
toggle_grid = 0;
switch object_tag
case 'az_slider',
az = get(az_slider,'Value');
az_min = get(az_slider,'Min');
az_max = get(az_slider,'Max');
if (az == az_max)
az = az_min;
set(az_slider,'Value',az)
else
if (az == az_min)
az = az_max;
set(az_slider,'Value',az)
end
end
set(az_edit,'String',num2str(az))
case 'el_slider',
el = get(el_slider,'Value');
el_min = get(el_slider,'Min');
el_max = get(el_slider,'Max');
if (el == el_max)
el = el_min;
set(el_slider,'Value',el)
else
if (el == el_min)
el = el_max;
set(el_slider,'Value',el)
end
end
set(el_edit,'String',num2str(el))
case 'az_edit',
str = get(az_edit,'String');
az = str2num(str);
set(az_slider,'Value',az)
case 'el_edit',
str = get(el_edit,'String');
el = str2num(str);
set(el_slider,'Value',el)
case 'fig_edit',
case 'close_button',
close(gcbf)
return
case 'reset_button',
set(az_slider,'Value',az_default)
set(az_edit,'String',num2str(az_default))
set(el_slider,'Value',el_default)
set(el_edit,'String',num2str(el_default))
case 'grid_button',
toggle_grid = 1;
end
az = get(az_slider,'Value');
el = get(el_slider,'Value');
str = get(fig_edit,'String');
fig_num = str2num(str);
if ishandle(fig_num)
tag = get(fig_num,'Tag');
if isempty(tag)
ok = 1;
else
if (tag == 'camera_control')
ok = 0;
else
ok = 1;
end
end
else
ok = 0;
end
if ok
figure(fig_num)
view([az,el])
if toggle_grid
grid
end
else
fprintf(1,'\007error: invalid figure handle\n')
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -