31.05.2013 Views

2 Taglio della vegetazione - Intro Page - Università degli Studi di ...

2 Taglio della vegetazione - Intro Page - Università degli Studi di ...

2 Taglio della vegetazione - Intro Page - Università degli Studi di ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

If MatriceCampo(Ratt, k) > 0 Then somma += MatriceCampo(Ratt, k) 'Aggiorna il<br />

valore <strong>della</strong> somma<br />

Next<br />

Case 3 'Nel Caso <strong>di</strong> <strong>di</strong>rezione Est...<br />

For k = Catt To c 'L'in<strong>di</strong>ce si muove verso destra (le colonnee vengono incrementate)<br />

If MatriceCampo(Ratt, k) > 0 Then somma += MatriceCampo(Ratt, k) 'Aggiorna il<br />

valore <strong>della</strong> somma<br />

Next<br />

End Select<br />

ListaDirezioni(1, i) = somma 'Salva la somma sotto la <strong>di</strong>rezione corrispondente<br />

Next<br />

End Function<br />

'Resituisce la lista bi<strong>di</strong>mensionale delle somme dei valori nei semipiani nelle <strong>di</strong>rezioni che gli<br />

vengono passate<br />

Function SumSem(ByRef ListaDirezioni As Array) As Integer<br />

Dim i, Direzione As Byte<br />

Dim k, j, somma As Integer<br />

For i = 0 To ListaDirezioni.Length / 2 - 1 'Esamina tutte le <strong>di</strong>mansioni<br />

somma = 0 'Inizializza a 0 la posizione<br />

Direzione = ListaDirezioni(0, i) 'Prende la i-esima <strong>di</strong>rezione <strong>della</strong> lista<br />

Select Case Direzione<br />

Case 0 'Controlla a Nord<br />

For j = 0 To c 'Somma tutti gli elementi delle righe<br />

For k = Ratt To 0 Step -1 'Somma solo le righe in alto<br />

If MatriceCampo(k, j) > 0 Then somma += MatriceCampo(k, j) 'Se l'elemento deve<br />

essere ancora visitato incrementa la somma con il valore dell'elemento stesso<br />

Next<br />

Next<br />

Case 1 'Controlla a Sud<br />

For j = 0 To c 'Somma tutti gli elementi delle righe<br />

For k = Ratt To r 'Somma solo le righe in basso<br />

If MatriceCampo(k, j) > 0 Then somma += MatriceCampo(k, j) 'Se l'elemento deve<br />

essere ancora visitato incrementa la somma con il valore dell'elemento stesso<br />

Next<br />

Next<br />

Case 2 'Controlla a Ovest<br />

For j = 0 To r 'Somma tutti gli elementi delle colonne<br />

For k = Catt To 0 Step -1 'Somma solo le colonne a sinistra<br />

If MatriceCampo(j, k) > 0 Then somma += MatriceCampo(j, k) 'Se l'elemento deve<br />

essere ancora visitato incrementa la somma con il valore dell'eleme nto stesso<br />

Next<br />

Next<br />

Case 3 'Controlla a Est<br />

For j = 0 To r 'Somma tutti gli elementi delle colonne<br />

For k = Catt To c 'Somma solo le colonne a destra<br />

If MatriceCampo(j, k) > 0 Then somma += MatriceCampo(j, k) 'Se l'elemento deve<br />

essere ancora visitato incrementa la somma con il valore dell'elemento stesso<br />

158

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!