Index: /issm/trunk-jpl/src/m/classes/mesh3dsurface.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh3dsurface.m	(revision 24884)
+++ /issm/trunk-jpl/src/m/classes/mesh3dsurface.m	(revision 24885)
@@ -200,4 +200,6 @@
 			format=getfieldvalue(options,'format','shp');
 			geometry=getfieldvalue(options,'geometry','line');
+			index=getfieldvalue(options,'index',[]);
+			proj=getfieldvalue(options,'projection','');
 
 			%prepare contours: 
@@ -233,10 +235,22 @@
 				end
 			elseif strcmpi(geometry,'polygon'),
-				counter=1;
-				for i=1:self.numberofelements,
-					el=self.elements(i,:);
-					contours(i).x=[self.long(el(1)) self.long(el(2)) self.long(el(3)) self.long(el(1))];
-					contours(i).y=[self.lat(el(1)) self.lat(el(2)) self.lat(el(3)) self.lat(el(1))];
-					contours(i).Geometry = 'Polygon';
+				if isempty(index),
+					counter=1;
+					for i=1:self.numberofelements,
+						el=self.elements(i,:);
+						contours(i).x=[self.long(el(1)) self.long(el(2)) self.long(el(3)) self.long(el(1))];
+						contours(i).y=[self.lat(el(1)) self.lat(el(2)) self.lat(el(3)) self.lat(el(1))];
+						contours(i).Geometry = 'Polygon';
+						contours(i).Id = i;
+					end
+				else
+					counter=1;
+					for i=1:length(index),
+						el=self.elements(index(i),:);
+						contours(i).x=[self.long(el(1)) self.long(el(2)) self.long(el(3)) self.long(el(1))];
+						contours(i).y=[self.lat(el(1)) self.lat(el(2)) self.lat(el(3)) self.lat(el(1))];
+						contours(i).id = index(i);
+						contours(i).Geometry = 'Polygon';
+					end
 				end
 			else
@@ -253,4 +267,13 @@
 			end
 
+			%write projection file: 
+			if ~isempty(proj),
+				proj2shpprj(filename,proj);
+			end
+
+			%write style file: 
+			applyqgisstyle(filename,'mesh');
+
+
 
 
