From 924eb24d5f3814b814450b1e8f8f33d0d739bcae Mon Sep 17 00:00:00 2001
From: Jean-Francois Remacle <jean-francois.remacle@uclouvain.be>
Date: Wed, 31 Jan 2007 14:33:05 +0000
Subject: [PATCH] *** empty log message ***

---
 Geo/Geo.cpp              |   50 +-
 Geo/Geo.h                |    1 +
 Geo/GeoInterpolation.cpp |   34 +-
 Geo/Makefile             | 2090 +++++++++++++++++++++++++++++++++++++-
 Geo/gmshEdge.cpp         |   13 +-
 Geo/gmshFace.cpp         |    4 +-
 Geo/gmshSurface.cpp      |   27 +
 Geo/gmshSurface.h        |   86 ++
 Geo/gmshVertex.cpp       |    5 +-
 Mesh/meshGFace.cpp       |    8 +-
 10 files changed, 2265 insertions(+), 53 deletions(-)
 create mode 100644 Geo/gmshSurface.cpp
 create mode 100644 Geo/gmshSurface.h

diff --git a/Geo/Geo.cpp b/Geo/Geo.cpp
index 335bfb62f4..66932a54cb 100644
--- a/Geo/Geo.cpp
+++ b/Geo/Geo.cpp
@@ -1,4 +1,4 @@
-// $Id: Geo.cpp,v 1.72 2007-01-31 12:27:18 remacle Exp $
+// $Id: Geo.cpp,v 1.73 2007-01-31 14:33:05 remacle Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
@@ -258,12 +258,33 @@ static void direction(Vertex * v1, Vertex * v2, double d[3])
 void End_Curve(Curve * c)
 {
   double R2, mat[3][3], R, A3, A1, A4;
-  Vertex *v[4], v0, v2, v3;
+  Vertex *v[4], v0, v2, v3,*pV;
   double f1, f2, dir32[3], dir12[3], n[3], m[3], dir42[3];
   double rhs[2], sys[2][2], sol[2];
   int i;
   Curve *Curve;
 
+  ///-----------------------------------------------------------------
+  // this is something new : if all control points of a curve
+  // are on the same geometry, then the curve is also on the geometry
+  if (c->Control_Points)
+    {
+      int NN = List_Nbr(c->Control_Points);
+      List_Read (c->Control_Points, 0, &pV);
+      c->geometry = pV->geometry;
+      for (int i=1;i<NN;i++)
+	{
+	  List_Read (c->Control_Points, i, &pV);
+	  if (c->geometry != pV->geometry)
+	    {
+	      c->geometry = 0;
+	      break;
+	    }	
+	}
+    }
+  // thats'it             JFR
+  ///-----------------------------------------------------------------
+
   if(c->Typ == MSH_SEGM_CIRC || c->Typ == MSH_SEGM_CIRC_INV ||
      c->Typ == MSH_SEGM_ELLI || c->Typ == MSH_SEGM_ELLI_INV) {
 
@@ -447,6 +468,28 @@ void End_Curve(Curve * c)
 
 void End_Surface(Surface * s, int reset_orientations)
 {
+
+  ///-----------------------------------------------------------------
+  // this is something new : if all generatrices of a surface
+  // are on the same geometry, then the surface is also on the geometry
+  Curve *c;
+  int NN = List_Nbr(s->Generatrices);
+  List_Read (s->Generatrices, 0, &c);
+  s->geometry = c->geometry;
+  for (int i=1;i<NN;i++)
+    {
+      List_Read (s->Generatrices, i, &c);
+      if (c->geometry != s->geometry)
+	{
+	  s->geometry = 0;
+	  break;
+	}	
+    }
+  printf("Surface %d's geoetry is %p\n",s->Num,s->geometry);
+  // thats'it             JFR
+  ///-----------------------------------------------------------------
+
+
   if(reset_orientations) 
     List_Reset(s->Orientations);
 }
@@ -479,6 +522,7 @@ Curve *Create_Curve(int Num, int Typ, int Order, List_T * Liste,
   pC->Circle.n[0] = 0.0;
   pC->Circle.n[1] = 0.0;
   pC->Circle.n[2] = 1.0;
+  pC->geometry = 0;
   for(int i = 0; i < 4; i++) {
     pC->ipar[i] = 0;
     pC->dpar[i] = 0.0;
@@ -583,6 +627,8 @@ Surface *Create_Surface(int Num, int Typ)
   pS->Color.type = 0;
   pS->Visible = 1;
   pS->Num = Num;
+  pS->geometry = 0;
+
   THEM->MaxSurfaceNum = IMAX(THEM->MaxSurfaceNum, Num);
   pS->Typ = Typ;
   pS->Method = LIBRE;
diff --git a/Geo/Geo.h b/Geo/Geo.h
index 16a96f9ddc..972bb8e058 100644
--- a/Geo/Geo.h
+++ b/Geo/Geo.h
@@ -131,6 +131,7 @@ typedef struct{
   CircParam Circle;
   char functu[256], functv[256], functw[256];
   DrawingColor Color;
+  gmshSurface *geometry;
 }Curve;
 
 typedef struct{
diff --git a/Geo/GeoInterpolation.cpp b/Geo/GeoInterpolation.cpp
index 5ef10eb417..5a2e143e36 100644
--- a/Geo/GeoInterpolation.cpp
+++ b/Geo/GeoInterpolation.cpp
@@ -1,4 +1,4 @@
-// $Id: GeoInterpolation.cpp,v 1.15 2007-01-16 11:31:41 geuzaine Exp $
+// $Id: GeoInterpolation.cpp,v 1.16 2007-01-31 14:33:05 remacle Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
@@ -236,11 +236,22 @@ Vertex InterpolateCurve(Curve * c, double u, int derivee)
     t = (u - t1) / (t2 - t1);
     List_Read(c->Control_Points, i, &v[1]);
     List_Read(c->Control_Points, i + 1, &v[2]);
-    V.Pos.X = v[1]->Pos.X + t * (v[2]->Pos.X - v[1]->Pos.X);
-    V.Pos.Y = v[1]->Pos.Y + t * (v[2]->Pos.Y - v[1]->Pos.Y);
-    V.Pos.Z = v[1]->Pos.Z + t * (v[2]->Pos.Z - v[1]->Pos.Z);
-    V.w = (1. - t) * v[1]->w + t * v[2]->w;
-    V.lc = (1. - t) * v[1]->lc + t * v[2]->lc;
+    if (!c->geometry)
+      {
+	V.Pos.X = v[1]->Pos.X + t * (v[2]->Pos.X - v[1]->Pos.X);
+	V.Pos.Y = v[1]->Pos.Y + t * (v[2]->Pos.Y - v[1]->Pos.Y);
+	V.Pos.Z = v[1]->Pos.Z + t * (v[2]->Pos.Z - v[1]->Pos.Z);
+	V.w = (1. - t) * v[1]->w + t * v[2]->w;
+	V.lc = (1. - t) * v[1]->lc + t * v[2]->lc;
+      }
+    else
+      {
+	SPoint2 p =  v[1] -> pntOnGeometry +  (v[2] -> pntOnGeometry - v[1] -> pntOnGeometry) * t;
+	SPoint3 pp  = c->geometry->point ( p );
+	V.Pos.X = pp.x();
+	V.Pos.Y = pp.y();
+	V.Pos.Z = pp.z();
+      }
     return V;
 
   case MSH_SEGM_PARAMETRIC:
@@ -478,6 +489,7 @@ Vertex InterpolateExtrudedSurface(Surface * s, double u, double v)
 
 Vertex InterpolateSurface(Surface * s, double u, double v, int derivee, int u_v)
 {
+
   if(derivee) {
     double eps = 1.e-6;
     Vertex D[4], T;
@@ -507,6 +519,16 @@ Vertex InterpolateSurface(Surface * s, double u, double v, int derivee, int u_v)
     return T;
   }
 
+  if (s->geometry)
+    {
+      Vertex T;
+      SPoint3 p = s->geometry->point(u,v);
+      T.Pos.X = p.x();
+      T.Pos.Y = p.y();
+      T.Pos.Z = p.z();
+      return T;
+    }
+
   // use the exact extrusion formula if the surface is extruded
   if(s->Extrude && s->Extrude->geo.Mode == EXTRUDED_ENTITY && 
      s->Typ != MSH_SURF_PLAN)
diff --git a/Geo/Makefile b/Geo/Makefile
index 8bcd8f65fa..b55f05bbf6 100644
--- a/Geo/Makefile
+++ b/Geo/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.128 2007-01-31 12:27:18 remacle Exp $
+# $Id: Makefile,v 1.129 2007-01-31 14:33:05 remacle Exp $
 #
 # Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 #
@@ -98,7 +98,40 @@ GFace.o: GFace.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   GEdge.h SVector3.h MElement.h MEdge.h ../Common/Hash.h MFace.h \
   ../Numeric/Numeric.h ../Common/Context.h ../DataStr/List.h \
   ExtrudeParams.h GFace.h GEdgeLoop.h Pair.h GRegion.h \
-  ../Common/SmoothNormals.h ../Common/Message.h
+  ../Common/SmoothNormals.h ../Common/Message.h \
+  /sw/include/gsl/gsl_vector.h \
+  /sw/include/gsl/gsl_vector_complex_long_double.h \
+  /sw/include/gsl/gsl_types.h /sw/include/gsl/gsl_errno.h \
+  /sw/include/gsl/gsl_complex.h /sw/include/gsl/gsl_check_range.h \
+  /sw/include/gsl/gsl_vector_long_double.h \
+  /sw/include/gsl/gsl_block_long_double.h \
+  /sw/include/gsl/gsl_vector_complex.h \
+  /sw/include/gsl/gsl_block_complex_long_double.h \
+  /sw/include/gsl/gsl_vector_complex_double.h \
+  /sw/include/gsl/gsl_vector_double.h /sw/include/gsl/gsl_block_double.h \
+  /sw/include/gsl/gsl_block_complex_double.h \
+  /sw/include/gsl/gsl_vector_complex_float.h \
+  /sw/include/gsl/gsl_vector_float.h /sw/include/gsl/gsl_block_float.h \
+  /sw/include/gsl/gsl_block_complex_float.h \
+  /sw/include/gsl/gsl_vector_ulong.h /sw/include/gsl/gsl_block_ulong.h \
+  /sw/include/gsl/gsl_vector_long.h /sw/include/gsl/gsl_block_long.h \
+  /sw/include/gsl/gsl_vector_uint.h /sw/include/gsl/gsl_block_uint.h \
+  /sw/include/gsl/gsl_vector_int.h /sw/include/gsl/gsl_block_int.h \
+  /sw/include/gsl/gsl_vector_ushort.h /sw/include/gsl/gsl_block_ushort.h \
+  /sw/include/gsl/gsl_vector_short.h /sw/include/gsl/gsl_block_short.h \
+  /sw/include/gsl/gsl_vector_uchar.h /sw/include/gsl/gsl_block_uchar.h \
+  /sw/include/gsl/gsl_vector_char.h /sw/include/gsl/gsl_block_char.h \
+  /sw/include/gsl/gsl_linalg.h /sw/include/gsl/gsl_mode.h \
+  /sw/include/gsl/gsl_permutation.h /sw/include/gsl/gsl_matrix.h \
+  /sw/include/gsl/gsl_matrix_complex_long_double.h \
+  /sw/include/gsl/gsl_matrix_complex_double.h \
+  /sw/include/gsl/gsl_matrix_complex_float.h \
+  /sw/include/gsl/gsl_matrix_long_double.h \
+  /sw/include/gsl/gsl_matrix_double.h /sw/include/gsl/gsl_matrix_float.h \
+  /sw/include/gsl/gsl_matrix_ulong.h /sw/include/gsl/gsl_matrix_long.h \
+  /sw/include/gsl/gsl_matrix_uint.h /sw/include/gsl/gsl_matrix_int.h \
+  /sw/include/gsl/gsl_matrix_ushort.h /sw/include/gsl/gsl_matrix_short.h \
+  /sw/include/gsl/gsl_matrix_uchar.h /sw/include/gsl/gsl_matrix_char.h
 GRegion.o: GRegion.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h ../Common/GmshDefines.h MVertex.h GPoint.h SPoint2.h \
   GEdge.h SVector3.h MElement.h MEdge.h ../Common/Hash.h MFace.h \
@@ -109,56 +142,1621 @@ gmshVertex.o: gmshVertex.cpp GFace.h GPoint.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h ../Common/GmshDefines.h GEdgeLoop.h GEdge.h GVertex.h \
   MVertex.h SPoint2.h SVector3.h MElement.h MEdge.h ../Common/Hash.h \
   MFace.h ../Numeric/Numeric.h ../Common/Context.h ../DataStr/List.h \
-  ExtrudeParams.h Pair.h gmshVertex.h Geo.h ../DataStr/Tree.h \
-  ../DataStr/avl.h GeoInterpolation.h ../Common/Message.h
+  ExtrudeParams.h Pair.h gmshVertex.h Geo.h gmshSurface.h \
+  ../DataStr/Tree.h ../DataStr/avl.h GeoInterpolation.h \
+  ../Common/Message.h
 gmshEdge.o: gmshEdge.cpp GFace.h GPoint.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h ../Common/GmshDefines.h GEdgeLoop.h GEdge.h GVertex.h \
   MVertex.h SPoint2.h SVector3.h MElement.h MEdge.h ../Common/Hash.h \
   MFace.h ../Numeric/Numeric.h ../Common/Context.h ../DataStr/List.h \
-  ExtrudeParams.h Pair.h gmshEdge.h Geo.h ../DataStr/Tree.h \
+  ExtrudeParams.h Pair.h gmshEdge.h Geo.h gmshSurface.h ../DataStr/Tree.h \
   ../DataStr/avl.h gmshVertex.h GeoInterpolation.h ../Common/Message.h
 gmshFace.o: gmshFace.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h ../Common/GmshDefines.h MVertex.h GPoint.h SPoint2.h \
   GEdge.h SVector3.h MElement.h MEdge.h ../Common/Hash.h MFace.h \
   ../Numeric/Numeric.h ../Common/Context.h ../DataStr/List.h \
   ExtrudeParams.h GFace.h GEdgeLoop.h Pair.h GRegion.h \
-  ../Common/SmoothNormals.h gmshVertex.h Geo.h ../DataStr/Tree.h \
-  ../DataStr/avl.h gmshEdge.h gmshFace.h GeoInterpolation.h \
-  ../Common/Message.h
+  ../Common/SmoothNormals.h gmshVertex.h Geo.h gmshSurface.h \
+  ../DataStr/Tree.h ../DataStr/avl.h gmshEdge.h gmshFace.h \
+  GeoInterpolation.h ../Common/Message.h
 gmshRegion.o: gmshRegion.cpp GModel.h GVertex.h GEntity.h Range.h \
   SPoint3.h SBoundingBox3d.h ../Common/GmshDefines.h MVertex.h GPoint.h \
   SPoint2.h GEdge.h SVector3.h MElement.h MEdge.h ../Common/Hash.h \
   MFace.h ../Numeric/Numeric.h ../Common/Context.h ../DataStr/List.h \
   ExtrudeParams.h GFace.h GEdgeLoop.h Pair.h GRegion.h \
-  ../Common/SmoothNormals.h gmshFace.h Geo.h ../DataStr/Tree.h \
-  ../DataStr/avl.h gmshVertex.h gmshRegion.h ../Common/Message.h
+  ../Common/SmoothNormals.h gmshFace.h Geo.h gmshSurface.h \
+  ../DataStr/Tree.h ../DataStr/avl.h gmshVertex.h gmshRegion.h \
+  ../Common/Message.h
+gmshSurface.o: gmshSurface.cpp gmshSurface.h Pair.h Range.h SPoint2.h \
+  SPoint3.h SVector3.h SBoundingBox3d.h ../Common/Message.h
 OCCVertex.o: OCCVertex.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h ../Common/GmshDefines.h MVertex.h GPoint.h SPoint2.h \
   GEdge.h SVector3.h MElement.h MEdge.h ../Common/Hash.h MFace.h \
   ../Numeric/Numeric.h ../Common/Context.h ../DataStr/List.h \
   ExtrudeParams.h GFace.h GEdgeLoop.h Pair.h GRegion.h \
-  ../Common/SmoothNormals.h OCCVertex.h OCCIncludes.h OCCEdge.h OCCFace.h
+  ../Common/SmoothNormals.h OCCVertex.h OCCIncludes.h \
+  /usr/local/opencascade//inc/config.h \
+  /usr/local/opencascade//inc/BRep_Tool.hxx \
+  /usr/local/opencascade//inc/Standard_Boolean.hxx \
+  /usr/local/opencascade//inc/Standard_TypeDef.hxx \
+  /usr/local/opencascade//inc/Standard_Macro.hxx \
+  /usr/local/opencascade//inc/Standard_Stream.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Surface.hxx \
+  /usr/local/opencascade//inc/Standard.hxx \
+  /usr/local/opencascade//inc/Standard_Address.hxx \
+  /usr/local/opencascade//inc/Standard_Integer.hxx \
+  /usr/local/opencascade//inc/Standard_values.h \
+  /usr/local/opencascade//inc/Standard_OStream.hxx \
+  /usr/local/opencascade//inc/Standard_CString.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Geometry.hxx \
+  /usr/local/opencascade//inc/Handle_MMgt_TShared.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_Transient.hxx \
+  /usr/local/opencascade//inc/Standard_PrimitiveTypes.hxx \
+  /usr/local/opencascade//inc/Standard_Real.hxx \
+  /usr/local/opencascade//inc/Standard_Character.hxx \
+  /usr/local/opencascade//inc/Standard_ctype.hxx \
+  /usr/local/opencascade//inc/Standard_ExtCharacter.hxx \
+  /usr/local/opencascade//inc/Standard_ExtString.hxx \
+  /usr/local/opencascade//inc/Standard_Storable.hxx \
+  /usr/local/opencascade//inc/Standard_Transient_proto.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_Triangulation.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_Polygon3D.hxx \
+  /usr/local/opencascade//inc/Handle_Geom2d_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom2d_Geometry.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_Polygon2D.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_PolygonOnTriangulation.hxx \
+  /usr/local/opencascade//inc/GeomAbs_Shape.hxx \
+  /usr/local/opencascade//inc/Geom_Curve.hxx \
+  /usr/local/opencascade//inc/Geom_Geometry.hxx \
+  /usr/local/opencascade//inc/MMgt_TShared.hxx \
+  /usr/local/opencascade//inc/Standard_Transient.hxx \
+  /usr/local/opencascade//inc/Standard_Type.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_Type.hxx \
+  /usr/local/opencascade//inc/Standard_KindOfType.hxx \
+  /usr/local/opencascade//inc/Standard_Type.lxx \
+  /usr/local/opencascade//inc/Geom2d_Curve.hxx \
+  /usr/local/opencascade//inc/Geom2d_Geometry.hxx \
+  /usr/local/opencascade//inc/Geom_Surface.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnSurf.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPS.hxx \
+  /usr/local/opencascade//inc/Adaptor3d_SurfacePtr.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPElS.hxx \
+  /usr/local/opencascade//inc/Extrema_POnSurf.hxx \
+  /usr/local/opencascade//inc/gp_Pnt.hxx \
+  /usr/local/opencascade//inc/gp_XYZ.hxx \
+  /usr/local/opencascade//inc/gp_XYZ.lxx \
+  /usr/local/opencascade//inc/gp.hxx /usr/local/opencascade//inc/gp.lxx \
+  /usr/local/opencascade//inc/gp_Mat.hxx \
+  /usr/local/opencascade//inc/gp_Mat.lxx \
+  /usr/local/opencascade//inc/Standard_OutOfRange.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_OutOfRange.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_RangeError.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_DomainError.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_Failure.hxx \
+  /usr/local/opencascade//inc/Standard_SStream.hxx \
+  /usr/local/opencascade//inc/Standard_RangeError.hxx \
+  /usr/local/opencascade//inc/Standard_DomainError.hxx \
+  /usr/local/opencascade//inc/Standard_Failure.hxx \
+  /usr/local/opencascade//inc/Standard_Failure.lxx \
+  /usr/local/opencascade//inc/Standard_ConstructionError.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_ConstructionError.hxx \
+  /usr/local/opencascade//inc/gp_Pnt.lxx \
+  /usr/local/opencascade//inc/gp_Trsf.hxx \
+  /usr/local/opencascade//inc/gp_TrsfForm.hxx \
+  /usr/local/opencascade//inc/gp_Trsf.lxx \
+  /usr/local/opencascade//inc/gp_Trsf2d.hxx \
+  /usr/local/opencascade//inc/gp_Mat2d.hxx \
+  /usr/local/opencascade//inc/gp_Mat2d.lxx \
+  /usr/local/opencascade//inc/gp_XY.hxx \
+  /usr/local/opencascade//inc/gp_XY.lxx \
+  /usr/local/opencascade//inc/gp_Trsf2d.lxx \
+  /usr/local/opencascade//inc/gp_Pnt2d.hxx \
+  /usr/local/opencascade//inc/gp_Pnt2d.lxx \
+  /usr/local/opencascade//inc/gp_Vec2d.hxx \
+  /usr/local/opencascade//inc/gp_Vec2d.lxx \
+  /usr/local/opencascade//inc/gp_Dir2d.hxx \
+  /usr/local/opencascade//inc/gp_Dir2d.lxx \
+  /usr/local/opencascade//inc/gp_Ax2d.hxx \
+  /usr/local/opencascade//inc/gp_Ax2d.lxx \
+  /usr/local/opencascade//inc/gp_Vec.hxx \
+  /usr/local/opencascade//inc/gp_Vec.lxx \
+  /usr/local/opencascade//inc/gp_Dir.hxx \
+  /usr/local/opencascade//inc/gp_Dir.lxx \
+  /usr/local/opencascade//inc/gp_VectorWithNullMagnitude.hxx \
+  /usr/local/opencascade//inc/Handle_gp_VectorWithNullMagnitude.hxx \
+  /usr/local/opencascade//inc/Extrema_POnSurf.lxx \
+  /usr/local/opencascade//inc/Extrema_GenExtPS.hxx \
+  /usr/local/opencascade//inc/Handle_TColgp_HArray2OfPnt.hxx \
+  /usr/local/opencascade//inc/Extrema_FuncExtPS.hxx \
+  /usr/local/opencascade//inc/TColStd_SequenceOfReal.hxx \
+  /usr/local/opencascade//inc/TCollection_BaseSequence.hxx \
+  /usr/local/opencascade//inc/TCollection_BaseSequence.lxx \
+  /usr/local/opencascade//inc/Handle_TColStd_SequenceNodeOfSequenceOfReal.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_SeqNode.hxx \
+  /usr/local/opencascade//inc/TCollection_Sequence.lxx \
+  /usr/local/opencascade//inc/Extrema_SequenceOfPOnSurf.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSequenceOfPOnSurf.hxx \
+  /usr/local/opencascade//inc/math_FunctionSetWithDerivatives.hxx \
+  /usr/local/opencascade//inc/math_FunctionSet.hxx \
+  /usr/local/opencascade//inc/GeomAbs_SurfaceType.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Surface.hxx \
+  /usr/local/opencascade//inc/Adaptor3d_Surface.hxx \
+  /usr/local/opencascade//inc/Handle_Adaptor3d_HSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BezierSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BoundedSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BSplineSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Adaptor3d_HCurve.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Surface.lxx \
+  /usr/local/opencascade//inc/Quantity_Parameter.hxx \
+  /usr/local/opencascade//inc/Quantity_Length.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnSurf.lxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnCurve.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPC.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPElC.hxx \
+  /usr/local/opencascade//inc/Extrema_POnCurv.hxx \
+  /usr/local/opencascade//inc/Extrema_Point.lxx \
+  /usr/local/opencascade//inc/Extrema_SequenceOfPOnCurv.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSequenceOfPOnCurv.hxx \
+  /usr/local/opencascade//inc/Extrema_EPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/Extrema_PCFOfEPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/TColStd_SequenceOfInteger.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_SequenceNodeOfSequenceOfInteger.hxx \
+  /usr/local/opencascade//inc/Extrema_SeqPCOfPCFOfEPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSeqPCOfPCFOfEPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/math_FunctionWithDerivative.hxx \
+  /usr/local/opencascade//inc/math_Function.hxx \
+  /usr/local/opencascade//inc/GeomAbs_CurveType.hxx \
+  /usr/local/opencascade//inc/Extrema_SequenceOfBoolean.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSequenceOfBoolean.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Curve.hxx \
+  /usr/local/opencascade//inc/Adaptor3d_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BezierCurve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BoundedCurve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BSplineCurve.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Curve.lxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnCurve.lxx \
+  /usr/local/opencascade//inc/BRepTools.hxx \
+  /usr/local/opencascade//inc/Standard_IStream.hxx \
+  /usr/local/opencascade//inc/TopExp.hxx \
+  /usr/local/opencascade//inc/TopAbs_ShapeEnum.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeVertex.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeVertex.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeShape.hxx \
+  /usr/local/opencascade//inc/TopoDS_Shape.hxx \
+  /usr/local/opencascade//inc/Handle_TopoDS_TShape.hxx \
+  /usr/local/opencascade//inc/TopLoc_Location.hxx \
+  /usr/local/opencascade//inc/TopLoc_SListOfItemLocation.hxx \
+  /usr/local/opencascade//inc/Handle_TopLoc_SListNodeOfSListOfItemLocation.hxx \
+  /usr/local/opencascade//inc/TCollection_SList.lxx \
+  /usr/local/opencascade//inc/Handle_TopLoc_Datum3D.hxx \
+  /usr/local/opencascade//inc/TopLoc_Location.lxx \
+  /usr/local/opencascade//inc/TopLoc_ItemLocation.hxx \
+  /usr/local/opencascade//inc/TopLoc_TrsfPtr.hxx \
+  /usr/local/opencascade//inc/TopAbs_Orientation.hxx \
+  /usr/local/opencascade//inc/TopoDS_Shape.lxx \
+  /usr/local/opencascade//inc/TopoDS_TShape.hxx \
+  /usr/local/opencascade//inc/TopoDS_ListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopoDS_ListNodeOfListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_MapNode.hxx \
+  /usr/local/opencascade//inc/TCollection_List.lxx \
+  /usr/local/opencascade//inc/TopoDS_TShape.lxx \
+  /usr/local/opencascade//inc/TopAbs.hxx \
+  /usr/local/opencascade//inc/TopAbs_State.hxx \
+  /usr/local/opencascade//inc/TopTools_ListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_ListNodeOfListOfShape.hxx \
+  /usr/local/opencascade//inc/BRepLib_Command.hxx \
+  /usr/local/opencascade//inc/BRepLib_ShapeModification.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeShape.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_Command.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeShell.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeShell.hxx \
+  /usr/local/opencascade//inc/BRepLib_ShellError.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_ShellError.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeSolid.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeSolid.hxx \
+  /usr/local/opencascade//inc/BRepOffsetAPI_Sewing.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_Sewing.hxx \
+  /usr/local/opencascade//inc/Handle_BRepBuilderAPI_Sewing.hxx \
+  /usr/local/opencascade//inc/TopTools_IndexedDataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/TCollection_BasicMap.hxx \
+  /usr/local/opencascade//inc/TCollection_MapNodePtr.hxx \
+  /usr/local/opencascade//inc/TCollection_BasicMap.lxx \
+  /usr/local/opencascade//inc/Handle_TopTools_IndexedDataMapNodeOfIndexedDataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/TopTools_IndexedMapOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_IndexedMapNodeOfIndexedMapOfShape.hxx \
+  /usr/local/opencascade//inc/TopTools_IndexedDataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_IndexedDataMapNodeOfIndexedDataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/TopTools_DataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_DataMapNodeOfDataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/TopTools_DataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_DataMapNodeOfDataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_BRepTools_ReShape.hxx \
+  /usr/local/opencascade//inc/TopTools_MapOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_StdMapNodeOfMapOfShape.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_Sewing.lxx \
+  /usr/local/opencascade//inc/BRepLProp_SLProps.hxx \
+  /usr/local/opencascade//inc/BRepAdaptor_Surface.hxx \
+  /usr/local/opencascade//inc/TopoDS_Face.hxx \
+  /usr/local/opencascade//inc/BRepAdaptor_Surface.lxx \
+  /usr/local/opencascade//inc/LProp_Status.hxx \
+  /usr/local/opencascade//inc/Poly_Triangulation.hxx \
+  /usr/local/opencascade//inc/TColgp_Array1OfPnt.hxx \
+  /usr/local/opencascade//inc/TCollection_Array1.lxx \
+  /usr/local/opencascade//inc/Handle_TColgp_HArray1OfPnt2d.hxx \
+  /usr/local/opencascade//inc/Poly_Array1OfTriangle.hxx \
+  /usr/local/opencascade//inc/Poly_Triangle.hxx \
+  /usr/local/opencascade//inc/Poly_Triangle.lxx \
+  /usr/local/opencascade//inc/Poly_Triangulation.lxx \
+  /usr/local/opencascade//inc/TColgp_Array1OfPnt2d.hxx \
+  /usr/local/opencascade//inc/GProp_GProps.hxx \
+  /usr/local/opencascade//inc/BRepGProp.hxx \
+  /usr/local/opencascade//inc/TopoDS.hxx \
+  /usr/local/opencascade//inc/TopoDS.lxx \
+  /usr/local/opencascade//inc/Standard_TypeMismatch.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_TypeMismatch.hxx \
+  /usr/local/opencascade//inc/TopoDS_Solid.hxx \
+  /usr/local/opencascade//inc/TopExp_Explorer.hxx \
+  /usr/local/opencascade//inc/TopExp_Stack.hxx \
+  /usr/local/opencascade//inc/TopExp_Explorer.lxx \
+  /usr/local/opencascade//inc/BRep_Builder.hxx \
+  /usr/local/opencascade//inc/TopoDS_Builder3D.hxx \
+  /usr/local/opencascade//inc/TopoDS_Builder.hxx \
+  /usr/local/opencascade//inc/TopoDS_Wire.hxx \
+  /usr/local/opencascade//inc/BRepTools_WireExplorer.hxx \
+  /usr/local/opencascade//inc/TopoDS_Edge.hxx \
+  /usr/local/opencascade//inc/TopoDS_Vertex.hxx \
+  /usr/local/opencascade//inc/BRepLProp_CLProps.hxx \
+  /usr/local/opencascade//inc/BRepAdaptor_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Adaptor3d_HCurveOnSurface.hxx \
+  /usr/local/opencascade//inc/IGESControl_Reader.hxx \
+  /usr/local/opencascade//inc/XSControl_Reader.hxx \
+  /usr/local/opencascade//inc/Handle_XSControl_WorkSession.hxx \
+  /usr/local/opencascade//inc/Handle_IFSelect_WorkSession.hxx \
+  /usr/local/opencascade//inc/TColStd_SequenceOfTransient.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_SequenceNodeOfSequenceOfTransient.hxx \
+  /usr/local/opencascade//inc/TopTools_SequenceOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_SequenceNodeOfSequenceOfShape.hxx \
+  /usr/local/opencascade//inc/IFSelect_ReturnStatus.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_InterfaceModel.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfTransient.hxx \
+  /usr/local/opencascade//inc/IFSelect_PrintCount.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_IGESModel.hxx \
+  /usr/local/opencascade//inc/IFSelect_PrintFail.hxx \
+  /usr/local/opencascade//inc/IGESControl_Reader.lxx \
+  /usr/local/opencascade//inc/STEPControl_Reader.hxx \
+  /usr/local/opencascade//inc/Handle_StepData_StepModel.hxx \
+  /usr/local/opencascade//inc/IGESToBRep_Reader.hxx \
+  /usr/local/opencascade//inc/Handle_IGESToBRep_Actor.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ActorOfTransientProcess.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ActorOfProcessForTransient.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_TransientProcess.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ProcessForTransient.hxx \
+  /usr/local/opencascade//inc/Interface_Static.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_Static.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_TypedValue.hxx \
+  /usr/local/opencascade//inc/Handle_MoniTool_TypedValue.hxx \
+  /usr/local/opencascade//inc/TCollection_AsciiString.hxx \
+  /usr/local/opencascade//inc/TCollection_AsciiString.lxx \
+  /usr/local/opencascade//inc/Interface_ParamType.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HArray1OfAsciiString.hxx \
+  /usr/local/opencascade//inc/Handle_Dico_DictionaryOfInteger.hxx \
+  /usr/local/opencascade//inc/Interface_StaticSatisfies.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_HAsciiString.hxx \
+  /usr/local/opencascade//inc/Interface_TypedValue.hxx \
+  /usr/local/opencascade//inc/Interface_ValueInterpret.hxx \
+  /usr/local/opencascade//inc/Interface_ValueSatisfies.hxx \
+  /usr/local/opencascade//inc/MoniTool_TypedValue.hxx \
+  /usr/local/opencascade//inc/MoniTool_ValueType.hxx \
+  /usr/local/opencascade//inc/MoniTool_ValueInterpret.hxx \
+  /usr/local/opencascade//inc/TCollection_HAsciiString.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_HExtendedString.hxx \
+  /usr/local/opencascade//inc/TCollection_HAsciiString.lxx \
+  /usr/local/opencascade//inc/MoniTool_ValueSatisfies.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfAsciiString.hxx \
+  /usr/local/opencascade//inc/Handle_Dico_DictionaryOfTransient.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfHAsciiString.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ExtremaCurveCurve.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtCC.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ExtremaCurveCurve.lxx \
+  /usr/local/opencascade//inc/Standard_ErrorHandler.hxx \
+  /usr/local/opencascade//inc/Standard_ErrorHandler.lxx \
+  /usr/local/opencascade//inc/ShapeUpgrade_ShellSewing.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeBuild_ReShape.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Shape.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Shape.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Root.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Solid.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Root.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeExtend_BasicMsgRegistrator.hxx \
+  /usr/local/opencascade//inc/Message_Gravity.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Root.lxx \
+  /usr/local/opencascade//inc/Precision.hxx \
+  /usr/local/opencascade//inc/Precision.lxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Shell.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Face.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Wire.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Edge.hxx \
+  /usr/local/opencascade//inc/ShapeExtend_Status.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Shape.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Solid.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Solid.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Shell.hxx \
+  /usr/local/opencascade//inc/TopoDS_Shell.hxx \
+  /usr/local/opencascade//inc/TopoDS_Compound.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Shell.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Face.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeAnalysis_Surface.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeExtend_WireData.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Face.lxx \
+  /usr/local/opencascade//inc/ShapeExtend.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Wire.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeAnalysis_Wire.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Wire.lxx \
+  /usr/local/opencascade//inc/ShapeExtend_WireData.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_HSequenceOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfInteger.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_Wire.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_Wire.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Wireframe.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Wireframe.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Wireframe.lxx \
+  /usr/local/opencascade//inc/BRepMesh.hxx \
+  /usr/local/opencascade//inc/BRepMesh_IncrementalMesh.hxx \
+  /usr/local/opencascade//inc/Handle_BRepMesh_FastDiscret.hxx \
+  /usr/local/opencascade//inc/BRepMesh_DataMapOfShapeReal.hxx \
+  /usr/local/opencascade//inc/Handle_BRepMesh_DataMapNodeOfDataMapOfShapeReal.hxx \
+  /usr/local/opencascade//inc/Bnd_Box.hxx \
+  /usr/local/opencascade//inc/Bnd_Box.lxx \
+  /usr/local/opencascade//inc/BRepBndLib.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis.hxx \
+  /usr/local/opencascade//inc/ShapeBuild_ReShape.hxx \
+  /usr/local/opencascade//inc/BRepTools_ReShape.hxx \
+  /usr/local/opencascade//inc/IGESControl_Writer.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_FinderProcess.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ProcessForFinder.hxx \
+  /usr/local/opencascade//inc/IGESData_BasicEditor.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_Protocol.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_Protocol.hxx \
+  /usr/local/opencascade//inc/Interface_GeneralLib.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_NodeOfGeneralLib.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_GeneralModule.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_GlobalNodeOfGeneralLib.hxx \
+  /usr/local/opencascade//inc/IGESData_SpecificLib.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_NodeOfSpecificLib.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_IGESEntity.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_SpecificModule.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_GlobalNodeOfSpecificLib.hxx \
+  /usr/local/opencascade//inc/STEPControl_Writer.hxx \
+  /usr/local/opencascade//inc/STEPControl_StepModelType.hxx \
+  /usr/local/opencascade//inc/StlAPI_Writer.hxx \
+  /usr/local/opencascade//inc/Handle_StlMesh_Mesh.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_ShapeTolerance.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_ShapeContents.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_ShapeContents.lxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_CheckSmallFace.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_CheckSmallFace.lxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_DataMapOfShapeListOfReal.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeAnalysis_DataMapNodeOfDataMapOfShapeListOfReal.hxx \
+  /usr/local/opencascade//inc/BRepAlgoAPI_Fuse.hxx \
+  /usr/local/opencascade//inc/BRepAlgoAPI_BooleanOperation.hxx \
+  /usr/local/opencascade//inc/BOP_Operation.hxx \
+  /usr/local/opencascade//inc/BOPTools_PDSFiller.hxx \
+  /usr/local/opencascade//inc/BOP_PBuilder.hxx \
+  /usr/local/opencascade//inc/Handle_BOP_HistoryCollector.hxx \
+  /usr/local/opencascade//inc/BRepCheck_Analyzer.hxx \
+  /usr/local/opencascade//inc/BRepCheck_DataMapOfShapeResult.hxx \
+  /usr/local/opencascade//inc/Handle_BRepCheck_Result.hxx \
+  /usr/local/opencascade//inc/Handle_BRepCheck_DataMapNodeOfDataMapOfShapeResult.hxx \
+  /usr/local/opencascade//inc/BRepCheck_Analyzer.lxx \
+  /usr/local/opencascade//inc/BRepLib.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Plane.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_ElementarySurface.hxx \
+  /usr/local/opencascade//inc/ShapeFix.hxx \
+  /usr/local/opencascade//inc/ShapeFix_FixSmallFace.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_FixSmallFace.hxx OCCEdge.h \
+  OCCFace.h
 OCCEdge.o: OCCEdge.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h ../Common/GmshDefines.h MVertex.h GPoint.h SPoint2.h \
   GEdge.h SVector3.h MElement.h MEdge.h ../Common/Hash.h MFace.h \
   ../Numeric/Numeric.h ../Common/Context.h ../DataStr/List.h \
   ExtrudeParams.h GFace.h GEdgeLoop.h Pair.h GRegion.h \
   ../Common/SmoothNormals.h ../Common/Message.h OCCEdge.h OCCVertex.h \
-  OCCIncludes.h OCCFace.h
+  OCCIncludes.h /usr/local/opencascade//inc/config.h \
+  /usr/local/opencascade//inc/BRep_Tool.hxx \
+  /usr/local/opencascade//inc/Standard_Boolean.hxx \
+  /usr/local/opencascade//inc/Standard_TypeDef.hxx \
+  /usr/local/opencascade//inc/Standard_Macro.hxx \
+  /usr/local/opencascade//inc/Standard_Stream.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Surface.hxx \
+  /usr/local/opencascade//inc/Standard.hxx \
+  /usr/local/opencascade//inc/Standard_Address.hxx \
+  /usr/local/opencascade//inc/Standard_Integer.hxx \
+  /usr/local/opencascade//inc/Standard_values.h \
+  /usr/local/opencascade//inc/Standard_OStream.hxx \
+  /usr/local/opencascade//inc/Standard_CString.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Geometry.hxx \
+  /usr/local/opencascade//inc/Handle_MMgt_TShared.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_Transient.hxx \
+  /usr/local/opencascade//inc/Standard_PrimitiveTypes.hxx \
+  /usr/local/opencascade//inc/Standard_Real.hxx \
+  /usr/local/opencascade//inc/Standard_Character.hxx \
+  /usr/local/opencascade//inc/Standard_ctype.hxx \
+  /usr/local/opencascade//inc/Standard_ExtCharacter.hxx \
+  /usr/local/opencascade//inc/Standard_ExtString.hxx \
+  /usr/local/opencascade//inc/Standard_Storable.hxx \
+  /usr/local/opencascade//inc/Standard_Transient_proto.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_Triangulation.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_Polygon3D.hxx \
+  /usr/local/opencascade//inc/Handle_Geom2d_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom2d_Geometry.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_Polygon2D.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_PolygonOnTriangulation.hxx \
+  /usr/local/opencascade//inc/GeomAbs_Shape.hxx \
+  /usr/local/opencascade//inc/Geom_Curve.hxx \
+  /usr/local/opencascade//inc/Geom_Geometry.hxx \
+  /usr/local/opencascade//inc/MMgt_TShared.hxx \
+  /usr/local/opencascade//inc/Standard_Transient.hxx \
+  /usr/local/opencascade//inc/Standard_Type.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_Type.hxx \
+  /usr/local/opencascade//inc/Standard_KindOfType.hxx \
+  /usr/local/opencascade//inc/Standard_Type.lxx \
+  /usr/local/opencascade//inc/Geom2d_Curve.hxx \
+  /usr/local/opencascade//inc/Geom2d_Geometry.hxx \
+  /usr/local/opencascade//inc/Geom_Surface.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnSurf.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPS.hxx \
+  /usr/local/opencascade//inc/Adaptor3d_SurfacePtr.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPElS.hxx \
+  /usr/local/opencascade//inc/Extrema_POnSurf.hxx \
+  /usr/local/opencascade//inc/gp_Pnt.hxx \
+  /usr/local/opencascade//inc/gp_XYZ.hxx \
+  /usr/local/opencascade//inc/gp_XYZ.lxx \
+  /usr/local/opencascade//inc/gp.hxx /usr/local/opencascade//inc/gp.lxx \
+  /usr/local/opencascade//inc/gp_Mat.hxx \
+  /usr/local/opencascade//inc/gp_Mat.lxx \
+  /usr/local/opencascade//inc/Standard_OutOfRange.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_OutOfRange.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_RangeError.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_DomainError.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_Failure.hxx \
+  /usr/local/opencascade//inc/Standard_SStream.hxx \
+  /usr/local/opencascade//inc/Standard_RangeError.hxx \
+  /usr/local/opencascade//inc/Standard_DomainError.hxx \
+  /usr/local/opencascade//inc/Standard_Failure.hxx \
+  /usr/local/opencascade//inc/Standard_Failure.lxx \
+  /usr/local/opencascade//inc/Standard_ConstructionError.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_ConstructionError.hxx \
+  /usr/local/opencascade//inc/gp_Pnt.lxx \
+  /usr/local/opencascade//inc/gp_Trsf.hxx \
+  /usr/local/opencascade//inc/gp_TrsfForm.hxx \
+  /usr/local/opencascade//inc/gp_Trsf.lxx \
+  /usr/local/opencascade//inc/gp_Trsf2d.hxx \
+  /usr/local/opencascade//inc/gp_Mat2d.hxx \
+  /usr/local/opencascade//inc/gp_Mat2d.lxx \
+  /usr/local/opencascade//inc/gp_XY.hxx \
+  /usr/local/opencascade//inc/gp_XY.lxx \
+  /usr/local/opencascade//inc/gp_Trsf2d.lxx \
+  /usr/local/opencascade//inc/gp_Pnt2d.hxx \
+  /usr/local/opencascade//inc/gp_Pnt2d.lxx \
+  /usr/local/opencascade//inc/gp_Vec2d.hxx \
+  /usr/local/opencascade//inc/gp_Vec2d.lxx \
+  /usr/local/opencascade//inc/gp_Dir2d.hxx \
+  /usr/local/opencascade//inc/gp_Dir2d.lxx \
+  /usr/local/opencascade//inc/gp_Ax2d.hxx \
+  /usr/local/opencascade//inc/gp_Ax2d.lxx \
+  /usr/local/opencascade//inc/gp_Vec.hxx \
+  /usr/local/opencascade//inc/gp_Vec.lxx \
+  /usr/local/opencascade//inc/gp_Dir.hxx \
+  /usr/local/opencascade//inc/gp_Dir.lxx \
+  /usr/local/opencascade//inc/gp_VectorWithNullMagnitude.hxx \
+  /usr/local/opencascade//inc/Handle_gp_VectorWithNullMagnitude.hxx \
+  /usr/local/opencascade//inc/Extrema_POnSurf.lxx \
+  /usr/local/opencascade//inc/Extrema_GenExtPS.hxx \
+  /usr/local/opencascade//inc/Handle_TColgp_HArray2OfPnt.hxx \
+  /usr/local/opencascade//inc/Extrema_FuncExtPS.hxx \
+  /usr/local/opencascade//inc/TColStd_SequenceOfReal.hxx \
+  /usr/local/opencascade//inc/TCollection_BaseSequence.hxx \
+  /usr/local/opencascade//inc/TCollection_BaseSequence.lxx \
+  /usr/local/opencascade//inc/Handle_TColStd_SequenceNodeOfSequenceOfReal.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_SeqNode.hxx \
+  /usr/local/opencascade//inc/TCollection_Sequence.lxx \
+  /usr/local/opencascade//inc/Extrema_SequenceOfPOnSurf.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSequenceOfPOnSurf.hxx \
+  /usr/local/opencascade//inc/math_FunctionSetWithDerivatives.hxx \
+  /usr/local/opencascade//inc/math_FunctionSet.hxx \
+  /usr/local/opencascade//inc/GeomAbs_SurfaceType.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Surface.hxx \
+  /usr/local/opencascade//inc/Adaptor3d_Surface.hxx \
+  /usr/local/opencascade//inc/Handle_Adaptor3d_HSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BezierSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BoundedSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BSplineSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Adaptor3d_HCurve.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Surface.lxx \
+  /usr/local/opencascade//inc/Quantity_Parameter.hxx \
+  /usr/local/opencascade//inc/Quantity_Length.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnSurf.lxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnCurve.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPC.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPElC.hxx \
+  /usr/local/opencascade//inc/Extrema_POnCurv.hxx \
+  /usr/local/opencascade//inc/Extrema_Point.lxx \
+  /usr/local/opencascade//inc/Extrema_SequenceOfPOnCurv.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSequenceOfPOnCurv.hxx \
+  /usr/local/opencascade//inc/Extrema_EPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/Extrema_PCFOfEPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/TColStd_SequenceOfInteger.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_SequenceNodeOfSequenceOfInteger.hxx \
+  /usr/local/opencascade//inc/Extrema_SeqPCOfPCFOfEPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSeqPCOfPCFOfEPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/math_FunctionWithDerivative.hxx \
+  /usr/local/opencascade//inc/math_Function.hxx \
+  /usr/local/opencascade//inc/GeomAbs_CurveType.hxx \
+  /usr/local/opencascade//inc/Extrema_SequenceOfBoolean.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSequenceOfBoolean.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Curve.hxx \
+  /usr/local/opencascade//inc/Adaptor3d_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BezierCurve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BoundedCurve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BSplineCurve.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Curve.lxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnCurve.lxx \
+  /usr/local/opencascade//inc/BRepTools.hxx \
+  /usr/local/opencascade//inc/Standard_IStream.hxx \
+  /usr/local/opencascade//inc/TopExp.hxx \
+  /usr/local/opencascade//inc/TopAbs_ShapeEnum.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeVertex.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeVertex.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeShape.hxx \
+  /usr/local/opencascade//inc/TopoDS_Shape.hxx \
+  /usr/local/opencascade//inc/Handle_TopoDS_TShape.hxx \
+  /usr/local/opencascade//inc/TopLoc_Location.hxx \
+  /usr/local/opencascade//inc/TopLoc_SListOfItemLocation.hxx \
+  /usr/local/opencascade//inc/Handle_TopLoc_SListNodeOfSListOfItemLocation.hxx \
+  /usr/local/opencascade//inc/TCollection_SList.lxx \
+  /usr/local/opencascade//inc/Handle_TopLoc_Datum3D.hxx \
+  /usr/local/opencascade//inc/TopLoc_Location.lxx \
+  /usr/local/opencascade//inc/TopLoc_ItemLocation.hxx \
+  /usr/local/opencascade//inc/TopLoc_TrsfPtr.hxx \
+  /usr/local/opencascade//inc/TopAbs_Orientation.hxx \
+  /usr/local/opencascade//inc/TopoDS_Shape.lxx \
+  /usr/local/opencascade//inc/TopoDS_TShape.hxx \
+  /usr/local/opencascade//inc/TopoDS_ListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopoDS_ListNodeOfListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_MapNode.hxx \
+  /usr/local/opencascade//inc/TCollection_List.lxx \
+  /usr/local/opencascade//inc/TopoDS_TShape.lxx \
+  /usr/local/opencascade//inc/TopAbs.hxx \
+  /usr/local/opencascade//inc/TopAbs_State.hxx \
+  /usr/local/opencascade//inc/TopTools_ListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_ListNodeOfListOfShape.hxx \
+  /usr/local/opencascade//inc/BRepLib_Command.hxx \
+  /usr/local/opencascade//inc/BRepLib_ShapeModification.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeShape.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_Command.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeShell.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeShell.hxx \
+  /usr/local/opencascade//inc/BRepLib_ShellError.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_ShellError.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeSolid.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeSolid.hxx \
+  /usr/local/opencascade//inc/BRepOffsetAPI_Sewing.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_Sewing.hxx \
+  /usr/local/opencascade//inc/Handle_BRepBuilderAPI_Sewing.hxx \
+  /usr/local/opencascade//inc/TopTools_IndexedDataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/TCollection_BasicMap.hxx \
+  /usr/local/opencascade//inc/TCollection_MapNodePtr.hxx \
+  /usr/local/opencascade//inc/TCollection_BasicMap.lxx \
+  /usr/local/opencascade//inc/Handle_TopTools_IndexedDataMapNodeOfIndexedDataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/TopTools_IndexedMapOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_IndexedMapNodeOfIndexedMapOfShape.hxx \
+  /usr/local/opencascade//inc/TopTools_IndexedDataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_IndexedDataMapNodeOfIndexedDataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/TopTools_DataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_DataMapNodeOfDataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/TopTools_DataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_DataMapNodeOfDataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_BRepTools_ReShape.hxx \
+  /usr/local/opencascade//inc/TopTools_MapOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_StdMapNodeOfMapOfShape.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_Sewing.lxx \
+  /usr/local/opencascade//inc/BRepLProp_SLProps.hxx \
+  /usr/local/opencascade//inc/BRepAdaptor_Surface.hxx \
+  /usr/local/opencascade//inc/TopoDS_Face.hxx \
+  /usr/local/opencascade//inc/BRepAdaptor_Surface.lxx \
+  /usr/local/opencascade//inc/LProp_Status.hxx \
+  /usr/local/opencascade//inc/Poly_Triangulation.hxx \
+  /usr/local/opencascade//inc/TColgp_Array1OfPnt.hxx \
+  /usr/local/opencascade//inc/TCollection_Array1.lxx \
+  /usr/local/opencascade//inc/Handle_TColgp_HArray1OfPnt2d.hxx \
+  /usr/local/opencascade//inc/Poly_Array1OfTriangle.hxx \
+  /usr/local/opencascade//inc/Poly_Triangle.hxx \
+  /usr/local/opencascade//inc/Poly_Triangle.lxx \
+  /usr/local/opencascade//inc/Poly_Triangulation.lxx \
+  /usr/local/opencascade//inc/TColgp_Array1OfPnt2d.hxx \
+  /usr/local/opencascade//inc/GProp_GProps.hxx \
+  /usr/local/opencascade//inc/BRepGProp.hxx \
+  /usr/local/opencascade//inc/TopoDS.hxx \
+  /usr/local/opencascade//inc/TopoDS.lxx \
+  /usr/local/opencascade//inc/Standard_TypeMismatch.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_TypeMismatch.hxx \
+  /usr/local/opencascade//inc/TopoDS_Solid.hxx \
+  /usr/local/opencascade//inc/TopExp_Explorer.hxx \
+  /usr/local/opencascade//inc/TopExp_Stack.hxx \
+  /usr/local/opencascade//inc/TopExp_Explorer.lxx \
+  /usr/local/opencascade//inc/BRep_Builder.hxx \
+  /usr/local/opencascade//inc/TopoDS_Builder3D.hxx \
+  /usr/local/opencascade//inc/TopoDS_Builder.hxx \
+  /usr/local/opencascade//inc/TopoDS_Wire.hxx \
+  /usr/local/opencascade//inc/BRepTools_WireExplorer.hxx \
+  /usr/local/opencascade//inc/TopoDS_Edge.hxx \
+  /usr/local/opencascade//inc/TopoDS_Vertex.hxx \
+  /usr/local/opencascade//inc/BRepLProp_CLProps.hxx \
+  /usr/local/opencascade//inc/BRepAdaptor_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Adaptor3d_HCurveOnSurface.hxx \
+  /usr/local/opencascade//inc/IGESControl_Reader.hxx \
+  /usr/local/opencascade//inc/XSControl_Reader.hxx \
+  /usr/local/opencascade//inc/Handle_XSControl_WorkSession.hxx \
+  /usr/local/opencascade//inc/Handle_IFSelect_WorkSession.hxx \
+  /usr/local/opencascade//inc/TColStd_SequenceOfTransient.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_SequenceNodeOfSequenceOfTransient.hxx \
+  /usr/local/opencascade//inc/TopTools_SequenceOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_SequenceNodeOfSequenceOfShape.hxx \
+  /usr/local/opencascade//inc/IFSelect_ReturnStatus.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_InterfaceModel.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfTransient.hxx \
+  /usr/local/opencascade//inc/IFSelect_PrintCount.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_IGESModel.hxx \
+  /usr/local/opencascade//inc/IFSelect_PrintFail.hxx \
+  /usr/local/opencascade//inc/IGESControl_Reader.lxx \
+  /usr/local/opencascade//inc/STEPControl_Reader.hxx \
+  /usr/local/opencascade//inc/Handle_StepData_StepModel.hxx \
+  /usr/local/opencascade//inc/IGESToBRep_Reader.hxx \
+  /usr/local/opencascade//inc/Handle_IGESToBRep_Actor.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ActorOfTransientProcess.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ActorOfProcessForTransient.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_TransientProcess.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ProcessForTransient.hxx \
+  /usr/local/opencascade//inc/Interface_Static.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_Static.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_TypedValue.hxx \
+  /usr/local/opencascade//inc/Handle_MoniTool_TypedValue.hxx \
+  /usr/local/opencascade//inc/TCollection_AsciiString.hxx \
+  /usr/local/opencascade//inc/TCollection_AsciiString.lxx \
+  /usr/local/opencascade//inc/Interface_ParamType.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HArray1OfAsciiString.hxx \
+  /usr/local/opencascade//inc/Handle_Dico_DictionaryOfInteger.hxx \
+  /usr/local/opencascade//inc/Interface_StaticSatisfies.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_HAsciiString.hxx \
+  /usr/local/opencascade//inc/Interface_TypedValue.hxx \
+  /usr/local/opencascade//inc/Interface_ValueInterpret.hxx \
+  /usr/local/opencascade//inc/Interface_ValueSatisfies.hxx \
+  /usr/local/opencascade//inc/MoniTool_TypedValue.hxx \
+  /usr/local/opencascade//inc/MoniTool_ValueType.hxx \
+  /usr/local/opencascade//inc/MoniTool_ValueInterpret.hxx \
+  /usr/local/opencascade//inc/TCollection_HAsciiString.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_HExtendedString.hxx \
+  /usr/local/opencascade//inc/TCollection_HAsciiString.lxx \
+  /usr/local/opencascade//inc/MoniTool_ValueSatisfies.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfAsciiString.hxx \
+  /usr/local/opencascade//inc/Handle_Dico_DictionaryOfTransient.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfHAsciiString.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ExtremaCurveCurve.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtCC.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ExtremaCurveCurve.lxx \
+  /usr/local/opencascade//inc/Standard_ErrorHandler.hxx \
+  /usr/local/opencascade//inc/Standard_ErrorHandler.lxx \
+  /usr/local/opencascade//inc/ShapeUpgrade_ShellSewing.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeBuild_ReShape.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Shape.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Shape.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Root.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Solid.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Root.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeExtend_BasicMsgRegistrator.hxx \
+  /usr/local/opencascade//inc/Message_Gravity.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Root.lxx \
+  /usr/local/opencascade//inc/Precision.hxx \
+  /usr/local/opencascade//inc/Precision.lxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Shell.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Face.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Wire.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Edge.hxx \
+  /usr/local/opencascade//inc/ShapeExtend_Status.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Shape.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Solid.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Solid.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Shell.hxx \
+  /usr/local/opencascade//inc/TopoDS_Shell.hxx \
+  /usr/local/opencascade//inc/TopoDS_Compound.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Shell.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Face.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeAnalysis_Surface.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeExtend_WireData.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Face.lxx \
+  /usr/local/opencascade//inc/ShapeExtend.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Wire.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeAnalysis_Wire.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Wire.lxx \
+  /usr/local/opencascade//inc/ShapeExtend_WireData.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_HSequenceOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfInteger.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_Wire.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_Wire.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Wireframe.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Wireframe.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Wireframe.lxx \
+  /usr/local/opencascade//inc/BRepMesh.hxx \
+  /usr/local/opencascade//inc/BRepMesh_IncrementalMesh.hxx \
+  /usr/local/opencascade//inc/Handle_BRepMesh_FastDiscret.hxx \
+  /usr/local/opencascade//inc/BRepMesh_DataMapOfShapeReal.hxx \
+  /usr/local/opencascade//inc/Handle_BRepMesh_DataMapNodeOfDataMapOfShapeReal.hxx \
+  /usr/local/opencascade//inc/Bnd_Box.hxx \
+  /usr/local/opencascade//inc/Bnd_Box.lxx \
+  /usr/local/opencascade//inc/BRepBndLib.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis.hxx \
+  /usr/local/opencascade//inc/ShapeBuild_ReShape.hxx \
+  /usr/local/opencascade//inc/BRepTools_ReShape.hxx \
+  /usr/local/opencascade//inc/IGESControl_Writer.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_FinderProcess.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ProcessForFinder.hxx \
+  /usr/local/opencascade//inc/IGESData_BasicEditor.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_Protocol.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_Protocol.hxx \
+  /usr/local/opencascade//inc/Interface_GeneralLib.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_NodeOfGeneralLib.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_GeneralModule.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_GlobalNodeOfGeneralLib.hxx \
+  /usr/local/opencascade//inc/IGESData_SpecificLib.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_NodeOfSpecificLib.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_IGESEntity.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_SpecificModule.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_GlobalNodeOfSpecificLib.hxx \
+  /usr/local/opencascade//inc/STEPControl_Writer.hxx \
+  /usr/local/opencascade//inc/STEPControl_StepModelType.hxx \
+  /usr/local/opencascade//inc/StlAPI_Writer.hxx \
+  /usr/local/opencascade//inc/Handle_StlMesh_Mesh.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_ShapeTolerance.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_ShapeContents.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_ShapeContents.lxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_CheckSmallFace.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_CheckSmallFace.lxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_DataMapOfShapeListOfReal.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeAnalysis_DataMapNodeOfDataMapOfShapeListOfReal.hxx \
+  /usr/local/opencascade//inc/BRepAlgoAPI_Fuse.hxx \
+  /usr/local/opencascade//inc/BRepAlgoAPI_BooleanOperation.hxx \
+  /usr/local/opencascade//inc/BOP_Operation.hxx \
+  /usr/local/opencascade//inc/BOPTools_PDSFiller.hxx \
+  /usr/local/opencascade//inc/BOP_PBuilder.hxx \
+  /usr/local/opencascade//inc/Handle_BOP_HistoryCollector.hxx \
+  /usr/local/opencascade//inc/BRepCheck_Analyzer.hxx \
+  /usr/local/opencascade//inc/BRepCheck_DataMapOfShapeResult.hxx \
+  /usr/local/opencascade//inc/Handle_BRepCheck_Result.hxx \
+  /usr/local/opencascade//inc/Handle_BRepCheck_DataMapNodeOfDataMapOfShapeResult.hxx \
+  /usr/local/opencascade//inc/BRepCheck_Analyzer.lxx \
+  /usr/local/opencascade//inc/BRepLib.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Plane.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_ElementarySurface.hxx \
+  /usr/local/opencascade//inc/ShapeFix.hxx \
+  /usr/local/opencascade//inc/ShapeFix_FixSmallFace.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_FixSmallFace.hxx OCCFace.h \
+  /usr/local/opencascade//inc/Geom2dLProp_CLProps2d.hxx \
+  /usr/local/opencascade//inc/Geom_BezierCurve.hxx \
+  /usr/local/opencascade//inc/Handle_TColgp_HArray1OfPnt.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HArray1OfReal.hxx \
+  /usr/local/opencascade//inc/Geom_BoundedCurve.hxx \
+  /usr/local/opencascade//inc/Geom_Ellipse.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Ellipse.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Conic.hxx \
+  /usr/local/opencascade//inc/Geom_Conic.hxx \
+  /usr/local/opencascade//inc/gp_Ax2.hxx \
+  /usr/local/opencascade//inc/gp_Ax1.hxx \
+  /usr/local/opencascade//inc/gp_Ax1.lxx \
+  /usr/local/opencascade//inc/gp_Ax2.lxx \
+  /usr/local/opencascade//inc/Geom_Circle.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Circle.hxx \
+  /usr/local/opencascade//inc/Geom_Line.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Line.hxx
 OCCFace.o: OCCFace.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h ../Common/GmshDefines.h MVertex.h GPoint.h SPoint2.h \
   GEdge.h SVector3.h MElement.h MEdge.h ../Common/Hash.h MFace.h \
   ../Numeric/Numeric.h ../Common/Context.h ../DataStr/List.h \
   ExtrudeParams.h GFace.h GEdgeLoop.h Pair.h GRegion.h \
-  ../Common/SmoothNormals.h OCCVertex.h OCCIncludes.h OCCEdge.h OCCFace.h \
-  ../Common/Message.h
+  ../Common/SmoothNormals.h OCCVertex.h OCCIncludes.h \
+  /usr/local/opencascade//inc/config.h \
+  /usr/local/opencascade//inc/BRep_Tool.hxx \
+  /usr/local/opencascade//inc/Standard_Boolean.hxx \
+  /usr/local/opencascade//inc/Standard_TypeDef.hxx \
+  /usr/local/opencascade//inc/Standard_Macro.hxx \
+  /usr/local/opencascade//inc/Standard_Stream.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Surface.hxx \
+  /usr/local/opencascade//inc/Standard.hxx \
+  /usr/local/opencascade//inc/Standard_Address.hxx \
+  /usr/local/opencascade//inc/Standard_Integer.hxx \
+  /usr/local/opencascade//inc/Standard_values.h \
+  /usr/local/opencascade//inc/Standard_OStream.hxx \
+  /usr/local/opencascade//inc/Standard_CString.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Geometry.hxx \
+  /usr/local/opencascade//inc/Handle_MMgt_TShared.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_Transient.hxx \
+  /usr/local/opencascade//inc/Standard_PrimitiveTypes.hxx \
+  /usr/local/opencascade//inc/Standard_Real.hxx \
+  /usr/local/opencascade//inc/Standard_Character.hxx \
+  /usr/local/opencascade//inc/Standard_ctype.hxx \
+  /usr/local/opencascade//inc/Standard_ExtCharacter.hxx \
+  /usr/local/opencascade//inc/Standard_ExtString.hxx \
+  /usr/local/opencascade//inc/Standard_Storable.hxx \
+  /usr/local/opencascade//inc/Standard_Transient_proto.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_Triangulation.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_Polygon3D.hxx \
+  /usr/local/opencascade//inc/Handle_Geom2d_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom2d_Geometry.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_Polygon2D.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_PolygonOnTriangulation.hxx \
+  /usr/local/opencascade//inc/GeomAbs_Shape.hxx \
+  /usr/local/opencascade//inc/Geom_Curve.hxx \
+  /usr/local/opencascade//inc/Geom_Geometry.hxx \
+  /usr/local/opencascade//inc/MMgt_TShared.hxx \
+  /usr/local/opencascade//inc/Standard_Transient.hxx \
+  /usr/local/opencascade//inc/Standard_Type.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_Type.hxx \
+  /usr/local/opencascade//inc/Standard_KindOfType.hxx \
+  /usr/local/opencascade//inc/Standard_Type.lxx \
+  /usr/local/opencascade//inc/Geom2d_Curve.hxx \
+  /usr/local/opencascade//inc/Geom2d_Geometry.hxx \
+  /usr/local/opencascade//inc/Geom_Surface.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnSurf.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPS.hxx \
+  /usr/local/opencascade//inc/Adaptor3d_SurfacePtr.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPElS.hxx \
+  /usr/local/opencascade//inc/Extrema_POnSurf.hxx \
+  /usr/local/opencascade//inc/gp_Pnt.hxx \
+  /usr/local/opencascade//inc/gp_XYZ.hxx \
+  /usr/local/opencascade//inc/gp_XYZ.lxx \
+  /usr/local/opencascade//inc/gp.hxx /usr/local/opencascade//inc/gp.lxx \
+  /usr/local/opencascade//inc/gp_Mat.hxx \
+  /usr/local/opencascade//inc/gp_Mat.lxx \
+  /usr/local/opencascade//inc/Standard_OutOfRange.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_OutOfRange.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_RangeError.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_DomainError.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_Failure.hxx \
+  /usr/local/opencascade//inc/Standard_SStream.hxx \
+  /usr/local/opencascade//inc/Standard_RangeError.hxx \
+  /usr/local/opencascade//inc/Standard_DomainError.hxx \
+  /usr/local/opencascade//inc/Standard_Failure.hxx \
+  /usr/local/opencascade//inc/Standard_Failure.lxx \
+  /usr/local/opencascade//inc/Standard_ConstructionError.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_ConstructionError.hxx \
+  /usr/local/opencascade//inc/gp_Pnt.lxx \
+  /usr/local/opencascade//inc/gp_Trsf.hxx \
+  /usr/local/opencascade//inc/gp_TrsfForm.hxx \
+  /usr/local/opencascade//inc/gp_Trsf.lxx \
+  /usr/local/opencascade//inc/gp_Trsf2d.hxx \
+  /usr/local/opencascade//inc/gp_Mat2d.hxx \
+  /usr/local/opencascade//inc/gp_Mat2d.lxx \
+  /usr/local/opencascade//inc/gp_XY.hxx \
+  /usr/local/opencascade//inc/gp_XY.lxx \
+  /usr/local/opencascade//inc/gp_Trsf2d.lxx \
+  /usr/local/opencascade//inc/gp_Pnt2d.hxx \
+  /usr/local/opencascade//inc/gp_Pnt2d.lxx \
+  /usr/local/opencascade//inc/gp_Vec2d.hxx \
+  /usr/local/opencascade//inc/gp_Vec2d.lxx \
+  /usr/local/opencascade//inc/gp_Dir2d.hxx \
+  /usr/local/opencascade//inc/gp_Dir2d.lxx \
+  /usr/local/opencascade//inc/gp_Ax2d.hxx \
+  /usr/local/opencascade//inc/gp_Ax2d.lxx \
+  /usr/local/opencascade//inc/gp_Vec.hxx \
+  /usr/local/opencascade//inc/gp_Vec.lxx \
+  /usr/local/opencascade//inc/gp_Dir.hxx \
+  /usr/local/opencascade//inc/gp_Dir.lxx \
+  /usr/local/opencascade//inc/gp_VectorWithNullMagnitude.hxx \
+  /usr/local/opencascade//inc/Handle_gp_VectorWithNullMagnitude.hxx \
+  /usr/local/opencascade//inc/Extrema_POnSurf.lxx \
+  /usr/local/opencascade//inc/Extrema_GenExtPS.hxx \
+  /usr/local/opencascade//inc/Handle_TColgp_HArray2OfPnt.hxx \
+  /usr/local/opencascade//inc/Extrema_FuncExtPS.hxx \
+  /usr/local/opencascade//inc/TColStd_SequenceOfReal.hxx \
+  /usr/local/opencascade//inc/TCollection_BaseSequence.hxx \
+  /usr/local/opencascade//inc/TCollection_BaseSequence.lxx \
+  /usr/local/opencascade//inc/Handle_TColStd_SequenceNodeOfSequenceOfReal.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_SeqNode.hxx \
+  /usr/local/opencascade//inc/TCollection_Sequence.lxx \
+  /usr/local/opencascade//inc/Extrema_SequenceOfPOnSurf.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSequenceOfPOnSurf.hxx \
+  /usr/local/opencascade//inc/math_FunctionSetWithDerivatives.hxx \
+  /usr/local/opencascade//inc/math_FunctionSet.hxx \
+  /usr/local/opencascade//inc/GeomAbs_SurfaceType.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Surface.hxx \
+  /usr/local/opencascade//inc/Adaptor3d_Surface.hxx \
+  /usr/local/opencascade//inc/Handle_Adaptor3d_HSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BezierSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BoundedSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BSplineSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Adaptor3d_HCurve.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Surface.lxx \
+  /usr/local/opencascade//inc/Quantity_Parameter.hxx \
+  /usr/local/opencascade//inc/Quantity_Length.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnSurf.lxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnCurve.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPC.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPElC.hxx \
+  /usr/local/opencascade//inc/Extrema_POnCurv.hxx \
+  /usr/local/opencascade//inc/Extrema_Point.lxx \
+  /usr/local/opencascade//inc/Extrema_SequenceOfPOnCurv.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSequenceOfPOnCurv.hxx \
+  /usr/local/opencascade//inc/Extrema_EPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/Extrema_PCFOfEPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/TColStd_SequenceOfInteger.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_SequenceNodeOfSequenceOfInteger.hxx \
+  /usr/local/opencascade//inc/Extrema_SeqPCOfPCFOfEPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSeqPCOfPCFOfEPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/math_FunctionWithDerivative.hxx \
+  /usr/local/opencascade//inc/math_Function.hxx \
+  /usr/local/opencascade//inc/GeomAbs_CurveType.hxx \
+  /usr/local/opencascade//inc/Extrema_SequenceOfBoolean.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSequenceOfBoolean.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Curve.hxx \
+  /usr/local/opencascade//inc/Adaptor3d_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BezierCurve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BoundedCurve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BSplineCurve.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Curve.lxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnCurve.lxx \
+  /usr/local/opencascade//inc/BRepTools.hxx \
+  /usr/local/opencascade//inc/Standard_IStream.hxx \
+  /usr/local/opencascade//inc/TopExp.hxx \
+  /usr/local/opencascade//inc/TopAbs_ShapeEnum.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeVertex.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeVertex.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeShape.hxx \
+  /usr/local/opencascade//inc/TopoDS_Shape.hxx \
+  /usr/local/opencascade//inc/Handle_TopoDS_TShape.hxx \
+  /usr/local/opencascade//inc/TopLoc_Location.hxx \
+  /usr/local/opencascade//inc/TopLoc_SListOfItemLocation.hxx \
+  /usr/local/opencascade//inc/Handle_TopLoc_SListNodeOfSListOfItemLocation.hxx \
+  /usr/local/opencascade//inc/TCollection_SList.lxx \
+  /usr/local/opencascade//inc/Handle_TopLoc_Datum3D.hxx \
+  /usr/local/opencascade//inc/TopLoc_Location.lxx \
+  /usr/local/opencascade//inc/TopLoc_ItemLocation.hxx \
+  /usr/local/opencascade//inc/TopLoc_TrsfPtr.hxx \
+  /usr/local/opencascade//inc/TopAbs_Orientation.hxx \
+  /usr/local/opencascade//inc/TopoDS_Shape.lxx \
+  /usr/local/opencascade//inc/TopoDS_TShape.hxx \
+  /usr/local/opencascade//inc/TopoDS_ListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopoDS_ListNodeOfListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_MapNode.hxx \
+  /usr/local/opencascade//inc/TCollection_List.lxx \
+  /usr/local/opencascade//inc/TopoDS_TShape.lxx \
+  /usr/local/opencascade//inc/TopAbs.hxx \
+  /usr/local/opencascade//inc/TopAbs_State.hxx \
+  /usr/local/opencascade//inc/TopTools_ListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_ListNodeOfListOfShape.hxx \
+  /usr/local/opencascade//inc/BRepLib_Command.hxx \
+  /usr/local/opencascade//inc/BRepLib_ShapeModification.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeShape.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_Command.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeShell.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeShell.hxx \
+  /usr/local/opencascade//inc/BRepLib_ShellError.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_ShellError.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeSolid.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeSolid.hxx \
+  /usr/local/opencascade//inc/BRepOffsetAPI_Sewing.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_Sewing.hxx \
+  /usr/local/opencascade//inc/Handle_BRepBuilderAPI_Sewing.hxx \
+  /usr/local/opencascade//inc/TopTools_IndexedDataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/TCollection_BasicMap.hxx \
+  /usr/local/opencascade//inc/TCollection_MapNodePtr.hxx \
+  /usr/local/opencascade//inc/TCollection_BasicMap.lxx \
+  /usr/local/opencascade//inc/Handle_TopTools_IndexedDataMapNodeOfIndexedDataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/TopTools_IndexedMapOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_IndexedMapNodeOfIndexedMapOfShape.hxx \
+  /usr/local/opencascade//inc/TopTools_IndexedDataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_IndexedDataMapNodeOfIndexedDataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/TopTools_DataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_DataMapNodeOfDataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/TopTools_DataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_DataMapNodeOfDataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_BRepTools_ReShape.hxx \
+  /usr/local/opencascade//inc/TopTools_MapOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_StdMapNodeOfMapOfShape.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_Sewing.lxx \
+  /usr/local/opencascade//inc/BRepLProp_SLProps.hxx \
+  /usr/local/opencascade//inc/BRepAdaptor_Surface.hxx \
+  /usr/local/opencascade//inc/TopoDS_Face.hxx \
+  /usr/local/opencascade//inc/BRepAdaptor_Surface.lxx \
+  /usr/local/opencascade//inc/LProp_Status.hxx \
+  /usr/local/opencascade//inc/Poly_Triangulation.hxx \
+  /usr/local/opencascade//inc/TColgp_Array1OfPnt.hxx \
+  /usr/local/opencascade//inc/TCollection_Array1.lxx \
+  /usr/local/opencascade//inc/Handle_TColgp_HArray1OfPnt2d.hxx \
+  /usr/local/opencascade//inc/Poly_Array1OfTriangle.hxx \
+  /usr/local/opencascade//inc/Poly_Triangle.hxx \
+  /usr/local/opencascade//inc/Poly_Triangle.lxx \
+  /usr/local/opencascade//inc/Poly_Triangulation.lxx \
+  /usr/local/opencascade//inc/TColgp_Array1OfPnt2d.hxx \
+  /usr/local/opencascade//inc/GProp_GProps.hxx \
+  /usr/local/opencascade//inc/BRepGProp.hxx \
+  /usr/local/opencascade//inc/TopoDS.hxx \
+  /usr/local/opencascade//inc/TopoDS.lxx \
+  /usr/local/opencascade//inc/Standard_TypeMismatch.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_TypeMismatch.hxx \
+  /usr/local/opencascade//inc/TopoDS_Solid.hxx \
+  /usr/local/opencascade//inc/TopExp_Explorer.hxx \
+  /usr/local/opencascade//inc/TopExp_Stack.hxx \
+  /usr/local/opencascade//inc/TopExp_Explorer.lxx \
+  /usr/local/opencascade//inc/BRep_Builder.hxx \
+  /usr/local/opencascade//inc/TopoDS_Builder3D.hxx \
+  /usr/local/opencascade//inc/TopoDS_Builder.hxx \
+  /usr/local/opencascade//inc/TopoDS_Wire.hxx \
+  /usr/local/opencascade//inc/BRepTools_WireExplorer.hxx \
+  /usr/local/opencascade//inc/TopoDS_Edge.hxx \
+  /usr/local/opencascade//inc/TopoDS_Vertex.hxx \
+  /usr/local/opencascade//inc/BRepLProp_CLProps.hxx \
+  /usr/local/opencascade//inc/BRepAdaptor_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Adaptor3d_HCurveOnSurface.hxx \
+  /usr/local/opencascade//inc/IGESControl_Reader.hxx \
+  /usr/local/opencascade//inc/XSControl_Reader.hxx \
+  /usr/local/opencascade//inc/Handle_XSControl_WorkSession.hxx \
+  /usr/local/opencascade//inc/Handle_IFSelect_WorkSession.hxx \
+  /usr/local/opencascade//inc/TColStd_SequenceOfTransient.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_SequenceNodeOfSequenceOfTransient.hxx \
+  /usr/local/opencascade//inc/TopTools_SequenceOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_SequenceNodeOfSequenceOfShape.hxx \
+  /usr/local/opencascade//inc/IFSelect_ReturnStatus.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_InterfaceModel.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfTransient.hxx \
+  /usr/local/opencascade//inc/IFSelect_PrintCount.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_IGESModel.hxx \
+  /usr/local/opencascade//inc/IFSelect_PrintFail.hxx \
+  /usr/local/opencascade//inc/IGESControl_Reader.lxx \
+  /usr/local/opencascade//inc/STEPControl_Reader.hxx \
+  /usr/local/opencascade//inc/Handle_StepData_StepModel.hxx \
+  /usr/local/opencascade//inc/IGESToBRep_Reader.hxx \
+  /usr/local/opencascade//inc/Handle_IGESToBRep_Actor.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ActorOfTransientProcess.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ActorOfProcessForTransient.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_TransientProcess.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ProcessForTransient.hxx \
+  /usr/local/opencascade//inc/Interface_Static.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_Static.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_TypedValue.hxx \
+  /usr/local/opencascade//inc/Handle_MoniTool_TypedValue.hxx \
+  /usr/local/opencascade//inc/TCollection_AsciiString.hxx \
+  /usr/local/opencascade//inc/TCollection_AsciiString.lxx \
+  /usr/local/opencascade//inc/Interface_ParamType.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HArray1OfAsciiString.hxx \
+  /usr/local/opencascade//inc/Handle_Dico_DictionaryOfInteger.hxx \
+  /usr/local/opencascade//inc/Interface_StaticSatisfies.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_HAsciiString.hxx \
+  /usr/local/opencascade//inc/Interface_TypedValue.hxx \
+  /usr/local/opencascade//inc/Interface_ValueInterpret.hxx \
+  /usr/local/opencascade//inc/Interface_ValueSatisfies.hxx \
+  /usr/local/opencascade//inc/MoniTool_TypedValue.hxx \
+  /usr/local/opencascade//inc/MoniTool_ValueType.hxx \
+  /usr/local/opencascade//inc/MoniTool_ValueInterpret.hxx \
+  /usr/local/opencascade//inc/TCollection_HAsciiString.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_HExtendedString.hxx \
+  /usr/local/opencascade//inc/TCollection_HAsciiString.lxx \
+  /usr/local/opencascade//inc/MoniTool_ValueSatisfies.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfAsciiString.hxx \
+  /usr/local/opencascade//inc/Handle_Dico_DictionaryOfTransient.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfHAsciiString.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ExtremaCurveCurve.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtCC.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ExtremaCurveCurve.lxx \
+  /usr/local/opencascade//inc/Standard_ErrorHandler.hxx \
+  /usr/local/opencascade//inc/Standard_ErrorHandler.lxx \
+  /usr/local/opencascade//inc/ShapeUpgrade_ShellSewing.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeBuild_ReShape.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Shape.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Shape.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Root.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Solid.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Root.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeExtend_BasicMsgRegistrator.hxx \
+  /usr/local/opencascade//inc/Message_Gravity.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Root.lxx \
+  /usr/local/opencascade//inc/Precision.hxx \
+  /usr/local/opencascade//inc/Precision.lxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Shell.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Face.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Wire.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Edge.hxx \
+  /usr/local/opencascade//inc/ShapeExtend_Status.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Shape.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Solid.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Solid.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Shell.hxx \
+  /usr/local/opencascade//inc/TopoDS_Shell.hxx \
+  /usr/local/opencascade//inc/TopoDS_Compound.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Shell.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Face.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeAnalysis_Surface.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeExtend_WireData.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Face.lxx \
+  /usr/local/opencascade//inc/ShapeExtend.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Wire.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeAnalysis_Wire.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Wire.lxx \
+  /usr/local/opencascade//inc/ShapeExtend_WireData.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_HSequenceOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfInteger.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_Wire.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_Wire.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Wireframe.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Wireframe.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Wireframe.lxx \
+  /usr/local/opencascade//inc/BRepMesh.hxx \
+  /usr/local/opencascade//inc/BRepMesh_IncrementalMesh.hxx \
+  /usr/local/opencascade//inc/Handle_BRepMesh_FastDiscret.hxx \
+  /usr/local/opencascade//inc/BRepMesh_DataMapOfShapeReal.hxx \
+  /usr/local/opencascade//inc/Handle_BRepMesh_DataMapNodeOfDataMapOfShapeReal.hxx \
+  /usr/local/opencascade//inc/Bnd_Box.hxx \
+  /usr/local/opencascade//inc/Bnd_Box.lxx \
+  /usr/local/opencascade//inc/BRepBndLib.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis.hxx \
+  /usr/local/opencascade//inc/ShapeBuild_ReShape.hxx \
+  /usr/local/opencascade//inc/BRepTools_ReShape.hxx \
+  /usr/local/opencascade//inc/IGESControl_Writer.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_FinderProcess.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ProcessForFinder.hxx \
+  /usr/local/opencascade//inc/IGESData_BasicEditor.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_Protocol.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_Protocol.hxx \
+  /usr/local/opencascade//inc/Interface_GeneralLib.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_NodeOfGeneralLib.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_GeneralModule.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_GlobalNodeOfGeneralLib.hxx \
+  /usr/local/opencascade//inc/IGESData_SpecificLib.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_NodeOfSpecificLib.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_IGESEntity.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_SpecificModule.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_GlobalNodeOfSpecificLib.hxx \
+  /usr/local/opencascade//inc/STEPControl_Writer.hxx \
+  /usr/local/opencascade//inc/STEPControl_StepModelType.hxx \
+  /usr/local/opencascade//inc/StlAPI_Writer.hxx \
+  /usr/local/opencascade//inc/Handle_StlMesh_Mesh.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_ShapeTolerance.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_ShapeContents.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_ShapeContents.lxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_CheckSmallFace.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_CheckSmallFace.lxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_DataMapOfShapeListOfReal.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeAnalysis_DataMapNodeOfDataMapOfShapeListOfReal.hxx \
+  /usr/local/opencascade//inc/BRepAlgoAPI_Fuse.hxx \
+  /usr/local/opencascade//inc/BRepAlgoAPI_BooleanOperation.hxx \
+  /usr/local/opencascade//inc/BOP_Operation.hxx \
+  /usr/local/opencascade//inc/BOPTools_PDSFiller.hxx \
+  /usr/local/opencascade//inc/BOP_PBuilder.hxx \
+  /usr/local/opencascade//inc/Handle_BOP_HistoryCollector.hxx \
+  /usr/local/opencascade//inc/BRepCheck_Analyzer.hxx \
+  /usr/local/opencascade//inc/BRepCheck_DataMapOfShapeResult.hxx \
+  /usr/local/opencascade//inc/Handle_BRepCheck_Result.hxx \
+  /usr/local/opencascade//inc/Handle_BRepCheck_DataMapNodeOfDataMapOfShapeResult.hxx \
+  /usr/local/opencascade//inc/BRepCheck_Analyzer.lxx \
+  /usr/local/opencascade//inc/BRepLib.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Plane.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_ElementarySurface.hxx \
+  /usr/local/opencascade//inc/ShapeFix.hxx \
+  /usr/local/opencascade//inc/ShapeFix_FixSmallFace.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_FixSmallFace.hxx OCCEdge.h \
+  OCCFace.h ../Common/Message.h \
+  /usr/local/opencascade//inc/Geom_CylindricalSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_CylindricalSurface.hxx \
+  /usr/local/opencascade//inc/Geom_ElementarySurface.hxx \
+  /usr/local/opencascade//inc/gp_Ax3.hxx \
+  /usr/local/opencascade//inc/gp_Ax1.hxx \
+  /usr/local/opencascade//inc/gp_Ax1.lxx \
+  /usr/local/opencascade//inc/gp_Ax3.lxx \
+  /usr/local/opencascade//inc/gp_Ax2.hxx \
+  /usr/local/opencascade//inc/gp_Ax2.lxx \
+  /usr/local/opencascade//inc/Geom_ConicalSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_ConicalSurface.hxx \
+  /usr/local/opencascade//inc/Geom_BSplineSurface.hxx \
+  /usr/local/opencascade//inc/GeomAbs_BSplKnotDistribution.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HArray2OfReal.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HArray1OfReal.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HArray1OfInteger.hxx \
+  /usr/local/opencascade//inc/Geom_BoundedSurface.hxx \
+  /usr/local/opencascade//inc/Geom_SphericalSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_SphericalSurface.hxx \
+  /usr/local/opencascade//inc/Geom_Plane.hxx \
+  /usr/local/opencascade//inc/gp_Pln.hxx \
+  /usr/local/opencascade//inc/gp_Pln.lxx \
+  /usr/local/opencascade//inc/gp_Lin.hxx \
+  /usr/local/opencascade//inc/gp_Lin.lxx
 OCCRegion.o: OCCRegion.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h ../Common/GmshDefines.h MVertex.h GPoint.h SPoint2.h \
   GEdge.h SVector3.h MElement.h MEdge.h ../Common/Hash.h MFace.h \
   ../Numeric/Numeric.h ../Common/Context.h ../DataStr/List.h \
   ExtrudeParams.h GFace.h GEdgeLoop.h Pair.h GRegion.h \
-  ../Common/SmoothNormals.h OCCVertex.h OCCIncludes.h OCCEdge.h OCCFace.h \
-  OCCRegion.h ../Common/Message.h
+  ../Common/SmoothNormals.h OCCVertex.h OCCIncludes.h \
+  /usr/local/opencascade//inc/config.h \
+  /usr/local/opencascade//inc/BRep_Tool.hxx \
+  /usr/local/opencascade//inc/Standard_Boolean.hxx \
+  /usr/local/opencascade//inc/Standard_TypeDef.hxx \
+  /usr/local/opencascade//inc/Standard_Macro.hxx \
+  /usr/local/opencascade//inc/Standard_Stream.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Surface.hxx \
+  /usr/local/opencascade//inc/Standard.hxx \
+  /usr/local/opencascade//inc/Standard_Address.hxx \
+  /usr/local/opencascade//inc/Standard_Integer.hxx \
+  /usr/local/opencascade//inc/Standard_values.h \
+  /usr/local/opencascade//inc/Standard_OStream.hxx \
+  /usr/local/opencascade//inc/Standard_CString.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Geometry.hxx \
+  /usr/local/opencascade//inc/Handle_MMgt_TShared.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_Transient.hxx \
+  /usr/local/opencascade//inc/Standard_PrimitiveTypes.hxx \
+  /usr/local/opencascade//inc/Standard_Real.hxx \
+  /usr/local/opencascade//inc/Standard_Character.hxx \
+  /usr/local/opencascade//inc/Standard_ctype.hxx \
+  /usr/local/opencascade//inc/Standard_ExtCharacter.hxx \
+  /usr/local/opencascade//inc/Standard_ExtString.hxx \
+  /usr/local/opencascade//inc/Standard_Storable.hxx \
+  /usr/local/opencascade//inc/Standard_Transient_proto.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_Triangulation.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_Polygon3D.hxx \
+  /usr/local/opencascade//inc/Handle_Geom2d_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom2d_Geometry.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_Polygon2D.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_PolygonOnTriangulation.hxx \
+  /usr/local/opencascade//inc/GeomAbs_Shape.hxx \
+  /usr/local/opencascade//inc/Geom_Curve.hxx \
+  /usr/local/opencascade//inc/Geom_Geometry.hxx \
+  /usr/local/opencascade//inc/MMgt_TShared.hxx \
+  /usr/local/opencascade//inc/Standard_Transient.hxx \
+  /usr/local/opencascade//inc/Standard_Type.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_Type.hxx \
+  /usr/local/opencascade//inc/Standard_KindOfType.hxx \
+  /usr/local/opencascade//inc/Standard_Type.lxx \
+  /usr/local/opencascade//inc/Geom2d_Curve.hxx \
+  /usr/local/opencascade//inc/Geom2d_Geometry.hxx \
+  /usr/local/opencascade//inc/Geom_Surface.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnSurf.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPS.hxx \
+  /usr/local/opencascade//inc/Adaptor3d_SurfacePtr.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPElS.hxx \
+  /usr/local/opencascade//inc/Extrema_POnSurf.hxx \
+  /usr/local/opencascade//inc/gp_Pnt.hxx \
+  /usr/local/opencascade//inc/gp_XYZ.hxx \
+  /usr/local/opencascade//inc/gp_XYZ.lxx \
+  /usr/local/opencascade//inc/gp.hxx /usr/local/opencascade//inc/gp.lxx \
+  /usr/local/opencascade//inc/gp_Mat.hxx \
+  /usr/local/opencascade//inc/gp_Mat.lxx \
+  /usr/local/opencascade//inc/Standard_OutOfRange.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_OutOfRange.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_RangeError.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_DomainError.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_Failure.hxx \
+  /usr/local/opencascade//inc/Standard_SStream.hxx \
+  /usr/local/opencascade//inc/Standard_RangeError.hxx \
+  /usr/local/opencascade//inc/Standard_DomainError.hxx \
+  /usr/local/opencascade//inc/Standard_Failure.hxx \
+  /usr/local/opencascade//inc/Standard_Failure.lxx \
+  /usr/local/opencascade//inc/Standard_ConstructionError.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_ConstructionError.hxx \
+  /usr/local/opencascade//inc/gp_Pnt.lxx \
+  /usr/local/opencascade//inc/gp_Trsf.hxx \
+  /usr/local/opencascade//inc/gp_TrsfForm.hxx \
+  /usr/local/opencascade//inc/gp_Trsf.lxx \
+  /usr/local/opencascade//inc/gp_Trsf2d.hxx \
+  /usr/local/opencascade//inc/gp_Mat2d.hxx \
+  /usr/local/opencascade//inc/gp_Mat2d.lxx \
+  /usr/local/opencascade//inc/gp_XY.hxx \
+  /usr/local/opencascade//inc/gp_XY.lxx \
+  /usr/local/opencascade//inc/gp_Trsf2d.lxx \
+  /usr/local/opencascade//inc/gp_Pnt2d.hxx \
+  /usr/local/opencascade//inc/gp_Pnt2d.lxx \
+  /usr/local/opencascade//inc/gp_Vec2d.hxx \
+  /usr/local/opencascade//inc/gp_Vec2d.lxx \
+  /usr/local/opencascade//inc/gp_Dir2d.hxx \
+  /usr/local/opencascade//inc/gp_Dir2d.lxx \
+  /usr/local/opencascade//inc/gp_Ax2d.hxx \
+  /usr/local/opencascade//inc/gp_Ax2d.lxx \
+  /usr/local/opencascade//inc/gp_Vec.hxx \
+  /usr/local/opencascade//inc/gp_Vec.lxx \
+  /usr/local/opencascade//inc/gp_Dir.hxx \
+  /usr/local/opencascade//inc/gp_Dir.lxx \
+  /usr/local/opencascade//inc/gp_VectorWithNullMagnitude.hxx \
+  /usr/local/opencascade//inc/Handle_gp_VectorWithNullMagnitude.hxx \
+  /usr/local/opencascade//inc/Extrema_POnSurf.lxx \
+  /usr/local/opencascade//inc/Extrema_GenExtPS.hxx \
+  /usr/local/opencascade//inc/Handle_TColgp_HArray2OfPnt.hxx \
+  /usr/local/opencascade//inc/Extrema_FuncExtPS.hxx \
+  /usr/local/opencascade//inc/TColStd_SequenceOfReal.hxx \
+  /usr/local/opencascade//inc/TCollection_BaseSequence.hxx \
+  /usr/local/opencascade//inc/TCollection_BaseSequence.lxx \
+  /usr/local/opencascade//inc/Handle_TColStd_SequenceNodeOfSequenceOfReal.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_SeqNode.hxx \
+  /usr/local/opencascade//inc/TCollection_Sequence.lxx \
+  /usr/local/opencascade//inc/Extrema_SequenceOfPOnSurf.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSequenceOfPOnSurf.hxx \
+  /usr/local/opencascade//inc/math_FunctionSetWithDerivatives.hxx \
+  /usr/local/opencascade//inc/math_FunctionSet.hxx \
+  /usr/local/opencascade//inc/GeomAbs_SurfaceType.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Surface.hxx \
+  /usr/local/opencascade//inc/Adaptor3d_Surface.hxx \
+  /usr/local/opencascade//inc/Handle_Adaptor3d_HSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BezierSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BoundedSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BSplineSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Adaptor3d_HCurve.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Surface.lxx \
+  /usr/local/opencascade//inc/Quantity_Parameter.hxx \
+  /usr/local/opencascade//inc/Quantity_Length.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnSurf.lxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnCurve.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPC.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPElC.hxx \
+  /usr/local/opencascade//inc/Extrema_POnCurv.hxx \
+  /usr/local/opencascade//inc/Extrema_Point.lxx \
+  /usr/local/opencascade//inc/Extrema_SequenceOfPOnCurv.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSequenceOfPOnCurv.hxx \
+  /usr/local/opencascade//inc/Extrema_EPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/Extrema_PCFOfEPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/TColStd_SequenceOfInteger.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_SequenceNodeOfSequenceOfInteger.hxx \
+  /usr/local/opencascade//inc/Extrema_SeqPCOfPCFOfEPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSeqPCOfPCFOfEPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/math_FunctionWithDerivative.hxx \
+  /usr/local/opencascade//inc/math_Function.hxx \
+  /usr/local/opencascade//inc/GeomAbs_CurveType.hxx \
+  /usr/local/opencascade//inc/Extrema_SequenceOfBoolean.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSequenceOfBoolean.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Curve.hxx \
+  /usr/local/opencascade//inc/Adaptor3d_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BezierCurve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BoundedCurve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BSplineCurve.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Curve.lxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnCurve.lxx \
+  /usr/local/opencascade//inc/BRepTools.hxx \
+  /usr/local/opencascade//inc/Standard_IStream.hxx \
+  /usr/local/opencascade//inc/TopExp.hxx \
+  /usr/local/opencascade//inc/TopAbs_ShapeEnum.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeVertex.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeVertex.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeShape.hxx \
+  /usr/local/opencascade//inc/TopoDS_Shape.hxx \
+  /usr/local/opencascade//inc/Handle_TopoDS_TShape.hxx \
+  /usr/local/opencascade//inc/TopLoc_Location.hxx \
+  /usr/local/opencascade//inc/TopLoc_SListOfItemLocation.hxx \
+  /usr/local/opencascade//inc/Handle_TopLoc_SListNodeOfSListOfItemLocation.hxx \
+  /usr/local/opencascade//inc/TCollection_SList.lxx \
+  /usr/local/opencascade//inc/Handle_TopLoc_Datum3D.hxx \
+  /usr/local/opencascade//inc/TopLoc_Location.lxx \
+  /usr/local/opencascade//inc/TopLoc_ItemLocation.hxx \
+  /usr/local/opencascade//inc/TopLoc_TrsfPtr.hxx \
+  /usr/local/opencascade//inc/TopAbs_Orientation.hxx \
+  /usr/local/opencascade//inc/TopoDS_Shape.lxx \
+  /usr/local/opencascade//inc/TopoDS_TShape.hxx \
+  /usr/local/opencascade//inc/TopoDS_ListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopoDS_ListNodeOfListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_MapNode.hxx \
+  /usr/local/opencascade//inc/TCollection_List.lxx \
+  /usr/local/opencascade//inc/TopoDS_TShape.lxx \
+  /usr/local/opencascade//inc/TopAbs.hxx \
+  /usr/local/opencascade//inc/TopAbs_State.hxx \
+  /usr/local/opencascade//inc/TopTools_ListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_ListNodeOfListOfShape.hxx \
+  /usr/local/opencascade//inc/BRepLib_Command.hxx \
+  /usr/local/opencascade//inc/BRepLib_ShapeModification.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeShape.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_Command.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeShell.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeShell.hxx \
+  /usr/local/opencascade//inc/BRepLib_ShellError.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_ShellError.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeSolid.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeSolid.hxx \
+  /usr/local/opencascade//inc/BRepOffsetAPI_Sewing.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_Sewing.hxx \
+  /usr/local/opencascade//inc/Handle_BRepBuilderAPI_Sewing.hxx \
+  /usr/local/opencascade//inc/TopTools_IndexedDataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/TCollection_BasicMap.hxx \
+  /usr/local/opencascade//inc/TCollection_MapNodePtr.hxx \
+  /usr/local/opencascade//inc/TCollection_BasicMap.lxx \
+  /usr/local/opencascade//inc/Handle_TopTools_IndexedDataMapNodeOfIndexedDataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/TopTools_IndexedMapOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_IndexedMapNodeOfIndexedMapOfShape.hxx \
+  /usr/local/opencascade//inc/TopTools_IndexedDataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_IndexedDataMapNodeOfIndexedDataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/TopTools_DataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_DataMapNodeOfDataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/TopTools_DataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_DataMapNodeOfDataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_BRepTools_ReShape.hxx \
+  /usr/local/opencascade//inc/TopTools_MapOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_StdMapNodeOfMapOfShape.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_Sewing.lxx \
+  /usr/local/opencascade//inc/BRepLProp_SLProps.hxx \
+  /usr/local/opencascade//inc/BRepAdaptor_Surface.hxx \
+  /usr/local/opencascade//inc/TopoDS_Face.hxx \
+  /usr/local/opencascade//inc/BRepAdaptor_Surface.lxx \
+  /usr/local/opencascade//inc/LProp_Status.hxx \
+  /usr/local/opencascade//inc/Poly_Triangulation.hxx \
+  /usr/local/opencascade//inc/TColgp_Array1OfPnt.hxx \
+  /usr/local/opencascade//inc/TCollection_Array1.lxx \
+  /usr/local/opencascade//inc/Handle_TColgp_HArray1OfPnt2d.hxx \
+  /usr/local/opencascade//inc/Poly_Array1OfTriangle.hxx \
+  /usr/local/opencascade//inc/Poly_Triangle.hxx \
+  /usr/local/opencascade//inc/Poly_Triangle.lxx \
+  /usr/local/opencascade//inc/Poly_Triangulation.lxx \
+  /usr/local/opencascade//inc/TColgp_Array1OfPnt2d.hxx \
+  /usr/local/opencascade//inc/GProp_GProps.hxx \
+  /usr/local/opencascade//inc/BRepGProp.hxx \
+  /usr/local/opencascade//inc/TopoDS.hxx \
+  /usr/local/opencascade//inc/TopoDS.lxx \
+  /usr/local/opencascade//inc/Standard_TypeMismatch.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_TypeMismatch.hxx \
+  /usr/local/opencascade//inc/TopoDS_Solid.hxx \
+  /usr/local/opencascade//inc/TopExp_Explorer.hxx \
+  /usr/local/opencascade//inc/TopExp_Stack.hxx \
+  /usr/local/opencascade//inc/TopExp_Explorer.lxx \
+  /usr/local/opencascade//inc/BRep_Builder.hxx \
+  /usr/local/opencascade//inc/TopoDS_Builder3D.hxx \
+  /usr/local/opencascade//inc/TopoDS_Builder.hxx \
+  /usr/local/opencascade//inc/TopoDS_Wire.hxx \
+  /usr/local/opencascade//inc/BRepTools_WireExplorer.hxx \
+  /usr/local/opencascade//inc/TopoDS_Edge.hxx \
+  /usr/local/opencascade//inc/TopoDS_Vertex.hxx \
+  /usr/local/opencascade//inc/BRepLProp_CLProps.hxx \
+  /usr/local/opencascade//inc/BRepAdaptor_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Adaptor3d_HCurveOnSurface.hxx \
+  /usr/local/opencascade//inc/IGESControl_Reader.hxx \
+  /usr/local/opencascade//inc/XSControl_Reader.hxx \
+  /usr/local/opencascade//inc/Handle_XSControl_WorkSession.hxx \
+  /usr/local/opencascade//inc/Handle_IFSelect_WorkSession.hxx \
+  /usr/local/opencascade//inc/TColStd_SequenceOfTransient.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_SequenceNodeOfSequenceOfTransient.hxx \
+  /usr/local/opencascade//inc/TopTools_SequenceOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_SequenceNodeOfSequenceOfShape.hxx \
+  /usr/local/opencascade//inc/IFSelect_ReturnStatus.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_InterfaceModel.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfTransient.hxx \
+  /usr/local/opencascade//inc/IFSelect_PrintCount.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_IGESModel.hxx \
+  /usr/local/opencascade//inc/IFSelect_PrintFail.hxx \
+  /usr/local/opencascade//inc/IGESControl_Reader.lxx \
+  /usr/local/opencascade//inc/STEPControl_Reader.hxx \
+  /usr/local/opencascade//inc/Handle_StepData_StepModel.hxx \
+  /usr/local/opencascade//inc/IGESToBRep_Reader.hxx \
+  /usr/local/opencascade//inc/Handle_IGESToBRep_Actor.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ActorOfTransientProcess.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ActorOfProcessForTransient.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_TransientProcess.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ProcessForTransient.hxx \
+  /usr/local/opencascade//inc/Interface_Static.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_Static.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_TypedValue.hxx \
+  /usr/local/opencascade//inc/Handle_MoniTool_TypedValue.hxx \
+  /usr/local/opencascade//inc/TCollection_AsciiString.hxx \
+  /usr/local/opencascade//inc/TCollection_AsciiString.lxx \
+  /usr/local/opencascade//inc/Interface_ParamType.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HArray1OfAsciiString.hxx \
+  /usr/local/opencascade//inc/Handle_Dico_DictionaryOfInteger.hxx \
+  /usr/local/opencascade//inc/Interface_StaticSatisfies.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_HAsciiString.hxx \
+  /usr/local/opencascade//inc/Interface_TypedValue.hxx \
+  /usr/local/opencascade//inc/Interface_ValueInterpret.hxx \
+  /usr/local/opencascade//inc/Interface_ValueSatisfies.hxx \
+  /usr/local/opencascade//inc/MoniTool_TypedValue.hxx \
+  /usr/local/opencascade//inc/MoniTool_ValueType.hxx \
+  /usr/local/opencascade//inc/MoniTool_ValueInterpret.hxx \
+  /usr/local/opencascade//inc/TCollection_HAsciiString.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_HExtendedString.hxx \
+  /usr/local/opencascade//inc/TCollection_HAsciiString.lxx \
+  /usr/local/opencascade//inc/MoniTool_ValueSatisfies.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfAsciiString.hxx \
+  /usr/local/opencascade//inc/Handle_Dico_DictionaryOfTransient.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfHAsciiString.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ExtremaCurveCurve.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtCC.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ExtremaCurveCurve.lxx \
+  /usr/local/opencascade//inc/Standard_ErrorHandler.hxx \
+  /usr/local/opencascade//inc/Standard_ErrorHandler.lxx \
+  /usr/local/opencascade//inc/ShapeUpgrade_ShellSewing.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeBuild_ReShape.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Shape.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Shape.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Root.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Solid.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Root.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeExtend_BasicMsgRegistrator.hxx \
+  /usr/local/opencascade//inc/Message_Gravity.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Root.lxx \
+  /usr/local/opencascade//inc/Precision.hxx \
+  /usr/local/opencascade//inc/Precision.lxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Shell.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Face.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Wire.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Edge.hxx \
+  /usr/local/opencascade//inc/ShapeExtend_Status.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Shape.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Solid.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Solid.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Shell.hxx \
+  /usr/local/opencascade//inc/TopoDS_Shell.hxx \
+  /usr/local/opencascade//inc/TopoDS_Compound.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Shell.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Face.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeAnalysis_Surface.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeExtend_WireData.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Face.lxx \
+  /usr/local/opencascade//inc/ShapeExtend.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Wire.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeAnalysis_Wire.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Wire.lxx \
+  /usr/local/opencascade//inc/ShapeExtend_WireData.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_HSequenceOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfInteger.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_Wire.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_Wire.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Wireframe.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Wireframe.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Wireframe.lxx \
+  /usr/local/opencascade//inc/BRepMesh.hxx \
+  /usr/local/opencascade//inc/BRepMesh_IncrementalMesh.hxx \
+  /usr/local/opencascade//inc/Handle_BRepMesh_FastDiscret.hxx \
+  /usr/local/opencascade//inc/BRepMesh_DataMapOfShapeReal.hxx \
+  /usr/local/opencascade//inc/Handle_BRepMesh_DataMapNodeOfDataMapOfShapeReal.hxx \
+  /usr/local/opencascade//inc/Bnd_Box.hxx \
+  /usr/local/opencascade//inc/Bnd_Box.lxx \
+  /usr/local/opencascade//inc/BRepBndLib.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis.hxx \
+  /usr/local/opencascade//inc/ShapeBuild_ReShape.hxx \
+  /usr/local/opencascade//inc/BRepTools_ReShape.hxx \
+  /usr/local/opencascade//inc/IGESControl_Writer.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_FinderProcess.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ProcessForFinder.hxx \
+  /usr/local/opencascade//inc/IGESData_BasicEditor.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_Protocol.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_Protocol.hxx \
+  /usr/local/opencascade//inc/Interface_GeneralLib.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_NodeOfGeneralLib.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_GeneralModule.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_GlobalNodeOfGeneralLib.hxx \
+  /usr/local/opencascade//inc/IGESData_SpecificLib.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_NodeOfSpecificLib.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_IGESEntity.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_SpecificModule.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_GlobalNodeOfSpecificLib.hxx \
+  /usr/local/opencascade//inc/STEPControl_Writer.hxx \
+  /usr/local/opencascade//inc/STEPControl_StepModelType.hxx \
+  /usr/local/opencascade//inc/StlAPI_Writer.hxx \
+  /usr/local/opencascade//inc/Handle_StlMesh_Mesh.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_ShapeTolerance.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_ShapeContents.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_ShapeContents.lxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_CheckSmallFace.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_CheckSmallFace.lxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_DataMapOfShapeListOfReal.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeAnalysis_DataMapNodeOfDataMapOfShapeListOfReal.hxx \
+  /usr/local/opencascade//inc/BRepAlgoAPI_Fuse.hxx \
+  /usr/local/opencascade//inc/BRepAlgoAPI_BooleanOperation.hxx \
+  /usr/local/opencascade//inc/BOP_Operation.hxx \
+  /usr/local/opencascade//inc/BOPTools_PDSFiller.hxx \
+  /usr/local/opencascade//inc/BOP_PBuilder.hxx \
+  /usr/local/opencascade//inc/Handle_BOP_HistoryCollector.hxx \
+  /usr/local/opencascade//inc/BRepCheck_Analyzer.hxx \
+  /usr/local/opencascade//inc/BRepCheck_DataMapOfShapeResult.hxx \
+  /usr/local/opencascade//inc/Handle_BRepCheck_Result.hxx \
+  /usr/local/opencascade//inc/Handle_BRepCheck_DataMapNodeOfDataMapOfShapeResult.hxx \
+  /usr/local/opencascade//inc/BRepCheck_Analyzer.lxx \
+  /usr/local/opencascade//inc/BRepLib.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Plane.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_ElementarySurface.hxx \
+  /usr/local/opencascade//inc/ShapeFix.hxx \
+  /usr/local/opencascade//inc/ShapeFix_FixSmallFace.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_FixSmallFace.hxx OCCEdge.h \
+  OCCFace.h OCCRegion.h ../Common/Message.h
 projectionFace.o: projectionFace.cpp projectionFace.h GFace.h GPoint.h \
   GEntity.h Range.h SPoint3.h SBoundingBox3d.h ../Common/GmshDefines.h \
   GEdgeLoop.h GEdge.h GVertex.h MVertex.h SPoint2.h SVector3.h MElement.h \
@@ -176,18 +1774,18 @@ GModelIO_Geo.o: GModelIO_Geo.cpp GModel.h GVertex.h GEntity.h Range.h \
   SPoint2.h GEdge.h SVector3.h MElement.h MEdge.h ../Common/Hash.h \
   MFace.h ../Numeric/Numeric.h ../Common/Context.h ../DataStr/List.h \
   ExtrudeParams.h GFace.h GEdgeLoop.h Pair.h GRegion.h \
-  ../Common/SmoothNormals.h Geo.h ../DataStr/Tree.h ../DataStr/avl.h \
-  ../Parser/OpenFile.h ../DataStr/Tools.h ../DataStr/List.h \
-  ../DataStr/Tree.h ../Common/Message.h gmshVertex.h gmshFace.h \
-  gmshEdge.h gmshRegion.h ../Parser/Parser.h
+  ../Common/SmoothNormals.h Geo.h gmshSurface.h ../DataStr/Tree.h \
+  ../DataStr/avl.h ../Parser/OpenFile.h ../DataStr/Tools.h \
+  ../DataStr/List.h ../DataStr/Tree.h ../Common/Message.h gmshVertex.h \
+  gmshFace.h gmshEdge.h gmshRegion.h ../Parser/Parser.h
 GModelIO_Mesh.o: GModelIO_Mesh.cpp ../Common/Message.h \
   ../Common/GmshDefines.h GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h MVertex.h GPoint.h SPoint2.h GEdge.h SVector3.h \
   MElement.h MEdge.h ../Common/Hash.h MFace.h ../Numeric/Numeric.h \
   ../Common/Context.h ../DataStr/List.h ExtrudeParams.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h ../Common/SmoothNormals.h gmshRegion.h \
-  Geo.h ../DataStr/Tree.h ../DataStr/avl.h gmshFace.h gmshVertex.h \
-  gmshEdge.h
+  Geo.h gmshSurface.h ../DataStr/Tree.h ../DataStr/avl.h gmshFace.h \
+  gmshVertex.h gmshEdge.h
 GModelIO_Fourier.o: GModelIO_Fourier.cpp GModel.h GVertex.h GEntity.h \
   Range.h SPoint3.h SBoundingBox3d.h ../Common/GmshDefines.h MVertex.h \
   GPoint.h SPoint2.h GEdge.h SVector3.h MElement.h MEdge.h \
@@ -196,14 +1794,428 @@ GModelIO_Fourier.o: GModelIO_Fourier.cpp GModel.h GVertex.h GEntity.h \
   ../Common/SmoothNormals.h fourierFace.h ../Common/Message.h \
   ../Common/Views.h ../Common/ColorTable.h ../Common/VertexArray.h \
   ../Common/SmoothNormals.h ../Common/AdaptiveViews.h \
-  ../Common/GmshMatrix.h
+  ../Common/GmshMatrix.h /sw/include/gsl/gsl_linalg.h \
+  /sw/include/gsl/gsl_mode.h /sw/include/gsl/gsl_permutation.h \
+  /sw/include/gsl/gsl_types.h /sw/include/gsl/gsl_errno.h \
+  /sw/include/gsl/gsl_check_range.h /sw/include/gsl/gsl_vector.h \
+  /sw/include/gsl/gsl_vector_complex_long_double.h \
+  /sw/include/gsl/gsl_complex.h /sw/include/gsl/gsl_vector_long_double.h \
+  /sw/include/gsl/gsl_block_long_double.h \
+  /sw/include/gsl/gsl_vector_complex.h \
+  /sw/include/gsl/gsl_block_complex_long_double.h \
+  /sw/include/gsl/gsl_vector_complex_double.h \
+  /sw/include/gsl/gsl_vector_double.h /sw/include/gsl/gsl_block_double.h \
+  /sw/include/gsl/gsl_block_complex_double.h \
+  /sw/include/gsl/gsl_vector_complex_float.h \
+  /sw/include/gsl/gsl_vector_float.h /sw/include/gsl/gsl_block_float.h \
+  /sw/include/gsl/gsl_block_complex_float.h \
+  /sw/include/gsl/gsl_vector_ulong.h /sw/include/gsl/gsl_block_ulong.h \
+  /sw/include/gsl/gsl_vector_long.h /sw/include/gsl/gsl_block_long.h \
+  /sw/include/gsl/gsl_vector_uint.h /sw/include/gsl/gsl_block_uint.h \
+  /sw/include/gsl/gsl_vector_int.h /sw/include/gsl/gsl_block_int.h \
+  /sw/include/gsl/gsl_vector_ushort.h /sw/include/gsl/gsl_block_ushort.h \
+  /sw/include/gsl/gsl_vector_short.h /sw/include/gsl/gsl_block_short.h \
+  /sw/include/gsl/gsl_vector_uchar.h /sw/include/gsl/gsl_block_uchar.h \
+  /sw/include/gsl/gsl_vector_char.h /sw/include/gsl/gsl_block_char.h \
+  /sw/include/gsl/gsl_matrix.h \
+  /sw/include/gsl/gsl_matrix_complex_long_double.h \
+  /sw/include/gsl/gsl_matrix_complex_double.h \
+  /sw/include/gsl/gsl_matrix_complex_float.h \
+  /sw/include/gsl/gsl_matrix_long_double.h \
+  /sw/include/gsl/gsl_matrix_double.h /sw/include/gsl/gsl_matrix_float.h \
+  /sw/include/gsl/gsl_matrix_ulong.h /sw/include/gsl/gsl_matrix_long.h \
+  /sw/include/gsl/gsl_matrix_uint.h /sw/include/gsl/gsl_matrix_int.h \
+  /sw/include/gsl/gsl_matrix_ushort.h /sw/include/gsl/gsl_matrix_short.h \
+  /sw/include/gsl/gsl_matrix_uchar.h /sw/include/gsl/gsl_matrix_char.h \
+  /sw/include/gsl/gsl_blas.h /sw/include/gsl/gsl_blas_types.h \
+  /sw/include/gsl/gsl_cblas.h
 GModelIO_OCC.o: GModelIO_OCC.cpp GModel.h GVertex.h GEntity.h Range.h \
   SPoint3.h SBoundingBox3d.h ../Common/GmshDefines.h MVertex.h GPoint.h \
   SPoint2.h GEdge.h SVector3.h MElement.h MEdge.h ../Common/Hash.h \
   MFace.h ../Numeric/Numeric.h ../Common/Context.h ../DataStr/List.h \
   ExtrudeParams.h GFace.h GEdgeLoop.h Pair.h GRegion.h \
-  ../Common/SmoothNormals.h ../Common/Message.h OCCIncludes.h OCCVertex.h \
-  OCCEdge.h OCCFace.h OCCRegion.h
+  ../Common/SmoothNormals.h ../Common/Message.h OCCIncludes.h \
+  /usr/local/opencascade//inc/config.h \
+  /usr/local/opencascade//inc/BRep_Tool.hxx \
+  /usr/local/opencascade//inc/Standard_Boolean.hxx \
+  /usr/local/opencascade//inc/Standard_TypeDef.hxx \
+  /usr/local/opencascade//inc/Standard_Macro.hxx \
+  /usr/local/opencascade//inc/Standard_Stream.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Surface.hxx \
+  /usr/local/opencascade//inc/Standard.hxx \
+  /usr/local/opencascade//inc/Standard_Address.hxx \
+  /usr/local/opencascade//inc/Standard_Integer.hxx \
+  /usr/local/opencascade//inc/Standard_values.h \
+  /usr/local/opencascade//inc/Standard_OStream.hxx \
+  /usr/local/opencascade//inc/Standard_CString.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Geometry.hxx \
+  /usr/local/opencascade//inc/Handle_MMgt_TShared.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_Transient.hxx \
+  /usr/local/opencascade//inc/Standard_PrimitiveTypes.hxx \
+  /usr/local/opencascade//inc/Standard_Real.hxx \
+  /usr/local/opencascade//inc/Standard_Character.hxx \
+  /usr/local/opencascade//inc/Standard_ctype.hxx \
+  /usr/local/opencascade//inc/Standard_ExtCharacter.hxx \
+  /usr/local/opencascade//inc/Standard_ExtString.hxx \
+  /usr/local/opencascade//inc/Standard_Storable.hxx \
+  /usr/local/opencascade//inc/Standard_Transient_proto.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_Triangulation.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_Polygon3D.hxx \
+  /usr/local/opencascade//inc/Handle_Geom2d_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom2d_Geometry.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_Polygon2D.hxx \
+  /usr/local/opencascade//inc/Handle_Poly_PolygonOnTriangulation.hxx \
+  /usr/local/opencascade//inc/GeomAbs_Shape.hxx \
+  /usr/local/opencascade//inc/Geom_Curve.hxx \
+  /usr/local/opencascade//inc/Geom_Geometry.hxx \
+  /usr/local/opencascade//inc/MMgt_TShared.hxx \
+  /usr/local/opencascade//inc/Standard_Transient.hxx \
+  /usr/local/opencascade//inc/Standard_Type.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_Type.hxx \
+  /usr/local/opencascade//inc/Standard_KindOfType.hxx \
+  /usr/local/opencascade//inc/Standard_Type.lxx \
+  /usr/local/opencascade//inc/Geom2d_Curve.hxx \
+  /usr/local/opencascade//inc/Geom2d_Geometry.hxx \
+  /usr/local/opencascade//inc/Geom_Surface.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnSurf.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPS.hxx \
+  /usr/local/opencascade//inc/Adaptor3d_SurfacePtr.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPElS.hxx \
+  /usr/local/opencascade//inc/Extrema_POnSurf.hxx \
+  /usr/local/opencascade//inc/gp_Pnt.hxx \
+  /usr/local/opencascade//inc/gp_XYZ.hxx \
+  /usr/local/opencascade//inc/gp_XYZ.lxx \
+  /usr/local/opencascade//inc/gp.hxx /usr/local/opencascade//inc/gp.lxx \
+  /usr/local/opencascade//inc/gp_Mat.hxx \
+  /usr/local/opencascade//inc/gp_Mat.lxx \
+  /usr/local/opencascade//inc/Standard_OutOfRange.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_OutOfRange.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_RangeError.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_DomainError.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_Failure.hxx \
+  /usr/local/opencascade//inc/Standard_SStream.hxx \
+  /usr/local/opencascade//inc/Standard_RangeError.hxx \
+  /usr/local/opencascade//inc/Standard_DomainError.hxx \
+  /usr/local/opencascade//inc/Standard_Failure.hxx \
+  /usr/local/opencascade//inc/Standard_Failure.lxx \
+  /usr/local/opencascade//inc/Standard_ConstructionError.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_ConstructionError.hxx \
+  /usr/local/opencascade//inc/gp_Pnt.lxx \
+  /usr/local/opencascade//inc/gp_Trsf.hxx \
+  /usr/local/opencascade//inc/gp_TrsfForm.hxx \
+  /usr/local/opencascade//inc/gp_Trsf.lxx \
+  /usr/local/opencascade//inc/gp_Trsf2d.hxx \
+  /usr/local/opencascade//inc/gp_Mat2d.hxx \
+  /usr/local/opencascade//inc/gp_Mat2d.lxx \
+  /usr/local/opencascade//inc/gp_XY.hxx \
+  /usr/local/opencascade//inc/gp_XY.lxx \
+  /usr/local/opencascade//inc/gp_Trsf2d.lxx \
+  /usr/local/opencascade//inc/gp_Pnt2d.hxx \
+  /usr/local/opencascade//inc/gp_Pnt2d.lxx \
+  /usr/local/opencascade//inc/gp_Vec2d.hxx \
+  /usr/local/opencascade//inc/gp_Vec2d.lxx \
+  /usr/local/opencascade//inc/gp_Dir2d.hxx \
+  /usr/local/opencascade//inc/gp_Dir2d.lxx \
+  /usr/local/opencascade//inc/gp_Ax2d.hxx \
+  /usr/local/opencascade//inc/gp_Ax2d.lxx \
+  /usr/local/opencascade//inc/gp_Vec.hxx \
+  /usr/local/opencascade//inc/gp_Vec.lxx \
+  /usr/local/opencascade//inc/gp_Dir.hxx \
+  /usr/local/opencascade//inc/gp_Dir.lxx \
+  /usr/local/opencascade//inc/gp_VectorWithNullMagnitude.hxx \
+  /usr/local/opencascade//inc/Handle_gp_VectorWithNullMagnitude.hxx \
+  /usr/local/opencascade//inc/Extrema_POnSurf.lxx \
+  /usr/local/opencascade//inc/Extrema_GenExtPS.hxx \
+  /usr/local/opencascade//inc/Handle_TColgp_HArray2OfPnt.hxx \
+  /usr/local/opencascade//inc/Extrema_FuncExtPS.hxx \
+  /usr/local/opencascade//inc/TColStd_SequenceOfReal.hxx \
+  /usr/local/opencascade//inc/TCollection_BaseSequence.hxx \
+  /usr/local/opencascade//inc/TCollection_BaseSequence.lxx \
+  /usr/local/opencascade//inc/Handle_TColStd_SequenceNodeOfSequenceOfReal.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_SeqNode.hxx \
+  /usr/local/opencascade//inc/TCollection_Sequence.lxx \
+  /usr/local/opencascade//inc/Extrema_SequenceOfPOnSurf.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSequenceOfPOnSurf.hxx \
+  /usr/local/opencascade//inc/math_FunctionSetWithDerivatives.hxx \
+  /usr/local/opencascade//inc/math_FunctionSet.hxx \
+  /usr/local/opencascade//inc/GeomAbs_SurfaceType.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Surface.hxx \
+  /usr/local/opencascade//inc/Adaptor3d_Surface.hxx \
+  /usr/local/opencascade//inc/Handle_Adaptor3d_HSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BezierSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BoundedSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BSplineSurface.hxx \
+  /usr/local/opencascade//inc/Handle_Adaptor3d_HCurve.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Surface.lxx \
+  /usr/local/opencascade//inc/Quantity_Parameter.hxx \
+  /usr/local/opencascade//inc/Quantity_Length.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnSurf.lxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnCurve.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPC.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtPElC.hxx \
+  /usr/local/opencascade//inc/Extrema_POnCurv.hxx \
+  /usr/local/opencascade//inc/Extrema_Point.lxx \
+  /usr/local/opencascade//inc/Extrema_SequenceOfPOnCurv.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSequenceOfPOnCurv.hxx \
+  /usr/local/opencascade//inc/Extrema_EPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/Extrema_PCFOfEPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/TColStd_SequenceOfInteger.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_SequenceNodeOfSequenceOfInteger.hxx \
+  /usr/local/opencascade//inc/Extrema_SeqPCOfPCFOfEPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSeqPCOfPCFOfEPCOfExtPC.hxx \
+  /usr/local/opencascade//inc/math_FunctionWithDerivative.hxx \
+  /usr/local/opencascade//inc/math_Function.hxx \
+  /usr/local/opencascade//inc/GeomAbs_CurveType.hxx \
+  /usr/local/opencascade//inc/Extrema_SequenceOfBoolean.hxx \
+  /usr/local/opencascade//inc/Handle_Extrema_SequenceNodeOfSequenceOfBoolean.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Curve.hxx \
+  /usr/local/opencascade//inc/Adaptor3d_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BezierCurve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BoundedCurve.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_BSplineCurve.hxx \
+  /usr/local/opencascade//inc/GeomAdaptor_Curve.lxx \
+  /usr/local/opencascade//inc/GeomAPI_ProjectPointOnCurve.lxx \
+  /usr/local/opencascade//inc/BRepTools.hxx \
+  /usr/local/opencascade//inc/Standard_IStream.hxx \
+  /usr/local/opencascade//inc/TopExp.hxx \
+  /usr/local/opencascade//inc/TopAbs_ShapeEnum.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeVertex.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeVertex.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeShape.hxx \
+  /usr/local/opencascade//inc/TopoDS_Shape.hxx \
+  /usr/local/opencascade//inc/Handle_TopoDS_TShape.hxx \
+  /usr/local/opencascade//inc/TopLoc_Location.hxx \
+  /usr/local/opencascade//inc/TopLoc_SListOfItemLocation.hxx \
+  /usr/local/opencascade//inc/Handle_TopLoc_SListNodeOfSListOfItemLocation.hxx \
+  /usr/local/opencascade//inc/TCollection_SList.lxx \
+  /usr/local/opencascade//inc/Handle_TopLoc_Datum3D.hxx \
+  /usr/local/opencascade//inc/TopLoc_Location.lxx \
+  /usr/local/opencascade//inc/TopLoc_ItemLocation.hxx \
+  /usr/local/opencascade//inc/TopLoc_TrsfPtr.hxx \
+  /usr/local/opencascade//inc/TopAbs_Orientation.hxx \
+  /usr/local/opencascade//inc/TopoDS_Shape.lxx \
+  /usr/local/opencascade//inc/TopoDS_TShape.hxx \
+  /usr/local/opencascade//inc/TopoDS_ListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopoDS_ListNodeOfListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_MapNode.hxx \
+  /usr/local/opencascade//inc/TCollection_List.lxx \
+  /usr/local/opencascade//inc/TopoDS_TShape.lxx \
+  /usr/local/opencascade//inc/TopAbs.hxx \
+  /usr/local/opencascade//inc/TopAbs_State.hxx \
+  /usr/local/opencascade//inc/TopTools_ListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_ListNodeOfListOfShape.hxx \
+  /usr/local/opencascade//inc/BRepLib_Command.hxx \
+  /usr/local/opencascade//inc/BRepLib_ShapeModification.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeShape.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_Command.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeShell.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeShell.hxx \
+  /usr/local/opencascade//inc/BRepLib_ShellError.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_ShellError.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_MakeSolid.hxx \
+  /usr/local/opencascade//inc/BRepLib_MakeSolid.hxx \
+  /usr/local/opencascade//inc/BRepOffsetAPI_Sewing.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_Sewing.hxx \
+  /usr/local/opencascade//inc/Handle_BRepBuilderAPI_Sewing.hxx \
+  /usr/local/opencascade//inc/TopTools_IndexedDataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/TCollection_BasicMap.hxx \
+  /usr/local/opencascade//inc/TCollection_MapNodePtr.hxx \
+  /usr/local/opencascade//inc/TCollection_BasicMap.lxx \
+  /usr/local/opencascade//inc/Handle_TopTools_IndexedDataMapNodeOfIndexedDataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/TopTools_IndexedMapOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_IndexedMapNodeOfIndexedMapOfShape.hxx \
+  /usr/local/opencascade//inc/TopTools_IndexedDataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_IndexedDataMapNodeOfIndexedDataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/TopTools_DataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_DataMapNodeOfDataMapOfShapeShape.hxx \
+  /usr/local/opencascade//inc/TopTools_DataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_DataMapNodeOfDataMapOfShapeListOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_BRepTools_ReShape.hxx \
+  /usr/local/opencascade//inc/TopTools_MapOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_StdMapNodeOfMapOfShape.hxx \
+  /usr/local/opencascade//inc/BRepBuilderAPI_Sewing.lxx \
+  /usr/local/opencascade//inc/BRepLProp_SLProps.hxx \
+  /usr/local/opencascade//inc/BRepAdaptor_Surface.hxx \
+  /usr/local/opencascade//inc/TopoDS_Face.hxx \
+  /usr/local/opencascade//inc/BRepAdaptor_Surface.lxx \
+  /usr/local/opencascade//inc/LProp_Status.hxx \
+  /usr/local/opencascade//inc/Poly_Triangulation.hxx \
+  /usr/local/opencascade//inc/TColgp_Array1OfPnt.hxx \
+  /usr/local/opencascade//inc/TCollection_Array1.lxx \
+  /usr/local/opencascade//inc/Handle_TColgp_HArray1OfPnt2d.hxx \
+  /usr/local/opencascade//inc/Poly_Array1OfTriangle.hxx \
+  /usr/local/opencascade//inc/Poly_Triangle.hxx \
+  /usr/local/opencascade//inc/Poly_Triangle.lxx \
+  /usr/local/opencascade//inc/Poly_Triangulation.lxx \
+  /usr/local/opencascade//inc/TColgp_Array1OfPnt2d.hxx \
+  /usr/local/opencascade//inc/GProp_GProps.hxx \
+  /usr/local/opencascade//inc/BRepGProp.hxx \
+  /usr/local/opencascade//inc/TopoDS.hxx \
+  /usr/local/opencascade//inc/TopoDS.lxx \
+  /usr/local/opencascade//inc/Standard_TypeMismatch.hxx \
+  /usr/local/opencascade//inc/Handle_Standard_TypeMismatch.hxx \
+  /usr/local/opencascade//inc/TopoDS_Solid.hxx \
+  /usr/local/opencascade//inc/TopExp_Explorer.hxx \
+  /usr/local/opencascade//inc/TopExp_Stack.hxx \
+  /usr/local/opencascade//inc/TopExp_Explorer.lxx \
+  /usr/local/opencascade//inc/BRep_Builder.hxx \
+  /usr/local/opencascade//inc/TopoDS_Builder3D.hxx \
+  /usr/local/opencascade//inc/TopoDS_Builder.hxx \
+  /usr/local/opencascade//inc/TopoDS_Wire.hxx \
+  /usr/local/opencascade//inc/BRepTools_WireExplorer.hxx \
+  /usr/local/opencascade//inc/TopoDS_Edge.hxx \
+  /usr/local/opencascade//inc/TopoDS_Vertex.hxx \
+  /usr/local/opencascade//inc/BRepLProp_CLProps.hxx \
+  /usr/local/opencascade//inc/BRepAdaptor_Curve.hxx \
+  /usr/local/opencascade//inc/Handle_Adaptor3d_HCurveOnSurface.hxx \
+  /usr/local/opencascade//inc/IGESControl_Reader.hxx \
+  /usr/local/opencascade//inc/XSControl_Reader.hxx \
+  /usr/local/opencascade//inc/Handle_XSControl_WorkSession.hxx \
+  /usr/local/opencascade//inc/Handle_IFSelect_WorkSession.hxx \
+  /usr/local/opencascade//inc/TColStd_SequenceOfTransient.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_SequenceNodeOfSequenceOfTransient.hxx \
+  /usr/local/opencascade//inc/TopTools_SequenceOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_SequenceNodeOfSequenceOfShape.hxx \
+  /usr/local/opencascade//inc/IFSelect_ReturnStatus.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_InterfaceModel.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfTransient.hxx \
+  /usr/local/opencascade//inc/IFSelect_PrintCount.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_IGESModel.hxx \
+  /usr/local/opencascade//inc/IFSelect_PrintFail.hxx \
+  /usr/local/opencascade//inc/IGESControl_Reader.lxx \
+  /usr/local/opencascade//inc/STEPControl_Reader.hxx \
+  /usr/local/opencascade//inc/Handle_StepData_StepModel.hxx \
+  /usr/local/opencascade//inc/IGESToBRep_Reader.hxx \
+  /usr/local/opencascade//inc/Handle_IGESToBRep_Actor.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ActorOfTransientProcess.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ActorOfProcessForTransient.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_TransientProcess.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ProcessForTransient.hxx \
+  /usr/local/opencascade//inc/Interface_Static.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_Static.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_TypedValue.hxx \
+  /usr/local/opencascade//inc/Handle_MoniTool_TypedValue.hxx \
+  /usr/local/opencascade//inc/TCollection_AsciiString.hxx \
+  /usr/local/opencascade//inc/TCollection_AsciiString.lxx \
+  /usr/local/opencascade//inc/Interface_ParamType.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HArray1OfAsciiString.hxx \
+  /usr/local/opencascade//inc/Handle_Dico_DictionaryOfInteger.hxx \
+  /usr/local/opencascade//inc/Interface_StaticSatisfies.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_HAsciiString.hxx \
+  /usr/local/opencascade//inc/Interface_TypedValue.hxx \
+  /usr/local/opencascade//inc/Interface_ValueInterpret.hxx \
+  /usr/local/opencascade//inc/Interface_ValueSatisfies.hxx \
+  /usr/local/opencascade//inc/MoniTool_TypedValue.hxx \
+  /usr/local/opencascade//inc/MoniTool_ValueType.hxx \
+  /usr/local/opencascade//inc/MoniTool_ValueInterpret.hxx \
+  /usr/local/opencascade//inc/TCollection_HAsciiString.hxx \
+  /usr/local/opencascade//inc/Handle_TCollection_HExtendedString.hxx \
+  /usr/local/opencascade//inc/TCollection_HAsciiString.lxx \
+  /usr/local/opencascade//inc/MoniTool_ValueSatisfies.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfAsciiString.hxx \
+  /usr/local/opencascade//inc/Handle_Dico_DictionaryOfTransient.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfHAsciiString.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ExtremaCurveCurve.hxx \
+  /usr/local/opencascade//inc/Extrema_ExtCC.hxx \
+  /usr/local/opencascade//inc/GeomAPI_ExtremaCurveCurve.lxx \
+  /usr/local/opencascade//inc/Standard_ErrorHandler.hxx \
+  /usr/local/opencascade//inc/Standard_ErrorHandler.lxx \
+  /usr/local/opencascade//inc/ShapeUpgrade_ShellSewing.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeBuild_ReShape.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Shape.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Shape.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Root.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Solid.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Root.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeExtend_BasicMsgRegistrator.hxx \
+  /usr/local/opencascade//inc/Message_Gravity.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Root.lxx \
+  /usr/local/opencascade//inc/Precision.hxx \
+  /usr/local/opencascade//inc/Precision.lxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Shell.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Face.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Wire.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Edge.hxx \
+  /usr/local/opencascade//inc/ShapeExtend_Status.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Shape.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Solid.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Solid.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Shell.hxx \
+  /usr/local/opencascade//inc/TopoDS_Shell.hxx \
+  /usr/local/opencascade//inc/TopoDS_Compound.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Shell.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Face.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeAnalysis_Surface.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeExtend_WireData.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Face.lxx \
+  /usr/local/opencascade//inc/ShapeExtend.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Wire.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeAnalysis_Wire.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Wire.lxx \
+  /usr/local/opencascade//inc/ShapeExtend_WireData.hxx \
+  /usr/local/opencascade//inc/Handle_TopTools_HSequenceOfShape.hxx \
+  /usr/local/opencascade//inc/Handle_TColStd_HSequenceOfInteger.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_Wire.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_Wire.lxx \
+  /usr/local/opencascade//inc/ShapeFix_Wireframe.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_Wireframe.hxx \
+  /usr/local/opencascade//inc/ShapeFix_Wireframe.lxx \
+  /usr/local/opencascade//inc/BRepMesh.hxx \
+  /usr/local/opencascade//inc/BRepMesh_IncrementalMesh.hxx \
+  /usr/local/opencascade//inc/Handle_BRepMesh_FastDiscret.hxx \
+  /usr/local/opencascade//inc/BRepMesh_DataMapOfShapeReal.hxx \
+  /usr/local/opencascade//inc/Handle_BRepMesh_DataMapNodeOfDataMapOfShapeReal.hxx \
+  /usr/local/opencascade//inc/Bnd_Box.hxx \
+  /usr/local/opencascade//inc/Bnd_Box.lxx \
+  /usr/local/opencascade//inc/BRepBndLib.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis.hxx \
+  /usr/local/opencascade//inc/ShapeBuild_ReShape.hxx \
+  /usr/local/opencascade//inc/BRepTools_ReShape.hxx \
+  /usr/local/opencascade//inc/IGESControl_Writer.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_FinderProcess.hxx \
+  /usr/local/opencascade//inc/Handle_Transfer_ProcessForFinder.hxx \
+  /usr/local/opencascade//inc/IGESData_BasicEditor.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_Protocol.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_Protocol.hxx \
+  /usr/local/opencascade//inc/Interface_GeneralLib.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_NodeOfGeneralLib.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_GeneralModule.hxx \
+  /usr/local/opencascade//inc/Handle_Interface_GlobalNodeOfGeneralLib.hxx \
+  /usr/local/opencascade//inc/IGESData_SpecificLib.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_NodeOfSpecificLib.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_IGESEntity.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_SpecificModule.hxx \
+  /usr/local/opencascade//inc/Handle_IGESData_GlobalNodeOfSpecificLib.hxx \
+  /usr/local/opencascade//inc/STEPControl_Writer.hxx \
+  /usr/local/opencascade//inc/STEPControl_StepModelType.hxx \
+  /usr/local/opencascade//inc/StlAPI_Writer.hxx \
+  /usr/local/opencascade//inc/Handle_StlMesh_Mesh.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_ShapeTolerance.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_ShapeContents.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_ShapeContents.lxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_CheckSmallFace.hxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_CheckSmallFace.lxx \
+  /usr/local/opencascade//inc/ShapeAnalysis_DataMapOfShapeListOfReal.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeAnalysis_DataMapNodeOfDataMapOfShapeListOfReal.hxx \
+  /usr/local/opencascade//inc/BRepAlgoAPI_Fuse.hxx \
+  /usr/local/opencascade//inc/BRepAlgoAPI_BooleanOperation.hxx \
+  /usr/local/opencascade//inc/BOP_Operation.hxx \
+  /usr/local/opencascade//inc/BOPTools_PDSFiller.hxx \
+  /usr/local/opencascade//inc/BOP_PBuilder.hxx \
+  /usr/local/opencascade//inc/Handle_BOP_HistoryCollector.hxx \
+  /usr/local/opencascade//inc/BRepCheck_Analyzer.hxx \
+  /usr/local/opencascade//inc/BRepCheck_DataMapOfShapeResult.hxx \
+  /usr/local/opencascade//inc/Handle_BRepCheck_Result.hxx \
+  /usr/local/opencascade//inc/Handle_BRepCheck_DataMapNodeOfDataMapOfShapeResult.hxx \
+  /usr/local/opencascade//inc/BRepCheck_Analyzer.lxx \
+  /usr/local/opencascade//inc/BRepLib.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_Plane.hxx \
+  /usr/local/opencascade//inc/Handle_Geom_ElementarySurface.hxx \
+  /usr/local/opencascade//inc/ShapeFix.hxx \
+  /usr/local/opencascade//inc/ShapeFix_FixSmallFace.hxx \
+  /usr/local/opencascade//inc/Handle_ShapeFix_FixSmallFace.hxx \
+  OCCVertex.h OCCEdge.h OCCFace.h OCCRegion.h
 GModelIO_CGNS.o: GModelIO_CGNS.cpp GModel.h GVertex.h GEntity.h Range.h \
   SPoint3.h SBoundingBox3d.h ../Common/GmshDefines.h MVertex.h GPoint.h \
   SPoint2.h GEdge.h SVector3.h MElement.h MEdge.h ../Common/Hash.h \
@@ -219,34 +2231,40 @@ GModelIO_MED.o: GModelIO_MED.cpp GModel.h GVertex.h GEntity.h Range.h \
 ExtrudeParams.o: ExtrudeParams.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
   ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
-  Geo.h ../Common/GmshDefines.h ExtrudeParams.h
+  Geo.h ../Common/GmshDefines.h gmshSurface.h Pair.h Range.h SPoint2.h \
+  SPoint3.h SVector3.h SBoundingBox3d.h ExtrudeParams.h
 Geo.o: Geo.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
   ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
   ../DataStr/List.h ../DataStr/Tree.h ../Numeric/Numeric.h Geo.h \
-  ../Common/GmshDefines.h ExtrudeParams.h GeoUtils.h GeoInterpolation.h \
-  ../Common/Context.h
+  ../Common/GmshDefines.h gmshSurface.h Pair.h Range.h SPoint2.h \
+  SPoint3.h SVector3.h SBoundingBox3d.h ExtrudeParams.h GeoUtils.h \
+  GeoInterpolation.h ../Common/Context.h
 GeoStringInterface.o: GeoStringInterface.cpp ../Common/Gmsh.h \
   ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
   ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h \
   ../DataStr/Tree.h ../Numeric/Numeric.h Geo.h ../Common/GmshDefines.h \
-  ExtrudeParams.h GeoStringInterface.h ../Parser/Parser.h \
-  ../Common/Context.h GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
-  SBoundingBox3d.h MVertex.h GPoint.h SPoint2.h GEdge.h SVector3.h \
-  MElement.h MEdge.h ../Common/Hash.h MFace.h GFace.h GEdgeLoop.h Pair.h \
-  GRegion.h ../Common/SmoothNormals.h
+  gmshSurface.h Pair.h Range.h SPoint2.h SPoint3.h SVector3.h \
+  SBoundingBox3d.h ExtrudeParams.h GeoStringInterface.h \
+  ../Parser/Parser.h ../Common/Context.h GModel.h GVertex.h GEntity.h \
+  MVertex.h GPoint.h GEdge.h MElement.h MEdge.h ../Common/Hash.h MFace.h \
+  GFace.h GEdgeLoop.h GRegion.h ../Common/SmoothNormals.h
 GeoInterpolation.o: GeoInterpolation.cpp ../Common/Gmsh.h \
   ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
   ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h \
-  ../DataStr/Tree.h Geo.h ../Common/GmshDefines.h ExtrudeParams.h \
+  ../DataStr/Tree.h Geo.h ../Common/GmshDefines.h gmshSurface.h Pair.h \
+  Range.h SPoint2.h SPoint3.h SVector3.h SBoundingBox3d.h ExtrudeParams.h \
   GeoInterpolation.h GeoStringInterface.h GeoUtils.h ../Numeric/Numeric.h
 GeoUtils.o: GeoUtils.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
   ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
-  Geo.h ../Common/GmshDefines.h ExtrudeParams.h ../Numeric/Numeric.h
+  Geo.h ../Common/GmshDefines.h gmshSurface.h Pair.h Range.h SPoint2.h \
+  SPoint3.h SVector3.h SBoundingBox3d.h ExtrudeParams.h \
+  ../Numeric/Numeric.h
 GeoExtractContour.o: GeoExtractContour.cpp ../Common/Gmsh.h \
   ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
   ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h \
-  ../DataStr/Tree.h Geo.h ../Common/GmshDefines.h ExtrudeParams.h \
+  ../DataStr/Tree.h Geo.h ../Common/GmshDefines.h gmshSurface.h Pair.h \
+  Range.h SPoint2.h SPoint3.h SVector3.h SBoundingBox3d.h ExtrudeParams.h \
   GeoUtils.h ../Numeric/Numeric.h
 MVertex.o: MVertex.cpp MVertex.h SPoint3.h
 MElement.o: MElement.cpp MElement.h ../Common/GmshDefines.h MVertex.h \
diff --git a/Geo/gmshEdge.cpp b/Geo/gmshEdge.cpp
index b054fed2a3..15ad6e29ea 100644
--- a/Geo/gmshEdge.cpp
+++ b/Geo/gmshEdge.cpp
@@ -1,4 +1,4 @@
-// $Id: gmshEdge.cpp,v 1.25 2007-01-06 22:44:19 geuzaine Exp $
+// $Id: gmshEdge.cpp,v 1.26 2007-01-31 14:33:05 remacle Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
@@ -131,7 +131,7 @@ int gmshEdge::minimumDrawSegments () const
   int n = List_Nbr(c->Control_Points) - 1;
   if(!n) n = GEdge::minimumDrawSegments();
 
-  if(geomType() == Line)
+  if(geomType() == Line  && ! c->geometry)
     return n;
   else if(geomType() == Circle || geomType() == Ellipse)
     return CTX.geom.circle_points;
@@ -143,6 +143,15 @@ SPoint2 gmshEdge::reparamOnFace(GFace *face, double epar,int dir) const
 {
   Surface *s = (Surface*) face->getNativePtr();
 
+  if (s->geometry)
+    {
+      Vertex *v[3];
+      List_Read(c->Control_Points, 0, &v[1]);
+      List_Read(c->Control_Points, 1, &v[2]);
+      SPoint2 p =  v[1] -> pntOnGeometry +  (v[2] -> pntOnGeometry - v[1] -> pntOnGeometry) * epar;
+      return p;
+    }
+
   if (s->Typ ==  MSH_SURF_REGL){
     Curve *C[4];
     for(int i = 0; i < 4; i++)
diff --git a/Geo/gmshFace.cpp b/Geo/gmshFace.cpp
index a79adeb622..29822a1e2b 100644
--- a/Geo/gmshFace.cpp
+++ b/Geo/gmshFace.cpp
@@ -1,4 +1,4 @@
-// $Id: gmshFace.cpp,v 1.35 2007-01-31 12:27:18 remacle Exp $
+// $Id: gmshFace.cpp,v 1.36 2007-01-31 14:33:05 remacle Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
@@ -157,7 +157,7 @@ Pair<SVector3,SVector3> gmshFace::firstDer(const SPoint2 &param) const
 GPoint gmshFace::point(double par1, double par2) const
 {
   double pp[2] = {par1, par2};
-  if(s->Typ == MSH_SURF_PLAN){
+  if(s->Typ == MSH_SURF_PLAN && !s->geometry){
     double x, y, z, VX[3], VY[3];
     getMeanPlaneData(VX, VY, x, y, z);
     return GPoint(x + VX[0] * par1 + VY[0] * par2,
diff --git a/Geo/gmshSurface.cpp b/Geo/gmshSurface.cpp
new file mode 100644
index 0000000000..ceb563dbe7
--- /dev/null
+++ b/Geo/gmshSurface.cpp
@@ -0,0 +1,27 @@
+#include "gmshSurface.h"
+#include "Message.h"
+
+std::map<int,gmshSurface*> gmshSurface::allGmshSurfaces;
+
+gmshSurface * gmshSphere :: NewSphere ( int iSphere , double x, double y, double z, double r )
+{
+  gmshSphere *sph = new gmshSphere ( x,y,z,r );
+  
+  if (allGmshSurfaces.find(iSphere) != allGmshSurfaces.end())
+    {
+      Msg(GERROR,"gmshSurface %d already exists",iSphere);
+    }
+
+  allGmshSurfaces [iSphere] = sph;
+}
+
+gmshSurface * gmshSurface :: surfaceByTag ( int iSurface ) 
+{
+  std::map<int,gmshSurface*>::iterator it = allGmshSurfaces.find(iSurface);
+  if (it == allGmshSurfaces.end())
+    {
+      Msg(GERROR,"gmshSurface %d does not exist",iSurface);
+      return 0;
+    }
+  return it->second;
+}
diff --git a/Geo/gmshSurface.h b/Geo/gmshSurface.h
new file mode 100644
index 0000000000..9447524a5b
--- /dev/null
+++ b/Geo/gmshSurface.h
@@ -0,0 +1,86 @@
+#ifndef _GMSH_SURFACE_H_
+#define _GMSH_SURFACE_H_
+
+#include <cmath>
+#include <map>
+#include "Pair.h"
+#include "Range.h"
+#include "SPoint2.h"
+#include "SPoint3.h"
+#include "SVector3.h"
+#include "SBoundingBox3d.h"
+
+class gmshSurface
+{
+protected:  
+  static std::map<int,gmshSurface*> allGmshSurfaces;
+public:
+
+  static gmshSurface* surfaceByTag ( int tag ) ;
+  virtual Range<double> parBounds(int i) const = 0;
+  /// Underlying geometric representation of this entity.
+  enum gmshSurfaceType {
+    Plane,
+    Nurbs,
+    Cylinder,
+    Sphere,
+    Cone,
+    Torus
+  };
+  virtual gmshSurface::gmshSurfaceType geomType() const = 0;
+  virtual SPoint3 point       (double par1, double par2) const = 0;
+  virtual SPoint3  point      (const SPoint2 &p) const
+  {return point(p.x(),p.y()); }
+  virtual SPoint2 parFromPoint(double x, double y, double z) const = 0;
+  // Return the normal to the face at the given parameter location.
+  virtual SVector3 normal(const SPoint2 &param) const = 0;
+  // Return the first derivate of the face at the parameter location.
+  virtual Pair<SVector3,SVector3> firstDer(const SPoint2 &param) const = 0;
+};
+
+
+class gmshSphere : public gmshSurface
+{
+  double xc, yc, zc, r;
+  gmshSphere ( double _x, double _y, double _z, double _r) : xc(_x),yc(_y),zc(_z),r(_r){}
+public:
+  static gmshSurface * NewSphere (  int _iSphere, double _x, double _y, double _z, double _r );
+  virtual Range<double> parBounds(int i) const { 
+    if (i == 0) return Range<double> ( 0. , 2 * M_PI) ;
+    if (i == 1) return Range<double> ( 0. , M_PI) ;
+    throw;
+  }
+  /// Underlying geometric representation of this entity.
+  virtual gmshSurface::gmshSurfaceType geomType() const {return gmshSurface::Sphere;}
+  virtual SPoint3  point       (double par1, double par2) const 
+  {
+
+    const double x = xc + r * sin ( par2 ) * cos ( par1 );
+    const double y = yc + r * sin ( par2 ) * sin ( par1 );
+    const double z = zc + r * cos ( par2 );
+    //    printf("%g %g - %g %g %g\n",par1,par2,x,y,z);
+    return SPoint3 (x,y,z);
+  }
+  virtual SPoint2 parFromPoint(double x, double y, double z) const 
+  {
+    // 2 be done 
+    throw;
+  }
+  // Return the normal to the face at the given parameter location.
+  virtual SVector3 normal(const SPoint2 &param) const
+  {
+    SPoint3  p1 = gmshSurface::point (param);
+    SPoint3  p2 (xc,yc,zc);
+    SVector3 n (p1,p2);
+    n.normalize();
+    return n;
+  }
+  // Return the first derivate of the face at the parameter location.
+  virtual Pair<SVector3,SVector3> firstDer(const SPoint2 &param) const
+  {
+    // 2 be done
+    throw;
+  }  
+};
+
+#endif
diff --git a/Geo/gmshVertex.cpp b/Geo/gmshVertex.cpp
index 92d8ccd6d3..76b39d67f8 100644
--- a/Geo/gmshVertex.cpp
+++ b/Geo/gmshVertex.cpp
@@ -8,7 +8,10 @@
 SPoint2 gmshVertex::reparamOnFace(GFace *face, int dir) const
 {
   Surface *s = (Surface*) face->getNativePtr();
-
+  if (s->geometry)
+    {
+      return v -> pntOnGeometry;
+    }
   if (s->Typ ==  MSH_SURF_REGL){
     Curve *C[4];
     for(int i = 0; i < 4; i++)
diff --git a/Mesh/meshGFace.cpp b/Mesh/meshGFace.cpp
index a6478862aa..82fdb02dae 100644
--- a/Mesh/meshGFace.cpp
+++ b/Mesh/meshGFace.cpp
@@ -1,4 +1,4 @@
-// $Id: meshGFace.cpp,v 1.55 2007-01-31 12:27:18 remacle Exp $
+// $Id: meshGFace.cpp,v 1.56 2007-01-31 14:33:05 remacle Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
@@ -726,9 +726,6 @@ bool gmsh2DMeshGenerator ( GFace *gf )
   for ( int ip = 0 ; ip<4 ; ip++ ) delete bb[ip];
 
 
-//   char name[245];
-//   sprintf(name,"param%d.pos",gf->tag());
-//   outputScalarField(m->triangles, name,1);
 //   sprintf(name,"real%d.pos",gf->tag());
 //   outputScalarField(m->triangles, name,0);
 
@@ -834,6 +831,9 @@ bool gmsh2DMeshGenerator ( GFace *gf )
 	}
     }
 
+//    char name[245];
+//    sprintf(name,"param%d.pos",gf->tag());
+//    outputScalarField(m->triangles, name,1);
   // fill the small gmsh structures
 
   {
-- 
GitLab