public static void pipeMagnitude ( double [ ] magnitude , double [ ] whereDrain , IHMProgressMonitor pm ) { int count = 0 ; /* whereDrain Contiene gli indici degli stati riceventi. */ /* magnitude Contiene la magnitude dei vari stati. */ int length = magnitude . length ; /* Per ogni stato */ for ( int i = 0 ; i < length ; i ++ ) { count = 0 ; /* la magnitude viene posta pari a 1 */ magnitude [ i ] ++ ; int k = i ; /* * Si segue il percorso dell'acqua e si incrementa di 1 la mgnitude * di tutti gli stati attraversati prima di raggiungere l'uscita */ while ( whereDrain [ k ] != Constants . OUT_INDEX_PIPE && count < length ) { k = ( int ) whereDrain [ k ] ; magnitude [ k ] ++ ; count ++ ; } if ( count > length ) { pm . errorMessage ( msg . message ( "trentoP.error.pipe" ) ) ; throw new IllegalArgumentException ( msg . message ( "trentoP.error.pipe" ) ) ; } } }
Calculate the magnitudo of the several drainage area .