Merge remote-tracking branch 'origin/simulator' into simulator

This commit is contained in:
Nidhi Sawhney committed 2012-06-13 14:25:06 +02:00
commit fe823c21f5
4 files changed
+16 -16

No files matched your search

@@ -66,7 +66,7 @@ public class WindPatternDisplayManagerImpl implements WindPatternDisplayManager
display.addSetting(windSpeedSetting); display.addSetting(windSpeedSetting);
WindPatternSetting<Double> baseWindBearing = new WindPatternSettingSliderBar("baseWindBearing", WindPatternSetting<Double> baseWindBearing = new WindPatternSettingSliderBar("baseWindBearing",
"Average Wind Direction (Degrees)", -180, 180, 0); "Average Wind Direction (Degrees)", -20, 20, 0);
display.addSetting(baseWindBearing); display.addSetting(baseWindBearing);
WindPatternSetting<Double> frequency = new WindPatternSettingSliderBar("frequency", WindPatternSetting<Double> frequency = new WindPatternSettingSliderBar("frequency",
"Oscillation Frequency (per hr)", 0, 60, 30); "Oscillation Frequency (per hr)", 0, 60, 30);
@@ -99,7 +99,7 @@ public class PolarDiagram49 implements PolarDiagram {
else { else {
ceilingSpeed = ceilingSpeed1.getKnots() ceilingSpeed = ceilingSpeed1.getKnots()
+ (relativeBearing.getRadians() - ceilingBearing1.getRadians()) + (relativeBearing.getRadians() - ceilingBearing1.getRadians())
* (ceilingSpeed2.getKnots() - ceilingSpeed2.getKnots()) * (ceilingSpeed2.getKnots() - ceilingSpeed1.getKnots())
/ (ceilingBearing2.getRadians() - ceilingBearing1.getRadians()); / (ceilingBearing2.getRadians() - ceilingBearing1.getRadians());
} }
@@ -305,15 +305,16 @@ public class PolarDiagram49 implements PolarDiagram {
beatAngles.put(new KnotSpeedImpl(16), new DegreeBearingImpl(36.3)); beatAngles.put(new KnotSpeedImpl(16), new DegreeBearingImpl(36.3));
beatAngles.put(new KnotSpeedImpl(20), new DegreeBearingImpl(36.9)); beatAngles.put(new KnotSpeedImpl(20), new DegreeBearingImpl(36.9));
double beatScale = 4.0;
NavigableMap<Speed, Speed> beatSOG = new TreeMap<Speed, Speed>(); NavigableMap<Speed, Speed> beatSOG = new TreeMap<Speed, Speed>();
beatSOG.put(new KnotSpeedImpl(0), new KnotSpeedImpl(0)); beatSOG.put(new KnotSpeedImpl(0), new KnotSpeedImpl(0));
beatSOG.put(new KnotSpeedImpl(6), new KnotSpeedImpl(5.85)); beatSOG.put(new KnotSpeedImpl(6), new KnotSpeedImpl(5.85*beatScale));
beatSOG.put(new KnotSpeedImpl(8), new KnotSpeedImpl(6.98)); beatSOG.put(new KnotSpeedImpl(8), new KnotSpeedImpl(6.98*beatScale));
beatSOG.put(new KnotSpeedImpl(10), new KnotSpeedImpl(7.39)); beatSOG.put(new KnotSpeedImpl(10), new KnotSpeedImpl(7.39*beatScale));
beatSOG.put(new KnotSpeedImpl(12), new KnotSpeedImpl(7.68)); beatSOG.put(new KnotSpeedImpl(12), new KnotSpeedImpl(7.68*beatScale));
beatSOG.put(new KnotSpeedImpl(14), new KnotSpeedImpl(7.89)); beatSOG.put(new KnotSpeedImpl(14), new KnotSpeedImpl(7.89*beatScale));
beatSOG.put(new KnotSpeedImpl(16), new KnotSpeedImpl(7.92)); beatSOG.put(new KnotSpeedImpl(16), new KnotSpeedImpl(7.92*beatScale));
beatSOG.put(new KnotSpeedImpl(20), new KnotSpeedImpl(7.94)); beatSOG.put(new KnotSpeedImpl(20), new KnotSpeedImpl(7.94*beatScale));
NavigableMap<Speed, Bearing> gybeAngles = new TreeMap<Speed, Bearing>(); NavigableMap<Speed, Bearing> gybeAngles = new TreeMap<Speed, Bearing>();
gybeAngles.put(new KnotSpeedImpl(0), new DegreeBearingImpl(120)); gybeAngles.put(new KnotSpeedImpl(0), new DegreeBearingImpl(120));
@@ -175,7 +175,7 @@ public class RectangularBoundary implements Boundary {
Position[][] grid = new Position[vPoints][hPoints]; Position[][] grid = new Position[vPoints][hPoints];
Position pv; Position pv;
for (int i = 0; i < vPoints; i++) { for (int i = 0; i < vPoints; i++) {
System.out.print("nrow "+i+": "); //System.out.print("nrow "+i+": ");
if (i == 0) { if (i == 0) {
pv = rcStart; pv = rcStart;
@@ -189,25 +189,24 @@ public class RectangularBoundary implements Boundary {
// left side // left side
while (j < hPoints/2) { while (j < hPoints/2) {
grid[i][j] = new DegreePosition(pv.getLatDeg() - ((hPoints-1)/2.-j)/(hPoints-1)*nHor[0]*2.*lscVrt, pv.getLngDeg() - ((hPoints-1)/2.-j)/(hPoints-1)*nHor[1]*2.*lscVrt); grid[i][j] = new DegreePosition(pv.getLatDeg() - ((hPoints-1)/2.-j)/(hPoints-1)*nHor[0]*2.*lscVrt, pv.getLngDeg() - ((hPoints-1)/2.-j)/(hPoints-1)*nHor[1]*2.*lscVrt);
System.out.print(""+grid[i][j]+"("+((hPoints-1)/2.-j)+"), "); //System.out.print(""+grid[i][j]+"("+((hPoints-1)/2.-j)+"), ");
j++; j++;
} }
// middle // middle
if (hPoints%2 == 1) { if (hPoints%2 == 1) {
grid[i][j] = pv; grid[i][j] = pv;
System.out.print(""+grid[i][j]+", "); //System.out.print(""+grid[i][j]+", ");
j++; j++;
} }
// right side // right side
while (j < hPoints) { while (j < hPoints) {
grid[i][j] = new DegreePosition(pv.getLatDeg() + (j-(hPoints-1)/2.)/(hPoints-1)*nHor[0]*2.*lscVrt, pv.getLngDeg() + (j-(hPoints-1)/2.)/(hPoints-1)*nHor[1]*2.*lscVrt); grid[i][j] = new DegreePosition(pv.getLatDeg() + (j-(hPoints-1)/2.)/(hPoints-1)*nHor[0]*2.*lscVrt, pv.getLngDeg() + (j-(hPoints-1)/2.)/(hPoints-1)*nHor[1]*2.*lscVrt);
//grid[i][j] = pv.translateGreatCircle(getEast(), hStep.scale(j-(hPoints-1)/2.)); //System.out.print(""+grid[i][j]+"("+(j-(hPoints-1)/2.)+"), ");
System.out.print(""+grid[i][j]+"("+(j-(hPoints-1)/2.)+"), ");
j++; j++;
} }
System.out.println(); //System.out.println();
} }
/*System.out.println("Grid Index Test:"); /*System.out.println("Grid Index Test:");
@@ -358,7 +358,7 @@ public class SailingSimulatorImpl implements SailingSimulator {
return new PathImpl(lst, windField); return new PathImpl(lst, windField);
} }
@Override @Override
public Map<String, Path> getAllPaths() { public Map<String, Path> getAllPaths() {
Map<String, Path> allPaths = new HashMap<String, Path>(); Map<String, Path> allPaths = new HashMap<String, Path>();