From 5d7f30726051e0ec7cfd2c0ff5e8ab881900904c Mon Sep 17 00:00:00 2001 From: Calum Date: Thu, 28 Sep 2017 12:02:09 +1300 Subject: [PATCH] Changed arrow colour. #fix --- .../java/seng302/visualiser/GameView3D.java | 5 +-- .../fxObjects/assets_3D/BoatObject.java | 40 ++++++------------ .../fxObjects/assets_3D/ModelFactory.java | 16 ++++--- src/main/resources/meshes/mark_pointer.stl | Bin 0 -> 3184 bytes src/main/resources/meshes/player_circle.stl | Bin 0 -> 57684 bytes 5 files changed, 25 insertions(+), 36 deletions(-) create mode 100644 src/main/resources/meshes/mark_pointer.stl create mode 100644 src/main/resources/meshes/player_circle.stl diff --git a/src/main/java/seng302/visualiser/GameView3D.java b/src/main/java/seng302/visualiser/GameView3D.java index fdaca192..4e6b421d 100644 --- a/src/main/java/seng302/visualiser/GameView3D.java +++ b/src/main/java/seng302/visualiser/GameView3D.java @@ -338,8 +338,7 @@ public class GameView3D extends GameView{ ((ChaseCamera) chaseCam).setPlayerBoat(newBoat); ((TopDownCamera) topDownCam).setPlayerBoat(newBoat); - newBoat.setMarkIndicator( - ModelFactory.importModel(ModelType.NEXT_MARK_INDICATOR).getAssets()); + newBoat.setMarkIndicator(ModelFactory.importSTL("mark_pointer.stl")); playerBoat = newBoat; } @@ -562,4 +561,4 @@ public class GameView3D extends GameView{ } } } -} +} \ No newline at end of file diff --git a/src/main/java/seng302/visualiser/fxObjects/assets_3D/BoatObject.java b/src/main/java/seng302/visualiser/fxObjects/assets_3D/BoatObject.java index 9cef0a49..7464f180 100644 --- a/src/main/java/seng302/visualiser/fxObjects/assets_3D/BoatObject.java +++ b/src/main/java/seng302/visualiser/fxObjects/assets_3D/BoatObject.java @@ -11,7 +11,6 @@ import javafx.scene.paint.Color; import javafx.scene.paint.PhongMaterial; import javafx.scene.shape.MeshView; import javafx.scene.transform.Rotate; -import javafx.scene.transform.Scale; import javafx.scene.transform.Translate; /** @@ -37,9 +36,8 @@ public class BoatObject extends Group { private Rotate rotation = new Rotate(0, new Point3D(0,0,1)); // This stuff only matters to the players boat object. - private Group markIndicator; + private MeshView markIndicator; private MeshView playerIndicator; - private Color indicatorColor = Color.BLACK; private ReadOnlyDoubleWrapper rotationProperty; private List selectedBoatListenerListeners = new ArrayList<>(); @@ -93,9 +91,7 @@ public class BoatObject extends Group { Double angle = Math.toDegrees( Math.atan2(boatLoc.getY() - markPoint.getY(), boatLoc.getX() - markPoint.getX())) - 90; - Double radius = 2.7; - Double scale = 0.8; - + Double radius = 0.5; Double originX = this.getLayoutX(); Double originY = this.getLayoutY(); @@ -104,8 +100,7 @@ public class BoatObject extends Group { markIndicator.getTransforms().clear(); markIndicator.getTransforms().addAll( new Rotate(angle, new Point3D(0, 0, 1)), - new Translate(0, -radius, 0.1), - new Scale(scale, scale, scale / 10) + new Translate(0, -radius, 0) ); } @@ -148,33 +143,24 @@ public class BoatObject extends Group { } } - public void setMarkIndicator(Group indicator) { + public void setMarkIndicator(MeshView indicator) { this.markIndicator = indicator; this.getChildren().add(markIndicator); createPlayerIndicator(); - setIndicatorColor(indicatorColor); + setIndicatorColor(); } private void createPlayerIndicator() { - Model torus = ModelFactory.importModel(ModelType.PLAYER_IDENTIFIER_TORUS); - torus.getAssets().getTransforms().addAll( - new Rotate(90, new Point3D(1, 0, 0)), - new Scale(0.7, 0.7, 0.7), - new Translate(0, 0.1, 0) - ); - - this.getChildren().add(torus.getAssets()); - playerIndicator = (MeshView) ((Group) ((Group) torus.getAssets().getChildren().get(0)) - .getChildren().get(0)).getChildren().get(0); + MeshView torus = ModelFactory.importSTL("player_circle.stl"); + playerIndicator = torus; + this.getChildren().add(torus); } - public void setIndicatorColor(Color color) { - this.indicatorColor = color; - MeshView markIndicatorMesh = (MeshView) ((Group) ((Group) this.markIndicator.getChildren() - .get(0)) - .getChildren().get(0)).getChildren().get(0); - markIndicatorMesh.setMaterial(new PhongMaterial(color)); - playerIndicator.setMaterial(new PhongMaterial(color)); + public void setIndicatorColor() { + Platform.runLater(() -> { + markIndicator.setMaterial(new PhongMaterial(Color.DARKORANGE)); + playerIndicator.setMaterial(new PhongMaterial(colour)); + }); } public Group getWake () { diff --git a/src/main/java/seng302/visualiser/fxObjects/assets_3D/ModelFactory.java b/src/main/java/seng302/visualiser/fxObjects/assets_3D/ModelFactory.java index c794b77b..bc0ce008 100644 --- a/src/main/java/seng302/visualiser/fxObjects/assets_3D/ModelFactory.java +++ b/src/main/java/seng302/visualiser/fxObjects/assets_3D/ModelFactory.java @@ -115,9 +115,9 @@ public class ModelFactory { private static Group getUnmodifiedBoatModel(BoatMeshType boatType, Color primaryColour) { Group boatAssets = new Group(); - MeshView hull = importSTL(boatType.hullFile); + MeshView hull = importBoatSTL(boatType.hullFile); hull.setMaterial(new PhongMaterial(primaryColour)); - MeshView sail = importSTL(boatType.sailFile); + MeshView sail = importBoatSTL(boatType.sailFile); sail.setMaterial( new PhongMaterial(boatType == BoatMeshType.PARROT ? Color.BLACK : Color.WHITE) ); @@ -125,13 +125,13 @@ public class ModelFactory { boatAssets.getChildren().addAll(hull, sail); if (boatType.mastFile != null) { - MeshView mast = importSTL(boatType.mastFile); + MeshView mast = importBoatSTL(boatType.mastFile); mast.setMaterial(new PhongMaterial(primaryColour)); boatAssets.getChildren().add(mast); } if (boatType.jibFile != null) { - MeshView jib = importSTL(boatType.jibFile); + MeshView jib = importBoatSTL(boatType.jibFile); sail.setMaterial( new PhongMaterial(boatType == BoatMeshType.PARROT ? Color.DARKGRAY : Color.WHITE) ); @@ -141,9 +141,13 @@ public class ModelFactory { return boatAssets; } - private static MeshView importSTL(String fileName) { + private static MeshView importBoatSTL(String fileName) { + return importSTL("boatSTLs/" + fileName); + } + + public static MeshView importSTL(String fileName) { StlMeshImporter importer = new StlMeshImporter(); - importer.read(ModelFactory.class.getResource("/meshes/boatSTLs/" + fileName)); + importer.read(ModelFactory.class.getResource("/meshes/" + fileName)); MeshView importedFile = new MeshView(importer.getImport()); importedFile.setCache(true); importedFile.setCacheHint(CacheHint.SCALE_AND_ROTATE); diff --git a/src/main/resources/meshes/mark_pointer.stl b/src/main/resources/meshes/mark_pointer.stl new file mode 100644 index 0000000000000000000000000000000000000000..be51d3f3f287c69dc897ac4aefe659d16851d293 GIT binary patch literal 3184 zcmb7_c}!JD6o*GsYqeI}NR228YKovJZWYwa%qT&t4G%3!s4Mv1MJ@Z{0w|)Qd4da# zK?)@*@l|aR#a64fygM!^)&;6q3$a495fm*X#^4(5dC{c5`)B$0<9l<@oO6B?vMMPt zB~7<^#iS(0drgVc6Ks0Qh%qAr0=;}vmoN4j<;(upAE*Bofzd%)A0NJT@M_gQq(R%2 zYLlm4mm1^t7glbWSS~~6@Jf%0FL-N(O)lG3VlZ~{A>)k){Q00E843v+)d{Eh{5G4M z*O*Vn&E7M)_dL!^-B&0iXxyIAO%(g;((har8R?A$yf`9)|J0D6kf8C@;V0%s>2l1r zS!8hc8a`!dCVzA~S|LFruw=T}kgv-f*ZY$Z{;0c1+*-s3-uO%*L1TaCMPkwkU7nw% zoQ$>f4iFc-PVqY(eH0Qj&UA?rFaFSFZvFF0#(Yy3h{3J`qf^(H#t-wL8EWPH1Volmmlk2l5wm3IN$5E^M|cAfdq{YPx*@CN?new z%pv3Pv(^0co_Kz!K1m=!7`xrHSw7O2^tmQewtf{O}gDJ zC*#_nEa!_pf(Nrqfdq|&^M1yK6E^v4>H#uZZSNU9?7@8SlT`u<8g1!^jEGE|EI(U9 zM!-jrM%6A0uc}WINYJ>S_1fqwZL(!r9vK5ei;cgBF6Kv;#|tEAjSZR9dC zehjEH{L8ZWIqxWe1dR)Wr1EdD%F(;Wk}>?L|d@^o6h*s_2-rxmG=5i!x^eT%{z1Lag;eI1% zqukmSDxcCiUN+foAVK4{5v_tVtn!1pLMLO^d1F=EtRuYtF;9gAjj>O{Rqk4=%q{I^ zFc$0ijvAJ+jSq_oQ%KM#ycwj9=38Y>@nkX<^>i9CIF|R?6r+%!u{Fd?^)0u`%jL;r zWIR}JRNR`uk7+3i2^ybQJT-RJS>^anTgce>a;TAba6AuKxJn^G!*PF~aiz0O?%!TS z#>EMTotfHjo|v4ekf1U9xQB5)&?XyR?jd7g|0R{99NxTo`)Y**4SXdS3#)Nx>;GA+ z4*qG;aHFuBn0$=cuQ;?VWNZ$yXm|$xF1{;_InOw>I5K{&o2enew*+4a#%z}yS{@l0 znngo`F9T*iV@;PG+6FRen=Bd<%z6AJ#>V~rrt;7`77Z)J)W$q!%$Y!$WYjDQ)i6adAI(O0`l@U)?CxQv4r1D2j#1Cg zIkl~u$z#8+k<)saEQUuj_)P9M&gd9HLi z!_~p*znGH&CkFe(SS?MvtMct_77eEa`)@Wp=?qst?$w%mj@>lhuJ83Xb+k|&*fs2p z*~p?ZHqjZ1CJ}ppX<)wHW~#&WRnCj%+r=9--&Ho9;p$*fv&FPgcnjvrE8gaA(R1oK YymvU2<~k%9uCMBM)jU`D?dCK71(xEg$N&HU literal 0 HcmV?d00001 diff --git a/src/main/resources/meshes/player_circle.stl b/src/main/resources/meshes/player_circle.stl new file mode 100644 index 0000000000000000000000000000000000000000..5afc2bdda5d9fc7e6c61ed94b292108e0271c003 GIT binary patch literal 57684 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 W$a5V0!Q|y{BnDNq{-91-C+>fKH85=e literal 0 HcmV?d00001