You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

307 lines
8.5 KiB

package seng302.Model;
import java.util.ArrayList;
import static java.lang.Math.abs;
/**
* Created by hba56 on 10/05/17.
*/
public class Polar {
private double trueWindSpeed;
private double upTrueWindAngel;
private double upBoatSpeed;
private double downTrueWindAngle;
private double downBoatSpeed;
private double trueWindAngle0;
private double boatSpeed0;
private double trueWindAngle1;
private double boatSpeed1;
private double trueWindAngle2;
private double boatSpeed2;
private double trueWindAngle3;
private double boatSpeed3;
private double trueWindAngle4;
private double boatSpeed4;
private double trueWindAngle5;
private double boatSpeed5;
private double trueWindAngle6;
private double boatSpeed6;
private double trueWindAngle7;
private double boatSpeed7;
private ArrayList<double[]> trueWindAngles = new ArrayList<double[]>();
/**
* basic constructor
*/
public Polar() {
}
/**
* constructor for a single boat polar
* @param trueWindSpeed the true wind angle to the boat
* @param upTrueWindAngel the true up wind angle
* @param upBoatSpeed the boat speed for up wind
* @param downTrueWindAngle the true down wind angle
* @param downBoatSpeed the boat speed for down wind
* @param trueWindAngle0 the true wind angle option 0
* @param boatSpeed0 the boat speed for option 0
* @param trueWindAngle1 the true wind angle option 0
* @param boatSpeed1 the boat speed for option 0
* @param trueWindAngle2 the true wind angle option 0
* @param boatSpeed2 the boat speed for option 0
* @param trueWindAngle3 the true wind angle option 0
* @param boatSpeed3 the boat speed for option 0
* @param trueWindAngle4 the true wind angle option 0
* @param boatSpeed4 the boat speed for option 0
* @param trueWindAngle5 the true wind angle option 0
* @param boatSpeed5 the boat speed for option 0
* @param trueWindAngle6 the true wind angle option 0
* @param boatSpeed6 the boat speed for option 0
* @param trueWindAngle7 the true wind angle option 0
* @param boatSpeed7 the boat speed for option 0
*/
public Polar(Integer trueWindSpeed, Integer upTrueWindAngel, Integer upBoatSpeed, Integer downTrueWindAngle,
Integer downBoatSpeed, Integer trueWindAngle0, Integer boatSpeed0, Integer trueWindAngle1,
Integer boatSpeed1, Integer trueWindAngle2, Integer boatSpeed2, Integer trueWindAngle3,
Integer boatSpeed3, Integer trueWindAngle4, Integer boatSpeed4, Integer trueWindAngle5,
Integer boatSpeed5, Integer trueWindAngle6, Integer boatSpeed6, Integer trueWindAngle7,
Integer boatSpeed7) {
this.trueWindSpeed = trueWindSpeed;
this.upTrueWindAngel = upTrueWindAngel;
this.upBoatSpeed = upBoatSpeed;
this.downTrueWindAngle = downTrueWindAngle;
this.downBoatSpeed = downBoatSpeed;
this.trueWindAngle0 = trueWindAngle0;
this.boatSpeed0 = boatSpeed0;
this.trueWindAngle1 = trueWindAngle1;
this.boatSpeed1 = boatSpeed1;
this.trueWindAngle2 = trueWindAngle2;
this.boatSpeed2 = boatSpeed2;
this.trueWindAngle3 = trueWindAngle3;
this.boatSpeed3 = boatSpeed3;
this.trueWindAngle4 = trueWindAngle4;
this.boatSpeed4 = boatSpeed4;
this.trueWindAngle5 = trueWindAngle5;
this.boatSpeed5 = boatSpeed5;
this.trueWindAngle6 = trueWindAngle6;
this.boatSpeed6 = boatSpeed6;
this.trueWindAngle7 = trueWindAngle7;
this.boatSpeed7 = boatSpeed7;
double[] option0 = new double[2];
option0[0] = trueWindAngle0;
option0[1] = boatSpeed0;
double[] option1 = new double[2];
option1[0] = trueWindAngle1;
option1[1] = boatSpeed1;
double[] option2 = new double[2];
option2[0] = trueWindAngle2;
option2[1] = boatSpeed2;
double[] option3 = new double[2];
option3[0] = trueWindAngle3;
option3[1] = boatSpeed3;
double[] option4 = new double[2];
option4[0] = trueWindAngle4;
option4[1] = boatSpeed4;
double[] option5 = new double[2];
option5[0] = trueWindAngle5;
option5[1] = boatSpeed5;
double[] option6 = new double[2];
option6[0] = trueWindAngle6;
option6[1] = boatSpeed6;
double[] option7 = new double[2];
option7[0] = trueWindAngle7;
option7[1] = boatSpeed7;
this.trueWindAngles.add(option0);
this.trueWindAngles.add(option1);
this.trueWindAngles.add(option2);
this.trueWindAngles.add(option3);
this.trueWindAngles.add(option4);
this.trueWindAngles.add(option5);
this.trueWindAngles.add(option6);
this.trueWindAngles.add(option7);
}
public double getTrueWindSpeed() {
return trueWindSpeed;
}
public void setTrueWindSpeed(double trueWindSpeed) {
this.trueWindSpeed = trueWindSpeed;
}
public double getUpTrueWindAngel() {
return upTrueWindAngel;
}
public void setUpTrueWindAngel(double upTrueWindAngel) {
this.upTrueWindAngel = upTrueWindAngel;
}
public double getUpBoatSpeed() {
return upBoatSpeed;
}
public void setUpBoatSpeed(double upBoatSpeed) {
this.upBoatSpeed = upBoatSpeed;
}
public double getDownTrueWindAngle() {
return downTrueWindAngle;
}
public void setDownTrueWindAngle(double downTrueWindAngle) {
this.downTrueWindAngle = downTrueWindAngle;
}
public double getDownBoatSpeed() {
return downBoatSpeed;
}
public void setDownBoatSpeed(double downBoatSpeed) {
this.downBoatSpeed = downBoatSpeed;
}
public double getTrueWindAngle0() {
return trueWindAngle0;
}
public void setTrueWindAngle0(double trueWindAngle0) {
this.trueWindAngle0 = trueWindAngle0;
}
public double getBoatSpeed0() {
return boatSpeed0;
}
public void setBoatSpeed0(double boatSpeed0) {
this.boatSpeed0 = boatSpeed0;
}
public double getTrueWindAngle1() {
return trueWindAngle1;
}
public void setTrueWindAngle1(double trueWindAngle1) {
this.trueWindAngle1 = trueWindAngle1;
}
public double getBoatSpeed1() {
return boatSpeed1;
}
public void setBoatSpeed1(double boatSpeed1) {
this.boatSpeed1 = boatSpeed1;
}
public double getTrueWindAngle2() {
return trueWindAngle2;
}
public void setTrueWindAngle2(double trueWindAngle2) {
this.trueWindAngle2 = trueWindAngle2;
}
public double getBoatSpeed2() {
return boatSpeed2;
}
public void setBoatSpeed2(double boatSpeed2) {
this.boatSpeed2 = boatSpeed2;
}
public double getTrueWindAngle3() {
return trueWindAngle3;
}
public void setTrueWindAngle3(double trueWindAngle3) {
this.trueWindAngle3 = trueWindAngle3;
}
public double getBoatSpeed3() {
return boatSpeed3;
}
public void setBoatSpeed3(double boatSpeed3) {
this.boatSpeed3 = boatSpeed3;
}
public double getTrueWindAngle4() {
return trueWindAngle4;
}
public void setTrueWindAngle4(double trueWindAngle4) {
this.trueWindAngle4 = trueWindAngle4;
}
public double getBoatSpeed4() {
return boatSpeed4;
}
public void setBoatSpeed4(double boatSpeed4) {
this.boatSpeed4 = boatSpeed4;
}
public double getTrueWindAngle5() {
return trueWindAngle5;
}
public void setTrueWindAngle5(double trueWindAngle5) {
this.trueWindAngle5 = trueWindAngle5;
}
public double getBoatSpeed5() {
return boatSpeed5;
}
public void setBoatSpeed5(double boatSpeed5) {
this.boatSpeed5 = boatSpeed5;
}
public double getTrueWindAngle6() {
return trueWindAngle6;
}
public void setTrueWindAngle6(double trueWindAngle6) {
this.trueWindAngle6 = trueWindAngle6;
}
public double getBoatSpeed6() {
return boatSpeed6;
}
public void setBoatSpeed6(double boatSpeed6) {
this.boatSpeed6 = boatSpeed6;
}
public double getTrueWindAngle7() {
return trueWindAngle7;
}
public void setTrueWindAngle7(double trueWindAngle7) {
this.trueWindAngle7 = trueWindAngle7;
}
public double getBoatSpeed7() {
return boatSpeed7;
}
public void setBoatSpeed7(double boatSpeed7) {
this.boatSpeed7 = boatSpeed7;
}
}