diff --git a/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java b/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java index 00956d4b..aaf9b79f 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java @@ -25,6 +25,7 @@ import javafx.scene.paint.Material; import javafx.scene.paint.PhongMaterial; import javafx.scene.shape.MeshView; import javafx.scene.shape.Shape3D; +import javafx.scene.transform.Rotate; import javafx.scene.transform.Translate; import javafx.util.Callback; import network.Messages.Enums.RaceStatusEnum; @@ -355,6 +356,7 @@ public class RaceViewController extends Controller { FireParticle fire = new FireParticle(); viewSubjects.add(fire); + fire.rotateView((double) -90, fire.getPosition().getX(), fire.getPosition().getY(), fire.getPosition().getZ(), Rotate.X_AXIS); // Track this boat's movement with the new subject @@ -366,6 +368,7 @@ public class RaceViewController extends Controller { boatModel.setZ(gpsConverter.convertGPS(boat.getPosition()).getY()); //Set up fire particles + //fire.setHeading(boat.getBearing().degrees()); fire.setX(gpsConverter.convertGPS(boat.getPosition()).getX()); fire.setZ(gpsConverter.convertGPS(boat.getPosition()).getY()); diff --git a/racevisionGame/src/main/java/visualiser/layout/FireParticle.java b/racevisionGame/src/main/java/visualiser/layout/FireParticle.java index dcc03a90..c99594d4 100644 --- a/racevisionGame/src/main/java/visualiser/layout/FireParticle.java +++ b/racevisionGame/src/main/java/visualiser/layout/FireParticle.java @@ -36,17 +36,6 @@ public class FireParticle extends Subject3D { MeshView fireSurface = new MeshView(plane); - - fireSurface.setRotationAxis(new Point3D(1, 0, 0)); - fireSurface.translateXProperty().setValue(-10); - fireSurface.translateZProperty().setValue(-10); - - fireSurface.rotateProperty().setValue(90); - - fireSurface.translateXProperty().setValue(10); - fireSurface.translateZProperty().setValue(10); - - fireSurface.setMaterial(material); fireSurface.setMouseTransparent(true); fireSurface.toFront(); @@ -56,4 +45,12 @@ public class FireParticle extends Subject3D { return fireSurface; } + public void rotateView(Double angle, Double pivotX, Double pivotY, Double pivotZ, Point3D axis){ + Rotate rotate = new Rotate(angle, axis); + rotate.setPivotX(pivotX); + rotate.setPivotY(pivotY); + rotate.setPivotZ(pivotZ); + this.getMesh().getTransforms().add(rotate); + } + }