+ }
+
+void HYDROData_Profile::ProjectProfilePoints( ProfilePoints& thePoints )
+{
+ int low = thePoints.Lower(), up = thePoints.Upper();
+ gp_Pnt aFirst = thePoints.Value( low );
+ gp_Pnt aLast = thePoints.Value( up );
+ gp_Vec d( aFirst, aLast );
+ gp_Vec n( d.Y(), -d.X(), 0 );
+
+ Handle(Geom_Plane) aPlane = new Geom_Plane( aFirst, gp_Dir( n ) );
+ for( int i=low; i<=up; i++ )
+ {
+ gp_XYZ p = thePoints.Value( i );
+ gp_Pnt pp = GeomAPI_ProjectPointOnSurf( p, aPlane );
+ thePoints.SetValue( i, pp.XYZ() );
+ }
+}