|
|
|
@ -31,6 +31,7 @@ public class ResizableRaceCanvas extends Canvas {
|
|
|
|
private RaceController controller;
|
|
|
|
private RaceController controller;
|
|
|
|
private boolean raceAnno = true;
|
|
|
|
private boolean raceAnno = true;
|
|
|
|
private ArrayList<GPSCoordinate> raceBoundaries;
|
|
|
|
private ArrayList<GPSCoordinate> raceBoundaries;
|
|
|
|
|
|
|
|
double[] xpoints = {}, ypoints = {};
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Sets the boats that are to be displayed in this race.
|
|
|
|
* Sets the boats that are to be displayed in this race.
|
|
|
|
@ -164,14 +165,11 @@ public class ResizableRaceCanvas extends Canvas {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void drawBoundaries(){
|
|
|
|
public void drawBoundaries(){
|
|
|
|
gc.setFill(Color.AQUA);
|
|
|
|
if (this.raceBoundaries == null){
|
|
|
|
double xpoints[] = new double[raceBoundaries.size()];
|
|
|
|
return;
|
|
|
|
double ypoints[] = new double[raceBoundaries.size()];
|
|
|
|
|
|
|
|
for (int i = 0; i < raceBoundaries.size(); i++){
|
|
|
|
|
|
|
|
GraphCoordinate coord = map.convertGPS(raceBoundaries.get(i));
|
|
|
|
|
|
|
|
xpoints[i] = coord.getX();
|
|
|
|
|
|
|
|
ypoints[i] = coord.getY();
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
gc.setFill(Color.AQUA);
|
|
|
|
|
|
|
|
setRaceBoundCoordinates();
|
|
|
|
gc.fillPolygon(xpoints, ypoints, xpoints.length);
|
|
|
|
gc.fillPolygon(xpoints, ypoints, xpoints.length);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -248,7 +246,21 @@ public class ResizableRaceCanvas extends Canvas {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void setRaceBoundaries(ArrayList<GPSCoordinate> boundaries) {
|
|
|
|
public void setRaceBoundaries(ArrayList<GPSCoordinate> boundaries) {
|
|
|
|
this.raceBoundaries = boundaries;
|
|
|
|
this.raceBoundaries = new ArrayList<>();
|
|
|
|
|
|
|
|
for (GPSCoordinate bound: boundaries){
|
|
|
|
|
|
|
|
raceBoundaries.add(bound);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
setRaceBoundCoordinates();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void setRaceBoundCoordinates(){
|
|
|
|
|
|
|
|
xpoints = new double[this.raceBoundaries.size()];
|
|
|
|
|
|
|
|
ypoints = new double[this.raceBoundaries.size()];
|
|
|
|
|
|
|
|
for (int i = 0; i < raceBoundaries.size(); i++){
|
|
|
|
|
|
|
|
GraphCoordinate coord = map.convertGPS(raceBoundaries.get(i));
|
|
|
|
|
|
|
|
xpoints[i] = coord.getX();
|
|
|
|
|
|
|
|
ypoints[i] = coord.getY();
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
|