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.paint.PhongMaterial;
import javafx.scene.shape.MeshView; import javafx.scene.shape.MeshView;
import javafx.scene.shape.Shape3D; import javafx.scene.shape.Shape3D;
import javafx.scene.transform.Rotate;
import javafx.scene.transform.Translate; import javafx.scene.transform.Translate;
import javafx.util.Callback; import javafx.util.Callback;
import network.Messages.Enums.RaceStatusEnum; import network.Messages.Enums.RaceStatusEnum;
@ -355,6 +356,7 @@ public class RaceViewController extends Controller {
FireParticle fire = new FireParticle(); FireParticle fire = new FireParticle();
viewSubjects.add(fire); 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 // 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()); boatModel.setZ(gpsConverter.convertGPS(boat.getPosition()).getY());
//Set up fire particles //Set up fire particles
//fire.setHeading(boat.getBearing().degrees());
fire.setX(gpsConverter.convertGPS(boat.getPosition()).getX()); fire.setX(gpsConverter.convertGPS(boat.getPosition()).getX());
fire.setZ(gpsConverter.convertGPS(boat.getPosition()).getY()); fire.setZ(gpsConverter.convertGPS(boat.getPosition()).getY());

@ -36,17 +36,6 @@ public class FireParticle extends Subject3D {
MeshView fireSurface = new MeshView(plane); 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.setMaterial(material);
fireSurface.setMouseTransparent(true); fireSurface.setMouseTransparent(true);
fireSurface.toFront(); fireSurface.toFront();
@ -56,4 +45,12 @@ public class FireParticle extends Subject3D {
return fireSurface; 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