From 0231c43a2cf9f918b96cb46aee5b40c4307d58b9 Mon Sep 17 00:00:00 2001 From: Calum Date: Thu, 28 Sep 2017 16:01:24 +1300 Subject: [PATCH] Arrows work. mark arrow thinner. refactored marker class. #fix --- .../java/seng302/visualiser/GameView.java | 33 +++++++++++++++ .../java/seng302/visualiser/GameView3D.java | 35 +--------------- .../java/seng302/visualiser/MapPreview.java | 5 +-- src/main/java/seng302/visualiser/MiniMap.java | 35 ---------------- .../visualiser/cameras/IsometricCamera.java | 6 +-- .../visualiser/cameras/TopDownCamera.java | 6 +-- .../seng302/visualiser/fxObjects/Marker.java | 38 ++++++++++++++++++ .../fxObjects/assets_2D/Marker2D.java | 11 ++--- .../fxObjects/assets_3D/Marker3D.java | 28 ++----------- src/main/resources/meshes/mark_pointer.stl | Bin 3184 -> 3184 bytes src/main/resources/meshes/player_circle.stl | Bin 57684 -> 57684 bytes 11 files changed, 88 insertions(+), 109 deletions(-) create mode 100644 src/main/java/seng302/visualiser/fxObjects/Marker.java diff --git a/src/main/java/seng302/visualiser/GameView.java b/src/main/java/seng302/visualiser/GameView.java index db8a7686..37d579b7 100644 --- a/src/main/java/seng302/visualiser/GameView.java +++ b/src/main/java/seng302/visualiser/GameView.java @@ -1,13 +1,18 @@ package seng302.visualiser; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import javafx.scene.Group; import javafx.scene.Node; +import seng302.model.ClientYacht; import seng302.model.Limit; import seng302.model.ScaledPoint; import seng302.model.mark.CompoundMark; import seng302.model.mark.Corner; +import seng302.model.mark.Mark; +import seng302.utilities.Sounds; +import seng302.visualiser.fxObjects.Marker; /** * Abstract class for keeping functionality common between race visualisation. @@ -24,8 +29,36 @@ public abstract class GameView { List course = new ArrayList<>(); List compoundMarks = new ArrayList<>(); List courseOrder = new ArrayList<>(); + HashMap markerObjects = new HashMap<>(); public abstract Node getAssets(); public abstract void updateCourse(List newCourse, List sequence); public abstract void updateBorder(List border); + + void updateMarkArrows (ClientYacht yacht, int legNumber) { + CompoundMark compoundMark; + if (legNumber - 1 >= 0 && legNumber-1 < course.size()) { + Sounds.playMarkRoundingSound(); + compoundMark = course.get(legNumber-1); + for (Mark mark : compoundMark.getMarks()) { + markerObjects.get(mark).showNextExitArrow(); + } + } + CompoundMark nextMark = null; + if (legNumber < course.size()) { + Sounds.playMarkRoundingSound(); + nextMark = course.get(legNumber); + for (Mark mark : nextMark.getMarks()) { + markerObjects.get(mark).showNextEnterArrow(); + } + } + if (legNumber - 2 >= 0) { + CompoundMark lastMark = course.get(Math.max(0, legNumber - 2)); + if (lastMark != nextMark) { + for (Mark mark : lastMark.getMarks()) { + markerObjects.get(mark).hideAllArrows(); + } + } + } + } } diff --git a/src/main/java/seng302/visualiser/GameView3D.java b/src/main/java/seng302/visualiser/GameView3D.java index 29c12074..6851d2be 100644 --- a/src/main/java/seng302/visualiser/GameView3D.java +++ b/src/main/java/seng302/visualiser/GameView3D.java @@ -34,7 +34,6 @@ import seng302.model.mark.Corner; import seng302.model.mark.Mark; import seng302.model.token.Token; import seng302.utilities.GeoUtility; -import seng302.utilities.Sounds; import seng302.visualiser.cameras.ChaseCamera; import seng302.visualiser.cameras.IsometricCamera; import seng302.visualiser.cameras.RaceCamera; @@ -55,7 +54,7 @@ public class GameView3D extends GameView { private final double FOV = 60; private final double DEFAULT_CAMERA_X = 0; - private final double DEFAULT_CAMERA_Y = 100; + private final double DEFAULT_CAMERA_Y = 160; private Group root3D; private SubScene view; @@ -66,11 +65,6 @@ public class GameView3D extends GameView { private PerspectiveCamera isometricCam; private PerspectiveCamera topDownCam; private PerspectiveCamera chaseCam; - - /* Note that if either of these is null then values for it have not been added and the other - should be used as the limits of the map. */ - private Map markerObjects; - private BoatObject playerBoat; private Map boatObjects = new HashMap<>(); private Group wakesGroup = new Group(); @@ -535,31 +529,4 @@ public class GameView3D extends GameView { public void setWindDir(double windDir) { this.windDir = windDir; } - - private void updateMarkArrows (ClientYacht yacht, int legNumber) { - CompoundMark compoundMark; - if (legNumber - 1 >= 0) { - Sounds.playMarkRoundingSound(); - compoundMark = course.get(legNumber-1); - for (Mark mark : compoundMark.getMarks()) { - markerObjects.get(mark).showNextExitArrow(); - } - } - CompoundMark nextMark = null; - if (legNumber < course.size() - 1) { - Sounds.playMarkRoundingSound(); - nextMark = course.get(legNumber); - for (Mark mark : nextMark.getMarks()) { - markerObjects.get(mark).showNextEnterArrow(); - } - } - if (legNumber - 2 >= 0) { - CompoundMark lastMark = course.get(Math.max(0, legNumber - 2)); - if (lastMark != nextMark) { - for (Mark mark : lastMark.getMarks()) { - markerObjects.get(mark).hideAllArrows(); - } - } - } - } } \ No newline at end of file diff --git a/src/main/java/seng302/visualiser/MapPreview.java b/src/main/java/seng302/visualiser/MapPreview.java index 4c2c3a38..9725e526 100644 --- a/src/main/java/seng302/visualiser/MapPreview.java +++ b/src/main/java/seng302/visualiser/MapPreview.java @@ -3,7 +3,6 @@ package seng302.visualiser; import java.util.ArrayList; import java.util.HashMap; import java.util.List; -import java.util.Map; import javafx.application.Platform; import javafx.geometry.Point2D; import javafx.scene.Node; @@ -19,6 +18,7 @@ import seng302.model.mark.Corner; import seng302.model.mark.Mark; import seng302.utilities.GeoUtility; import seng302.visualiser.fxObjects.MarkArrowFactory; +import seng302.visualiser.fxObjects.Marker; import seng302.visualiser.fxObjects.assets_2D.CourseBoundary; import seng302.visualiser.fxObjects.assets_2D.Gate; import seng302.visualiser.fxObjects.assets_2D.Marker2D; @@ -29,7 +29,6 @@ import seng302.visualiser.fxObjects.assets_2D.Marker2D; public class MapPreview extends GameView { private Polygon raceBorder = new CourseBoundary(); - protected Map markerObjects; public MapPreview(List marks, List course, List border) { this.compoundMarks = marks; @@ -240,7 +239,7 @@ public class MapPreview extends GameView { * @param colour The desired colour of the gate. * @return the new gate. */ - private Gate makeAndBindGate(Marker2D m1, Marker2D m2, Paint colour) { + private Gate makeAndBindGate(Marker m1, Marker m2, Paint colour) { Gate gate = new Gate(colour); gate.startXProperty().bind( m1.layoutXProperty() diff --git a/src/main/java/seng302/visualiser/MiniMap.java b/src/main/java/seng302/visualiser/MiniMap.java index 8c9377dd..092f6c17 100644 --- a/src/main/java/seng302/visualiser/MiniMap.java +++ b/src/main/java/seng302/visualiser/MiniMap.java @@ -11,8 +11,6 @@ import seng302.model.ClientYacht; import seng302.model.Limit; import seng302.model.mark.CompoundMark; import seng302.model.mark.Corner; -import seng302.model.mark.Mark; -import seng302.utilities.Sounds; /** * Class converts a map preview to a minimap by adding boats. @@ -20,15 +18,9 @@ import seng302.utilities.Sounds; public class MiniMap extends MapPreview { private HashMap boatIcons = new HashMap<>(); - private Polygon playerBoat; - private double playerRotation; - private List boats; - private ClientYacht player; public MiniMap (List marks, List course, List border, List boats, ClientYacht player) { super(marks, course, border); - this.boats = boats; - this.player = player; setBoats(boats); player.addMarkRoundingListener(this::updateMarkArrows); } @@ -56,31 +48,4 @@ public class MiniMap extends MapPreview { gameObjects.getChildren().addAll(boatIcons.values()); }); } - - private void updateMarkArrows (ClientYacht yacht, int legNumber) { - CompoundMark compoundMark; - if (legNumber - 1 >= 0) { - Sounds.playMarkRoundingSound(); - compoundMark = course.get(legNumber-1); - for (Mark mark : compoundMark.getMarks()) { - markerObjects.get(mark).showNextExitArrow(); - } - } - CompoundMark nextMark = null; - if (legNumber < course.size() - 1) { - Sounds.playMarkRoundingSound(); - nextMark = course.get(legNumber); - for (Mark mark : nextMark.getMarks()) { - markerObjects.get(mark).showNextEnterArrow(); - } - } - if (legNumber - 2 >= 0) { - CompoundMark lastMark = course.get(Math.max(0, legNumber - 2)); - if (lastMark != nextMark) { - for (Mark mark : lastMark.getMarks()) { - markerObjects.get(mark).hideAllArrows(); - } - } - } - } } diff --git a/src/main/java/seng302/visualiser/cameras/IsometricCamera.java b/src/main/java/seng302/visualiser/cameras/IsometricCamera.java index 85a0e502..2ba1bc8d 100644 --- a/src/main/java/seng302/visualiser/cameras/IsometricCamera.java +++ b/src/main/java/seng302/visualiser/cameras/IsometricCamera.java @@ -16,8 +16,8 @@ public class IsometricCamera extends PerspectiveCamera implements RaceCamera { private final Double MAX_Y = 170.0; private final Double PAN_LIMIT = 160.0; - private final Double NEAR_ZOOM_LIMIT = -50.0; - private final Double FAR_ZOOM_LIMIT = -160.0; + private final Double NEAR_ZOOM_LIMIT = -30.0; + private final Double FAR_ZOOM_LIMIT = -180.0; private Double horizontalPan; private Double verticalPan; @@ -29,7 +29,7 @@ public class IsometricCamera extends PerspectiveCamera implements RaceCamera { super(true); transforms = this.getTransforms(); - zoomFactor = (FAR_ZOOM_LIMIT + NEAR_ZOOM_LIMIT) / 2.0; + zoomFactor = FAR_ZOOM_LIMIT; horizontalPan = cameraStartX; verticalPan = cameraStartY; diff --git a/src/main/java/seng302/visualiser/cameras/TopDownCamera.java b/src/main/java/seng302/visualiser/cameras/TopDownCamera.java index 72d58707..d01decd4 100644 --- a/src/main/java/seng302/visualiser/cameras/TopDownCamera.java +++ b/src/main/java/seng302/visualiser/cameras/TopDownCamera.java @@ -11,9 +11,9 @@ import seng302.visualiser.fxObjects.assets_3D.BoatObject; public class TopDownCamera extends PerspectiveCamera implements RaceCamera { - private final Double PAN_LIMIT = 30.0; - private final Double NEAR_ZOOM_LIMIT = -30.0; - private final Double FAR_ZOOM_LIMIT = -130.0; + private final Double PAN_LIMIT = 40d; + private final Double NEAR_ZOOM_LIMIT = -20.0; + private final Double FAR_ZOOM_LIMIT = -145d; private final Double ZOOM_STEP = 2.5; private ObservableList transforms; diff --git a/src/main/java/seng302/visualiser/fxObjects/Marker.java b/src/main/java/seng302/visualiser/fxObjects/Marker.java new file mode 100644 index 00000000..53dcda32 --- /dev/null +++ b/src/main/java/seng302/visualiser/fxObjects/Marker.java @@ -0,0 +1,38 @@ +package seng302.visualiser.fxObjects; + +import java.util.ArrayList; +import java.util.List; +import javafx.scene.Group; +import seng302.visualiser.fxObjects.MarkArrowFactory.RoundingSide; + +/** + * Created by cir27 on 28/09/17. + */ +public abstract class Marker extends Group{ + + protected List enterArrows = new ArrayList<>(); + protected List exitArrows = new ArrayList<>(); + protected int enterArrowIndex = 0; + protected int exitArrowIndex = 0; + + public abstract void addArrows(RoundingSide roundingSide, double entryAngle, double exitAngle); + /** + * Shows the next EnterArrow. Does nothing if there are no more enter arrows. Other arrows become hidden. + */ + public void showNextEnterArrow() { + showArrow(enterArrows, enterArrowIndex); + enterArrowIndex++; + } + + /** + * Shows the next ExitArrow. Does nothing if there are no more enter arrows. Other arrows become hidden. + */ + public void showNextExitArrow() { + showArrow(exitArrows, exitArrowIndex); + exitArrowIndex++; + } + + protected abstract void showArrow(List arrowList, int arrowListIndex); + + public abstract void hideAllArrows(); +} diff --git a/src/main/java/seng302/visualiser/fxObjects/assets_2D/Marker2D.java b/src/main/java/seng302/visualiser/fxObjects/assets_2D/Marker2D.java index d45b1341..e32023dc 100644 --- a/src/main/java/seng302/visualiser/fxObjects/assets_2D/Marker2D.java +++ b/src/main/java/seng302/visualiser/fxObjects/assets_2D/Marker2D.java @@ -1,6 +1,5 @@ package seng302.visualiser.fxObjects.assets_2D; -import java.util.ArrayList; import java.util.List; import javafx.application.Platform; import javafx.scene.Group; @@ -8,18 +7,15 @@ import javafx.scene.paint.Color; import javafx.scene.paint.Paint; import javafx.scene.shape.Circle; import seng302.visualiser.fxObjects.MarkArrowFactory; +import seng302.visualiser.fxObjects.Marker; /** * Visual object for a mark. Contains a coloured circle and any specified arrows. */ -public class Marker2D extends Group { +public class Marker2D extends Marker { private Circle mark = new Circle(); private Paint colour = Color.BLACK; - private List enterArrows = new ArrayList<>(); - private List exitArrows = new ArrayList<>(); - private int enterArrowIndex = 0; - private int exitArrowIndex = 0; /** * Creates a new Marker containing only a circle. The default colour is black. @@ -79,7 +75,8 @@ public class Marker2D extends Group { exitArrowIndex++; } - private void showArrow(List arrowList, int arrowListIndex) { + @Override + protected void showArrow(List arrowList, int arrowListIndex) { if (arrowListIndex < arrowList.size()) { Platform.runLater(() -> this.getChildren().setAll(mark, arrowList.get(arrowListIndex)) diff --git a/src/main/java/seng302/visualiser/fxObjects/assets_3D/Marker3D.java b/src/main/java/seng302/visualiser/fxObjects/assets_3D/Marker3D.java index 2766edfc..aa2420e1 100644 --- a/src/main/java/seng302/visualiser/fxObjects/assets_3D/Marker3D.java +++ b/src/main/java/seng302/visualiser/fxObjects/assets_3D/Marker3D.java @@ -1,22 +1,17 @@ package seng302.visualiser.fxObjects.assets_3D; - -import java.util.ArrayList; import java.util.List; import javafx.application.Platform; import javafx.scene.Group; import seng302.visualiser.fxObjects.MarkArrowFactory; import seng302.visualiser.fxObjects.MarkArrowFactory.RoundingSide; +import seng302.visualiser.fxObjects.Marker; /** * Visual object for a mark. Contains a coloured circle and any specified arrows. */ -public class Marker3D extends Group { +public class Marker3D extends Marker { private Model mark; - private List enterArrows = new ArrayList<>(); - private List exitArrows = new ArrayList<>(); - private int enterArrowIndex = 0; - private int exitArrowIndex = 0; private ModelType markType; private ModelType arrowType; @@ -60,23 +55,8 @@ public class Marker3D extends Group { ); } - /** - * Shows the next EnterArrow. Does nothing if there are no more enter arrows. Other arrows become hidden. - */ - public void showNextEnterArrow() { - showArrow(enterArrows, enterArrowIndex); - enterArrowIndex++; - } - - /** - * Shows the next ExitArrow. Does nothing if there are no more enter arrows. Other arrows become hidden. - */ - public void showNextExitArrow() { - showArrow(exitArrows, exitArrowIndex); - exitArrowIndex++; - } - - private void showArrow(List arrowList, int arrowListIndex) { + @Override + protected void showArrow(List arrowList, int arrowListIndex) { if (arrowListIndex < arrowList.size()) { Platform.runLater(() -> this.getChildren().setAll(mark.getAssets(), arrowList.get(arrowListIndex)) diff --git a/src/main/resources/meshes/mark_pointer.stl b/src/main/resources/meshes/mark_pointer.stl index be51d3f3f287c69dc897ac4aefe659d16851d293..a7bc5099ee33a7b57532eead0b67790896600d86 100644 GIT binary patch literal 3184 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 YymvU2<~k%9uCMBM)jU`D?dCK71(xEg$N&HU diff --git a/src/main/resources/meshes/player_circle.stl b/src/main/resources/meshes/player_circle.stl index 5afc2bdda5d9fc7e6c61ed94b292108e0271c003..b91cf5a2fd77d521c03af78f7da38c05673234c2 100644 GIT binary patch literal 57684 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 a&?3~^JKe5GUL=3;sNTO~me^&Txc>s3_RQ}9 literal 57684 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 W$a5V0!Q|y{BnDNq{-91-C+>fKH85=e