Added Subject3D selection to View3D

- Changed how View3D is added to canvasBase to allow events to get through

#story[1190]
This commit is contained in:
Connor Taylor-Brown
2017-09-08 12:43:36 +12:00
parent 54baf4f884
commit b59eca1a8b
3 changed files with 30 additions and 16 deletions
@@ -175,8 +175,6 @@ public class RaceController extends Controller {
}
private void initialiseView3D(VisualiserRaceEvent race) {
int scale = 1;
viewSubjects = FXCollections.observableArrayList();
URL asset = HostController.class.getClassLoader().getResource("assets/V1.2 Complete Boat.stl");
@@ -196,12 +194,12 @@ public class RaceController extends Controller {
final GPSConverter gpsConverter = new GPSConverter(lat1, long1, lat2, long2, 450, 450);
view3D.setItems(viewSubjects);
canvasBase.getChildren().add(0, view3D);
canvasBase.add(view3D, 0, 0);
for(Mark mark: race.getVisualiserRaceState().getMarks()) {
Subject3D subject = new Subject3D(new Sphere(5));
subject.setX(gpsConverter.convertGPS(mark.getPosition()).getX() * scale);
subject.setZ(gpsConverter.convertGPS(mark.getPosition()).getY() * scale);
subject.setX(gpsConverter.convertGPS(mark.getPosition()).getX());
subject.setZ(gpsConverter.convertGPS(mark.getPosition()).getY());
viewSubjects.add(subject);
}
@@ -215,9 +213,9 @@ public class RaceController extends Controller {
@Override
public void handle(long now) {
subject.setHeading(boat.getBearing().degrees());
double x = gpsConverter.convertGPS(boat.getPosition()).getX() * scale;
double x = gpsConverter.convertGPS(boat.getPosition()).getX();
subject.setX(x);
subject.setZ(gpsConverter.convertGPS(boat.getPosition()).getY() * scale);
subject.setZ(gpsConverter.convertGPS(boat.getPosition()).getY());
if(boat.getSourceID() == race.getVisualiserRaceState().getPlayerBoatID()) {
//view3D.updatePivot(subject.getPosition());
}
@@ -227,10 +225,6 @@ public class RaceController extends Controller {
trackBoat.start();
}
view3D.updatePivot(new Translate(250, 0, 210));
racePane.setOnScroll(e -> {
view3D.updateDistance(e.getDeltaY());
});
}