+
+ if( theShape.IsNull() )
+ return;
+
+ int i = 0;
+ //show all faces first
+ TopTools_ListOfShape aListOfFaces;
+ TopExp_Explorer aFE( theShape, TopAbs_FACE );
+ for( ; aFE.More(); aFE.Next() )
+ aListOfFaces.Append(aFE.Current());
+ GEOMUtils::SortShapes(aListOfFaces);
+ TopTools_ListIteratorOfListOfShape aLF(aListOfFaces);
+ for( ; aLF.More(); aLF.Next(), i++)
+ show( aLF.Value(), theMode, false, GetColor(i), theUIANb, theVIANb );
+
+ //show all independent wires
+ TopTools_ListOfShape aListOfWires;
+ TopExp_Explorer aWE( theShape, TopAbs_WIRE, TopAbs_FACE );
+ for( ; aWE.More(); aWE.Next() )
+ aListOfWires.Append(aWE.Current());
+ GEOMUtils::SortShapes(aListOfWires);
+ TopTools_ListIteratorOfListOfShape aLW(aListOfWires);
+ for( ; aLW.More(); aLW.Next(), i++)
+ show( aLW.Value(), theMode, false, GetColor(i) );
+
+ //show all independent edges
+ TopTools_ListOfShape aListOfEdges;
+ TopExp_Explorer anEE( theShape, TopAbs_EDGE, TopAbs_WIRE );
+ for( ; anEE.More(); anEE.Next())
+ aListOfEdges.Append(anEE.Current());
+ GEOMUtils::SortShapes(aListOfEdges);
+ TopTools_ListIteratorOfListOfShape aLE(aListOfEdges);
+ for( ; aLE.More(); aLE.Next(), i++)
+ show( aLE.Value(), theMode, false, GetColor(i) );
+
+ if( isFitAll )
+ fitAll();