Laylines now working upon selecting a boat. Still need to make their visibility togglable

Currently just paints upon clicking

tags: #story[956]
This commit is contained in:
William Muir
2017-05-25 09:54:00 +12:00
parent 68c3e3e999
commit 99588c7ff8
3 changed files with 66 additions and 47 deletions
@@ -282,7 +282,6 @@ public class RaceViewController extends Thread implements ImportantAnnotationDel
updateWindDirection();
updateOrder();
updateBoatSelectionComboBox();
updateLaylines();
})
);
@@ -410,9 +409,8 @@ public class RaceViewController extends Thread implements ImportantAnnotationDel
}
private void updateLaylines() {
private void updateLaylines(BoatGroup bg) {
for (BoatGroup bg : includedCanvasController.getBoatGroups()) {
System.out.println("========" + bg.getBoat().getBoatName() + "=========");
Mark nextMark = getNextMark(bg);
Boolean isUpwind = null;
@@ -445,7 +443,7 @@ public class RaceViewController extends Thread implements ImportantAnnotationDel
Double resultingAngle = angleAndSpeed.keySet().iterator().next();
Point2D boatCurrentPos = new Point2D(bg.getLayoutX(), bg.getLayoutY());
Point2D boatCurrentPos = new Point2D(bg.getBoatLayoutX(), bg.getBoatLayoutY());
Point2D gateMidPoint = markPoint1.midpoint(markPoint2);
Integer lineFuncResult = GeometryUtils.lineFunction(boatCurrentPos, gateMidPoint, markPoint2);
if (lineFuncResult == 1) {
@@ -463,7 +461,6 @@ public class RaceViewController extends Thread implements ImportantAnnotationDel
System.out.println();
}
}
/**
@@ -628,6 +625,7 @@ public class RaceViewController extends Thread implements ImportantAnnotationDel
if (bg.getBoat().getHullID().equals(yacht.getHullID())) {
bg.setIsSelected(true);
selectedBoat = yacht;
updateLaylines(bg);
} else {
bg.setIsSelected(false);
}
+22 -1
View File
@@ -59,6 +59,8 @@ public class BoatGroup extends Group {
private Text estTimeToNextMarkObject;
private Text legTimeObject;
private Wake wake;
private Line leftLayLine;
private Line rightLayline;
private Double distanceTravelled = 0.0;
private Point2D lastPoint;
private boolean destinationSet;
@@ -158,10 +160,13 @@ public class BoatGroup extends Group {
}
leftLayLine = new Line();
rightLayline = new Line();
wake = new Wake(0, -BOAT_HEIGHT);
super.getChildren()
.addAll(teamNameObject, velocityObject, boatPoly, estTimeToNextMarkObject,
legTimeObject);
legTimeObject, leftLayLine, rightLayline);
}
/**
@@ -414,6 +419,7 @@ public class BoatGroup extends Group {
setWakeVisible(isSelected);
setEstTimeToNextMarkObjectVisible(isSelected);
setLegTimeObjectVisible(isSelected);
setLayLinesVisible(isSelected);
}
@@ -441,6 +447,11 @@ public class BoatGroup extends Group {
wake.setVisible(visible);
}
public void setLayLinesVisible(Boolean visible) {
leftLayLine.setVisible(visible);
rightLayline.setVisible(visible);
}
public Yacht getBoat() {
return boat;
}
@@ -467,6 +478,16 @@ public class BoatGroup extends Group {
return group;
}
public Double getBoatLayoutX() {
return boatPoly.getLayoutX();
}
public Double getBoatLayoutY() {
return boatPoly.getLayoutY();
}
public boolean isStopped() {
return isStopped;
}