|
|
|
|
@ -21,6 +21,8 @@ import java.time.ZonedDateTime;
|
|
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
|
|
import java.util.Collections;
|
|
|
|
|
import java.util.Comparator;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Helper Class for creating a Race XML
|
|
|
|
|
@ -218,12 +220,16 @@ public class RaceXMLCreator {
|
|
|
|
|
double averageSpeed = (bestDownWindSpeed + bestUpWindSpeed) / 2;
|
|
|
|
|
double raceApproximateTime = getRaceLength(race, averageSpeed);
|
|
|
|
|
double scale = milliseconds / raceApproximateTime;
|
|
|
|
|
Map<XMLCompoundMark, Boolean> hasBeenScaled = new HashMap<>();
|
|
|
|
|
for (XMLCorner cm: race.getCompoundMarkSequence().getCorner()){
|
|
|
|
|
int index = cm.getCompoundMarkID() - 1;
|
|
|
|
|
XMLCompoundMark mark = race.getCourse().getCompoundMark().get(index);
|
|
|
|
|
for (XMLMark m: mark.getMark()){
|
|
|
|
|
scalePoint(m, center, scale);
|
|
|
|
|
if (!hasBeenScaled.containsKey(mark)) {
|
|
|
|
|
for (XMLMark m : mark.getMark()) {
|
|
|
|
|
scalePoint(m, center, scale);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
hasBeenScaled.put(mark, true);
|
|
|
|
|
}
|
|
|
|
|
for (XMLLimit limit: race.getCourseLimit().getLimit()){
|
|
|
|
|
scalePoint(limit, center, scale);
|
|
|
|
|
|