Changeset 382 for trunk/src/proj_field.m


Ignore:
Timestamp:
Feb 6, 2012, 11:46:39 PM (12 years ago)
Author:
sommeria
Message:

several bugs corrected
function filter_tps introduced (spline thin shell)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/proj_field.m

    r379 r382  
    8080%AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    8181
    82 function [ProjData,errormsg]=proj_field(FieldData,ObjectData)
     82function [ProjData,errormsg]=proj_field(FieldData,ObjectData,FieldName)
    8383errormsg='';%default
    8484%% case of no projection (object is used only as graph display)
     
    913913%project on a plane
    914914% AJOUTER flux,circul,error
    915  function  [ProjData,errormsg] = proj_plane(FieldData, ObjectData)
     915 function  [ProjData,errormsg] = proj_plane(FieldData, ObjectData,FieldName)
    916916%-----------------------------------------------------------------
    917917
     
    11641164            coord_x_proj=XMin:DX:XMax;
    11651165            coord_y_proj=YMin:DY:YMax;
     1166            if isfield(FieldData,[VarName '_tps'])
     1167                [XI,YI]=meshgrid(coord_x_proj,coord_y_proj');
     1168                XI=reshape(XI,[],1);
     1169                YI=reshape(YI,[],1);         
     1170            end
    11661171            DimCell={'coord_y','coord_x'};
    11671172            ProjData.ListVarName={'coord_y','coord_x'};
     
    11861191            FF=zeros(1,length(coord_y_proj)*length(coord_x_proj));
    11871192            testFF=0;
     1193            if ~isempty(FieldName)
     1194                FieldData=calc_field(FieldName,FieldData,XI,YI);
     1195            end
    11881196            for ivar=VarIndex
    11891197                VarName=FieldData.ListVarName{ivar};
     
    11961204                    end
    11971205                    if  ~isequal(ivar_FF,0)
    1198                         eval(['FieldData.' VarName '=FieldData.' VarName '(indsel);'])
    1199                     end
    1200                     eval(['ProjData.' VarName '=griddata_uvmat(double(coord_X),double(coord_Y),double(FieldData.' VarName '),coord_x_proj,coord_y_proj'',rho);'])
    1201                     eval(['varline=reshape(ProjData.' VarName ',1,length(coord_y_proj)*length(coord_x_proj));'])
     1206                        FieldData.(VarName)=FieldData.(VarName)(indsel);
     1207                    end
     1208%                     if isfield(FieldData,[VarName '_tps'])
     1209%                         [XI,YI]=meshgrid(coord_x_proj,coord_y_proj');
     1210%                         XI=reshape(XI,[],1);
     1211%                         YI=reshape(YI,[],1);
     1212%                         
     1213                   if ~isempty(FieldName)
     1214                        ProjData.(VarName)=griddata_uvmat(double(coord_X),double(coord_Y),double(FieldData.(VarName)),coord_x_proj,coord_y_proj',rho);
     1215                    end
     1216                    varline=reshape(ProjData.(VarName),1,length(coord_y_proj)*length(coord_x_proj));
    12021217                    FFlag= isnan(varline); %detect undefined values NaN
    12031218                    indnan=find(FFlag);
    12041219                    if~isempty(indnan)
    12051220                        varline(indnan)=zeros(size(indnan));
    1206                         eval(['ProjData.' VarName '=reshape(varline,length(coord_y_proj),length(coord_x_proj));'])
     1221                        ProjData.(VarName)=reshape(varline,length(coord_y_proj),length(coord_x_proj));
    12071222                        FF(indnan)=ones(size(indnan));
    12081223                        testFF=1;
Note: See TracChangeset for help on using the changeset viewer.