From 49d25b8be8c99097f23f2fd37e0fe574606cdb46 Mon Sep 17 00:00:00 2001
From: Jean-Francois Remacle <jean-francois.remacle@uclouvain.be>
Date: Fri, 2 Mar 2007 18:20:56 +0000
Subject: [PATCH] *** empty log message ***

---
 Geo/gmshEdge.cpp | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/Geo/gmshEdge.cpp b/Geo/gmshEdge.cpp
index 58cb751a38..4cc1414ecc 100644
--- a/Geo/gmshEdge.cpp
+++ b/Geo/gmshEdge.cpp
@@ -1,4 +1,4 @@
-// $Id: gmshEdge.cpp,v 1.30 2007-02-27 17:15:47 remacle Exp $
+// $Id: gmshEdge.cpp,v 1.31 2007-03-02 18:20:56 remacle Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
@@ -174,15 +174,23 @@ SPoint2 gmshEdge::reparamOnFace(GFace *face, double epar,int dir) const
 	List_Read(c->Control_Points, i, &v[1]);
 	List_Read(c->Control_Points, i + 1, &v[2]);
 	if(!i) {
-	  v[0] = &temp1;
-	  v[0]->pntOnGeometry = v[1]->pntOnGeometry * 2. - v[2]->pntOnGeometry;
+		if(c->beg == c->end){
+			List_Read(c->Control_Points,N-2,&v[0]);
+		}else{
+			v[0] = &temp1;
+			v[0]->pntOnGeometry = v[1]->pntOnGeometry * 2. - v[2]->pntOnGeometry;
+		}
 	}
 	else {
 	  List_Read(c->Control_Points, i - 1, &v[0]);
 	}
 	if(i == N - 2) {
-	  v[3] = &temp2;
-	  v[3]->pntOnGeometry = v[2]->pntOnGeometry * 2. - v[1]->pntOnGeometry;
+		if(c->beg == c->end){
+			List_Read(c->Control_Points,1,&v[3]);
+		}else{
+			v[3] = &temp2;
+			v[3]->pntOnGeometry = v[2]->pntOnGeometry * 2. - v[1]->pntOnGeometry;
+		}
 	}
 	else {
 	  List_Read(c->Control_Points, i + 2, &v[3]);
-- 
GitLab