#include <BOPAlgo_PaveFiller.hxx>
#include <NCollection_DataMap.hxx>
#include <TopTools_ListOfShape.hxx>
-#include <TopTools_ListIteratorofListOfShape.hxx>
+#include <TopTools_ListIteratorOfListOfShape.hxx>
#include <TopTools_ShapeMapHasher.hxx>
typedef NCollection_DataMap<TopoDS_Shape, TopTools_ListOfShape, TopTools_ShapeMapHasher> HYDROData_DataMapOfShapeListOfShape;
typedef HYDROData_DataMapOfShapeListOfShape::Iterator HYDROData_DataMapIteratorOfDataMapOfShapeListOfShape;
// Step 3. Collect history
HYDROData_DataMapOfShapeListOfShape aDM1;
- anIt.Init(aLS);
+ anIt.Init(aLS);
for (;anIt.More();anIt.Next()) {
- const TopTools_ListOfShape& aListOfNew = aBuilder->Modified(anIt.Value());
- aDM1.Bind(anIt.Value(), aListOfNew);
+ const TopTools_ListOfShape& aListOfNew = aBuilder->Modified(anIt.Value());
+ TopTools_ListOfShape aList;
+ TopTools_ListIteratorOfListOfShape it1(aListOfNew);
+ for(;it1.More();it1.Next())
+ aList.Append(it1.Value());
+ const TopTools_ListOfShape& aListOfGen = aBuilder->Generated(anIt.Value());
+ TopTools_ListIteratorOfListOfShape it2(aListOfGen);
+ for(;it2.More();it2.Next())
+ aList.Append(it2.Value());
+
+ aDM1.Bind(anIt.Value(), aList);
//cout << "NB_Face = " << aList.Extent() <<endl;
//TopExp_Explorer exp (anIt.Value(), TopAbs_EDGE);
//for (;exp.More();exp.Next()) {
// cout << "NB_EDGE = " << aList2.Extent() <<endl;
//}
}
+
// aDM2: NewShape ==> ListOfOldShapes
HYDROData_DataMapOfShapeListOfShape aDM2;
HYDROData_DataMapIteratorOfDataMapOfShapeListOfShape aMIt(aDM1);
}
}
}
-
+ //cout << "DM2 Ext = " <<aDM2.Extent() <<endl;
// Step 4. Fill output structure.
aMIt.Initialize(aDM2);
for(;aMIt.More();aMIt.Next()) {