TopTools_IndexedMapOfShape argsAllSh;
TopTools_ListOfShape::Iterator it(args);
for (;it.More();it.Next())
+ {
+ const TopoDS_Shape& aSh = it.Value();
+ if (aSh.IsNull())
+ continue;
TopExp::MapShapes(it.Value(), argsAllSh);
+ }
for (int i=1;i<=argsAllSh.Extent();i++)
{
const TopoDS_Shape& arg_sh = argsAllSh(i);
if (!aPolyXY.IsNull())
{
TopoDS_Shape aSh = aPolyXY->GetShape();
- newShapes.push_back(aSh);
- anAlgo.AddArgument(aSh);
- QStringList aLS(aPolyXY->GetName());
- aShToRefObjects.Bind(aSh, aLS);
+ if (!aSh.IsNull())
+ {
+ newShapes.push_back(aSh);
+ anAlgo.AddArgument(aSh);
+ QStringList aLS(aPolyXY->GetName());
+ aShToRefObjects.Bind(aSh, aLS);
+ }
}
else
{
newshapesGroups.push_back(aGroup);
}
//
- newShapes.push_back(aSh);
- anAlgo.AddArgument(aSh);
- QStringList aLS(anObj->GetName());
- aShToRefObjects.Bind(aSh, aLS);
+ if (!aSh.IsNull())
+ {
+ newShapes.push_back(aSh);
+ anAlgo.AddArgument(aSh);
+ QStringList aLS(anObj->GetName());
+ aShToRefObjects.Bind(aSh, aLS);
+ }
}
}
}
NREGV.push_back(vect);
}
}
-
+
//iter through already existing zone
//substract new zones (NREGV) from old zones
for ( int i = 1; i <= aRegions.Size(); i++ )