diff --git a/racevisionGame/pom.xml b/racevisionGame/pom.xml index 41157414..16afe756 100644 --- a/racevisionGame/pom.xml +++ b/racevisionGame/pom.xml @@ -54,6 +54,11 @@ 9.0 + + InteractiveMesh + STLImporter + 0_4_1 + @@ -72,7 +77,11 @@ http://download.osgeo.org/webdav/geotools/ - + + interactivemesh + Interactive Mesh + http://umbrasheep.com:8888/repository/internal/ + diff --git a/racevisionGame/src/main/java/visualiser/Controllers/HostController.java b/racevisionGame/src/main/java/visualiser/Controllers/HostController.java index 9f96ad55..53be0471 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/HostController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/HostController.java @@ -6,8 +6,10 @@ import javafx.scene.control.ButtonType; import javafx.scene.control.SplitPane; import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; +import javafx.scene.layout.GridPane; import mock.app.Event; import mock.exceptions.EventConstructionException; +import visualiser.model.View3D; import java.io.IOException; import java.net.Socket; @@ -44,11 +46,18 @@ public class HostController extends Controller { @FXML AnchorPane specPane; + @FXML + GridPane playerContainer; + private Event game; + private View3D fancyStuff; @Override public void initialize(URL location, ResourceBundle resources) { + fancyStuff = new View3D(); + playerContainer.add(fancyStuff, 0,0); + fancyStuff.spinBox(); } /** diff --git a/racevisionGame/src/main/java/visualiser/Controllers/LobbyController.java b/racevisionGame/src/main/java/visualiser/Controllers/LobbyController.java index 07af2b49..d541c531 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/LobbyController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/LobbyController.java @@ -21,7 +21,7 @@ import java.util.ResourceBundle; public class LobbyController extends Controller { @FXML - AnchorPane lobbyWrapper; + private AnchorPane lobbyWrapper; @FXML private TableView lobbyTable; @FXML diff --git a/racevisionGame/src/main/java/visualiser/Controllers/TitleController.java b/racevisionGame/src/main/java/visualiser/Controllers/TitleController.java index 32e033c8..5617e3da 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/TitleController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/TitleController.java @@ -81,7 +81,6 @@ public class TitleController extends Controller { @Override public void initialize(URL location, ResourceBundle resources) { - } /** diff --git a/racevisionGame/src/main/java/visualiser/model/BoatDisplay3D.java b/racevisionGame/src/main/java/visualiser/model/BoatDisplay3D.java new file mode 100644 index 00000000..9314f5cd --- /dev/null +++ b/racevisionGame/src/main/java/visualiser/model/BoatDisplay3D.java @@ -0,0 +1,18 @@ +package visualiser.model; + +import com.interactivemesh.jfx.importer.Importer; +import javafx.scene.layout.Pane; + +/** + * Created by fwy13 on 29/08/17. + */ +public class BoatDisplay3D extends Pane { + + + public BoatDisplay3D(String filePath){ + super(); +// Shape3D +// this.getChildren().add(); + } + +} diff --git a/racevisionGame/src/main/java/visualiser/model/View3D.java b/racevisionGame/src/main/java/visualiser/model/View3D.java new file mode 100644 index 00000000..f6937755 --- /dev/null +++ b/racevisionGame/src/main/java/visualiser/model/View3D.java @@ -0,0 +1,49 @@ +package visualiser.model; + +import javafx.animation.AnimationTimer; +import javafx.scene.Group; +import javafx.scene.PerspectiveCamera; +import javafx.scene.SubScene; +import javafx.scene.layout.Pane; +import javafx.scene.shape.Box; +import javafx.scene.shape.CullFace; +import javafx.scene.transform.Rotate; + +/** + * Created by connortaylorbrown on 30/08/17. + */ +public class View3D extends Pane { + SubScene scene; + PerspectiveCamera camera; + Box box; + + public View3D() { + scene = new SubScene(this, 500, 500); + camera = new PerspectiveCamera(); + scene.setCamera(camera); + } + + public void spinBox() { + camera.getTransforms().add(new Rotate(-20, Rotate.X_AXIS)); + + box = new Box(50,50,50); + box.setTranslateX(100); + box.setTranslateY(100); + box.setCullFace(CullFace.BACK); + + Rotate ry = new Rotate(0, 0,0,0, Rotate.Y_AXIS); + box.getTransforms().add(ry); + + this.getChildren().add(camera); + this.getChildren().add(box); + + AnimationTimer rotation = new AnimationTimer() { + @Override + public void handle(long now) { + ry.setAngle(ry.getAngle() + 0.1); + } + }; + + rotation.start(); + } +} diff --git a/racevisionGame/src/main/resources/visualiser/scenes/hostlobby.fxml b/racevisionGame/src/main/resources/visualiser/scenes/hostlobby.fxml index 443aa548..77e0ad15 100644 --- a/racevisionGame/src/main/resources/visualiser/scenes/hostlobby.fxml +++ b/racevisionGame/src/main/resources/visualiser/scenes/hostlobby.fxml @@ -9,9 +9,11 @@ + - + + @@ -143,16 +145,27 @@ - -