Bound zooming action to zoom keys

- View3D subject selection is no longer enabled by default
- Added documentation

#story[1190]
This commit is contained in:
Connor Taylor-Brown
2017-09-08 15:49:53 +12:00
parent 1efec06bdc
commit 68f434b6b6
4 changed files with 59 additions and 40 deletions
@@ -26,6 +26,7 @@ import shared.model.Mark;
import visualiser.app.App;
import visualiser.gameController.ControllerClient;
import visualiser.gameController.Keys.ControlKey;
import visualiser.gameController.Keys.KeyFactory;
import visualiser.layout.Subject3D;
import visualiser.layout.View3D;
import visualiser.model.*;
@@ -185,15 +186,12 @@ public class RaceController extends Controller {
view3D.setDistance(1050);
view3D.setYaw(0);
view3D.setPitch(60);
RaceDataSource raceData = visualiserRace.getVisualiserRaceState().getRaceDataSource();
double lat1 = raceData.getMapTopLeft().getLatitude();
double long1 = raceData.getMapTopLeft().getLongitude();
double lat2 = raceData.getMapBottomRight().getLatitude();
double long2 = raceData.getMapBottomRight().getLongitude();
final GPSConverter gpsConverter = new GPSConverter(lat1, long1, lat2, long2, 450, 450);
RaceDataSource raceData = visualiserRace.getVisualiserRaceState().getRaceDataSource();
final GPSConverter gpsConverter = new GPSConverter(raceData, 450, 450);
view3D.setItems(viewSubjects);
view3D.enableTracking();
canvasBase.add(view3D, 0, 0);
for(Mark mark: race.getVisualiserRaceState().getMarks()) {
@@ -213,13 +211,8 @@ public class RaceController extends Controller {
@Override
public void handle(long now) {
subject.setHeading(boat.getBearing().degrees());
double x = gpsConverter.convertGPS(boat.getPosition()).getX();
subject.setX(x);
subject.setX(gpsConverter.convertGPS(boat.getPosition()).getX());
subject.setZ(gpsConverter.convertGPS(boat.getPosition()).getY());
if(boat.getSourceID() == race.getVisualiserRaceState().getPlayerBoatID()) {
//view3D.updatePivot(subject.getPosition());
}
//view3D.setYaw(boat.getBearing().degrees());
}
};
trackBoat.start();
@@ -229,6 +222,13 @@ public class RaceController extends Controller {
view3D.setOnScroll(e -> {
view3D.updateDistance(e.getDeltaY());
});
racePane.addEventFilter(KeyEvent.KEY_PRESSED, e -> {
switch(keyFactory.getKey(e.getCode().toString()).toString()) {
case "Zoom In": view3D.updateDistance(-10); break;
case "Zoom Out": view3D.updateDistance(10); break;
}
});
}