Index: /issm/trunk/src/m/classes/public/plot/plot_segments.m
===================================================================
--- /issm/trunk/src/m/classes/public/plot/plot_segments.m	(revision 3113)
+++ /issm/trunk/src/m/classes/public/plot/plot_segments.m	(revision 3114)
@@ -10,37 +10,37 @@
 subplot(width,width,i); 
 
-%units
-if exist(options,'unit'),
-	unit=getfieldvalue(options,'unit');
-	md.x=md.x*unit;
-	md.y=md.y*unit;
-	md.z=md.z*unit;
-end
-
+%process mesh and data
+[x y z elements is2d]=processmesh(md,options);
 segments=md.segments;
 
-length=sqrt( (md.x(segments(:,1))-md.x(segments(:,2))).^2 + (md.y(segments(:,1))-md.y(segments(:,2))).^2 );
-%normal(:,1)=cos(atan2( (md.x(segments(:,1))-md.x(segments(:,2))) , (md.y(segments(:,2))-md.y(segments(:,1))) ) );
-%normal(:,2)=sin(atan2( (md.x(segments(:,1))-md.x(segments(:,2))) , (md.y(segments(:,2))-md.y(segments(:,1))) ) );
+if strcmpi(md.type,'2d'),
+	%plot mesh
+	A=elements(:,1); B=elements(:,2); C=elements(:,3); 
+	h1=patch( 'Faces', [A B C], 'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
+	hold on;
 
-if strcmpi(md.type,'2d'),
-	for n=1:size(segments,1),
+	%highlight elements on neumann
+	pos=segments(:,end);
+	A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); 
+	h2=patch( 'Faces', [A B C], 'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','green','EdgeColor','black');
 
-		plot(md.x(segments(n,1:2)),md.y(segments(n,1:2)),'b-','linewidth',2);
-		hold on
-		plot(md.x(segments(n,1:2)),md.y(segments(n,1:2)),'r.','markersize',12);
-
-		%xstart=mean(md.x(segments(n,1:2)));
-		%ystart=mean(md.y(segments(n,1:2)));
-
-		%xend=xstart+length(n)*normal(n,1);
-		%yend=ystart+length(n)*normal(n,2);
-
-		%plot([xstart xend],[ystart yend],'r-')
-		legend('element edges on ice front','grids on ice front','normal vectors')
-	end
+	%display arrows pointing outward
+	xstart=mean(x(segments(:,1:end-1)),2);
+	ystart=mean(y(segments(:,1:end-1)),2);
+	length=sqrt((x(segments(:,1))-x(segments(:,2))).^2 + (y(segments(:,1))-y(segments(:,2))).^2 );
+	normal(:,1)=cos(atan2((x(segments(:,1))-x(segments(:,2))) , (y(segments(:,2))-y(segments(:,1)))));
+	normal(:,2)=sin(atan2((x(segments(:,1))-x(segments(:,2))) , (y(segments(:,2))-y(segments(:,1)))));
+	xend=xstart+length.*normal(:,1);
+	yend=ystart+length.*normal(:,2);
+	q=quiver(xstart,ystart,xend-xstart,yend-ystart); hold on;
+	h3=plot(xstart,ystart,'r*');
 else
 	error('plot_segments: 3d plot of segments not supported yet!');
 end
+
+%legend (disable warnings)
+warning off
+legend([h2,q],'element on segment','normal vectors')
+warning on
 
 %apply options
