Changeset 206 for trunk/src/uvmat.m
- Timestamp:
- Feb 27, 2011, 10:40:29 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/uvmat.m
r199 r206 2389 2389 return 2390 2390 end 2391 [CellVarIndex,NbDim,VarType,errormsg]=find_field_indices(UvData.Field); 2391 'testUVMAT' 2392 UvData.Field 2393 [CellVarIndex,NbDim,VarType,errormsg]=find_field_indices(UvData.Field) 2392 2394 if ~isempty(errormsg) 2393 2395 errormsg=['error in uvmat/refresh_field/find_field_indices: ' errormsg]; … … 2395 2397 end 2396 2398 [NbDim,imax]=max(NbDim); 2399 VarType{imax} 2397 2400 if ~isempty(VarType{imax}.coord_x) && ~isempty(VarType{imax}.coord_y) %unstructured coordinates 2398 2401 XName=UvData.Field.ListVarName{VarType{imax}.coord_x}; … … 2400 2403 eval(['nbvec=length(UvData.Field.' XName ');'])%nbre of measurement points (e.g. vectors) 2401 2404 test_x=1;%test for unstructured coordinates 2405 if ~isempty(VarType{imax}.coord_z) 2406 ZName=UvData.Field.ListVarName{VarType{imax}.coord_z}; 2407 else 2408 NbDim=2; 2409 end 2402 2410 elseif VarType{imax}.coord(NbDim)>0 %structured coordinate 2403 2411 XName=UvData.Field.ListVarName{VarType{imax}.coord(NbDim)}; … … 2407 2415 end 2408 2416 if NbDim==3 2409 ZName=UvData.Field.ListVarName{VarType{imax}.coord(1)};%structured coordinates in 3D 2417 if ~test_x 2418 ZName=UvData.Field.ListVarName{VarType{imax}.coord(1)};%structured coordinates in 3D 2419 end 2410 2420 eval(['ZMax=max(UvData.Field.' ZName ');']) 2411 2421 eval(['ZMin=min(UvData.Field.' ZName ');']) 2422 UvData.Field.ZMax=ZMax; 2423 UvData.Field.ZMin=ZMin; 2412 2424 test_z=1; 2413 2425 if isequal(ZMin,ZMax)%no z dependency … … 2417 2429 end 2418 2430 if exist('XName','var') 2419 eval(['XMax=max(UvData.Field.' XName ');']) 2420 eval(['XMin=min(UvData.Field.' XName ');']) 2421 UvData.Field.NbDim=NbDim; 2422 UvData.Field.XMax=XMax; 2423 UvData.Field.XMin=XMin; 2424 if NbDim >1 2425 eval(['YMax=max(UvData.Field.' YName ');']) 2426 eval(['YMin=min(UvData.Field.' YName ');']) 2427 UvData.Field.YMax=YMax; 2428 UvData.Field.YMin=YMin; 2429 end 2430 eval(['nbvec=length(UvData.Field.' XName ');']) 2431 if test_x %unstructured coordinates 2432 if test_z 2433 UvData.Field.Mesh=((XMax-XMin)*(YMax-YMin)*(ZMax-ZMin))/nbvec;% volume per vector 2434 UvData.Field.Mesh=(UvData.Field.Mesh)^(1/3); 2431 eval(['XMax=max(UvData.Field.' XName ');']) 2432 eval(['XMin=min(UvData.Field.' XName ');']) 2433 UvData.Field.NbDim=NbDim; 2434 UvData.Field.XMax=XMax; 2435 UvData.Field.XMin=XMin; 2436 if NbDim >1 2437 eval(['YMax=max(UvData.Field.' YName ');']) 2438 eval(['YMin=min(UvData.Field.' YName ');']) 2439 UvData.Field.YMax=YMax; 2440 UvData.Field.YMin=YMin; 2441 end 2442 eval(['nbvec=length(UvData.Field.' XName ');']) 2443 if test_x %unstructured coordinates 2444 if test_z 2445 UvData.Field.Mesh=((XMax-XMin)*(YMax-YMin)*(ZMax-ZMin))/nbvec;% volume per vector 2446 UvData.Field.Mesh=(UvData.Field.Mesh)^(1/3); 2447 else 2448 UvData.Field.Mesh=sqrt((XMax-XMin)*(YMax-YMin)/nbvec);%2D 2449 end 2435 2450 else 2436 UvData.Field.Mesh=sqrt((XMax-XMin)*(YMax-YMin)/nbvec);%2D 2437 end 2438 else 2439 VarIndex=CellVarIndex{imax}; % list of variable indices 2440 DimIndex=UvData.Field.VarDimIndex{VarIndex(1)}; %list of dim indices for the variable 2441 nbpoints_x=UvData.Field.DimValue(DimIndex(NbDim)); 2442 DX=(XMax-XMin)/(nbpoints_x-1); 2443 if NbDim >1 2444 nbpoints_y=UvData.Field.DimValue(DimIndex(NbDim-1)); 2445 DY=(YMax-YMin)/(nbpoints_y-1); 2446 end 2447 if NbDim==3 2448 nbpoints_z=UvData.Field.DimValue(DimIndex(1)); 2449 DZ=(ZMax-ZMin)/(nbpoints_z-1); 2450 UvData.Field.Mesh=sqrt(DX*DY*DZ); 2451 UvData.Field.ZMax=ZMax; 2452 UvData.Field.ZMin=ZMin; 2453 else 2454 UvData.Field.Mesh=sqrt(DX*DY); 2455 end 2456 end 2451 VarIndex=CellVarIndex{imax}; % list of variable indices 2452 DimIndex=UvData.Field.VarDimIndex{VarIndex(1)}; %list of dim indices for the variable 2453 nbpoints_x=UvData.Field.DimValue(DimIndex(NbDim)); 2454 DX=(XMax-XMin)/(nbpoints_x-1); 2455 if NbDim >1 2456 nbpoints_y=UvData.Field.DimValue(DimIndex(NbDim-1)); 2457 DY=(YMax-YMin)/(nbpoints_y-1); 2458 end 2459 if NbDim==3 2460 nbpoints_z=UvData.Field.DimValue(DimIndex(1)); 2461 DZ=(ZMax-ZMin)/(nbpoints_z-1); 2462 UvData.Field.Mesh=sqrt(DX*DY*DZ); 2463 UvData.Field.ZMax=ZMax; 2464 UvData.Field.ZMin=ZMin; 2465 else 2466 UvData.Field.Mesh=sqrt(DX*DY); 2467 end 2468 end 2457 2469 end 2458 2470 … … 2481 2493 UvData.Object{1}.RangeZ=UvData.Field.Mesh;%main plotting plane 2482 2494 UvData.Object{1}.Coord(1,3)=(UvData.Field.ZMin+UvData.Field.ZMax)/2;%section at a middle plane chosen 2483 UvData.Object{1}. Phi=0;2484 UvData.Object{1}.Theta=0;2485 UvData.Object{1}.Psi=0;2495 UvData.Object{1}.Angle=[0 0 0]; 2496 % UvData.Object{1}.Theta=0; 2497 % UvData.Object{1}.Psi=0; 2486 2498 UvData.Object{1}.HandlesDisplay=plot(0,0,'Tag','proj_object');% A REVOIR 2487 PlotHandles=get_plot_handles(handles);2499 % PlotHandles=get_plot_handles(handles); 2488 2500 UvData.Object{1}.Name='1-PLANE'; 2489 2501 UvData.Object{1}.enable_plot=1; 2490 set_object(UvData.Object{1}, PlotHandles,ZBounds);2502 set_object(UvData.Object{1},handles,ZBounds); 2491 2503 set(handles.list_object_1,'Value',1); 2492 2504 set(handles.list_object_1,'String',{'1-PLANE'}); … … 2504 2516 siz=size(XmlData.PlaneAngle); 2505 2517 indangle=min(siz(1),UvData.ZIndex);%take first angle if a single angle is defined (translating scanning) 2506 UvData.Object{1}.Phi=XmlData.PlaneAngle(indangle,1); 2507 UvData.Object{1}.Theta=XmlData.PlaneAngle(indangle,2); 2508 UvData.Object{1}.Psi=XmlData.PlaneAngle(indangle,3); 2518 UvData.Object{1}.PlaneAngle=XmlData.PlaneAngle(indangle,:); 2509 2519 end 2510 2520 elseif isfield(UvData,'ZIndex') … … 2562 2572 %loop on the projection objects: one or two 2563 2573 for imap=1:numel(IndexObj) 2564 iobj=IndexObj(imap); 2574 iobj=IndexObj(imap); 2565 2575 [ObjectData,errormsg]=proj_field(UvData.Field,UvData.Object{iobj});% project field on the object 2566 2576 if testnewseries && isfield(ObjectData,'CoordUnit')
Note: See TracChangeset
for help on using the changeset viewer.