0026377: Passing Handle objects as arguments to functions as non-const reference...
[occt.git] / src / BRepOffsetAPI / BRepOffsetAPI_ThruSections.cxx
index be62e61..18038cd 100644 (file)
 // Modified:   Tue Nov  3 10:06:15 1998
 //              utilisation de BRepFill_CompatibleWires
 
-
-#include <BRepOffsetAPI_ThruSections.ixx>
-
-#include <Precision.hxx>
-#include <Standard_DomainError.hxx>
-
-#include <gp_Pnt.hxx>
-#include <gp_Pnt2d.hxx>
-#include <gp_Dir2d.hxx>
-#include <TColgp_Array1OfPnt.hxx>
-
-#include <GeomAbs_Shape.hxx>
-#include <Geom_Curve.hxx>
-#include <Geom_BSplineSurface.hxx>
-#include <Geom_TrimmedCurve.hxx>
+#include <BRep_Builder.hxx>
+#include <BRep_Tool.hxx>
+#include <BRepBuilderAPI_FindPlane.hxx>
+#include <BRepBuilderAPI_MakeFace.hxx>
+#include <BRepClass3d_SolidClassifier.hxx>
+#include <BRepFill_CompatibleWires.hxx>
+#include <BRepFill_Generator.hxx>
+#include <BRepLib.hxx>
+#include <BRepOffsetAPI_ThruSections.hxx>
+#include <BRepTools_WireExplorer.hxx>
+#include <BSplCLib.hxx>
+#include <Geom2d_Line.hxx>
 #include <Geom_BezierCurve.hxx>
+#include <Geom_BSplineCurve.hxx>
+#include <Geom_BSplineSurface.hxx>
 #include <Geom_Conic.hxx>
-#include <Geom2d_Line.hxx>
-#include <GeomFill_Line.hxx>
-#include <GeomFill_AppSurf.hxx>
-#include <GeomFill_SectionGenerator.hxx>
-#include <GeomConvert_CompCurveToBSplineCurve.hxx>
+#include <Geom_Curve.hxx>
+#include <Geom_Plane.hxx>
+#include <Geom_TrimmedCurve.hxx>
+#include <GeomAbs_Shape.hxx>
 #include <GeomConvert.hxx>
 #include <GeomConvert_ApproxCurve.hxx>
-#include <Geom_BSplineCurve.hxx>
-#include <BSplCLib.hxx>
-
+#include <GeomConvert_CompCurveToBSplineCurve.hxx>
+#include <GeomFill_AppSurf.hxx>
+#include <GeomFill_Line.hxx>
+#include <GeomFill_SectionGenerator.hxx>
+#include <gp_Dir2d.hxx>
+#include <gp_Pnt.hxx>
+#include <gp_Pnt2d.hxx>
+#include <Precision.hxx>
+#include <Standard_DomainError.hxx>
+#include <Standard_NullObject.hxx>
+#include <TColgp_Array1OfPnt.hxx>
 #include <TopAbs.hxx>
+#include <TopExp.hxx>
+#include <TopLoc_Location.hxx>
 #include <TopoDS.hxx>
-#include <TopoDS_Solid.hxx>
-#include <TopoDS_Face.hxx>
 #include <TopoDS_Edge.hxx>
+#include <TopoDS_Face.hxx>
+#include <TopoDS_Iterator.hxx>
+#include <TopoDS_Shape.hxx>
+#include <TopoDS_Solid.hxx>
 #include <TopoDS_Vertex.hxx>
 #include <TopoDS_Wire.hxx>
-#include <TopLoc_Location.hxx>
 #include <TopTools_Array1OfShape.hxx>
-#include <TopTools_ListIteratorOfListOfShape.hxx>
 #include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
-#include <TopExp.hxx>
-#include <TopoDS_Iterator.hxx>
-
-
-#include <BRep_Builder.hxx>
-#include <BRep_Tool.hxx>
-#include <BRepTools_WireExplorer.hxx>
-
-#include <BRepLib.hxx>
-#include <BRepClass3d_SolidClassifier.hxx>
-
-#include <BRepFill_Generator.hxx>
-#include <BRepFill_CompatibleWires.hxx>
-
-#include <BRepBuilderAPI_MakeFace.hxx>
-#include <BRepBuilderAPI_FindPlane.hxx>
-#include <Standard_NullObject.hxx>
-
+#include <TopTools_ListIteratorOfListOfShape.hxx>
 
 //=======================================================================
 //function : PreciseUpar
 //purpose  : pins the u-parameter of surface close to U-knot
 //           to this U-knot
 //=======================================================================
-
 static Standard_Real PreciseUpar(const Standard_Real anUpar,
   const Handle(Geom_BSplineSurface)& aSurface)
 {
@@ -317,7 +307,6 @@ void BRepOffsetAPI_ThruSections::AddVertex(const TopoDS_Vertex& aVertex)
   BB.Add( DegEdge, aVertex.Oriented(TopAbs_FORWARD) );
   BB.Add( DegEdge, aVertex.Oriented(TopAbs_REVERSED) );
   BB.Degenerated( DegEdge, Standard_True );
-  DegEdge.Closed( Standard_True );
 
   TopoDS_Wire DegWire;
   BB.MakeWire( DegWire );
@@ -815,7 +804,6 @@ void BRepOffsetAPI_ThruSections::CreateSmoothed()
     if (vClosed) {
 
       TopoDS_Solid solid;
-      BRep_Builder B;
       B.MakeSolid(solid); 
       B.Add(solid, shell);
 
@@ -900,7 +888,8 @@ static Handle(Geom_BSplineCurve) EdgeToBSpline (const TopoDS_Edge& theEdge)
     // special treatment of conic curve
     if (aTrimCurve->BasisCurve()->IsKind(STANDARD_TYPE(Geom_Conic)))
     {
-      GeomConvert_ApproxCurve anAppr (aTrimCurve, Precision::Confusion(), GeomAbs_C1, 16, 14);
+      const Handle(Geom_Curve)& aCurveTrimmed = aTrimCurve; // to avoid ambiguity
+      GeomConvert_ApproxCurve anAppr (aCurveTrimmed, Precision::Confusion(), GeomAbs_C1, 16, 14);
       if (anAppr.HasResult())
         aBSCurve = anAppr.Curve();
     }
@@ -947,7 +936,6 @@ Handle(Geom_BSplineSurface) BRepOffsetAPI_ThruSections::
   Handle(Geom_BSplineSurface) surface;
   Handle(Geom_BSplineCurve) BS, BS1;
   Handle(Geom_TrimmedCurve) curvTrim;
-  Handle(Geom_BSplineCurve) curvBS;
 
   if (w1Point) {
     jdeb++;