Salome HOME
Fix for the bug IPAL22851: Sub-shapes spelling
[modules/geom.git] / src / GEOMAlgo / BlockFix_BlockFixAPI.cxx
index 444ddd6936e52df2d1d76a949d62d709fd90c658..21281eefdc18255d4d1f92df795068014fc92909 100644 (file)
@@ -1,9 +1,29 @@
-// File:       BlockFix_BlockFixAPI.cxx
-// Created:    Tue Dec  7 11:59:05 2004
-// Author:     Pavel DURANDIN
-// Copyright:  Open CASCADE SA 2004
-
+// 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:    BlockFix_BlockFixAPI.cxx
+//  Created: Tue Dec  7 11:59:05 2004
+//  Author:  Pavel DURANDIN
+//
 #include <BlockFix_BlockFixAPI.ixx>
 #include <BlockFix.hxx>
 #include <BlockFix_UnionFaces.hxx>
 
 //=======================================================================
 //function : ShapeConvert_CanonicAPI
-//purpose  : 
+//purpose  :
 //=======================================================================
 
 BlockFix_BlockFixAPI::BlockFix_BlockFixAPI()
 {
   myTolerance = Precision::Confusion();
+  myOptimumNbFaces = 6;
 }
 
 //=======================================================================
 //function : Perform
-//purpose  : 
+//purpose  :
 //=======================================================================
 
-void BlockFix_BlockFixAPI::Perform() 
+void BlockFix_BlockFixAPI::Perform()
 {
-
   // processing spheres with degenerativities
   TopoDS_Shape aShape = Shape();
   myShape = BlockFix::RotateSphereSpace(aShape,myTolerance);
-  
+
   // faces unification
   BlockFix_UnionFaces aFaceUnifier;
   aFaceUnifier.GetTolerance() = myTolerance;
-  TopoDS_Shape aResult;
-  aResult = aFaceUnifier.Perform(myShape);
-  
-  
+  aFaceUnifier.GetOptimumNbFaces() = myOptimumNbFaces;
+  TopoDS_Shape aResult = aFaceUnifier.Perform(myShape);
+
   BlockFix_UnionEdges anEdgeUnifier;
   myShape = anEdgeUnifier.Perform(aResult,myTolerance);
-  
+
   TopoDS_Shape aRes = BlockFix::FixRanges(myShape,myTolerance);
   myShape = aRes;
-  
 }