Changeset 55 for trunk/src/set_object.m


Ignore:
Timestamp:
Mar 17, 2010, 10:26:41 AM (14 years ago)
Author:
sommeria
Message:

-use of a single parameter file PARAM.xml (instead of PARAM_WIN and PARAM_LINUX).
-correction of a bug for opening an existing projection object
-manual editing of vectors made available with the builtin netcdf tool.
-bug fix for reading netcdf files with the builtin netcdf tool.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/set_object.m

    r41 r55  
    77% hset_object: handle of the GUI figure
    88%
    9 % INTPUT:
     9% INPUT:
    1010% data: structure describing the object properties
    11 %  PlotHandles: handles for projection plots
     11%    .Style=...
     12%    .ProjMode
     13%    .CoordType: 'phys' or 'px'
     14%    .DX,.DY,.DZ : mesh along each dirction
     15%    .RangeX, RangeY
     16%    .Coord(j,i), i=1, 2, 3,  components x, y, z of j=1...n position(s) characterizing the object components
     17% PlotHandles: handles for projection plots
    1218% Zbounds: bounds on Z ( 3D case)
    1319%
     
    8692desable_plot=0;%default
    8793SetData.PlotHandles=PlotHandles;
    88 if exist('data','var') & isfield(data,'ParentButton')
     94if exist('data','var') && isfield(data,'ParentButton')
    8995        SetData.ParentButton=data.ParentButton;
    9096        set(hObject,'DeleteFcn',{@closefcn,SetData.ParentButton})%
     
    94100% fill the interface as set in the input data:
    95101if exist('data','var')
    96 %     if isfield(data,'desable_open')
    97 %         desable_open=data.desable_open;%test to desable button OPEN (edit or display mode)
    98 %     end
    99102    if isfield(data,'desable_plot')
    100103        desable_plot=data.desable_plot;%test to desable button PLOT (display mode)
    101104    end
    102     if ~isfield(data,'NbDim')|~isequal(data.NbDim,3)%2D case
     105    if ~isfield(data,'NbDim')||~isequal(data.NbDim,3)%2D case
    103106        set(handles.ZObject,'Visible','off')
    104107        set(handles.z_slider,'Visible','off')
     
    110113        end
    111114    end
    112 %     if isfield(data,'ProjMode') && isfield(data,'Style')
    113 %         data.TITLE=set_title(data.Style,data.ProjMode);% define TITLE in set_object (POINTS, LINE, PATCH,...)
    114 %     end
    115 %     if isfield(data,'TITLE')
    116 %         menutitle=get(handles.TITLE,'String');
    117 %         for iline=1:length(menutitle)
    118 %             strmenu=menutitle{iline};
    119 %             if isequal(data.TITLE,strmenu)
    120 %                 set(handles.TITLE,'Value',iline)
    121 %                 break
    122 %             end
    123 %         end
    124 %         TITLE_Callback(hObject, eventdata, handles)% enable edit boxes depending on TITLE
    125 %     end
    126 %     if isfield(data,'fixedtitle')&isequal(data.fixedtitle,1)
    127 %         set(handles.TITLE,'enable','off')
    128 %     end
    129115    if isfield(data,'Style')
    130116        menu=get(handles.ObjectStyle,'String');
     
    147133    end
    148134    ProjMode_Callback(hObject, eventdata, handles)
    149     if isfield(data,'Coord') & size(data.Coord,2)>=2
    150         sizcoord=size(data.Coord);
    151         for i=1:sizcoord(1)
    152             XObject{i}=num2str(data.Coord(i,1),4);
    153             YObject{i}=num2str(data.Coord(i,2),4);
    154         end
    155         set(handles.XObject,'String',XObject)
    156         set(handles.YObject,'String',YObject)
    157         %set(handles.XObject,'String',mat2cell(data.Coord(:,1),sizcoord(1)))
    158         %set(handles.YObject,'String',mat2cell(data.Coord(:,2),sizcoord(1)))
    159         if sizcoord(2)>3
     135    if isfield(data,'Coord')
     136        if ischar(data.Coord)
     137            data.Coord=str2num(data.Coord);
     138        elseif iscell(data.Coord)
     139            CoordCell=data.Coord;
     140            data.Coord=zeros(numel(CoordCell),3);
     141            for iline=1:numel(CoordCell)
     142                data.Coord(iline,:)=str2num(CoordCell{iline});
     143            end
     144        end
     145        if size(data.Coord,2)>=2
     146            sizcoord=size(data.Coord);
    160147            for i=1:sizcoord(1)
    161                 ZObject{i}=num2str(data.Coord(i,3),4);
     148                XObject{i}=num2str(data.Coord(i,1),4);
     149                YObject{i}=num2str(data.Coord(i,2),4);
    162150            end
    163             set(handles.ZObject,'String',ZObject)
     151            set(handles.XObject,'String',XObject)
     152            set(handles.YObject,'String',YObject)
     153            if sizcoord(2)>3
     154                for i=1:sizcoord(1)
     155                    ZObject{i}=num2str(data.Coord(i,3),4);
     156                end
     157                set(handles.ZObject,'String',ZObject)
     158            end
    164159        end
    165160    end
    166161    if isfield(data,'DX')
    167         set(handles.DX,'String',num2str(data.DX,3))
     162        if ~ischar(handles.DX)
     163            data.DX=num2str(data.DX,3);
     164        end
     165        set(handles.DX,'String',data.DX)
    168166    end
    169167    if isfield(data,'DY')
    170          set(handles.DY,'String',num2str(data.DY,3))
    171     end
    172     %OBSOLETE (replaced by Range)
    173 %     if isfield(data,'XMin')
    174 %          set(handles.XMin,'String',num2str(data.XMin,3))
    175 %     end
    176 %     if isfield(data,'XMax')
    177 %          set(handles.XMax,'String',num2str(data.XMax,3))
    178 %     end
    179 %     if isfield(data,'YMin')
    180 %          set(handles.YMin,'String',num2str(data.YMin,3))
    181 %     end
    182 %     if isfield(data,'YMax')
    183 %          set(handles.YMax,'String',num2str(data.YMax,3))
    184 %     end
     168        if ~ischar(handles.DY)
     169            data.DY=num2str(data.DY,3);
     170        end
     171        set(handles.DY,'String',data.DX)
     172    end
    185173    if isfield(data,'RangeZ') && length(ZBounds) >= 2
    186174        set(handles.ZMax,'String',num2str(max(data.RangeZ),3))
     
    197185    end
    198186    if isfield(data,'RangeX')
    199             set(handles.XMax,'String',num2str(max(data.RangeX),3))
    200             set(handles.XMin,'String',num2str(min(data.RangeX),3))
     187        if ischar(data.RangeX)
     188            data.RangeX=str2num(data.RangeX);
     189        end
     190        set(handles.XMax,'String',num2str(max(data.RangeX),3))
     191        set(handles.XMin,'String',num2str(min(data.RangeX),3))
    201192    end
    202193    if isfield(data,'RangeY')
    203             set(handles.YMax,'String',num2str(max(data.RangeY),3))
    204             set(handles.YMin,'String',num2str(min(data.RangeY),3))
     194        if ischar(data.RangeY)
     195            data.RangeY=str2num(data.RangeY);
     196        end
     197        set(handles.YMax,'String',num2str(max(data.RangeY),3))
     198        set(handles.YMin,'String',num2str(min(data.RangeY),3))
    205199    end
    206200    if isfield(data,'RangeZ')
    207             set(handles.ZMax,'String',num2str(max(data.RangeZ),3))
    208             set(handles.ZMin,'String',num2str(min(data.RangeZ),3))
     201        if ischar(data.RangeZ)
     202            data.RangeZ=str2num(data.RangeZ);
     203        end
     204        set(handles.ZMax,'String',num2str(max(data.RangeZ),3))
     205        set(handles.ZMin,'String',num2str(min(data.RangeZ),3))
    209206    end 
    210207    if isfield(data,'Phi')
    211          set(handles.Phi,'String',num2str(data.Phi,3))
     208        if ~ischar(handles.Phi)
     209            data.DY=num2str(data.Phi,3);
     210        end
     211         set(handles.Phi,'String',data.Phi)
    212212    end
    213213    if isfield(data,'Theta')
    214          set(handles.Theta,'String',num2str(data.Theta,3))
     214        if ~ischar(handles.Theta)
     215            data.DY=num2str(data.Theta,3);
     216        end
     217        set(handles.Theta,'String',data.Theta)
    215218    end
    216219    if isfield(data,'Psi')
    217          set(handles.Psi,'String',num2str(data.Psi,3))
     220         if ~ischar(handles.Psi)
     221            data.DY=num2str(data.Psi,3);
     222        end
     223         set(handles.Psi,'String',data.Psi)
    218224    end 
    219225    if isfield(data,'DZ')
    220         set(handles.DZ,'String',num2str(data.DZ,3))
     226        if ~ischar(handles.DZ)
     227            data.DY=num2str(data.DZ,3);
     228        end
     229        set(handles.DZ,'String',data.DZ)
    221230    end
    222231    if isfield(data,'CoordType')
     
    506515
    507516%-----------------------------------------------------
    508 % --- Executes on button press in OPEN.
     517% --- Executes on button press in OPEN: DESACTIVATED use uvmat browser
    509518function OPEN_Callback(hObject, eventdata, handles)
    510519%get the object file
Note: See TracChangeset for help on using the changeset viewer.