Salome HOME
Porting to DEV version of OpenCASCADE.
authorrnv <rnv@opencascade.com>
Fri, 10 Feb 2017 08:13:10 +0000 (11:13 +0300)
committerrnv <rnv@opencascade.com>
Fri, 10 Feb 2017 08:13:10 +0000 (11:13 +0300)
src/GEOMImpl/GEOMImpl_IMeasureOperations.cxx
src/GEOMImpl/GEOMImpl_OffsetDriver.cxx

index ba76b62c31275ef08c0a664483473bdf124c0b7d..dd3318aac518bad0c98814d385db7af2e05ca565 100644 (file)
 #include <BOPCol_ListOfShape.hxx>
 #include <BOPDS_DS.hxx>
 #include <BOPDS_MapOfPassKey.hxx>
+#if OCC_VERSION_LARGE > 0x07010000
+#include <BOPDS_MapOfPair.hxx>
+#include <BOPDS_Pair.hxx>
+#endif
 #include <BRepBndLib.hxx>
 #include <BRepBuilderAPI_Copy.hxx>
 #include <BRepCheck_ListIteratorOfListOfStatus.hxx>
@@ -1574,18 +1578,31 @@ bool GEOMImpl_IMeasureOperations::CheckSelfIntersections
 
   //
   Standard_Integer aNbS, n1, n2;
+#if OCC_VERSION_LARGE > 0x07010000
+  BOPDS_MapIteratorOfMapOfPair aItMPK;
+#else  
   BOPDS_MapIteratorMapOfPassKey aItMPK;
+#endif
   //
   // 2. Take the shapes from DS
   const BOPDS_DS& aDS = aCSI.DS();
   aNbS=aDS.NbShapes();
   //
   // 3. Get the pairs of interfered shapes
+#if OCC_VERSION_LARGE > 0x07010000
+  const BOPDS_MapOfPair& aMPK=aDS.Interferences();
+#else
   const BOPDS_MapOfPassKey& aMPK=aDS.Interferences();
+#endif  
   aItMPK.Initialize(aMPK);
   for (; aItMPK.More(); aItMPK.Next()) {
+#if OCC_VERSION_LARGE > 0x07010000
+    const BOPDS_Pair& aPK=aItMPK.Value();
+    aPK.Indices(n1, n2);
+#else      
     const BOPDS_PassKey& aPK=aItMPK.Value();
     aPK.Ids(n1, n2);
+#endif    
     //
     if (n1 > aNbS || n2 > aNbS){
       return false; // Error
index d5bf48b4f74e035b907390ae401095e1ab934e98..6fd616265cc2c2fa1dd067318308a5751356e83f 100644 (file)
@@ -105,7 +105,7 @@ Standard_Integer GEOMImpl_OffsetDriver::Execute(LOGBOOK& log) const
 
     if (aType == TopAbs_FACE || aType == TopAbs_SHELL) {
       // Create a thick solid.
-      BRepClass3d_SolidClassifier aClassifier = BRepClass3d_SolidClassifier(aShapeBase);
+      BRepClass3d_SolidClassifier aClassifier(aShapeBase);
       aClassifier.PerformInfinitePoint(Precision::Confusion());
       if (aClassifier.State()==TopAbs_IN)
       {
@@ -125,7 +125,7 @@ Standard_Integer GEOMImpl_OffsetDriver::Execute(LOGBOOK& log) const
 
       // Control the solid orientation. This is mostly done to fix a bug in case of extrusion
       // of a circle. The built solid is then badly oriented
-      BRepClass3d_SolidClassifier anotherClassifier = BRepClass3d_SolidClassifier(aShape);
+      BRepClass3d_SolidClassifier anotherClassifier(aShape);
       anotherClassifier.PerformInfinitePoint(Precision::Confusion());
       if (anotherClassifier.State()==TopAbs_IN)
       {