Salome HOME
porting on linux
[modules/hydro.git] / src / HYDROData / HYDROData_PolylineXY.cxx
index c36a6c7ff77edba8f13997fdc979e8fc4a74b633..fc97524992fc8faa9c0e97234727ab7e7d6fbe6d 100644 (file)
@@ -500,44 +500,49 @@ bool convertEdgesToSections( const TopoDS_Edge&
               double d1= ProjectPointToCurve(aEndPs[1].XYZ(), adaptorOldCurve,p[1]);
               double d2= ProjectPointToCurve(midPnt.XYZ(), adaptorOldCurve, p[2]);
               DEBTRACE("d0: "<<d0<<" d1: "<<d1<<" d2: "<<d2<<" p0: "<<p[0]<<" p1: "<<p[1]<<" p2: "<<p[2]);
-              if ((d0 < 1.e-3) and (d1 < 1.e-3) and (d2 < 1.e-3)) // we got the good old curve (and the good section)
+              if ((d0 < 1.e-3) && (d1 < 1.e-3) && (d2 < 1.e-3)) // we got the good old curve (and the good section)
                 {
                   double pmin = p[0];
                   double pmax = p[1];
                   bool forward = true;
-                  if (! isOldSectionclosed) // no need to check first and last points on an open curve
+                  DEBTRACE("isOldSectionclosed: " << isOldSectionclosed);
+                  if (!isOldSectionclosed) // no need to check first and last points on an open curve
                     {
-                      pmin = p[1];
-                      pmax = p[0];
-                      forward = false;
+                      if (pmin > pmax)
+                        {
+                          pmin = p[1];
+                          pmax = p[0];
+                          forward = false;
+                        }
                     }
                   else // old section closed: check if we use first or last points...
                     {
-                      if((pmin < pmax) and((abs(pmin - pfirst)> 1.e-3) and (abs(pmax - plast) >1.e-3))) // internal points forward
+                      if((pmin < pmax) && ((abs(pmin - pfirst)> 1.e-3) && (abs(pmax - plast) >1.e-3))) // internal points forward
                         forward = true;
-                      else if ((pmin > pmax) and((abs(pmin - plast)> 1.e-3) and (abs(pmax - pfirst) >1.e-3))) // internal points reverse
+                      else if ((pmin > pmax) && ((abs(pmin - plast)> 1.e-3) && (abs(pmax - pfirst) >1.e-3))) // internal points reverse
                         {
                           pmin = p[1];
                           pmax = p[0];
                           forward = false;
                         }
-                      else if ((abs(pmin - plast) <1.e-3) and (p[2] < pmax)) // forward, replace pmin par pfirst
+                      else if ((abs(pmin - plast) <1.e-3) && (p[2] < pmax)) // forward, replace pmin par pfirst
                           pmin = pfirst;
-                      else if ((abs(pmin - plast) <1.e-3) and (p[2] > pmax)) // reverse
+                      else if ((abs(pmin - plast) <1.e-3) && (p[2] > pmax)) // reverse
                         {
                           pmin = p[1];
                           pmax = p[0];
                           forward = false;
                         }
-                      else if ((abs(pmax - pfirst) <1.e-3) and (p[2] < pmin)) // reverse
+                      else if ((abs(pmax - pfirst) <1.e-3) && (p[2] < pmin)) // reverse
                         {
                           pmin = p[1];
                           pmax = p[0];
                           forward = false;
                         }
-                      else if ((abs(pmax - pfirst) <1.e-3) and (p[2] > pmin)) // forward, replace pmax par plast
+                      else if ((abs(pmax - pfirst) <1.e-3) && (p[2] > pmin)) // forward, replace pmax par plast
                         pmax = plast;
                    }
+                  DEBTRACE("forward: "<< forward << " pmin " << pmin <<  " pmax " << pmax);
                   HYDROData_PolylineXY::Point aFirstPoint, aLastPoint;
                   if (forward)
                     {
@@ -553,6 +558,7 @@ bool convertEdgesToSections( const TopoDS_Edge&
 
                   HYDROData_PolylineXY::PointsList aSectPoints = theOldPolyline->GetPoints(isec, false);
                   int nbPoints = aSectPoints.Length();
+                  DEBTRACE("nbPoints " << nbPoints);
                   if (forward)
                     for (int i=1; i<=nbPoints; i++)
                       {
@@ -560,7 +566,7 @@ bool convertEdgesToSections( const TopoDS_Edge&
                         gp_XYZ p(aPoint.X(), aPoint.Y(), 0);
                         double param =-1;
                         double d = ProjectPointToCurve(p, adaptorOldCurve, param);
-                        if ((param > pmin) and (param < pmax))
+                        if ((param > pmin) && (param < pmax))
                           {
                             DEBTRACE("param: " << param);
                             aPointsList.Append(aPoint);
@@ -573,7 +579,7 @@ bool convertEdgesToSections( const TopoDS_Edge&
                         gp_XYZ p(aPoint.X(), aPoint.Y(), 0);
                         double param =-1;
                         double d = ProjectPointToCurve(p, adaptorOldCurve, param);
-                        if ((param > pmin) and (param < pmax))
+                        if ((param > pmin) && (param < pmax))
                           {
                             DEBTRACE("param: " << param);
                             aPointsList.Append(aPoint);
@@ -618,9 +624,9 @@ bool HYDROData_PolylineXY::ImportShape( const TopoDS_Shape& theShape,
   if ( theShape.IsNull() )
     return false;
 
-  std::string brepName = this->GetName().toStdString();
-  brepName += ".brep";
-  BRepTools::Write( theShape, brepName.c_str() );
+  //std::string brepName = this->GetName().toStdString();
+  //brepName += ".brep";
+  //BRepTools::Write( theShape, brepName.c_str() );
 
   RemoveSections();