]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Porting to DEV version of OCCT.
authorrnv <rnv@opencascade.com>
Mon, 10 Jul 2017 09:17:26 +0000 (12:17 +0300)
committerrnv <rnv@opencascade.com>
Mon, 10 Jul 2017 09:17:26 +0000 (12:17 +0300)
src/GEOMAlgo/GEOMAlgo_RemoverWebs.cxx
src/GEOMAlgo/GEOMAlgo_ShellSolid.cxx
src/GEOMAlgo/GEOMAlgo_SolidSolid.cxx
src/GEOMAlgo/GEOMAlgo_Splitter.cxx
src/GEOMAlgo/GEOMAlgo_VertexSolid.cxx
src/GEOMAlgo/GEOMAlgo_WireSolid.cxx
src/GEOMImpl/GEOMImpl_BooleanDriver.cxx
src/GEOMImpl/GEOMImpl_IMeasureOperations.cxx
src/GEOMImpl/GEOMImpl_PartitionDriver.cxx
src/GEOMImpl/GEOMImpl_ShapeDriver.cxx

index 0a7ca1e67c7df50b6e88914890e8b9f61f17b27e..a50bdc2047f80e5e743b181dad367927fe23ef9c 100644 (file)
@@ -225,7 +225,11 @@ void GEOMAlgo_RemoverWebs::BuildSolid()
   aSB.SetContext(myContext);
   aSB.SetShapes(aSFS);
   aSB.Perform();
+#if OCC_VERSION_LARGE > 0x07010000
+  iErr=aSB.HasErrors();
+#else
   iErr=aSB.ErrorStatus();
