Changeset 2518


Ignore:
Timestamp:
10/23/09 10:33:15 (15 years ago)
Author:
Mathieu Morlighem
Message:

minor

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/classes/public/contourenvelope.m

    r2517 r2518  
    1 function segments=contourenvelope(md,file)
     1function segments=contourenvelope(md,varargin)
    22%CONTOURENVELOPE - build a set of segments enveloping a contour .exp
    33%
    44%   Usage:
    5 %      segments=contourenvelope(md,file)
     5%      segments=contourenvelope(md,varargin)
     6%
     7%   Example:
     8%      segments=contourenvelope(md,'Stream.exp');
     9%      segments=contourenvelope(md);
    610
    711%some checks
    8 if ~exist(file),
    9         error(['thicknessevolution error message: file ' file ' not found']);
     12if nargin>2,
     13        help contourenvelope
     14        error('contourenvelope error message: bad usage');
     15end
     16if nargin==2,
     17        file=varargin{1};
     18        if ~exist(file),
     19                error(['thicknessevolution error message: file ' file ' not found']);
     20        end
    1021end
    1122
     
    2031
    2132%get nodes inside profile
    22 %get flag list of elements and nodes inside the contour
    23 nodein=ContourToMesh(md.elements,md.x,md.y,expread(file,1),'node',1);
    24 elemin=(sum(nodein(md.elements),2)==size(md.elements,2));
    25 %modify element connectivity
    26 elemout=find(~elemin);
    2733elementconnectivity=md.elementconnectivity;
    28 elementconnectivity(elemout,:)=0;
    29 elementconnectivity(find(ismember(elementconnectivity,elemout)))=0;
     34if nargin==2,
     35        %get flag list of elements and nodes inside the contour
     36        nodein=ContourToMesh(md.elements,md.x,md.y,expread(file,1),'node',1);
     37        elemin=(sum(nodein(md.elements),2)==size(md.elements,2));
     38        %modify element connectivity
     39        elemout=find(~elemin);
     40        elementconnectivity(elemout,:)=0;
     41        elementconnectivity(find(ismember(elementconnectivity,elemout)))=0;
     42end
    3043
    3144%Find element on boundary
    3245%First: find elements on the boundary of the domain
    3346flag=elementconnectivity;
    34 flag(find(flag))=elemin(flag(find(flag)));
     47if nargin==2,
     48        flag(find(flag))=elemin(flag(find(flag)));
     49end
    3550elementonboundary=double(sum(flag,2)<3 & sum(flag,2)>0);
    3651
Note: See TracChangeset for help on using the changeset viewer.