diff --git a/racevisionGame/src/main/java/visualiser/Controllers/HostController.java b/racevisionGame/src/main/java/visualiser/Controllers/HostController.java index 6d11e65e..ed34a2c6 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/HostController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/HostController.java @@ -1,5 +1,6 @@ package visualiser.Controllers; +import com.interactivemesh.jfx.importer.stl.StlMeshImporter; import javafx.fxml.FXML; import javafx.scene.control.Alert; import javafx.scene.control.ButtonType; @@ -8,6 +9,9 @@ import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.GridPane; import javafx.scene.shape.Box; +import javafx.scene.shape.Mesh; +import javafx.scene.shape.MeshView; +import javafx.scene.transform.Rotate; import mock.app.Event; import mock.exceptions.EventConstructionException; import visualiser.model.View3D; @@ -59,10 +63,18 @@ public class HostController extends Controller { view3D = new View3D(); playerContainer.add(view3D, 0,0); - Box box = new Box(100, 100, 100); - view3D.addShape(box); - view3D.setPivot(box); - view3D.setDistance(500); + URL asset = HostController.class.getClassLoader().getResource("assets/V1.2 Complete Boat.stl"); + + StlMeshImporter importer = new StlMeshImporter(); + importer.read(asset); + MeshView mesh = new MeshView(importer.getImport()); + + mesh.getTransforms().add(new Rotate(-90, Rotate.X_AXIS)); + + view3D.addShape(mesh); + view3D.setPivot(mesh); + view3D.setDistance(50); + view3D.setYaw(45); view3D.setPitch(20); } diff --git a/racevisionGame/src/main/java/visualiser/model/View3D.java b/racevisionGame/src/main/java/visualiser/model/View3D.java index 936b7fbc..bd4b4dd0 100644 --- a/racevisionGame/src/main/java/visualiser/model/View3D.java +++ b/racevisionGame/src/main/java/visualiser/model/View3D.java @@ -9,9 +9,6 @@ import javafx.scene.shape.Shape3D; import javafx.scene.transform.Rotate; import javafx.scene.transform.Translate; -import java.util.ArrayList; -import java.util.List; - /** * Control for rendering 3D objects visible through a PerspectiveCamera. Implements Adapter Pattern to * interface with camera, and allows clients to add shapes to the scene. All scenes contain sea plane and diff --git a/racevisionGame/src/main/resources/assets/V1.2 Complete Boat.stl b/racevisionGame/src/main/resources/assets/V1.2 Complete Boat.stl new file mode 100644 index 00000000..a952ca77 Binary files /dev/null and b/racevisionGame/src/main/resources/assets/V1.2 Complete Boat.stl differ