mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-09 20:41:10 +00:00
Improved the ManeuverRetrievalProcessor so that maneuvers with a time point equal to the start of a leg aren't retrieved twice
This commit is contained in:
1 parent
811d1a630f
commit
bdecac1b13
1 file changed
+10
+10
@@ -9,6 +9,7 @@ import com.sap.sailing.datamining.data.HasTrackedLegOfCompetitorContext;
|
||||
import com.sap.sailing.datamining.impl.data.ManeuverWithContext;
|
||||
import com.sap.sailing.datamining.impl.data.TrackedLegOfCompetitorWithSpecificTimePointWithContext;
|
||||
import com.sap.sailing.datamining.shared.ManeuverSettings;
|
||||
import com.sap.sailing.domain.base.Waypoint;
|
||||
import com.sap.sailing.domain.common.NoWindException;
|
||||
import com.sap.sailing.domain.tracking.Maneuver;
|
||||
import com.sap.sailing.domain.tracking.ManeuverCurveBoundaries;
|
||||
@@ -36,6 +37,9 @@ public class ManeuverRetrievalProcessor
|
||||
TimePoint finishTime = element.getTrackedLegOfCompetitor().getFinishTime();
|
||||
if (finishTime != null) {
|
||||
Iterable<Maneuver> maneuvers = null;
|
||||
if (!isLastLeg(element)) {
|
||||
finishTime = finishTime.minus(1);
|
||||
}
|
||||
try {
|
||||
maneuvers = element.getTrackedLegOfCompetitor().getManeuvers(finishTime, false);
|
||||
} catch (NoWindException e) {
|
||||
@@ -66,6 +70,12 @@ public class ManeuverRetrievalProcessor
|
||||
return maneuversWithContext;
|
||||
}
|
||||
|
||||
private boolean isLastLeg(HasTrackedLegOfCompetitorContext element) {
|
||||
Waypoint finishWaypoint = element.getTrackedLegContext().getTrackedRaceContext().getRace().getCourse().getLastWaypoint();
|
||||
Waypoint toWaypoint = element.getTrackedLegOfCompetitor().getLeg().getTo();
|
||||
return finishWaypoint.equals(toWaypoint);
|
||||
}
|
||||
|
||||
private boolean isManeuverCompliantWithSettings(Maneuver previousManeuver,
|
||||
ManeuverWithContext currentManeuverWithContext, Maneuver nextManeuver) {
|
||||
boolean mainCurveAnalysis = settings.isMainCurveAnalysis();
|
||||
|
||||
Reference in new issue
Block a user