+ if ( !aShell.IsNull() ) {
+ TopTools_IndexedMapOfShape aMapOfFaces;
+ TopExp::MapShapes( aShell, TopAbs_FACE, aMapOfFaces );
+ if ( aMapOfFaces.Extent() != aFacesList.Extent() ) {
+ aShell.Nullify();
+ BRep_Builder aBuilder;
+ aBuilder.MakeShell( aShell );
+
+ TopTools_ListIteratorOfListOfShape anIter( aFacesList );
+ for ( ; anIter.More(); anIter.Next() ) {
+ TopoDS_Face aFace = TopoDS::Face( anIter.Value() );
+ aBuilder.Add( aShell, aFace );
+ }
+ }
+ }
+