Index: /issm/trunk/src/m/model/contourenvelope.m
===================================================================
--- /issm/trunk/src/m/model/contourenvelope.m	(revision 8729)
+++ /issm/trunk/src/m/model/contourenvelope.m	(revision 8730)
@@ -7,4 +7,5 @@
 %   Example:
 %      segments=contourenvelope(md,'Stream.exp');
+%      segments=contourenvelope(md,md.elementoniceshelf)
 %      segments=contourenvelope(md);
 
@@ -15,7 +16,18 @@
 end
 if nargin==2,
-	file=varargin{1};
-	if ~exist(file),
-		error(['thicknessevolution error message: file ' file ' not found']);
+	flags=varargin{1};
+
+	if ischar(flags),
+		file=flags;
+		file=varargin{1};
+		if ~exist(file),
+			error(['contourenvelope error message: file ' file ' not found']);
+		end
+		isfile=1;
+	elseif isnumeric(flags),
+		%do nothing for now
+		isfile=0;
+	else
+		error('contourenvelope error message:  second argument should a file or an elements flag');
 	end
 end
@@ -33,11 +45,26 @@
 elementconnectivity=md.elementconnectivity;
 if nargin==2,
-	%get flag list of elements and nodes inside the contour
-	nodein=ContourToMesh(md.elements,md.x,md.y,file,'node',1);
-	elemin=(sum(nodein(md.elements),2)==size(md.elements,2));
-	%modify element connectivity
-	elemout=find(~elemin);
-	elementconnectivity(elemout,:)=0;
-	elementconnectivity(find(ismember(elementconnectivity,elemout)))=0;
+	if isfile,
+		%get flag list of elements and nodes inside the contour
+		nodein=ContourToMesh(md.elements,md.x,md.y,file,'node',1);
+		elemin=(sum(nodein(md.elements),2)==size(md.elements,2));
+		%modify element connectivity
+		elemout=find(~elemin);
+		elementconnectivity(elemout,:)=0;
+		elementconnectivity(find(ismember(elementconnectivity,elemout)))=0;
+	else
+		%get flag list of elements and nodes inside the contour
+		nodein=zeros(md.numberofnodes,1); 
+		elemin=zeros(md.numberofelements,1); 
+		
+		pos=find(flags); 
+		elemin(pos)=1;
+		nodein(md.elements(pos,:))=1;
+
+		%modify element connectivity
+		elemout=find(~elemin);
+		elementconnectivity(elemout,:)=0;
+		elementconnectivity(find(ismember(elementconnectivity,elemout)))=0;
+	end
 end
 
