|
|
|
@ -28,6 +28,7 @@ import shared.model.Mark;
|
|
|
|
import visualiser.app.App;
|
|
|
|
import visualiser.app.App;
|
|
|
|
import visualiser.gameController.ControllerClient;
|
|
|
|
import visualiser.gameController.ControllerClient;
|
|
|
|
import visualiser.gameController.Keys.ControlKey;
|
|
|
|
import visualiser.gameController.Keys.ControlKey;
|
|
|
|
|
|
|
|
import visualiser.layout.MarkRadius;
|
|
|
|
import visualiser.layout.Subject3D;
|
|
|
|
import visualiser.layout.Subject3D;
|
|
|
|
import visualiser.layout.View3D;
|
|
|
|
import visualiser.layout.View3D;
|
|
|
|
import visualiser.model.*;
|
|
|
|
import visualiser.model.*;
|
|
|
|
@ -178,8 +179,6 @@ public class RaceController extends Controller {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void initialiseView3D(VisualiserRaceEvent race) {
|
|
|
|
private void initialiseView3D(VisualiserRaceEvent race) {
|
|
|
|
int scale = 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ObservableList<Subject3D> subjects = FXCollections.observableArrayList();
|
|
|
|
ObservableList<Subject3D> subjects = FXCollections.observableArrayList();
|
|
|
|
|
|
|
|
|
|
|
|
//read 3d Assets
|
|
|
|
//read 3d Assets
|
|
|
|
@ -216,13 +215,17 @@ public class RaceController extends Controller {
|
|
|
|
|
|
|
|
|
|
|
|
for(Mark mark: race.getVisualiserRaceState().getMarks()) {
|
|
|
|
for(Mark mark: race.getVisualiserRaceState().getMarks()) {
|
|
|
|
MeshView mesh = new MeshView(importerMark.getImport());
|
|
|
|
MeshView mesh = new MeshView(importerMark.getImport());
|
|
|
|
Subject3D subject = new Subject3D(mesh);
|
|
|
|
Subject3D markModel = new Subject3D(mesh);
|
|
|
|
// subject.setX(mark.getPosition().getLongitude() * scale);
|
|
|
|
Subject3D markRadius = new MarkRadius(3);
|
|
|
|
// subject.setZ(mark.getPosition().getLatitude()* scale);
|
|
|
|
double x = gpsConverter.convertGPS(mark.getPosition()).getX();
|
|
|
|
subject.setX(gpsConverter.convertGPS(mark.getPosition()).getX() * scale);
|
|
|
|
double z = gpsConverter.convertGPS(mark.getPosition()).getY();
|
|
|
|
subject.setZ(gpsConverter.convertGPS(mark.getPosition()).getY() * scale);
|
|
|
|
markModel.setX(x);
|
|
|
|
|
|
|
|
markModel.setZ(z);
|
|
|
|
subjects.add(subject);
|
|
|
|
markRadius.setX(x);
|
|
|
|
|
|
|
|
markRadius.setZ(z);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
subjects.add(markModel);
|
|
|
|
|
|
|
|
subjects.add(markRadius);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
for(VisualiserBoat boat: race.getVisualiserRaceState().getBoats()) {
|
|
|
|
for(VisualiserBoat boat: race.getVisualiserRaceState().getBoats()) {
|
|
|
|
@ -238,13 +241,8 @@ public class RaceController extends Controller {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void handle(long now) {
|
|
|
|
public void handle(long now) {
|
|
|
|
subject.setHeading(boat.getBearing().degrees());
|
|
|
|
subject.setHeading(boat.getBearing().degrees());
|
|
|
|
// subject.setHeading(0);
|
|
|
|
subject.setX(gpsConverter.convertGPS(boat.getPosition()).getX());
|
|
|
|
// subject.setX(boat.getPosition().getLongitude() * scale);
|
|
|
|
subject.setZ(gpsConverter.convertGPS(boat.getPosition()).getY());
|
|
|
|
// subject.setZ(boat.getPosition().getLatitude()* scale);
|
|
|
|
|
|
|
|
double x = gpsConverter.convertGPS(boat.getPosition()).getX() * scale;
|
|
|
|
|
|
|
|
//System.out.println(x);
|
|
|
|
|
|
|
|
subject.setX(x);
|
|
|
|
|
|
|
|
subject.setZ(gpsConverter.convertGPS(boat.getPosition()).getY() * scale);
|
|
|
|
|
|
|
|
if(boat.getSourceID() == race.getVisualiserRaceState().getPlayerBoatID()) {
|
|
|
|
if(boat.getSourceID() == race.getVisualiserRaceState().getPlayerBoatID()) {
|
|
|
|
//view3D.updatePivot(subject.getPosition());
|
|
|
|
//view3D.updatePivot(subject.getPosition());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|