// make limiting face
HYDROData_DataMapOfShapeListOfShape aDM4;
Standard_Boolean hasLimits(Standard_False);
+ QString aBndName;
+ HYDROData_MapOfShape aBndView;
if (! thePolyline.IsNull()) {
const TopoDS_Wire aBndWire = TopoDS::Wire(thePolyline->GetShape());
if(!aBndWire.IsNull()) {
#ifdef DEB_SPLIT_TO_ZONES
BRepTools::Write(aComResult,"CommonV.brep");
#endif
-
+ aBndName = thePolyline->GetName();
hasLimits = Standard_True; // DM2 should be filled here
+ TopExp_Explorer exp (limFace, TopAbs_EDGE);
+ for (int i =1;exp.More();exp.Next(),i++) {
+ const TopoDS_Shape& anEdge = exp.Current();
+ if(anEdge.IsNull()) continue;
+ aBndView.Add(anEdge);
+ }
HYDROData_MapOfShape aView;
- TopExp_Explorer exp (aResult, TopAbs_FACE);
+ exp.Init (aResult, TopAbs_FACE);
for (int i =1;exp.More();exp.Next(),i++) {
const TopoDS_Shape& aFace = exp.Current();
if(!aFace.IsNull()) {
for(int j =1;it.More();it.Next(),j++) {
const TopoDS_Shape& aSh = it.Value(); //old
if(aDM3.IsBound(aSh)) {
- const QStringList& ObjectNames = aDM3.Find(aSh);
+ const QStringList& ObjectNames = aDM3.Find(aSh);
aListOfNames.append(ObjectNames);
#ifdef DEB_SPLIT_TO_ZONES
TCollection_AsciiString aName = aNam4 + i +"_" + j + ".brep";
BRepTools::Write(aSh ,aName.ToCString());
#endif
- }
+ } else {
+ if(aBndView.Contains(aSh) && hasLimits) {
+ aListOfNames.append(aBndName);
+#ifdef DEB_SPLIT_TO_ZONES
+ cout << " BndName = "<<aBndName.toStdString() <<endl;
+#endif
+ }
+ }
}
aDestSplitData.ObjectNames = aListOfNames;