Salome HOME
updated copyright message
[modules/geom.git] / src / GEOMAlgo / GEOMAlgo_ShapeSolid.cxx
index 72ed66f4632fe125460004bea9aa000a8f31cfe2..f567302900728e7be91293bf2ce978dc01f06910 100644 (file)
@@ -1,17 +1,38 @@
-// File:       GEOMAlgo_ShapeSolid.cxx
-// Created:    Thu Jan 13 12:54:48 2005
-// Author:     Peter KURNEV
-//             <pkv@irinox>
+// Copyright (C) 2007-2023  CEA/DEN, EDF R&D, OPEN CASCADE
+//
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 
-
-#include <GEOMAlgo_ShapeSolid.ixx>
+// File:        GEOMAlgo_ShapeSolid.cxx
+// Created:     Thu Jan 13 12:54:48 2005
+// Author:      Peter KURNEV
+//              <pkv@irinox>
+//
+#include <GEOMAlgo_ShapeSolid.hxx>
 
 #include <TopTools_ListIteratorOfListOfShape.hxx>
 #include <TopTools_ListOfShape.hxx>
 
 //=======================================================================
 //function : GEOMAlgo_ShapeSolid
-//purpose  : 
+//purpose  :
 //=======================================================================
 GEOMAlgo_ShapeSolid::GEOMAlgo_ShapeSolid()
 :
@@ -22,93 +43,40 @@ GEOMAlgo_ShapeSolid::GEOMAlgo_ShapeSolid()
 }
 //=======================================================================
 //function : ~
-//purpose  : 
+//purpose  :
 //=======================================================================
 GEOMAlgo_ShapeSolid::~GEOMAlgo_ShapeSolid()
 {
 }
 //=======================================================================
 //function : SetFiller
-//purpose  : 
+//purpose  :
 //=======================================================================
-void GEOMAlgo_ShapeSolid::SetFiller(const BOPTools_DSFiller& aDSFiller)
+void GEOMAlgo_ShapeSolid::SetFiller(const BOPAlgo_PaveFiller& aDSFiller)
 {
-  myDSFiller=(BOPTools_DSFiller*) &aDSFiller;
+  myDSFiller=(BOPAlgo_PaveFiller*) &aDSFiller;
 }
-
 //=======================================================================
 // function: Shapes
-// purpose: 
+// purpose:
 //=======================================================================
-const TopTools_ListOfShape& GEOMAlgo_ShapeSolid::Shapes(const GEOMAlgo_State aState) const
+const TopTools_ListOfShape& GEOMAlgo_ShapeSolid::Shapes(const TopAbs_State aState) const
 {
-  TopTools_ListIteratorOfListOfShape aIt;
-  //
-  TopTools_ListOfShape* pLS=(TopTools_ListOfShape*)&myLS;
-  //
-  pLS->Clear();
+  const TopTools_ListOfShape *pL;
   //
   switch (aState) {
-    case GEOMAlgo_ST_IN: {
-      aIt.Initialize(myLSIN);
-      for (; aIt.More(); aIt.Next()) {
-       const TopoDS_Shape& aS=aIt.Value(); 
-       pLS->Append(aS);
-      }
-    }
+    case TopAbs_IN:
+      pL=&myLSIN;
       break;
-    //  
-    case GEOMAlgo_ST_OUT: {
-      aIt.Initialize(myLSOUT);
-      for (; aIt.More(); aIt.Next()) {
-       const TopoDS_Shape& aS=aIt.Value(); 
-       pLS->Append(aS);
-      }
-    }
+    case TopAbs_OUT:
+      pL=&myLSOUT;
       break;
-    //  
-    case GEOMAlgo_ST_ON: {
-      aIt.Initialize(myLSON);
-      for (; aIt.More(); aIt.Next()) {
-       const TopoDS_Shape& aS=aIt.Value(); 
-       pLS->Append(aS);
-      }
-    }
+    case TopAbs_ON:
+      pL=&myLSON;
       break;
-    //  
-    case GEOMAlgo_ST_ONIN: {
-      aIt.Initialize(myLSON);
-      for (; aIt.More(); aIt.Next()) {
-       const TopoDS_Shape& aS=aIt.Value(); 
-       pLS->Append(aS);
-      }
-      aIt.Initialize(myLSIN);
-      for (; aIt.More(); aIt.Next()) {
-       const TopoDS_Shape& aS=aIt.Value(); 
-       pLS->Append(aS);
-      }
-    }
-      break;
-    //  
-    case GEOMAlgo_ST_ONOUT: {
-      aIt.Initialize(myLSON);
-      for (; aIt.More(); aIt.Next()) {
-       const TopoDS_Shape& aS=aIt.Value(); 
-       pLS->Append(aS);
-      }
-      aIt.Initialize(myLSOUT);
-      for (; aIt.More(); aIt.Next()) {
-       const TopoDS_Shape& aS=aIt.Value(); 
-       pLS->Append(aS);
-      }
-    }
-      break;
-    //
-    case GEOMAlgo_ST_UNKNOWN:
-    case GEOMAlgo_ST_INOUT:
     default:
+      pL=&myLSON;
       break;
   }
-  return myLS;
+  return *pL;
 }
-