+#endif  
   if (iErr) {
     myErrorStatus=20; // SolidBuilder failed
     return;
index db3b69bbb8e7de9a5c40a3379549de2448dfcf97..85e51c440612e93ac31e4ec8c202676aad9a58f5 100644 (file)
@@ -101,7 +101,9 @@ GEOMAlgo_ShellSolidBuilder::~GEOMAlgo_ShellSolidBuilder()
 //=======================================================================
 void GEOMAlgo_ShellSolidBuilder::PerformInternal(const BOPAlgo_PaveFiller& theFiller)
 {
+#if OCC_VERSION_LARGE <= 0x07010000
   myErrorStatus=0;
+#endif 
    //
   myPaveFiller=(BOPAlgo_PaveFiller*)&theFiller;
   myDS=myPaveFiller->PDS();
@@ -109,57 +111,97 @@ void GEOMAlgo_ShellSolidBuilder::PerformInternal(const BOPAlgo_PaveFiller& theFi
   //
   // 1. CheckData
   CheckData();
+#if OCC_VERSION_LARGE > 0x07010000
+  if (HasErrors()) {
+#else
   if (myErrorStatus) {
+#endif
     return;
   }
   //
   // 2. Prepare
   Prepare();
+#if OCC_VERSION_LARGE > 0x07010000
+  if (HasErrors()) {
+#else
   if (myErrorStatus) {
+#endif
     return;
   }
   //
   // 3. Fill Images
   // 3.1 Vertice
   FillImagesVertices();
+#if OCC_VERSION_LARGE > 0x07010000
+  if (HasErrors()) {
+#else
   if (myErrorStatus) {
+#endif
     return;
   }
   //
   BuildResult(TopAbs_VERTEX);
+#if OCC_VERSION_LARGE > 0x07010000
+  if (HasErrors()) {
+#else
   if (myErrorStatus) {
+#endif
     return;
   }
   // 3.2 Edges
   FillImagesEdges();
+#if OCC_VERSION_LARGE > 0x07010000
+  if (HasErrors()) {
+#else
   if (myErrorStatus) {
+#endif
     return;
   }
   //
   BuildResult(TopAbs_EDGE);
+#if OCC_VERSION_LARGE > 0x07010000
+  if (HasErrors()) {
+#else
   if (myErrorStatus) {
+#endif
     return;
   } 
   //
   // 3.3 Wires
   FillImagesContainers(TopAbs_WIRE);
+#if OCC_VERSION_LARGE > 0x07010000
+  if (HasErrors()) {
+#else
   if (myErrorStatus) {
+#endif
     return;
   }
   //
   BuildResult(TopAbs_WIRE);
+#if OCC_VERSION_LARGE > 0x07010000
+  if (HasErrors()) {
+#else
   if (myErrorStatus) {
+#endif
     return;
   }
   
   // 3.4 Faces
   FillImagesFaces();
+#if OCC_VERSION_LARGE > 0x07010000
+  if (HasErrors()) {
+#else
   if (myErrorStatus) {
+#endif
     return;
   }
   //
   BuildResult(TopAbs_FACE);
+#if OCC_VERSION_LARGE > 0x07010000
+  if (HasErrors()) {
+#else
   if (myErrorStatus) {
+#endif
     return;
   }
 }
@@ -186,7 +228,9 @@ GEOMAlgo_ShellSolid::~GEOMAlgo_ShellSolid()
 //=======================================================================
 void GEOMAlgo_ShellSolid::Perform()
 {
+#if OCC_VERSION_LARGE <= 0x07010000
   myErrorStatus=0;
+#endif
   //
   try {
     Standard_Integer aNbArgs, iRank, iErr, iBeg, iEnd, i, aNbSp;
@@ -207,7 +251,11 @@ void GEOMAlgo_ShellSolid::Perform()
       myErrorStatus=10;
       return;
     }
+#if OCC_VERSION_LARGE > 0x07010000
+    if(myDSFiller->HasErrors()) {
+#else
     if(myDSFiller->ErrorStatus()) {
+#endif
       myErrorStatus=11;
       return;
     }
@@ -251,7 +299,11 @@ void GEOMAlgo_ShellSolid::Perform()
     GEOMAlgo_ShellSolidBuilder aSSB;
     //
     aSSB.PerformWithFiller(*myDSFiller);
+#if OCC_VERSION_LARGE > 0x07010000
+    iErr=aSSB.HasErrors();
+#else
     iErr=aSSB.ErrorStatus();
+#endif
     if (iErr) {
       myErrorStatus=15;
       return;
index 67dea8adfbf6bbfef8e1dfb70c574ed9fa1af454..b39dce44ef59c37382c0770fb5d36167338b34b1 100644 (file)
@@ -37,6 +37,7 @@
 #include <TopTools_ListIteratorOfListOfShape.hxx>
 #include <TopTools_IndexedMapOfShape.hxx>
 
+#include <Basics_OCCTVersion.hxx>
 
 #include <GEOMAlgo_IndexedDataMapOfShapeState.hxx>
 
@@ -84,7 +85,11 @@ void GEOMAlgo_SolidSolid::Perform()
       myErrorStatus=10;
       return;
     }
+#if OCC_VERSION_LARGE > 0x07010000
+    if(myDSFiller->HasErrors()) {
+#else
     if(myDSFiller->ErrorStatus()) {
+#endif
       myErrorStatus=11;
       return;
     }
index 0df4a628b7e550c89fa6818543cc87f00de5001b..fb5b8099b7beb9fad9af6b922c08c3ee406fa493 100644 (file)
@@ -41,6 +41,7 @@
 
 #include <BOPTools.hxx>
 
+#include <Basics_OCCTVersion.hxx>
 
 static 
   void TreatCompound(const TopoDS_Shape& aC, 
@@ -149,7 +150,9 @@ void GEOMAlgo_Splitter::Clear()
 //=======================================================================
 void GEOMAlgo_Splitter::BuildResult(const TopAbs_ShapeEnum theType)
 {
+#if OCC_VERSION_LARGE <= 0x07010000
   myErrorStatus=0;
+#endif
   //
   TopAbs_ShapeEnum aType;
   BRep_Builder aBB;
index e8b763617910f62df758112c8dc3ded36a75c8d6..182df0d41293af4b2902d1acd028040522295ede 100644 (file)
@@ -90,7 +90,11 @@ void GEOMAlgo_VertexSolid::Perform()
       myErrorStatus=10;
       return;
     }
+#if OCC_VERSION_LARGE > 0x07010000
+    if(myDSFiller->HasErrors()) {
+#else
     if(myDSFiller->ErrorStatus()) {
+#endif
       myErrorStatus=11;
       return;
     }
index 0f65ecc5012892d3c2cb690427505e23c0c970b5..1b87f5f32e25241c76e8332dd24d24168b6ef29d 100644 (file)
@@ -80,7 +80,11 @@ void GEOMAlgo_WireSolid::Perform()
       myErrorStatus=10;
       return;
     }
+#if OCC_VERSION_LARGE > 0x07010000
+    if(myDSFiller->HasErrors()) {
+#else
     if(myDSFiller->ErrorStatus()) {
+#endif
       myErrorStatus=11;
       return;
     }
index 6c2e34a89e01654ef16afe41a677bb6346857040..803c2e2ee590dfefea30185e69a1732f451d102f 100644 (file)
@@ -150,11 +150,19 @@ Standard_Integer GEOMImpl_BooleanDriver::Execute(LOGBOOK& log) const
           aList2.Append(aShape2);
           aCSI.SetArguments(aList1);
           aCSI.Perform();
+#if OCC_VERSION_LARGE > 0x07010000
+          if (aCSI.HasErrors() || aCSI.DS().Interferences().Extent() > 0)
+#else
           if (aCSI.ErrorStatus() || aCSI.DS().Interferences().Extent() > 0)
+#endif
             StdFail_NotDone::Raise("Boolean operation will not be performed, because argument shape is self-intersected");
           aCSI.SetArguments(aList2);
           aCSI.Perform();
+#if OCC_VERSION_LARGE > 0x07010000
+          if (aCSI.HasErrors() || aCSI.DS().Interferences().Extent() > 0)
+#else
           if (aCSI.ErrorStatus() || aCSI.DS().Interferences().Extent() > 0)
+#endif
             StdFail_NotDone::Raise("Boolean operation will not be performed, because argument shape is self-intersected");
         }
 
@@ -205,7 +213,11 @@ Standard_Integer GEOMImpl_BooleanDriver::Execute(LOGBOOK& log) const
             aList1.Append(aShape);
             aCSI.SetArguments(aList1);
             aCSI.Perform();
+#if OCC_VERSION_LARGE > 0x07010000
+            if (aCSI.HasErrors() || aCSI.DS().Interferences().Extent() > 0) {
+#else
             if (aCSI.ErrorStatus() || aCSI.DS().Interferences().Extent() > 0) {
+#endif
               StdFail_NotDone::Raise("Boolean operation will not be performed, because argument shape is self-intersected");
             }
           }
@@ -229,7 +241,11 @@ Standard_Integer GEOMImpl_BooleanDriver::Execute(LOGBOOK& log) const
               aList2.Append(aShape2);
               aCSI.SetArguments(aList2);
               aCSI.Perform();
-              if (aCSI.ErrorStatus() || aCSI.DS().Interferences().Extent() > 0) {
+#if OCC_VERSION_LARGE > 0x07010000
+             if (aCSI.HasErrors() || aCSI.DS().Interferences().Extent() > 0) {
+#else
+             if (aCSI.ErrorStatus() || aCSI.DS().Interferences().Extent() > 0) {
+#endif
                 StdFail_NotDone::Raise("Boolean operation will not be performed, because argument shape is self-intersected");
               }
             }
@@ -270,7 +286,11 @@ Standard_Integer GEOMImpl_BooleanDriver::Execute(LOGBOOK& log) const
           aList1.Append(aShape);
           aCSI.SetArguments(aList1);
           aCSI.Perform();
-          if (aCSI.ErrorStatus() || aCSI.DS().Interferences().Extent() > 0) {
+#if OCC_VERSION_LARGE > 0x07010000
+         if (aCSI.HasErrors() || aCSI.DS().Interferences().Extent() > 0) {
+#else
+         if (aCSI.ErrorStatus() || aCSI.DS().Interferences().Extent() > 0) {
+#endif
             StdFail_NotDone::Raise("Boolean operation will not be performed, because argument shape is self-intersected");
           }
         }
@@ -300,7 +320,11 @@ Standard_Integer GEOMImpl_BooleanDriver::Execute(LOGBOOK& log) const
             aList2.Append(aTool);
             aCSI.SetArguments(aList2);
             aCSI.Perform();
-            if (aCSI.ErrorStatus() || aCSI.DS().Interferences().Extent() > 0) {
+#if OCC_VERSION_LARGE > 0x07010000
+           if (aCSI.HasErrors() || aCSI.DS().Interferences().Extent() > 0) {
+#else
+           if (aCSI.ErrorStatus() || aCSI.DS().Interferences().Extent() > 0) {
+#endif
               StdFail_NotDone::Raise("Boolean operation will not be performed, because argument shape is self-intersected");
             }
           }
index 170878a03b859a45e7ad26f6fda4175799bca89d..e7500023b42a29b24a46ffdd69a90c757b9b035a 100644 (file)
@@ -145,7 +145,9 @@ GEOMImpl_IMeasureOperations::ShapeKind GEOMImpl_IMeasureOperations::KindOfShape
   GEOMAlgo_ShapeInfoFiller aSF;
   aSF.SetShape(aShape);
   aSF.Perform();
+
   Standard_Integer iErr = aSF.ErrorStatus();
+
   if (iErr) {
     SetErrorCode("Error in GEOMAlgo_ShapeInfoFiller");
     return SK_NO_SHAPE;
@@ -1574,7 +1576,11 @@ bool GEOMImpl_IMeasureOperations::CheckSelfIntersections
 
   // 1. Launch the checker
   aCSI.Perform();
+#if OCC_VERSION_LARGE > 0x07010000
+  Standard_Boolean iErr = aCSI.HasErrors();
+#else
   Standard_Integer iErr = aCSI.ErrorStatus();
+#endif
 
   //
   Standard_Integer aNbS, n1, n2;
index 63e7e52843191e2c0f22a58e4dbbc5c3724acf48..5628babb7077cfee3a231813ff403c63c5043a6c 100644 (file)
@@ -44,6 +44,9 @@
 #include <Standard_NullObject.hxx>
 #include <StdFail_NotDone.hxx>
 #include <BOPAlgo_CheckerSI.hxx>
+#if OCC_VERSION_LARGE > 0x07010000
+#include <BOPAlgo_Alerts.hxx>
+#endif
 #include <BOPCol_IndexedDataMapOfShapeListOfShape.hxx>
 #include <BOPCol_ListOfShape.hxx>
 #include <BOPDS_DS.hxx>
@@ -106,8 +109,11 @@ static void CheckSelfIntersection(const TopoDS_Shape &theShape)
   aCSI.SetLevelOfCheck(BOP_SELF_INTERSECTIONS_LEVEL);
   aCSI.SetArguments(aList);
   aCSI.Perform();
-
+#if OCC_VERSION_LARGE > 0x07010000
+  if (aCSI.HasErrors() || aCSI.DS().Interferences().Extent() > 0) {
+#else
   if (aCSI.ErrorStatus() || aCSI.DS().Interferences().Extent() > 0) {
+#endif
     StdFail_NotDone::Raise("Partition operation will not be performed, because argument shape is self-intersected");
   }
 }
@@ -411,7 +417,11 @@ Standard_Integer GEOMImpl_PartitionDriver::Execute(LOGBOOK& log) const
   aShape = PS.Shape();
   if (aShape.IsNull()) {
     // Mantis issue 22009
+#if OCC_VERSION_LARGE > 0x07010000
+    if (PS.HasError(STANDARD_TYPE(BOPAlgo_AlertTooFewArguments)) && PS.Tools().Extent() == 0 && PS.Arguments().Extent() == 1)
+#else
     if (PS.ErrorStatus() == 100 && PS.Tools().Extent() == 0 && PS.Arguments().Extent() == 1)
+#endif      
       aShape = PS.Arguments().First();
     else
       return 0;
index b7947fdf7d0ae0c24ec24efd923474dd6149834d..00ff9dde01c6b667e9828d95b174309fc976b6ee 100644 (file)
@@ -770,7 +770,11 @@ Standard_Integer GEOMImpl_ShapeDriver::Execute(LOGBOOK& log) const
     aMV.SetArguments(aLS);
     aMV.SetIntersect(aCI.GetIsIntersect());
     aMV.Perform();
+#if OCC_VERSION_LARGE > 0x07010000
+    if (aMV.HasErrors()) return 0;
+#else
     if (aMV.ErrorStatus()) return 0;
+#endif
 
     aShape = aMV.Shape();
   }