function tit=meshc_buttons(tit) %MESH_BUTTONS Inizialize the surface uicontrols % % Copyright (c) 1995 by Claudio Rivetti and Mark Young % claudio@alice.uoregon.edu, mark@alice.uoregon.edu % global rb ContourLines Handlefig B_frame deg_ed plane_ed deg_txt LineSpace PlaneSpace mstyle msm msmvalue edgecolor edgem edgevalue facecolor facem facevalue if isempty(msmvalue) msmvalue=1; end if isempty(edgevalue) edgevalue=2; end if isempty(facevalue) facevalue=3; end if strcmp(tit, 'Mesh Plot') edgevalue=2; facevalue=1; end mstyle=['both ';'row ';'column']; edgecolor=str2mat('none', 'flat', 'interp', 'single'); facecolor=str2mat('none', 'flat', 'interp', 'texturemap', 'single'); if isempty(PlaneSpace) PlaneSpace=0; end % Position variables--------------------------------------------------- pos=get(B_frame, 'Position'); uiwidth=0.10; uithick=0.035; middle=pos(1)+(pos(3)-uiwidth)/2; %--------------------------------------------------------------------- wd1='v=findobj(''label'', ''View '');ch=get(v, ''child'');set(ch, ''checked'', ''off'');'; wd2='set(ch(length(ch)), ''checked'', ''on'');showimage;'; whendone=[wd1 wd2]; gvar=''; deg_ed_cbk=[gvar 'editstr2value(deg_ed, 1, 5);LineSpace=get(deg_ed, ''value'');showimage;']; plane_ed_cbk=[gvar 'editstr2value(plane_ed, 0, inf);PlaneSpace=get(plane_ed, ''value'');showimage;']; % Positions of buttons ----------------------------------------------------- deg_txt_pos=[pos(1)+(pos(3)-0.18)/2 , pos(2)+0.73, 0.18, uithick]; deg_ed_pos=[middle, pos(2)+0.73-uithick, uiwidth, uithick]; plane_txt_pos=[pos(1)+(pos(3)-0.18)/2 , pos(2)+0.65, 0.18, uithick]; plane_ed_pos=[middle, pos(2)+0.65-uithick, uiwidth, uithick]; msm_txt_pos=[pos(1)+(pos(3)-0.18)/2 , pos(2)+0.55, 0.18, uithick]; msm_pos=[middle, pos(2)+0.55-0.025, uiwidth, 0.03]; edge_txt_pos=[pos(1)+(pos(3)-0.18)/2 , pos(2)+0.47, 0.18, uithick]; edgem_pos=[middle, pos(2)+0.47-0.025, uiwidth, 0.03]; face_txt_pos=[pos(1)+(pos(3)-0.18)/2 , pos(2)+0.39, 0.18, uithick]; facem_pos=[middle, pos(2)+0.39-0.025, uiwidth, 0.03]; rb_txt_pos=[pos(1)+(pos(3)-0.18)/2 , pos(2)+0.3, 0.18, uithick]; rbpos=[middle, pos(2)+0.3-0.035, uiwidth, 0.03]; pos=rbpos; %--------------------------------------------------------------------------- bg = [0.55 0.55 0.55]; initbuttons(tit, 'Done', whendone); deg_txt=uicontrol(Handlefig, 'Style', 'text',... 'String', 'Line Spacing',... 'Units', 'normalized',... 'Position', deg_txt_pos,... 'BackgroundColor', bg,... 'Visible', 'on',... 'HorizontalAlignment', 'center'); deg_ed = uicontrol(Handlefig, 'Style', 'edit',... 'String', num2str(LineSpace),... 'Units', 'normalized',... 'Position', deg_ed_pos,... 'Visible', 'on',... 'Value', LineSpace,... 'HorizontalAlignment', 'center',... 'CallBack', deg_ed_cbk); plane_txt=uicontrol(Handlefig, 'Style', 'text',... 'String', 'Plane Offset',... 'Units', 'normalized',... 'Position', plane_txt_pos,... 'BackgroundColor', bg,... 'Visible', 'on',... 'HorizontalAlignment', 'center'); plane_ed = uicontrol(Handlefig, 'Style', 'edit',... 'String', num2str(PlaneSpace),... 'Units', 'normalized',... 'Position', plane_ed_pos,... 'Visible', 'on',... 'Value', PlaneSpace,... 'HorizontalAlignment', 'center',... 'CallBack', plane_ed_cbk); msm_txt=uicontrol(Handlefig, 'Style', 'text',... 'String', 'Mesh Style',... 'Units', 'normalized',... 'Position', msm_txt_pos,... 'BackgroundColor', bg,... 'Visible', 'on',... 'HorizontalAlignment', 'center'); msm=uicontrol(Handlefig, 'Style', 'popup',... 'String', ' Both | Rows | Cols ',... 'Units', 'Normalized',... 'Position', msm_pos,... 'HorizontalAlignment', 'left',... 'Call', [gvar 'msmvalue=get(msm, ''value'');set(msm, ''userdata'', mstyle(get(msm, ''value''), :));showimage'],... 'Value', msmvalue, ... 'Userdata', mstyle(msmvalue,:)); edge_txt=uicontrol(Handlefig, 'Style', 'text',... 'String', 'Edge Color',... 'Units', 'normalized',... 'Position', edge_txt_pos,... 'BackgroundColor', bg,... 'Visible', 'on',... 'HorizontalAlignment', 'center'); edgem=uicontrol(Handlefig, 'Style', 'popup',... 'String', 'None |Flat |Interp |Single ',... 'Units', 'Normalized',... 'Position', edgem_pos,... 'HorizontalAlignment', 'left',... 'Call', [gvar 'edgevalue=get(edgem, ''value'');set(edgem, ''userdata'', edgecolor(get(edgem, ''value''), :));showimage'],... 'Value', edgevalue, ... 'Userdata', edgecolor(edgevalue,:)); face_txt=uicontrol(Handlefig,... 'Style', 'text',... 'String', 'Face Color',... 'Units', 'normalized',... 'Position', face_txt_pos,... 'BackgroundColor', bg,... 'Visible', 'on',... 'HorizontalAlignment', 'center'); facem=uicontrol(Handlefig,... 'Style', 'popup',... 'String', 'None |Flat |Interp |Texmap |Single ',... 'Units', 'Normalized',... 'Position', facem_pos,... 'HorizontalAlignment', 'left',... 'Call', [gvar 'facevalue=get(facem, ''value'');set(facem, ''userdata'', facecolor(get(facem, ''value''), :));showimage'],... 'Value', facevalue, ... 'Userdata', facecolor(facevalue,:)); if strcmp(tit, 'Mesh/Contour Plot') == 1 rb_txt=uicontrol(Handlefig, 'Style', 'text',... 'String', 'Contour Lines',... 'Units', 'normalized',... 'Position', rb_txt_pos,... 'BackgroundColor', bg,... 'Visible', 'on',... 'HorizontalAlignment', 'center'); rb=zeros(length(ContourLines),1); for i=1:length(ContourLines) pos(2)=rbpos(2)-0.03*(i-1); rb(i)=uicontrol(Handlefig, 'Style', 'radio',... 'String', '-----',... 'Units', 'Normalized',... 'Fore', get(ContourLines(i), 'color'),... 'Position', pos,... 'HorizontalAlignment', 'left',... 'Call', [gvar 'set(ContourLines(' num2str(i) '), ''visible'', onoff(get(rb(' num2str(i) '), ''value'')))'],... 'Value', 1); end end return