Fire is now rotated and standing up-write. Found problem with fire not being directly on the boat. #story[1292]

main
David Wu 8 years ago
parent 4f838a3598
commit 1070842ada

@ -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());

@ -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);
}
}

Loading…
Cancel
Save