Changeset 530 for trunk/src/get_field.m


Ignore:
Timestamp:
Aug 27, 2012, 4:38:41 PM (11 years ago)
Author:
sommeria
Message:

new conventions for find_field_cells .

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/get_field.m

    r528 r530  
    218218
    219219set(handles.scalar,'String', Txt )
    220 [CellVarIndex,NbDim,VarType,errormsg]=find_field_cells(Field);
     220[CellInfo,NbDim,errormsg]=find_field_cells(Field);
     221% [CellVarIndex,NbDim,CoordType,VarRole,errormsg]=find_field_cells(Field);
    221222if ~isempty(errormsg) 
    222     msgbox_uvmat('ERROR',['error in get_field/Field_input/find_field_cells: ' errormsg])
     223    msgbox_uvmat('ERROR',['get_field / Field_input / find_field_cells: ' errormsg])
    223224    return
    224225end 
    225 for icell=1:numel(CellVarIndex)
    226     NbDim(icell)=max(NbDim(icell),numel(CellVarIndex{icell}));
     226for icell=1:numel(CellInfo)
     227    NbDim(icell)=max(NbDim(icell),numel(CellInfo{icell}.VarIndex));
    227228end
    228229[maxdim,imax]=max(NbDim);
     
    242243if maxdim>=2
    243244    set(handles.CheckPlot1D,'Value',0)
    244     if ~isempty(VarType{imax}.vector_x) && ~isempty(VarType{imax}.vector_y)     
     245    if isfield(CellInfo{imax},'VarIndex_vector_x') &&  isfield(CellInfo{imax},'VarIndex_vector_y')
    245246        set(handles.CheckVector,'Value',1)
    246247        set(handles.CheckScalar,'Value',0)
    247         set(handles.vector_x,'Value',VarType{imax}.vector_x(1))
    248         set(handles.vector_y,'Value',VarType{imax}.vector_y(1))
    249         if ~isempty(VarType{imax}.coord_x) && ~isempty(VarType{imax}.coord_y)
    250             set(handles.coord_x_vectors,'Value',VarType{imax}.coord_x+1)
    251             set(handles.coord_y_vectors,'Value',VarType{imax}.coord_y+1)
    252         end
    253         if ~isempty(VarType{imax}.coord)
    254             set(handles.coord_y_vectors,'Value',VarType{imax}.coord(1)+1)
    255             if numel(VarType{imax}.coord)>=2
    256                 set(handles.coord_x_vectors,'Value',VarType{imax}.coord(2)+1)
    257             end
     248        set(handles.vector_x,'Value',CellInfo{imax}.VarIndex_vector_x(1))
     249        set(handles.vector_y,'Value',CellInfo{imax}.VarIndex_vector_y(1))
     250        if strcmp(CellInfo{imax}.CoordType,'scattered')
     251            set(handles.coord_x_vectors,'Value',CellInfo{imax}.CoordIndex(end))
     252            set(handles.coord_y_vectors,'Value',CellInfo{imax}.CoordIndex(end-1))
     253        elseif strcmp(CellInfo{imax}.CoordType,'grid')
     254            set(handles.coord_x_vectors,'Value',CellInfo{imax}.CoordIndex(end)+1)
     255            set(handles.coord_y_vectors,'Value',CellInfo{imax}.CoordIndex(end-1)+1)
    258256        end
    259257    else
    260258        set(handles.CheckScalar,'Value',1)
    261259        set(handles.CheckVector,'Value',0)
    262         if isfield(VarType{imax},'scalar') && length(VarType{imax}.scalar)>=1
    263             set(handles.scalar,'Value',VarType{imax}.scalar(1))
    264             if ~isempty(VarType{imax}.coord_x) && ~isempty(VarType{imax}.coord_y)
    265                 set(handles.coord_x_scalar,'Value',VarType{imax}.coord_x+1)
    266                 set(handles.coord_y_scalar,'Value',VarType{imax}.coord_y+1)
    267             end
    268             if ~isempty(VarType{imax}.coord_z)
    269                 set(handles.coord_z_scalar,'Value',VarType{imax}.coord_z+1)
    270             end
    271             if ~isempty(VarType{imax}.coord)
    272                 if numel(VarType{imax}.coord)>=maxdim-2 && maxdim>=3
    273                     set(handles.coord_z_scalar,'Value',VarType{imax}.coord(maxdim-2)+1)
    274                 end
    275                 if numel(VarType{imax}.coord)>=maxdim-1
    276                     set(handles.coord_y_scalar,'Value',VarType{imax}.coord(maxdim-1)+1)
    277                 end
    278                 if numel(VarType{imax}.coord)>=maxdim
    279                     set(handles.coord_x_scalar,'Value',VarType{imax}.coord(maxdim)+1)
    280                 end     
     260        if isfield(CellInfo{imax},'VarIndex_scalar')
     261            set(handles.scalar,'Value',CellInfo{imax}.VarIndex_scalar(1))
     262                set(handles.coord_x_scalar,'Value',CellInfo{imax}.CoordIndex(end)+1)
     263                set(handles.coord_y_scalar,'Value',CellInfo{imax}.CoordIndex(end-1)+1)
     264            if numel(CellInfo{imax}.CoordIndex)==3
     265                set(handles.coord_z_scalar,'Value',CellInfo{imax}.CoordIndex(1)+1)
    281266            end
    282267        end
     
    286271    CheckVector_Callback(handles.CheckVector, [], handles)
    287272end
    288 %scalar_Callback(handles.get_field, eventdata, handles)
    289 %vector_x_Callback(handles.get_field, eventdata, handles)
    290273
    291274%------------------------------------------------------------------------
     
    301284    variables_Callback(hObject, eventdata, handles)
    302285end
    303 [CellVarIndex,NbDim,VarType,errormsg]=find_field_cells(Field);
    304 for icell=1:numel(CellVarIndex)
    305     VarIndex=CellVarIndex{icell};
    306     if ~isempty(find(VarIndex==yindex,1)) && (isempty(VarType{icell}.coord_x)||~isequal(VarType{icell}.coord_x,VarIndex))
    307         cell_select=icell;
    308         break
    309     end
    310 end
    311 
    312 val=get(handles.abscissa,'Value');
    313 set(handles.abscissa,'Value',min(val,2));
    314 coord_x_index=VarType{cell_select}.coord;
    315 coord_x_index=coord_x_index(coord_x_index~=0);
    316 set(handles.abscissa,'String',[{''}; (Field.ListVarName(coord_x_index))'; (Field.ListVarName(VarIndex))'])
     286[CellInfo,NbDim,errormsg]=find_field_cells(Field);
     287%[CellVarIndex,NbDim,VarRole,errormsg]=find_field_cells(Field);
     288% for icell=1:numel(CellInfo) TODO: adapt to new convention
     289%     VarIndex=CellInfo{icell}.VarIndex;
     290%     if ~isempty(find(VarIndex==yindex,1)) && (isempty(VarRole{icell}.coord_x)||~isequal(VarRole{icell}.coord_x,VarIndex))
     291%         cell_select=icell;
     292%         break
     293%     end
     294% end
     295%
     296% val=get(handles.abscissa,'Value');
     297% set(handles.abscissa,'Value',min(val,2));
     298% coord_x_index=VarRole{cell_select}.coord;
     299% coord_x_index=coord_x_index(coord_x_index~=0);
     300% set(handles.abscissa,'String',[{''}; (Field.ListVarName(coord_x_index))'; (Field.ListVarName(VarIndex))'])
    317301
    318302%------------------------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.