diff --git a/mock/src/main/java/seng302/Model/Race.java b/mock/src/main/java/seng302/Model/Race.java index 890293cf..b795769b 100644 --- a/mock/src/main/java/seng302/Model/Race.java +++ b/mock/src/main/java/seng302/Model/Race.java @@ -49,9 +49,9 @@ public class Race implements Runnable { private List boundary; ///Wind direction bearing. - private double windDirection = 0; + private double windDirection; ///Wind speed (knots). Convert this to millimeters per second before passing to RaceStatus. - private double windSpeed = 0; + private double windSpeed; /** @@ -315,6 +315,8 @@ public class Race implements Runnable { boolean finish = boat.getCurrentLeg().getName().equals("Finish"); if (!finish) { + + double totalDistanceTravelledInTack = distanceTravelled + boat.getDistanceTravelledInTack(); double bound1 = (boat.calculateBearingToDestination() - 90) % 360; @@ -343,14 +345,10 @@ public class Race implements Runnable { VMG newHeading = boat.getPolars().calculateVMG(this.windDirection, this.windSpeed, boat.calculateBearingToDestination(), bound1, bound2); - -// if (!GPSCoordinate.isInsideBoundary(calculatePosition(boat.getCurrentPosition(), -// 1, azimuth), boundary)){ -// System.out.println("LDFSGSDFG"); -// double tempHeading = (newHeading.bearing+90)%360; -// newHeading.bearing = tempHeading; -// } - + if (!GPSCoordinate.isInsideBoundary(boat.getCurrentPosition(), boundary)){ + double tempHeading = (newHeading.getBearing() - this.windDirection +90)%360; + newHeading.setBearing(tempHeading); + } //Is this new VMG better than the current VMG? diff --git a/mock/src/main/java/seng302/Model/VMG.java b/mock/src/main/java/seng302/Model/VMG.java index 3ff1acb8..9c1c643a 100644 --- a/mock/src/main/java/seng302/Model/VMG.java +++ b/mock/src/main/java/seng302/Model/VMG.java @@ -42,4 +42,8 @@ public class VMG { public double getBearing() { return bearing; } + + public void setBearing(double bearing) { + this.bearing = bearing; + } }