-// File: GEOMAlgo_ShapeSolid.cxx
-// Created: Thu Jan 13 12:54:48 2005
-// Author: Peter KURNEV
-// <pkv@irinox>
-
+// Copyright (C) 2007-2011 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>
{
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;
}
-