From b2218270e02c6ad1ab94893a12350fccb4c3eebe Mon Sep 17 00:00:00 2001 From: "Christopher Ronnewinkel (D036654)" Date: Thu, 3 Apr 2014 20:48:47 +0200 Subject: [PATCH] fix updating time-panel; balance boundaries for random position of particles; --- .../com/sap/sailing/gwt/ui/simulator/SimulatorMap.java | 3 ++- java/com.sap.sailing.gwt.ui/wind-streamlets.js | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/simulator/SimulatorMap.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/simulator/SimulatorMap.java index 44236a27ac5..400f6eec144 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/simulator/SimulatorMap.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/simulator/SimulatorMap.java @@ -209,6 +209,7 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ if (timePanel != null) { timePanel.setMinMax(new Date(startTime), new Date(startTime + maxDurationTime), true); timePanel.resetTimeSlider(); + timePanel.timeChanged(windParams.getStartTime(), null); } /** @@ -636,7 +637,7 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ } timePanel.setMinMax(windParams.getStartTime(), windParams.getEndTime(), true); timePanel.resetTimeSlider(); - //timer.setTime(windParams.getStartTime().getTime()); + timePanel.timeChanged(windParams.getStartTime(), null); busyIndicator.setBusy(false); } diff --git a/java/com.sap.sailing.gwt.ui/wind-streamlets.js b/java/com.sap.sailing.gwt.ui/wind-streamlets.js index 186773b8cf4..4e2e7dd0b86 100644 --- a/java/com.sap.sailing.gwt.ui/wind-streamlets.js +++ b/java/com.sap.sailing.gwt.ui/wind-streamlets.js @@ -147,6 +147,10 @@ var VectorField = function(data) { this.rcEnd = data.rcEnd; this.resY = data.resY; this.resX = data.resX; + this.bdXi = 1.0 / 2.0 / (this.resY - 1); + this.bdPhi = 1.0 + 2*this.bdXi; + this.bdA = { lat:this.rcEnd.lat+(this.rcEnd.lat-this.rcStart.lat)*this.bdXi, lng:this.rcEnd.lng+(this.rcEnd.lng-this.rcStart.lng)*this.bdXi }; + this.bdB = { lat:(this.rcStart.lat-this.rcEnd.lat)*this.bdPhi, lng:(this.rcStart.lng-this.rcEnd.lng)*this.bdPhi }; this.xScale = data.xScale; this.x0 = data.boundsSW.lng; this.x1 = data.boundsNE.lng; @@ -177,8 +181,8 @@ var VectorField = function(data) { VectorField.prototype.getRandomPosition = function() { var rndY = Math.random(); var rndX = Math.random() - 0.5; - var latP = rndY * this.rcStart.lat + (1.0 - rndY) * this.rcEnd.lat + rndX * this.gvX.lat; - var lngP = rndY * this.rcStart.lng + (1.0 - rndY) * this.rcEnd.lng + rndX * this.gvX.lng; + var latP = this.bdA.lat + rndY * this.bdB.lat + rndX * this.gvX.lat; + var lngP = this.bdA.lng + rndY * this.bdB.lng + rndX * this.gvX.lng; return {lat:latP, lng:lngP}; };