Salome HOME
Fix regression: storeViewParameters() does not work for OCC view
[modules/geom.git] / src / GEOMAlgo / GEOMAlgo_ShapeSolid.cxx
index 72ed66f4632fe125460004bea9aa000a8f31cfe2..4cf1d25ef4d02d3d4042f021d8fd57a635c5d544 100644 (file)
@@ -1,9 +1,30 @@
-// File:       GEOMAlgo_ShapeSolid.cxx
-// Created:    Thu Jan 13 12:54:48 2005
-// Author:     Peter KURNEV
-//             <pkv@irinox>
-
+//  Copyright (C) 2007-2010  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.
+//
+//  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
+//
 
+// File:        GEOMAlgo_ShapeSolid.cxx
+// Created:     Thu Jan 13 12:54:48 2005
+// Author:      Peter KURNEV
+//              <pkv@irinox>
+//
 #include <GEOMAlgo_ShapeSolid.ixx>
 
 #include <TopTools_ListIteratorOfListOfShape.hxx>
@@ -35,80 +56,27 @@ void GEOMAlgo_ShapeSolid::SetFiller(const BOPTools_DSFiller& aDSFiller)
 {
   myDSFiller=(BOPTools_DSFiller*) &aDSFiller;
 }
-
 //=======================================================================
 // function: Shapes
 // 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);
-      }
-    }
-      break;
-    //  
-    case GEOMAlgo_ST_OUT: {
-      aIt.Initialize(myLSOUT);
-      for (; aIt.More(); aIt.Next()) {
-       const TopoDS_Shape& aS=aIt.Value(); 
-       pLS->Append(aS);
-      }
-    }
+    case TopAbs_IN:
+      pL=&myLSIN;
       break;
-    //  
-    case GEOMAlgo_ST_ON: {
-      aIt.Initialize(myLSON);
-      for (; aIt.More(); aIt.Next()) {
-       const TopoDS_Shape& aS=aIt.Value(); 
-       pLS->Append(aS);
-      }
-    }
+    case TopAbs_OUT:
+      pL=&myLSOUT;
       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:
+    case TopAbs_ON:
+      pL=&myLSON;
+      break;  
     default:
-      break;
+      pL=&myLSON;
+      break; 
   }
-  return myLS;
+  return *pL;
 }
-