Salome HOME
fix compilation issue with gcc 6.3
[modules/hydro.git] / src / HYDROData / HYDROData_PolylineXY.cxx
index 8c7db492153042803f8bfd6114e1d84bceb0ba83..1741bb6ea1df83ccd1bb8f520a405457d3ae81ea 100644 (file)
@@ -82,7 +82,7 @@
 #include <QPainterPath>
 #include <QVariant>
 
-#define _DEVDEBUG_
+//#define _DEVDEBUG_
 #include "HYDRO_trace.hxx"
 #include <BRepTools.hxx>
 #include <sstream>
@@ -345,14 +345,14 @@ bool convertEdgesToSections( const TopoDS_Edge&
                              double                                                   theDeflection,
                              const Handle( HYDROData_PolylineXY )&                    theOldPolyline )
 {
-  //DEBTRACE("convertEdgesToSections")
+  DEBTRACE("convertEdgesToSections")
   Standard_Real aFirst = 0.0, aLast = 0.0;
   Handle(Geom_Curve) anEdgeGeomCurve = BRep_Tool::Curve( theEdge, aFirst, aLast );
   if ( anEdgeGeomCurve.IsNull() )
     return false;
 
   bool isPrevious = (theSectTypes.Size() > 0);
-  //DEBTRACE("nb sections: " << theSectTypes.Size());
+  DEBTRACE("nb sections: " << theSectTypes.Size());
   HYDROData_PolylineXY::SectionType prevSectType = HYDROData_PolylineXY::SECTION_SPLINE;;
   HYDROData_PolylineXY::PointsList prevPointList;
   bool isPrevClosed = true;
@@ -381,7 +381,7 @@ bool convertEdgesToSections( const TopoDS_Edge&
     }
 
   bool isNewSection = !isPrevious || isPrevClosed || anIsEdgeClosed || prevSectType != aSectionType;
-  //DEBTRACE(isNewSection <<": " << !isPrevious << " " << isPrevClosed << " " << anIsEdgeClosed << " " << (prevSectType != aSectionType));
+  DEBTRACE(isNewSection <<": " << !isPrevious << " " << isPrevClosed << " " << anIsEdgeClosed << " " << (prevSectType != aSectionType));
 
   HYDROData_PolylineXY::PointsList aPointsList;
   if (!isNewSection)
@@ -391,7 +391,7 @@ bool convertEdgesToSections( const TopoDS_Edge&
 
   if( aSectionType == HYDROData_PolylineXY::SECTION_POLYLINE )
     {
-      //DEBTRACE("SECTION_POLYLINE");
+      DEBTRACE("SECTION_POLYLINE");
       Handle(Geom_Line) aGeomLine = Handle(Geom_Line)::DownCast( anEdgeGeomCurve );
 
       gp_Pnt aFirstPoint, aLastPoint;
@@ -403,27 +403,27 @@ bool convertEdgesToSections( const TopoDS_Edge&
         {
           if (aSectFirstPoint == prevPointList.Last())
             {
-              //DEBTRACE("points shared: a");//aPointsList.Append( aSectFirstPoint );
+              DEBTRACE("points shared: a");//aPointsList.Append( aSectFirstPoint );
               aPointsList.Append( aSectLastPoint );
             }
           else if (aSectLastPoint == prevPointList.Last())
             {
-              //DEBTRACE("points shared: b");//aPointsList.Append( aSectLastPoint );
+              DEBTRACE("points shared: b");//aPointsList.Append( aSectLastPoint );
               aPointsList.Append( aSectFirstPoint );
             }
           else if (aSectFirstPoint == prevPointList.First())
             {
-              //DEBTRACE("points shared: c");//aPointsList.Prepend( aSectFirstPoint );
+              DEBTRACE("points shared: c");//aPointsList.Prepend( aSectFirstPoint );
               aPointsList.Prepend( aSectLastPoint );
             }
           else if (aSectLastPoint == prevPointList.First())
             {
-              //DEBTRACE("points shared: d");//aPointsList.Prepend( aSectLastPoint );
+              DEBTRACE("points shared: d");//aPointsList.Prepend( aSectLastPoint );
               aPointsList.Prepend( aSectFirstPoint );
             }
           else
             {
-              //DEBTRACE("no point shared")
+              DEBTRACE("no point shared")
               isNewSection = true; // no point shared, new section
               aPointsList.Clear();
               aPointsList.Append( aSectFirstPoint );
@@ -432,14 +432,14 @@ bool convertEdgesToSections( const TopoDS_Edge&
         }
      else
        {
-         //DEBTRACE("new section");
+         DEBTRACE("new section");
          aPointsList.Append( aSectFirstPoint );
          aPointsList.Append( aSectLastPoint );
        }
     }
   else // aSectionType == HYDROData_PolylineXY::SECTION_SPLINE
     {
-      //DEBTRACE("SECTION_SPLINE");
+      DEBTRACE("SECTION_SPLINE");
       isNewSection = true;
       aPointsList.Clear();
 
@@ -464,8 +464,8 @@ bool convertEdgesToSections( const TopoDS_Edge&
 
           gp_Pnt endPts[] = {gp_Pnt(aPointsList.First().X(),aPointsList.First().Y(), 0),
                              gp_Pnt(aPointsList.Last().X(),aPointsList.Last().Y(), 0) };
-          //DEBTRACE("curve start: "<< endPts[0].X() << " " << endPts[0].Y());
-          //DEBTRACE("curve end: "<< endPts[1].X() << " " << endPts[1].Y());
+          DEBTRACE("curve start: "<< endPts[0].X() << " " << endPts[0].Y());
+          DEBTRACE("curve end: "<< endPts[1].X() << " " << endPts[1].Y());
         }
       else // --- split of a previous polyline: try to retrieve old sets of points and add intersection points
         {
@@ -474,18 +474,18 @@ bool convertEdgesToSections( const TopoDS_Edge&
           double midPar = (anAdaptorCurve.LastParameter() + anAdaptorCurve.FirstParameter())/2;
           gp_Pnt midPnt;
           anAdaptorCurve.D0(midPar, midPnt);
-          //DEBTRACE("curve first point: " << aEndPs[0].X() << " " << aEndPs[0].Y() << " " << aEndPs[0].Z());
-          //DEBTRACE("curve last point: " << aEndPs[1].X() << " " << aEndPs[1].Y() << " " << aEndPs[1].Z());
-          //DEBTRACE("curve mid point: " << midPnt.X() << " " << midPnt.Y() << " " << midPnt.Z());
+          DEBTRACE("curve first point: " << aEndPs[0].X() << " " << aEndPs[0].Y() << " " << aEndPs[0].Z());
+          DEBTRACE("curve last point: " << aEndPs[1].X() << " " << aEndPs[1].Y() << " " << aEndPs[1].Z());
+          DEBTRACE("curve mid point: " << midPnt.X() << " " << midPnt.Y() << " " << midPnt.Z());
 
           std::vector<TopoDS_Wire> aCurves;
           HYDROData_PolylineOperator::GetWires(theOldPolyline, aCurves);
 
           int nbSections = theOldPolyline->NbSections();
-          //DEBTRACE("nbSections: "<< nbSections << ", nbCurves: " << aCurves.size() );
+          DEBTRACE("nbSections: "<< nbSections << ", nbCurves: " << aCurves.size() );
           for (int isec = 0; isec < nbSections; isec++)
             {
-              //DEBTRACE("section: "<< isec);
+              DEBTRACE("section: "<< isec);
               bool isOldSectionclosed = theOldPolyline->IsClosedSection(isec);
               TopoDS_Wire aWire = aCurves[isec]; // we suppose sections and wires are in the same order
               TopExp_Explorer anExp(aWire, TopAbs_EDGE);
@@ -493,18 +493,18 @@ bool convertEdgesToSections( const TopoDS_Edge&
               BRepAdaptor_Curve adaptorOldCurve(anEdge);
               double pfirst = adaptorOldCurve.FirstParameter();
               double plast = adaptorOldCurve.LastParameter();
-              //DEBTRACE("previous curve first last : "<< pfirst << " " << plast);
+              DEBTRACE("previous curve first last : "<< pfirst << " " << plast);
               double p[3] = {-1, -1};
               double d0= ProjectPointToCurve(aEndPs[0].XYZ(), adaptorOldCurve,p[0]);
               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]);
+              DEBTRACE("d0: "<<d0<<" d1: "<<d1<<" d2: "<<d2<<" p0: "<<p[0]<<" p1: "<<p[1]<<" p2: "<<p[2]);
               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;
-                  //DEBTRACE("isOldSectionclosed: " << isOldSectionclosed);
+                  DEBTRACE("isOldSectionclosed: " << isOldSectionclosed);
                   if (!isOldSectionclosed) // no need to check first and last points on an open curve
                     {
                       if (pmin > pmax)
@@ -516,32 +516,32 @@ bool convertEdgesToSections( const TopoDS_Edge&
                     }
                   else // old section closed: check if we use first or last points...
                     {
-                      if((pmin < pmax) && ((abs(pmin - pfirst)> 1.e-3) && (abs(pmax - plast) >1.e-3))) // internal points forward
+                      if((pmin < pmax) && ((std::abs(pmin - pfirst)> 1.e-3) && (std::abs(pmax - plast) >1.e-3))) // internal points forward
                         forward = true;
-                      else if ((pmin > pmax) && ((abs(pmin - plast)> 1.e-3) && (abs(pmax - pfirst) >1.e-3))) // internal points reverse
+                      else if ((pmin > pmax) && ((std::abs(pmin - plast)> 1.e-3) && (std::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) && (p[2] < pmax)) // forward, replace pmin par pfirst
+                      else if ((std::abs(pmin - plast) <1.e-3) && (p[2] < pmax)) // forward, replace pmin par pfirst
                           pmin = pfirst;
-                      else if ((abs(pmin - plast) <1.e-3) && (p[2] > pmax)) // reverse
+                      else if ((std::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) && (p[2] < pmin)) // reverse
+                      else if ((std::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) && (p[2] > pmin)) // forward, replace pmax par plast
+                      else if ((std::abs(pmax - pfirst) <1.e-3) && (p[2] > pmin)) // forward, replace pmax par plast
                         pmax = plast;
                    }
-                  //DEBTRACE("forward: "<< forward << " pmin " << pmin <<  " pmax " << pmax);
+                  DEBTRACE("forward: "<< forward << " pmin " << pmin <<  " pmax " << pmax);
                   HYDROData_PolylineXY::Point aFirstPoint, aLastPoint;
                   if (forward)
                     {
@@ -557,7 +557,7 @@ bool convertEdgesToSections( const TopoDS_Edge&
 
                   HYDROData_PolylineXY::PointsList aSectPoints = theOldPolyline->GetPoints(isec, false);
                   int nbPoints = aSectPoints.Length();
-                  //DEBTRACE("nbPoints " << nbPoints);
+                  DEBTRACE("nbPoints " << nbPoints);
                   if (forward)
                     for (int i=1; i<=nbPoints; i++)
                       {
@@ -567,7 +567,7 @@ bool convertEdgesToSections( const TopoDS_Edge&
                         double d = ProjectPointToCurve(p, adaptorOldCurve, param);
                         if ((param > pmin) && (param < pmax))
                           {
-                            //DEBTRACE("param: " << param);
+                            DEBTRACE("param: " << param);
                             aPointsList.Append(aPoint);
                           }
                       }
@@ -580,7 +580,7 @@ bool convertEdgesToSections( const TopoDS_Edge&
                         double d = ProjectPointToCurve(p, adaptorOldCurve, param);
                         if ((param > pmin) && (param < pmax))
                           {
-                            //DEBTRACE("param: " << param);
+                            DEBTRACE("param: " << param);
                             aPointsList.Append(aPoint);
                           }
                       }
@@ -598,7 +598,7 @@ bool convertEdgesToSections( const TopoDS_Edge&
   TCollection_AsciiString aSectName = getUniqueSectionName( theSectNames );
   if (isNewSection)
     {
-      //DEBTRACE("isNewSection");
+      DEBTRACE("isNewSection");
       theSectNames.Append( aSectName );
       theSectTypes.Append( aSectionType );
       theSectClosures.Append( anIsEdgeClosed );
@@ -606,7 +606,7 @@ bool convertEdgesToSections( const TopoDS_Edge&
     }
   else
     {
-      //DEBTRACE("sameSection");
+      DEBTRACE("sameSection");
       theSectPoints.SetValue(theSectPoints.Length(), aPointsList);
     }
 
@@ -619,7 +619,7 @@ bool HYDROData_PolylineXY::ImportShape( const TopoDS_Shape& theShape,
                                         bool IsClosureAllowed,
                                         double theDeviation )
 {
-  //DEBTRACE("ImportShape");
+  DEBTRACE("ImportShape");
   if ( theShape.IsNull() )
     return false;
 
@@ -638,7 +638,7 @@ bool HYDROData_PolylineXY::ImportShape( const TopoDS_Shape& theShape,
 
   if ( theShape.ShapeType() == TopAbs_EDGE )
   {
-      //DEBTRACE("TopAbs_EDGE");
+      DEBTRACE("TopAbs_EDGE");
     TopoDS_Edge anEdge = TopoDS::Edge( theShape );
 //    anIsCanBeImported = convertEdgeToSection( anEdge, aSectNames, aSectTypes,
 //      aSectClosures, aSectPoints, true, IsInterpolationAllowed, theDeviation );
@@ -648,7 +648,7 @@ bool HYDROData_PolylineXY::ImportShape( const TopoDS_Shape& theShape,
   }
   else if ( theShape.ShapeType() == TopAbs_WIRE )
   {
-      //DEBTRACE("TopAbs_WIRE");
+      DEBTRACE("TopAbs_WIRE");
     TopTools_SequenceOfShape anEdges;
     HYDROData_ShapesTool::ExploreShapeToShapes( theShape, TopAbs_EDGE, anEdges );
 
@@ -889,7 +889,7 @@ void HYDROData_PolylineXY::setEditable( const bool theIsEditable )
  */
 bool HYDROData_PolylineXY::IsClosed(const bool theIsSimpleCheck) const
 {
-  //DEBTRACE("IsClosed " << theIsSimpleCheck << " " << GetName());
+  DEBTRACE("IsClosed " << theIsSimpleCheck << " " << GetName());
   bool anIsClosed = false;
 
   TopoDS_Shape aShape = GetShape();
@@ -915,7 +915,7 @@ bool HYDROData_PolylineXY::IsClosed(const bool theIsSimpleCheck) const
         anIsClosed = BRep_Tool::IsClosed(aWires.First());
       else
         {
-          //DEBTRACE("aNbWires " << aNbWires);
+          DEBTRACE("aNbWires " << aNbWires);
           Handle(TopTools_HSequenceOfShape) aSeqWires = new TopTools_HSequenceOfShape;
           Handle(TopTools_HSequenceOfShape) aSeqEdges = new TopTools_HSequenceOfShape;
           for (int i = 1; i <= aNbWires; ++i)
@@ -927,11 +927,11 @@ bool HYDROData_PolylineXY::IsClosed(const bool theIsSimpleCheck) const
             }
           if (aSeqEdges->Length() > 1)
             {
-              //DEBTRACE(aSeqEdges->Length());
+              DEBTRACE(aSeqEdges->Length());
               ShapeAnalysis_FreeBounds::ConnectEdgesToWires(aSeqEdges, 1E-5, Standard_False, aSeqWires);
               if (aSeqWires->Length() == 1)
                 {
-                  //DEBTRACE(aSeqWires->Length());
+                  DEBTRACE(aSeqWires->Length());
                   const TopoDS_Wire& aPolylineWire = TopoDS::Wire(aSeqWires->Value(1));
                   anIsClosed = BRep_Tool::IsClosed(aPolylineWire);
                 }
@@ -958,7 +958,7 @@ int HYDROData_PolylineXY::GetNbConnectedWires(Handle(TopTools_HSequenceOfShape)&
     }
   else
     {
-      //DEBTRACE("aNbWires " << aNbWires);
+      DEBTRACE("aNbWires " << aNbWires);
       Handle(TopTools_HSequenceOfShape) aSeqWires = new TopTools_HSequenceOfShape;
       Handle(TopTools_HSequenceOfShape) aSeqEdges = new TopTools_HSequenceOfShape;
       for (int i = 1; i <= aNbWires; ++i)
@@ -970,7 +970,7 @@ int HYDROData_PolylineXY::GetNbConnectedWires(Handle(TopTools_HSequenceOfShape)&
         }
       if (aSeqEdges->Length() > 1)
         {
-          //DEBTRACE(aSeqEdges->Length());
+          DEBTRACE(aSeqEdges->Length());
           ShapeAnalysis_FreeBounds::ConnectEdgesToWires(aSeqEdges, 1E-5, Standard_False, aSeqWires);
         }
       aConnectedWires = aSeqWires;