Index: /issm/trunk/src/m/classes/public/plot/plot_segmentonneumann.m
===================================================================
--- /issm/trunk/src/m/classes/public/plot/plot_segmentonneumann.m	(revision 1216)
+++ /issm/trunk/src/m/classes/public/plot/plot_segmentonneumann.m	(revision 1217)
@@ -10,5 +10,4 @@
 subplot(width,width,i); 
 
-%units
 if ~isnan(options_structure.unitmultiplier),
 	md.x=md.x*options_structure.unitmultiplier;
@@ -26,21 +25,26 @@
 
 if strcmpi(md.type,'2d'),
-	disp('Careful, max loop is 100 for segmentonneumann plot. This is due to the heavy computational ressources needed by this routine. Uncomment next line if full plot is desired.');
-	for n=1:100,
-	%for n=1:size(segmentonneumann,1),
 
-		plot(md.x(segmentonneumann(n,1:2)),md.y(segmentonneumann(n,1:2)),'b-','linewidth',2);
-		hold on
-		plot(md.x(segmentonneumann(n,1:2)),md.y(segmentonneumann(n,1:2)),'r.','markersize',12);
+	A=md.elements(:,1); B=md.elements(:,2); C=md.elements(:,3); 
+	patch( 'Faces', [A B C], 'Vertices', [md.x md.y md.z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
+	hold on;
 
-		xstart=mean(md.x(segmentonneumann(n,1:2)));
-		ystart=mean(md.y(segmentonneumann(n,1:2)));
+	pos=segmentonneumann(:,3);
+	A=md.elements(pos,1); B=md.elements(pos,2); C=md.elements(pos,3); 
+	patch( 'Faces', [A B C], 'Vertices', [md.x md.y md.z],'FaceVertexCData', [1 1 1],'FaceColor','green','EdgeColor','black');
+	hold on;
 
-		xend=xstart+length_icefront(n)*normal_icefront(n,1);
-		yend=ystart+length_icefront(n)*normal_icefront(n,2);
+	x=md.x(md.segmentonneumann_diag(:,1:2))*[1;1]/2;
+	y=md.y(md.segmentonneumann_diag(:,1:2))*[1;1]/2;
 
-		plot([xstart xend],[ystart yend],'r-')
-		legend('element edges on ice front','grids on ice front','normal vectors')
-	end
+	length=sqrt( (md.x(md.segmentonneumann_diag(:,1))-md.x(md.segmentonneumann_diag(:,2))).^2 + (md.y(md.segmentonneumann_diag(:,1))-md.y(md.segmentonneumann_diag(:,2))).^2 );
+	normal(:,1)=cos(atan2( (md.x(md.segmentonneumann_diag(:,1))-md.x(md.segmentonneumann_diag(:,2))) , (md.y(md.segmentonneumann_diag(:,2))-md.y(md.segmentonneumann_diag(:,1))) ) );
+	normal(:,2)=sin(atan2( (md.x(md.segmentonneumann_diag(:,1))-md.x(md.segmentonneumann_diag(:,2))) , (md.y(md.segmentonneumann_diag(:,2))-md.y(md.segmentonneumann_diag(:,1))) ) );
+	 
+	xend=x+length.*normal(:,1);
+	yend=y+length.*normal(:,2);
+	quiver(x,y,xend-x,yend-y); hold on;
+	plot(x,y,'r*');
+	legend('element edges on ice front','grids on ice front','normal vectors')
 else
 	for n=1:size(segmentonneumann,1),
