Showing
1 changed file
with
8 additions
and
2 deletions
... | @@ -408,8 +408,14 @@ int time_to_collision(RangeId id1, RangeId id2){ | ... | @@ -408,8 +408,14 @@ int time_to_collision(RangeId id1, RangeId id2){ |
408 | else X_in := 0; | 408 | else X_in := 0; |
409 | // X_out if faster B | 409 | // X_out if faster B |
410 | if(vx_a < vx_b){ | 410 | if(vx_a < vx_b){ |
411 | - if(((px_b-px_a-C_len)*GranX)/((vx_b-vx_a)*GranV) < 100) X_out := ((px_b-px_a-C_len)*GranX*scale)/((vx_b-vx_a)*GranV); | 411 | + if(px_b-px_a-C_len > 0){ |
412 | - else X_out := 100*scale; | 412 | + if(((px_b-px_a-C_len)*GranX)/((vx_b-vx_a)*GranV) < 100) X_out := ((px_b-px_a-C_len)*GranX*scale)/((vx_b-vx_a)*GranV); |
413 | + else X_out := 100*scale; | ||
414 | + } | ||
415 | + else{ | ||
416 | + if(((C_len-(px_b-px_a))*GranX)/((vx_b-vx_a)*GranV) < 100) X_out := ((C_len-(px_b-px_a))*GranX*scale)/((vx_b-vx_a)*GranV); | ||
417 | + else X_out := 100*scale; | ||
418 | + } | ||
413 | } | 419 | } |
414 | // X_out if equal speed | 420 | // X_out if equal speed |
415 | else{ | 421 | else{ | ... | ... |
-
Please register or login to post a comment