+/**
+ Change Strickler type for the list of faces to the given one
+ @param theFaces the faces to change type
+ @param theType the Strickler type for the given land cover(s)
+ @return if the change type operation is successful
+*/
+bool HYDROData_LandCoverMap::ChangeType( const TopTools_ListOfShape& theFaces, const QString& theType )
+{
+ HYDROData_MapOfFaceToStricklerType aFacesToChangeType;
+ TopTools_ListIteratorOfListOfShape aFIt( theFaces );
+ for( ; aFIt.More(); aFIt.Next() )
+ {
+ TopoDS_Shape aShape = aFIt.Value();
+ if( aShape.ShapeType()==TopAbs_FACE )
+ aFacesToChangeType.Add( TopoDS::Face( aShape ), "" );
+ }
+
+ int aNbChanges = 0;
+ Explorer anIt( *this );
+ for( ; anIt.More(); anIt.Next() )
+ if( aFacesToChangeType.Contains( anIt.Face() ) )
+ {
+ anIt.SetStricklerType( theType );
+ aNbChanges++;
+ }
+ if ( aNbChanges != theFaces.Extent() )
+ return false;
+
+ return true;
+}
+