]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Support of the newer version of OCCT 7.2.0 with patches
authormpv <mpv@opencascade.com>
Tue, 13 Mar 2018 10:14:39 +0000 (13:14 +0300)
committermpv <mpv@opencascade.com>
Tue, 13 Mar 2018 10:14:39 +0000 (13:14 +0300)
src/GeomAlgoAPI/GeomAlgoAPI_PaveFiller.cpp
src/GeomAlgoAPI/GeomAlgoAPI_ShapeTools.cpp
src/GeomAlgoAPI/GeomAlgoAPI_SketchBuilder.cpp
src/GeomAlgoAPI/GeomAlgoAPI_UnifySameDomain.cpp
src/GeomAlgoImpl/GEOMAlgo_Splitter.cxx
src/GeomAlgoImpl/GEOMAlgo_Splitter.hxx
src/ModelAPI/Test/Test1512.py
src/ModelAPI/Test/Test2358_2.py

index 39a18c4af6dc0f5418856177a96b8e8c34677da3..de0eee7eb3697b91002beda20f49729683832a45 100644 (file)
@@ -41,7 +41,7 @@ void GeomAlgoAPI_PaveFiller::build(const ListOfShape& theListOfShape,
                                    const bool theIsMakeCompSolids)
 {
   BOPAlgo_PaveFiller* aPaveFiller = new BOPAlgo_PaveFiller;
-  BOPCol_ListOfShape aListOfShape;
+  TopTools_ListOfShape aListOfShape;
   for(ListOfShape::const_iterator
     anIt = theListOfShape.cbegin(); anIt != theListOfShape.cend(); anIt++) {
     const TopoDS_Shape& aShape = (*anIt)->impl<TopoDS_Shape>();
index d03f8e05ce9fabe6c6b22d91c0d06c2c1aba8129..901e257c61beb1d5bddea86a43f28dd9fd566af0 100644 (file)
@@ -31,7 +31,6 @@
 #include <GeomAPI_Wire.h>
 
 #include <Bnd_Box.hxx>
-#include <BOPTools.hxx>
 #include <BRep_Builder.hxx>
 #include <BRepAdaptor_Curve.hxx>
 #include <BRepAlgo.hxx>
@@ -182,8 +181,8 @@ std::shared_ptr<GeomAPI_Shape> GeomAlgoAPI_ShapeTools::combineShapes(
   }
 
   // Map subshapes and shapes.
-  BOPCol_IndexedDataMapOfShapeListOfShape aMapSA;
-  BOPTools::MapShapesAndAncestors(aShapesComp, aTS, aTA, aMapSA);
+  TopTools_IndexedDataMapOfShapeListOfShape aMapSA;
+  TopExp::MapShapesAndAncestors(aShapesComp, aTS, aTA, aMapSA);
   if(aMapSA.IsEmpty()) {
     return aResult;
   }
@@ -191,10 +190,10 @@ std::shared_ptr<GeomAPI_Shape> GeomAlgoAPI_ShapeTools::combineShapes(
   // Get all shapes with common subshapes and free shapes.
   NCollection_Map<TopoDS_Shape> aFreeShapes;
   NCollection_Vector<NCollection_Map<TopoDS_Shape>> aShapesWithCommonSubshapes;
-  for(BOPCol_IndexedDataMapOfShapeListOfShape::Iterator
+  for(TopTools_IndexedDataMapOfShapeListOfShape::Iterator
       anIter(aMapSA); anIter.More(); anIter.Next()) {
     const TopoDS_Shape& aShape = anIter.Key();
-    BOPCol_ListOfShape& aListOfShape = anIter.ChangeValue();
+    TopTools_ListOfShape& aListOfShape = anIter.ChangeValue();
     if(aListOfShape.IsEmpty()) {
       continue;
     }
@@ -217,9 +216,9 @@ std::shared_ptr<GeomAPI_Shape> GeomAlgoAPI_ShapeTools::combineShapes(
       for(NCollection_List<TopoDS_Shape>::Iterator
           aTempIter(aTempList); aTempIter.More(); aTempIter.Next()) {
         const TopoDS_Shape& aTempShape = aTempIter.Value();
-        for(BOPCol_IndexedDataMapOfShapeListOfShape::Iterator
+        for(TopTools_IndexedDataMapOfShapeListOfShape::Iterator
             anIter(aMapSA); anIter.More(); anIter.Next()) {
-          BOPCol_ListOfShape& aTempListOfShape = anIter.ChangeValue();
+          TopTools_ListOfShape& aTempListOfShape = anIter.ChangeValue();
           if(aTempListOfShape.IsEmpty()) {
             continue;
           } else if(aTempListOfShape.Size() == 1 && aTempListOfShape.First() == aTempShape) {
@@ -351,7 +350,7 @@ std::shared_ptr<GeomAPI_Shape> GeomAlgoAPI_ShapeTools::groupSharedTopology(
 
   // Iterate over all shapes and find shapes with shared vertices.
   TopTools_ListOfShape aMapOrder;
-  BOPCol_DataMapOfShapeListOfShape aVertexShapesMap;
+  TopTools_DataMapOfShapeListOfShape aVertexShapesMap;
   for(NCollection_List<TopoDS_Shape>::Iterator aShapesIt(anUngroupedShapes);
       aShapesIt.More();
       aShapesIt.Next()) {
index bf58316e8d06de976bda095d82b18fd614843e0b..fb16992265f63c3f81be2b98ca1cad3634dfddbb 100644 (file)
@@ -209,8 +209,8 @@ void GeomAlgoAPI_SketchBuilder::createFaces(
   BOPAlgo_Builder aBB;
   aBB.AddArgument(aPlnFace);
 
-  BOPCol_ListOfShape anEdges;
-  BOPCol_ListIteratorOfListOfShape aShapeIt;
+  NCollection_List<TopoDS_Shape> anEdges;
+  NCollection_List<TopoDS_Shape>::Iterator aShapeIt;
   std::list<std::shared_ptr<GeomAPI_Shape> >::const_iterator aFeatIt = theFeatures.begin();
   for (; aFeatIt != theFeatures.end(); aFeatIt++) {
     std::shared_ptr<GeomAPI_Shape> aShape(*aFeatIt);
index 356c15be15ba47b6bc755a3c6964d22e25fe07d2..290d5bd5297366c56e1f1e6f2e2b948a9bb68670 100644 (file)
@@ -58,7 +58,6 @@ void GeomAlgoAPI_UnifySameDomain::build(const ListOfShape& theShapes)
   this->setImpl(aUnifyAlgo);
 
   aUnifyAlgo->Initialize(aShell);
-  aUnifyAlgo->UnifyFacesAndEdges();
   aUnifyAlgo->Build();
 
   TopoDS_Shape aResult = aUnifyAlgo->Shape();
index ed3fd90d45eefaf22266468970a0447c2634afc7..0bdebe8c17db582852c85250e06ec73cd2a2e8b4 100755 (executable)
 #include <GEOMAlgo_Splitter.hxx>
 
 #include <TopAbs_ShapeEnum.hxx>
-
+#include <TopExp.hxx>
 #include <TopoDS_Shape.hxx>
 #include <TopoDS_Compound.hxx>
 #include <TopoDS_Iterator.hxx>
 
 #include <BRep_Builder.hxx>
 
-#include <BOPCol_MapOfShape.hxx>
-#include <BOPCol_ListOfShape.hxx>
-
-#include <BOPTools.hxx>
-
-
 static 
   void TreatCompound(const TopoDS_Shape& aC, 
-                     BOPCol_ListOfShape& aLSX);
+                     NCollection_List<TopoDS_Shape>& aLSX);
 
 //=======================================================================
 //function : 
@@ -90,7 +84,7 @@ void GEOMAlgo_Splitter::AddTool(const TopoDS_Shape& theShape)
 //function : Tools
 //purpose  : 
 //=======================================================================
-const BOPCol_ListOfShape& GEOMAlgo_Splitter::Tools()const
+const NCollection_List<TopoDS_Shape>& GEOMAlgo_Splitter::Tools()const
 {
   return myTools;
 }
@@ -145,8 +139,8 @@ void GEOMAlgo_Splitter::BuildResult(const TopAbs_ShapeEnum theType)
 {
   TopAbs_ShapeEnum aType;
   BRep_Builder aBB;
-  BOPCol_MapOfShape aM;
-  BOPCol_ListIteratorOfListOfShape aIt, aItIm;
+  NCollection_Map<TopoDS_Shape> aM;
+  NCollection_List<TopoDS_Shape>::Iterator aIt, aItIm;
   //
   aIt.Initialize(myArguments);
   for (; aIt.More(); aIt.Next()) {
@@ -154,7 +148,7 @@ void GEOMAlgo_Splitter::BuildResult(const TopAbs_ShapeEnum theType)
     aType=aS.ShapeType();
     if (aType==theType && !myMapTools.Contains(aS)) {
       if (myImages.IsBound(aS)) {
-        const BOPCol_ListOfShape& aLSIm=myImages.Find(aS);
+        const NCollection_List<TopoDS_Shape>& aLSIm=myImages.Find(aS);
         aItIm.Initialize(aLSIm);
         for (; aItIm.More(); aItIm.Next()) {
           const TopoDS_Shape& aSIm=aItIm.Value();
@@ -181,11 +175,11 @@ void GEOMAlgo_Splitter::PostTreat()
     Standard_Integer i, aNbS;
     BRep_Builder aBB;
     TopoDS_Compound aC;
-    BOPCol_IndexedMapOfShape aMx;
+    TopTools_IndexedMapOfShape aMx;
     //
     aBB.MakeCompound(aC);
     //
-    BOPTools::MapShapes(myShape, myLimit, aMx);
+    TopExp::MapShapes(myShape, myLimit, aMx);
     aNbS=aMx.Extent();
     for (i=1; i<=aNbS; ++i) {
       const TopoDS_Shape& aS=aMx(i);
@@ -194,9 +188,9 @@ void GEOMAlgo_Splitter::PostTreat()
     if (myLimitMode) {
       Standard_Integer iType, iLimit, iTypeX;
       TopAbs_ShapeEnum aType, aTypeX;
-      BOPCol_ListOfShape aLSP, aLSX;
-      BOPCol_ListIteratorOfListOfShape aIt, aItX, aItIm;
-      BOPCol_MapOfShape  aM;
+      NCollection_List<TopoDS_Shape> aLSP, aLSX;
+      NCollection_List<TopoDS_Shape>::Iterator aIt, aItX, aItIm;
+      NCollection_Map<TopoDS_Shape>  aM;
       //
       iLimit=(Standard_Integer)myLimit; 
       //
@@ -234,13 +228,13 @@ void GEOMAlgo_Splitter::PostTreat()
       }// for (; aIt.More(); aIt.Next()) {
       //
       aMx.Clear();
-      BOPTools::MapShapes(aC, aMx);
+      TopExp::MapShapes(aC, aMx);
        // 2. Add them to aC
       aIt.Initialize(aLSP);
       for (; aIt.More(); aIt.Next()) {
         const TopoDS_Shape& aS=aIt.Value();
         if (myImages.IsBound(aS)) {
-          const BOPCol_ListOfShape& aLSIm=myImages.Find(aS);
+          const NCollection_List<TopoDS_Shape>& aLSIm=myImages.Find(aS);
           aItIm.Initialize(aLSIm);
           for (; aItIm.More(); aItIm.Next()) {
             const TopoDS_Shape& aSIm=aItIm.Value();
@@ -265,7 +259,7 @@ void GEOMAlgo_Splitter::PostTreat()
   //
   Standard_Integer aNbS;
   TopoDS_Iterator aIt;
-  BOPCol_ListOfShape aLS;
+  NCollection_List<TopoDS_Shape> aLS;
   //
   aIt.Initialize(myShape);
   for (; aIt.More(); aIt.Next()) {
@@ -284,12 +278,12 @@ void GEOMAlgo_Splitter::PostTreat()
 //purpose  : 
 //=======================================================================
 void TreatCompound(const TopoDS_Shape& aC1, 
-                   BOPCol_ListOfShape& aLSX)
+                   NCollection_List<TopoDS_Shape>& aLSX)
 {
   Standard_Integer aNbC1;
   TopAbs_ShapeEnum aType;
-  BOPCol_ListOfShape aLC, aLC1;
-  BOPCol_ListIteratorOfListOfShape aIt, aIt1;
+  NCollection_List<TopoDS_Shape> aLC, aLC1;
+  NCollection_List<TopoDS_Shape>::Iterator aIt, aIt1;
   TopoDS_Iterator aItC;
   //
   aLC.Append (aC1);
index ad827f3e4517475677f4ce5be8b1b19ae3566c14..a698781e9d9505bb0e3073c47fc746301f7184f0 100644 (file)
@@ -36,9 +36,6 @@
 
 #include <TopoDS_Shape.hxx>
 
-#include <BOPCol_ListOfShape.hxx>
-#include <BOPCol_MapOfShape.hxx>
-
 #include <BOPAlgo_Builder.hxx>
 
 //=======================================================================
@@ -67,7 +64,7 @@
   GEOMALGOIMPL_EXPORT void AddTool(const TopoDS_Shape& theShape);
 
   /// Returns list of tool shapes
-  GEOMALGOIMPL_EXPORT const BOPCol_ListOfShape& Tools()const;
+  GEOMALGOIMPL_EXPORT const NCollection_List<TopoDS_Shape>& Tools()const;
 
   /// Set type of used shapes
   /// \param aLimit a shape type
   
  protected:
    /// List of tools
-  BOPCol_ListOfShape myTools; 
+  NCollection_List<TopoDS_Shape> myTools;
 
   /// Map of tools
-  BOPCol_MapOfShape myMapTools;        
+  NCollection_Map<TopoDS_Shape> myMapTools;
 
   /// A limit type
   TopAbs_ShapeEnum myLimit;   
index b9e7e44aef748229899c90e02e484b0fb4643e82..9afa65d1cc9c435201da180102fa89834a59b346 100755 (executable)
@@ -158,10 +158,10 @@ def check_owner(selection, topology_type, feature):
 check_owner("Extrusion_1_1/Generated_Face_1", "face", aBox)
 check_owner("Boolean_2_1/Modified_Face_3", "face", aBox)
 check_owner("Boolean_1_1/Modified_Face_1", "face", aHoleExt)
-check_owner("Boolean_2_1/Modified_Face_2", "face", aTower)
+check_owner("Boolean_2_1/Modified_Face_1", "face", aTower)
 # check edges without ambiguity
-check_owner("Boolean_2_1/Modified_Face_3&Extrusion_1_1/Generated_Face_2", "edge", aBox)
-check_owner("Boolean_2_1/Modified_Face_2&Extrusion_3_1/To_Face_1_1", "edge", aTower)
+check_owner("Boolean_2_1/Modified_Face_2&Extrusion_1_1/Generated_Face_2", "edge", aBox)
+check_owner("Boolean_2_1/Modified_Face_1&Extrusion_3_1/To_Face_1_1", "edge", aTower)
 
 # check the connected topology method: solid is not a compound of connected topology
 assert(aFuse.firstResult().shape().isConnectedTopology() == False)
index 02922ebf64c776bd2bc6daad7b6404bc19536f45..9429879bc075d56943949ad1e50053edfbcc51d6 100644 (file)
@@ -112,7 +112,7 @@ Fillet_1 = model.addFillet(Part_1_doc, Fillet_1_objects, 2)
 Group_1_objects = [model.selection("FACE", "Fillet_1_1/Modified_Face_3"), model.selection("FACE", "Fillet_1_1/Modified_Face_5"), model.selection("FACE", "Fillet_1_1/Modified_Face_9"), model.selection("FACE", "Fillet_1_1/Modified_Face_15")]
 Group_1 = model.addGroup(Part_1_doc, Group_1_objects)
 Group_2 = model.addGroup(Part_1_doc, [model.selection("EDGE", "Fillet_1_1/Fillet_Face_13&Fillet_1_1/Modified_Face_4"), model.selection("EDGE", "Fillet_1_1/Modified_Face_11&Fillet_1_1/Fillet_Face_13")])
-Group_3 = model.addGroup(Part_1_doc, [model.selection("VERTEX", "Fillet_1_1/Modified_Face_12&ExtrusionCut_1_1/Modfied_6&Fillet_1_1/Modified_Face_11"), model.selection("VERTEX", "ExtrusionCut_1_1/Modfied_6&Fillet_1_1/Modified_Face_11&Fillet_1_1/Modified_Face_6")])
+Group_3 = model.addGroup(Part_1_doc, [model.selection("VERTEX", "Fillet_1_1/Modified_Face_12&ExtrusionCut_1_1/Generated_Face_4&Fillet_1_1/Modified_Face_11"), model.selection("VERTEX", "ExtrusionCut_1_1/Generated_Face_4&Fillet_1_1/Modified_Face_11&Fillet_1_1/Modified_Face_6")])
 model.do()
 
 Folder_1 = model.addFolder(Part_1_doc, Sketch_3, ExtrusionCut_2)