Changeset 17474


Ignore:
Timestamp:
03/18/14 22:46:00 (11 years ago)
Author:
Mathieu Morlighem
Message:

CHG: some changes to display results on tetra mesh, stop looking for md.mesh.dimension

Location:
issm/trunk-jpl/src/m/plot
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/plot/plot_highlightelements.m

    r13730 r17474  
    1515
    1616%plot
     17pos=getfieldvalue(options,'highlight',[]);
    1718if is2d
    1819        %plot mesh
     
    2526        patch( 'Faces', [A B C], 'Vertices', [x y z],'FaceVertexCData', [0.9 0.5 0.5],'FaceColor','flat','EdgeColor','black');
    2627else
    27         %plot mesh
    28         A=elements(:,1); B=elements(:,2); C=elements(:,3); D=elements(:,4); E=elements(:,5); F=elements(:,6);
    29         patch( 'Faces', [A B C],  'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
    30         patch( 'Faces', [D E F],  'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
    31         patch( 'Faces', [A B E D],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
    32         patch( 'Faces', [B E F C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
    33         patch( 'Faces', [C A D F],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
     28        if size(elements,2)==6, %prisms
     29                %plot mesh
     30                A=elements(:,1); B=elements(:,2); C=elements(:,3); D=elements(:,4); E=elements(:,5); F=elements(:,6);
     31                patch( 'Faces', [A B C],  'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
     32                patch( 'Faces', [D E F],  'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
     33                patch( 'Faces', [A B E D],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
     34                patch( 'Faces', [B E F C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
     35                patch( 'Faces', [C A D F],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
    3436
    35         %Highlight
    36         pos=getfieldvalue(options,'highlight',[]);
    37         A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); D=elements(pos,4); E=elements(pos,5); F=elements(pos,6);
    38         patch( 'Faces', [A B C],  'Vertices', [x y z],'FaceVertexCData', [0.9 0.5 0.5],'FaceColor','flat','EdgeColor','black');
    39         patch( 'Faces', [D E F],  'Vertices', [x y z],'FaceVertexCData', [0.9 0.5 0.5],'FaceColor','flat','EdgeColor','black');
    40         patch( 'Faces', [A B E D],'Vertices', [x y z],'FaceVertexCData', [0.9 0.5 0.5],'FaceColor','flat','EdgeColor','black');
    41         patch( 'Faces', [B E F C],'Vertices', [x y z],'FaceVertexCData', [0.9 0.5 0.5],'FaceColor','flat','EdgeColor','black');
    42         patch( 'Faces', [C A D F],'Vertices', [x y z],'FaceVertexCData', [0.9 0.5 0.5],'FaceColor','flat','EdgeColor','black');
     37                %Highlight
     38                A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); D=elements(pos,4); E=elements(pos,5); F=elements(pos,6);
     39                patch( 'Faces', [A B C],  'Vertices', [x y z],'FaceVertexCData', [0.9 0.5 0.5],'FaceColor','flat','EdgeColor','black');
     40                patch( 'Faces', [D E F],  'Vertices', [x y z],'FaceVertexCData', [0.9 0.5 0.5],'FaceColor','flat','EdgeColor','black');
     41                patch( 'Faces', [A B E D],'Vertices', [x y z],'FaceVertexCData', [0.9 0.5 0.5],'FaceColor','flat','EdgeColor','black');
     42                patch( 'Faces', [B E F C],'Vertices', [x y z],'FaceVertexCData', [0.9 0.5 0.5],'FaceColor','flat','EdgeColor','black');
     43                patch( 'Faces', [C A D F],'Vertices', [x y z],'FaceVertexCData', [0.9 0.5 0.5],'FaceColor','flat','EdgeColor','black');
     44        elseif size(elements,2)==4, %tetras
     45                A=elements(:,1); B=elements(:,2); C=elements(:,3); D=elements(:,4);
     46                patch( 'Faces',[A B C],'Vertices', [x y z],'FaceVertexCData',zeros(size(x)),'FaceColor','none','EdgeColor','black');
     47                patch( 'Faces',[A B D],'Vertices', [x y z],'FaceVertexCData',zeros(size(x)),'FaceColor','none','EdgeColor','black');
     48                patch( 'Faces',[B C D],'Vertices', [x y z],'FaceVertexCData',zeros(size(x)),'FaceColor','none','EdgeColor','black');
     49                patch( 'Faces',[C A D],'Vertices', [x y z],'FaceVertexCData',zeros(size(x)),'FaceColor','none','EdgeColor','black');
     50                %Highlight
     51                A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); D=elements(pos,4);
     52                patch( 'Faces',[A B C],'Vertices', [x y z],'FaceVertexCData',[0.9 0.5 0.5],'FaceColor','flat','EdgeColor','black');
     53                patch( 'Faces',[A B D],'Vertices', [x y z],'FaceVertexCData',[0.9 0.5 0.5],'FaceColor','flat','EdgeColor','black');
     54                patch( 'Faces',[B C D],'Vertices', [x y z],'FaceVertexCData',[0.9 0.5 0.5],'FaceColor','flat','EdgeColor','black');
     55                patch( 'Faces',[C A D],'Vertices', [x y z],'FaceVertexCData',[0.9 0.5 0.5],'FaceColor','flat','EdgeColor','black');
     56        else
     57                error('Not supported');
     58        end
    4359end
    4460
  • issm/trunk-jpl/src/m/plot/plot_mesh.m

    r13730 r17474  
    2222        patch( 'Faces', [A B C], 'Vertices', [x y z],'FaceVertexCData',zeros(size(x)),'FaceColor','none','EdgeColor',edgecolor,'linewidth',linewidth);
    2323else
    24         if ~isplanet,
     24        if size(elements,2)==6, %prisms
    2525                A=elements(:,1); B=elements(:,2); C=elements(:,3); D=elements(:,4); E=elements(:,5); F=elements(:,6);
    2626                patch( 'Faces', [A B C],  'Vertices', [x y z],'FaceVertexCData',zeros(size(x)),'FaceColor','none','EdgeColor',edgecolor,'linewidth',linewidth);
     
    2929                patch( 'Faces', [B E F C],'Vertices', [x y z],'FaceVertexCData',zeros(size(x)),'FaceColor','none','EdgeColor',edgecolor,'linewidth',linewidth);
    3030                patch( 'Faces', [C A D F],'Vertices', [x y z],'FaceVertexCData',zeros(size(x)),'FaceColor','none','EdgeColor',edgecolor,'linewidth',linewidth);
    31         else
     31        elseif size(elements,2)==4, %tetras
     32                A=elements(:,1); B=elements(:,2); C=elements(:,3); D=elements(:,4);
     33                patch( 'Faces',[A B C],'Vertices', [x y z],'FaceVertexCData',zeros(size(x)),'FaceColor','none','EdgeColor',edgecolor,'linewidth',linewidth);
     34                patch( 'Faces',[A B D],'Vertices', [x y z],'FaceVertexCData',zeros(size(x)),'FaceColor','none','EdgeColor',edgecolor,'linewidth',linewidth);
     35                patch( 'Faces',[B C D],'Vertices', [x y z],'FaceVertexCData',zeros(size(x)),'FaceColor','none','EdgeColor',edgecolor,'linewidth',linewidth);
     36                patch( 'Faces',[C A D],'Vertices', [x y z],'FaceVertexCData',zeros(size(x)),'FaceColor','none','EdgeColor',edgecolor,'linewidth',linewidth);
     37        else %triangles (planet)
    3238                A=elements(:,1); B=elements(:,2); C=elements(:,3);
    3339                if (size(elements,2)==4), D=elements(:,4); else D=C; end
  • issm/trunk-jpl/src/m/plot/processdata.m

    r16470 r17474  
    5656
    5757%check length
    58 if datasize(1)~=md.mesh.numberofvertices & datasize(1)~=md.mesh.numberofelements & datasize(1)~=md.mesh.numberofvertices*6 & (md.mesh.dimension==3 & ~(datasize(1)==numberofelements2d | datasize(1)==numberofvertices2d))
     58if datasize(1)~=md.mesh.numberofvertices & datasize(1)~=md.mesh.numberofelements & datasize(1)~=md.mesh.numberofvertices*6 & (strcmp(md.mesh.meshtype(),'3D') & ~(datasize(1)==numberofelements2d | datasize(1)==numberofvertices2d))
    5959        error('plotmodel error message: data not supported yet');
    6060end
     
    6565
    6666        %check number of columns, add zeros if necessary,
    67         if (md.mesh.dimension==3)
     67        if (strcmp(md.mesh.meshtype(),'3D'))
    6868                if datasize(2)==2,
    6969                        data=[data, zeros(datasize(1),1)];
     
    7171                        error('plotmodel error message: data provided should have 2 or 3 columns for quiver plot, and 1 for regular plot');
    7272                end
    73                 %elseif ((md.mesh.dimension==2) & datasize(2)~=2),
    74                 %       error('plotmodel error message: data provided should have 2 columns for quiver plot, and 1 for regular plot');
    7573        end
    7674end
     
    8785
    8886%treat the case datasize(1)=nodes2d
    89 if (md.mesh.dimension==3 & datasize(1)==numberofvertices2d),
     87if (strcmp(md.mesh.meshtype(),'3D') & datasize(1)==numberofvertices2d),
    9088        data=project3d(md,'vector',data,'type','node');
    9189        datasize(1)=md.mesh.numberofvertices;
     
    9492
    9593%treat the case datasize(1)=nodes2d
    96 if (md.mesh.dimension==3 & datasize(1)==numberofelements2d),
     94if (strcmp(md.mesh.meshtype(),'3D') & datasize(1)==numberofelements2d),
    9795        data=project3d(md,'vector',data,'type','element');
    9896        datasize(1)=md.mesh.numberofelements;
  • issm/trunk-jpl/src/m/plot/processmesh.m

    r16488 r17474  
    4545
    4646%is it a 2d plot?
    47 if (md.mesh.dimension==2);
     47if ~strcmp(md.mesh.meshtype(),'3D');
    4848        is2d=1;
    49 elseif (md.mesh.dimension==3),
     49else
    5050        if getfieldvalue(options,'layer',0)>=1,
    5151                is2d=1;
     
    5353                is2d=0;
    5454        end
    55 else
    56         error(['dim = ' num2str(md.mesh.dimension) ' not supported yet']);
    5755end
    5856
Note: See TracChangeset for help on using the changeset viewer.