Index: /issm/trunk-jpl/src/m/classes/mesh3dsurface.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh3dsurface.m	(revision 24851)
+++ /issm/trunk-jpl/src/m/classes/mesh3dsurface.m	(revision 24852)
@@ -194,4 +194,66 @@
 
 		end % }}}
+		function export(self,varargin) % {{{
+
+			options=pairoptions(varargin{:});
+			filename=getfieldvalue(options,'filename');
+			format=getfieldvalue(options,'format','shp');
+			geometry=getfieldvalue(options,'geometry','line');
+
+			%prepare contours: 
+			contours= struct([]);
+			if strcmpi(geometry,'point'),
+				for i=1:self.numberofvertices,
+					contours(i).x = self.long(i);
+					contours(i).y = self.lat(i);
+					contours(i).id = i;
+					contours(i).Geometry = 'Point';
+				end
+			elseif strcmpi(geometry,'line'),
+				counter=1;
+				for i=1:self.numberofelements,
+					el=self.elements(i,:);
+					%first line:
+					contours(counter).x = [self.long(el(1)) self.long(el(2))];
+					contours(counter).y = [self.lat(el(1)) self.lat(el(2))];
+					contours(counter).Geometry = 'Line';
+
+					%second line:
+					contours(counter+1).x = [self.long(el(2)) self.long(el(3))];
+					contours(counter+1).y = [self.lat(el(2)) self.lat(el(3))];
+					contours(counter+1).Geometry = 'Line';
+
+					%third line:
+					contours(counter+2).x = [self.long(el(3)) self.long(el(1))];
+					contours(counter+2).y = [self.lat(el(3)) self.lat(el(1))];
+					contours(counter+2).Geometry = 'Line';
+					
+					%increase counter: 
+					counter=counter+3;
+				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';
+				end
+			else
+				error(sprintf('mesh3dsurface ''export'' error message: geometry %s not supported yet (should be ''point'' or ''line''',geometry));
+			end
+
+			%write file: 
+			if strcmpi(format,'shp'),
+				shpwrite(contours,filename);
+			elseif strcmpi(format,'exp'),
+				expwrite(contours,filename);
+			else
+				error(sprintf('mesh3dsurface ''export'' error message: file format %s not supported yet',format));
+			end
+
+
+
+		end % }}}
 	end
 end
