Salome HOME
Issue 0020904: [CEA 411] export VTK in GEOM
[modules/geom.git] / src / GEOMImpl / GEOMImpl_I3DPrimOperations.cxx
index 8b68577976c3875db93f26ad209fd92547a6e034..cc2b9791bcf774c6f814e03998eecbfdc8a5302a 100644 (file)
@@ -1,4 +1,4 @@
-//  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
+//  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
@@ -18,6 +18,7 @@
 //  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 <Standard_Stream.hxx>
 
@@ -255,7 +256,7 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeFaceHW (double theH, double
  */
 //=============================================================================
 Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeFaceObjHW (Handle(GEOM_Object) theObj,
-                                                              double theH, double theW)
+                                                               double theH, double theW)
 {
   SetErrorCode(KO);
 
@@ -370,8 +371,8 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeDiskPntVecR
  */
 //=============================================================================
 Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeDiskThreePnt (Handle(GEOM_Object) thePnt1,
-                                                                 Handle(GEOM_Object) thePnt2,
-                                                                 Handle(GEOM_Object) thePnt3)
+                                                                  Handle(GEOM_Object) thePnt2,
+                                                                  Handle(GEOM_Object) thePnt3)
 {
   SetErrorCode(KO);
 
@@ -979,8 +980,8 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakePrismVecH (Handle(GEOM_Objec
  */
 //=============================================================================
 Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakePrismVecH2Ways (Handle(GEOM_Object) theBase,
-                                                                   Handle(GEOM_Object) theVec,
-                                                                   double theH)
+                                                                    Handle(GEOM_Object) theVec,
+                                                                    double theH)
 {
   SetErrorCode(KO);
 
@@ -1453,7 +1454,8 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeRevolutionAxisAngle2Ways
 //=============================================================================
 Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeFilling
        (Handle(GEOM_Object) theShape, int theMinDeg, int theMaxDeg,
-        double theTol2D, double theTol3D, int theNbIter, bool isApprox)
+        double theTol2D, double theTol3D, int theNbIter,
+        int theMethod, bool isApprox)
 {
   SetErrorCode(KO);
 
@@ -1482,6 +1484,7 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeFilling
   aFI.SetTol3D(theTol3D);
   aFI.SetNbIter(theNbIter);
   aFI.SetApprox(isApprox);
+  aFI.SetMethod(theMethod);
 
   //Compute the Solid value
   try {
@@ -1505,10 +1508,13 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeFilling
   //Make a Python command
   GEOM::TPythonDump pd (aFunction);
   pd << aFilling << " = geompy.MakeFilling("
-    << theShape << ", " << theMinDeg << ", " << theMaxDeg << ", "
-      << theTol2D << ", " << theTol3D << ", " << theNbIter;
+     << theShape << ", " << theMinDeg << ", " << theMaxDeg << ", "
+     << theTol2D << ", " << theTol3D << ", " << theNbIter  << ", ";
+  if( theMethod==1 ) pd << "GEOM.FOM_UseOri"; 
+  else if( theMethod==2 ) pd << "GEOM.FOM_AutoCorrect";
+  else pd << "GEOM.FOM_Default";
   if(isApprox)
-    pd << ", " << isApprox;
+    pd << ", " << isApprox ;
   pd << ")";
 
   SetErrorCode(OK);
@@ -1521,10 +1527,10 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeFilling
  */
 //=============================================================================
 Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeThruSections(
-                                               const Handle(TColStd_HSequenceOfTransient)& theSeqSections,
-                                               bool theModeSolid,
-                                               double thePreci,
-                                               bool theRuled)
+                                                const Handle(TColStd_HSequenceOfTransient)& theSeqSections,
+                                                bool theModeSolid,
+                                                double thePreci,
+                                                bool theRuled)
 {
   Handle(GEOM_Object) anObj;
   SetErrorCode(KO);
@@ -1606,7 +1612,7 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeThruSections(
     if(!aSectObj.IsNull()) {
       pyDump<< aSectObj;
       if(i < nbObj)
-       pyDump<<", ";
+        pyDump<<", ";
     }
   }
   
@@ -1625,11 +1631,11 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeThruSections(
  */
 //=============================================================================
 Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakePipeWithDifferentSections(
-               const Handle(TColStd_HSequenceOfTransient)& theBases,
-               const Handle(TColStd_HSequenceOfTransient)& theLocations,
-               const Handle(GEOM_Object)& thePath,
-               bool theWithContact,
-               bool theWithCorrections)
+                const Handle(TColStd_HSequenceOfTransient)& theBases,
+                const Handle(TColStd_HSequenceOfTransient)& theLocations,
+                const Handle(GEOM_Object)& thePath,
+                bool theWithContact,
+                bool theWithCorrections)
 {
   Handle(GEOM_Object) anObj;
   SetErrorCode(KO);
@@ -1680,14 +1686,14 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakePipeWithDifferentSections(
     {
       Handle(Standard_Transient) anItemLoc = theLocations->Value(i);
       if(anItemLoc.IsNull())
-       continue;
+        continue;
     
       Handle(GEOM_Object) aLoc = Handle(GEOM_Object)::DownCast(anItemLoc);
       if(aLoc.IsNull())
-       continue;
+        continue;
       Handle(GEOM_Function) aRefLoc = aLoc->GetLastFunction();
       if(aRefLoc.IsNull())
-       continue;
+        continue;
       aSeqLocs->Append(aRefLoc);
     }
     aSeqBases->Append(aRefBase);
@@ -1732,7 +1738,7 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakePipeWithDifferentSections(
     if(!anObj.IsNull()) {
       pyDump<< anObj;
       if(i < nbBases)
-       pyDump<<", ";
+        pyDump<<", ";
     }
     
   }
@@ -1749,7 +1755,7 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakePipeWithDifferentSections(
     if(!anObj.IsNull()) {
       pyDump<< anObj;
       if(i < nbLocs)
-       pyDump<<", ";
+        pyDump<<", ";
     }
   }  
 
@@ -1768,12 +1774,12 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakePipeWithDifferentSections(
  */
 //=============================================================================
 Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakePipeWithShellSections(
-               const Handle(TColStd_HSequenceOfTransient)& theBases,
-               const Handle(TColStd_HSequenceOfTransient)& theSubBases,
-               const Handle(TColStd_HSequenceOfTransient)& theLocations,
-               const Handle(GEOM_Object)& thePath,
-               bool theWithContact,
-               bool theWithCorrections)
+                const Handle(TColStd_HSequenceOfTransient)& theBases,
+                const Handle(TColStd_HSequenceOfTransient)& theSubBases,
+                const Handle(TColStd_HSequenceOfTransient)& theLocations,
+                const Handle(GEOM_Object)& thePath,
+                bool theWithContact,
+                bool theWithCorrections)
 {
   Handle(GEOM_Object) anObj;
   SetErrorCode(KO);
@@ -1828,26 +1834,26 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakePipeWithShellSections(
     if( nbSubBases >= nbBases ) {
       Handle(Standard_Transient) aSubItem = theSubBases->Value(i);
       if(aSubItem.IsNull())
-       continue;
+        continue;
       Handle(GEOM_Object) aSubBase = Handle(GEOM_Object)::DownCast(aSubItem);
       if(aSubBase.IsNull())
-       continue;
+        continue;
       Handle(GEOM_Function) aRefSubBase = aSubBase->GetLastFunction();
       if(aRefSubBase.IsNull())
-       continue;
+        continue;
       aSeqSubBases->Append(aRefSubBase);
     }
 
     if(nbLocs) {
       Handle(Standard_Transient) anItemLoc = theLocations->Value(i);
       if(anItemLoc.IsNull())
-       continue;
+        continue;
       Handle(GEOM_Object) aLoc = Handle(GEOM_Object)::DownCast(anItemLoc);
       if(aLoc.IsNull())
-       continue;
+        continue;
       Handle(GEOM_Function) aRefLoc = aLoc->GetLastFunction();
       if(aRefLoc.IsNull())
-       continue;
+        continue;
       aSeqLocs->Append(aRefLoc);
     }
 
@@ -1894,7 +1900,7 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakePipeWithShellSections(
     if(!anObj.IsNull()) {
       pyDump<< anObj;
       if(i < nbBases)
-       pyDump<<", ";
+        pyDump<<", ";
     }
     
   }
@@ -1911,7 +1917,7 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakePipeWithShellSections(
     if(!anObj.IsNull()) {
       pyDump<< anObj;
       if(i < nbBases)
-       pyDump<<", ";
+        pyDump<<", ";
     }
     
   }
@@ -1928,7 +1934,7 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakePipeWithShellSections(
     if(!anObj.IsNull()) {
       pyDump<< anObj;
       if(i < nbLocs)
-       pyDump<<", ";
+        pyDump<<", ";
     }
   }  
 
@@ -1946,8 +1952,8 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakePipeWithShellSections(
  */
 //=============================================================================
 Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakePipeShellsWithoutPath(
-               const Handle(TColStd_HSequenceOfTransient)& theBases,
-               const Handle(TColStd_HSequenceOfTransient)& theLocations)
+                const Handle(TColStd_HSequenceOfTransient)& theBases,
+                const Handle(TColStd_HSequenceOfTransient)& theLocations)
 {
   Handle(GEOM_Object) anObj;
   SetErrorCode(KO);
@@ -1994,13 +2000,13 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakePipeShellsWithoutPath(
     if(nbLocs) {
       Handle(Standard_Transient) anItemLoc = theLocations->Value(i);
       if(anItemLoc.IsNull())
-       continue;
+        continue;
       Handle(GEOM_Object) aLoc = Handle(GEOM_Object)::DownCast(anItemLoc);
       if(aLoc.IsNull())
-       continue;
+        continue;
       Handle(GEOM_Function) aRefLoc = aLoc->GetLastFunction();
       if(aRefLoc.IsNull())
-       continue;
+        continue;
       aSeqLocs->Append(aRefLoc);
     }
 
@@ -2043,7 +2049,7 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakePipeShellsWithoutPath(
     if(!anObj.IsNull()) {
       pyDump<< anObj;
       if(i < nbBases)
-       pyDump<<", ";
+        pyDump<<", ";
     }
     
   }
@@ -2060,7 +2066,7 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakePipeShellsWithoutPath(
     if(!anObj.IsNull()) {
       pyDump<< anObj;
       if(i < nbLocs)
-       pyDump<<", ";
+        pyDump<<", ";
     }
   }  
 
@@ -2078,8 +2084,8 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakePipeShellsWithoutPath(
  */
 //=============================================================================
 Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakePipeBiNormalAlongVector (Handle(GEOM_Object) theBase,
-                                                                            Handle(GEOM_Object) thePath,
-                                                                            Handle(GEOM_Object) theVec)
+                                                                             Handle(GEOM_Object) thePath,
+                                                                             Handle(GEOM_Object) theVec)
 {
   SetErrorCode(KO);