fix to keep boats in the bounds

#story[#874, 873]
main
hba56 9 years ago
parent db3f4a5b2b
commit 2ac932b4f3

@ -591,15 +591,14 @@ public class Race implements Runnable {
Azimuth azimuth = Azimuth.fromBearing(boat.getBearing());
GPSCoordinate testBounds = GPSCoordinate.calculateNewPosition(boat.getCurrentPosition(),
(100.0 / Constants.NMToMetersConversion), azimuth);
//If the new vmg improves velocity, use it. //If the new vmg improves velocity, use it.
if (improvesVelocity(boat, newVMG)) { if (improvesVelocity(boat, newVMG)) {
boat.setVMG(newVMG); boat.setVMG(newVMG);
}else if (!GPSCoordinate.isInsideBoundary(boat.getCurrentPosition(), boundary)){ }else if (!GPSCoordinate.isInsideBoundary(testBounds, boundary)){
//checks to see if the new vmg sends the boat out of bounds and if so mirrors its direction in the wind //checks to see if the new vmg sends the boat out of bounds and if so mirrors its direction in the wind
Azimuth azimuth = Azimuth.fromBearing(boat.getBearing());
GPSCoordinate test = GPSCoordinate.calculateNewPosition(boat.getCurrentPosition(),
(100.0 / Constants.NMToMetersConversion), azimuth);
double currDegrees = newVMG.getBearing().degrees(); double currDegrees = newVMG.getBearing().degrees();
double windDirectionDegrees = this.windDirection.degrees(); double windDirectionDegrees = this.windDirection.degrees();
double tempHeading = (currDegrees - windDirectionDegrees +90)%360; double tempHeading = (currDegrees - windDirectionDegrees +90)%360;

Loading…
Cancel
Save