From 256ec046fc7cad53378e8a1d48d682eb25f2804b Mon Sep 17 00:00:00 2001 From: Peter Galloway Date: Sun, 14 May 2017 22:12:16 +1200 Subject: [PATCH] adjusted givePointsXY to try and use the marks from the XML parser, stopped partway as the marks from the XML parser and the standard marks need to be merged before this can be fixed properly #story[923] --- .../seng302/controllers/CanvasController.java | 37 +++++++++---------- .../java/seng302/models/stream/XMLParser.java | 1 + 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/main/java/seng302/controllers/CanvasController.java b/src/main/java/seng302/controllers/CanvasController.java index a7ed44ad..b5642755 100644 --- a/src/main/java/seng302/controllers/CanvasController.java +++ b/src/main/java/seng302/controllers/CanvasController.java @@ -389,25 +389,24 @@ public class CanvasController { * Give all markers in the course an x,y location relative to a given reference with a known x,y location. Distances * are scaled according to the distanceScaleFactor variable. */ -// private void givePointsXY() { -// List allPoints = new ArrayList<>(raceViewController.getRace().getCourse()); -// List processed = new ArrayList<>(); -// RaceObject markGroup; -// -// for (Mark mark : allPoints) { -// if (!processed.contains(mark)) { -// if (mark.getMarkType() != MarkType.SINGLE_MARK) { -// GateMark gateMark = (GateMark) mark; -// markGroup = new MarkGroup(mark, findScaledXY(gateMark.getSingleMark1()), findScaledXY(gateMark.getSingleMark2())); -// raceObjects.add(markGroup); -// } else { -// markGroup = new MarkGroup(mark, findScaledXY(mark)); -// raceObjects.add(markGroup); -// } -// processed.add(mark); -// } -// } -// } + private void givePointsXY() { + List allPoints = StreamParser.getXmlObject().getRaceXML().getCompoundMarks(); + List processed = new ArrayList<>(); + RaceObject markGroup; + + for (XMLParser.RaceXMLObject.CompoundMark mark : allPoints) { + if (!processed.contains(mark)) { + if (mark.getMarkType() != MarkType.SINGLE_MARK) { + markGroup = new MarkGroup(mark, findScaledXY(mark.getMarks().get(0)), findScaledXY(mark.getMarks().get(1))); + raceObjects.add(markGroup); + } else { + markGroup = new MarkGroup(mark, findScaledXY(mark.getMarks().get(0))); + raceObjects.add(markGroup); + } + processed.add(mark); + } + } + } private Point2D findScaledXY (Mark unscaled) { return findScaledXY (minLatPoint.getLatitude(), minLatPoint.getLongitude(), diff --git a/src/main/java/seng302/models/stream/XMLParser.java b/src/main/java/seng302/models/stream/XMLParser.java index 6349d07f..181c1e2f 100644 --- a/src/main/java/seng302/models/stream/XMLParser.java +++ b/src/main/java/seng302/models/stream/XMLParser.java @@ -326,6 +326,7 @@ public class XMLParser { public Integer getMarkID() { return markID; } public String getcMarkName() { return cMarkName; } + public MarkType getMarkType() { return markType; } public ArrayList getMarks() { return marks; } public class Mark {