Changeset 8730


Ignore:
Timestamp:
06/28/11 00:42:34 (14 years ago)
Author:
Eric.Larour
Message:

Added flags in inputs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/model/contourenvelope.m

    r8298 r8730  
    77%   Example:
    88%      segments=contourenvelope(md,'Stream.exp');
     9%      segments=contourenvelope(md,md.elementoniceshelf)
    910%      segments=contourenvelope(md);
    1011
     
    1516end
    1617if nargin==2,
    17         file=varargin{1};
    18         if ~exist(file),
    19                 error(['thicknessevolution error message: file ' file ' not found']);
     18        flags=varargin{1};
     19
     20        if ischar(flags),
     21                file=flags;
     22                file=varargin{1};
     23                if ~exist(file),
     24                        error(['contourenvelope error message: file ' file ' not found']);
     25                end
     26                isfile=1;
     27        elseif isnumeric(flags),
     28                %do nothing for now
     29                isfile=0;
     30        else
     31                error('contourenvelope error message:  second argument should a file or an elements flag');
    2032        end
    2133end
     
    3345elementconnectivity=md.elementconnectivity;
    3446if nargin==2,
    35         %get flag list of elements and nodes inside the contour
    36         nodein=ContourToMesh(md.elements,md.x,md.y,file,'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;
     47        if isfile,
     48                %get flag list of elements and nodes inside the contour
     49                nodein=ContourToMesh(md.elements,md.x,md.y,file,'node',1);
     50                elemin=(sum(nodein(md.elements),2)==size(md.elements,2));
     51                %modify element connectivity
     52                elemout=find(~elemin);
     53                elementconnectivity(elemout,:)=0;
     54                elementconnectivity(find(ismember(elementconnectivity,elemout)))=0;
     55        else
     56                %get flag list of elements and nodes inside the contour
     57                nodein=zeros(md.numberofnodes,1);
     58                elemin=zeros(md.numberofelements,1);
     59               
     60                pos=find(flags);
     61                elemin(pos)=1;
     62                nodein(md.elements(pos,:))=1;
     63
     64                %modify element connectivity
     65                elemout=find(~elemin);
     66                elementconnectivity(elemout,:)=0;
     67                elementconnectivity(find(ismember(elementconnectivity,elemout)))=0;
     68        end
    4269end
    4370
Note: See TracChangeset for help on using the changeset viewer.