diff --git a/src/main/java/seng302/utilities/StreamParser.java b/src/main/java/seng302/utilities/StreamParser.java index 748337df..5672fdf5 100644 --- a/src/main/java/seng302/utilities/StreamParser.java +++ b/src/main/java/seng302/utilities/StreamParser.java @@ -2,7 +2,6 @@ package seng302.utilities; import java.io.IOException; import java.io.StringReader; -import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -15,8 +14,12 @@ import org.xml.sax.InputSource; import org.xml.sax.SAXException; import seng302.model.stream.packets.PacketType; import seng302.model.stream.packets.StreamPacket; -import seng302.model.stream.parser.*; +import seng302.model.stream.parser.MarkRoundingData; +import seng302.model.stream.parser.PositionUpdateData; import seng302.model.stream.parser.PositionUpdateData.DeviceType; +import seng302.model.stream.parser.RaceStartData; +import seng302.model.stream.parser.RaceStatusData; +import seng302.model.stream.parser.YachtEventData; /** * StreamParser is a utilities class for taking byte data, formatted according to the AC35 streaming @@ -37,7 +40,6 @@ public class StreamParser { return null; } long heartbeat = bytesToLong(packet.getPayload()); - System.out.println("heartbeat = " + heartbeat); return heartbeat; } diff --git a/src/main/java/seng302/visualiser/GameView3D.java b/src/main/java/seng302/visualiser/GameView3D.java index 27b131f7..c5b52286 100644 --- a/src/main/java/seng302/visualiser/GameView3D.java +++ b/src/main/java/seng302/visualiser/GameView3D.java @@ -245,11 +245,6 @@ public class GameView3D { private void createStartLineArrows () { for (Mark mark : course.get(0).getMarks()) { - System.out.println( - "GeoUtility.getBearing(mark, course.get(1).getMidPoint()) = " + GeoUtility - .getBearing(mark, course.get(1).getMidPoint())); - System.out.println("mark = " + mark); - System.out.println("course.get(1) = " + course.get(1)); markerObjects.get(mark).addArrows( mark.getRoundingSide() == RoundingSide.STARBOARD ? MarkArrowFactory.RoundingSide.STARBOARD : MarkArrowFactory.RoundingSide.PORT, 0d, //90 @@ -590,7 +585,7 @@ public class GameView3D { new Scale(1, lastLocation.distance(location) / 5, 1) ); trail.getChildren().add(segment); - if (trail.getChildren().size() > 100) { + if (trail.getChildren().size() > 50) { trail.getChildren().remove(0); } lastLocation = location; diff --git a/src/main/java/seng302/visualiser/controllers/RaceViewController.java b/src/main/java/seng302/visualiser/controllers/RaceViewController.java index babbab5f..2ac06dfb 100644 --- a/src/main/java/seng302/visualiser/controllers/RaceViewController.java +++ b/src/main/java/seng302/visualiser/controllers/RaceViewController.java @@ -88,6 +88,7 @@ public class RaceViewController extends Thread implements ImportantAnnotationDel private Label timerLabel; @FXML private StackPane contentAnchorPane; + private GridPane contentGridPane; @FXML private AnchorPane rvAnchorPane; @@ -249,9 +250,6 @@ public class RaceViewController extends Thread implements ImportantAnnotationDel .bind(ViewManager.getInstance().getStage().widthProperty()); ((SubScene) gameView.getAssets()).heightProperty() .bind(ViewManager.getInstance().getStage().heightProperty()); - System.out.println(((SubScene) gameView.getAssets()).getHeight()); - System.out.println(((SubScene) gameView.getAssets()).getWidth()); - }); gameView.setBoats(new ArrayList<>(participants.values())); gameView.updateBorder(raceData.getCourseLimit()); diff --git a/src/main/java/seng302/visualiser/controllers/cells/ServerCell.java b/src/main/java/seng302/visualiser/controllers/cells/ServerCell.java index a2ec84ee..91585604 100644 --- a/src/main/java/seng302/visualiser/controllers/cells/ServerCell.java +++ b/src/main/java/seng302/visualiser/controllers/cells/ServerCell.java @@ -69,7 +69,6 @@ public class ServerCell implements Initializable { * Attempts to connect to the chosen server using the button on the serverCell. */ private void joinServer() { - System.out.println("Connecting to " + serverName.getText()); ViewManager.getInstance().getGameClient().runAsClient(hostName, portNumber); } diff --git a/src/main/java/seng302/visualiser/fxObjects/MarkArrowFactory.java b/src/main/java/seng302/visualiser/fxObjects/MarkArrowFactory.java index 080ff58a..ccc307eb 100644 --- a/src/main/java/seng302/visualiser/fxObjects/MarkArrowFactory.java +++ b/src/main/java/seng302/visualiser/fxObjects/MarkArrowFactory.java @@ -6,7 +6,6 @@ import javafx.scene.paint.Color; import javafx.scene.paint.Paint; import javafx.scene.shape.Arc; import javafx.scene.shape.ArcType; -import javafx.scene.shape.Circle; import javafx.scene.shape.Polygon; import javafx.scene.shape.Polyline; import javafx.scene.shape.StrokeLineCap; @@ -39,14 +38,19 @@ public class MarkArrowFactory { public static Model constructEntryArrow3D ( RoundingSide roundingSide, double angle, ModelType type) { Model entryArrow = ModelFactory.importModel(type); + + double angleDeg = angle; + angle = 180 - angle; + angle = Math.toRadians(angle); + int multiplier = roundingSide == RoundingSide.STARBOARD ? 1 : -1; - double relativeX = multiplier * 5 * Math.sin(angle + Math.PI / 2); - double relativeY = multiplier * 5 * Math.cos(angle + Math.PI / 2); - double xStart = relativeX + multiplier * 20 * Math.sin(angle + Math.PI / 2); - double yStart = relativeY + multiplier * 20 * Math.cos(angle + Math.PI / 2); + double relativeX = multiplier * 5.7 * Math.sin(angle + Math.PI / 2); + double relativeY = multiplier * 5.7 * Math.cos(angle + Math.PI / 2); + double xStart = relativeX + -10 * Math.sin(angle); + double yStart = relativeY + -10 * Math.cos(angle); entryArrow.getAssets().getTransforms().addAll( new Translate(xStart, yStart, 0), - new Rotate(Math.toDegrees(angle), new Point3D(0,0,1)) + new Rotate(angleDeg, new Point3D(0,0,1)) ); return entryArrow; } @@ -54,18 +58,21 @@ public class MarkArrowFactory { public static Model constructExitArrow3D ( RoundingSide roundingSide, double angle, ModelType type) { Model exitArrow = ModelFactory.importModel(type); -// angle = Math.toRadians(angle-65); + + double angleDeg = angle; + angle = 180 - angle; angle = Math.toRadians(angle); + int multiplier = roundingSide == RoundingSide.STARBOARD ? 1 : -1; - double xStart = multiplier * 6 * Math.sin(angle + Math.PI / 2); - double yStart = multiplier * 6 * Math.cos(angle + Math.PI / 2); -// exitArrow.getAssets().getTransforms().addAll( -// new Translate(xStart, yStart, 0), -// new Rotate(Math.toDegrees(Math.toDegrees(angle)), new Point3D(0,0,1)) -// ); - Circle c = new Circle(xStart, yStart, 1, Color.RED); - c.setStroke(Color.TRANSPARENT); - return new Model(new Group(c), null); + double xStart = multiplier * 5.7 * Math.sin(angle + Math.PI / 2); + double yStart = multiplier * 5.7 * Math.cos(angle + Math.PI / 2); + + exitArrow.getAssets().getTransforms().addAll( + new Translate(xStart, yStart, 0), + new Rotate(angleDeg, new Point3D(0,0,1)) + ); + + return exitArrow; }