So I’ve created 2 EclipseDetector
one to catch Penumbra events and the other to catch Umbra events:
StringBuilder sbDayNight = new StringBuilder();
StringBuilder sbNightDay = new StringBuilder();
EventDetector dayNightEvent = new EclipseDetector(sun, Constants.SUN_RADIUS, earth).withUmbra().
withHandler((s, detector, increasing) -> {
sbDayNight.append(
(increasing ? "Umbra finish at " : "Umbra start at ") +
s.getDate() + "\n"
);
return Action.CONTINUE;
});
EventDetector nightDayEvent = new EclipseDetector(sun, Constants.SUN_RADIUS, earth).withPenumbra().
withHandler((s, detector, increasing) -> {
sbNightDay.append(
(increasing ? "Penumbra finish at " : "Penumbra start at ") +
s.getDate() + "\n"
);
return Action.CONTINUE;
});
But the results seem off, it looks like Penumbra also contains the Umbra phase:
Umbra finish at 2020-10-01T00:18:29.873
Umbra start at 2020-10-01T01:17:44.539
Umbra finish at 2020-10-01T01:53:03.259
Umbra start at 2020-10-01T02:52:18.018
Umbra finish at 2020-10-01T03:27:36.644
Penumbra finish at 2020-10-01T00:18:38.364
Penumbra start at 2020-10-01T01:17:36.061
Penumbra finish at 2020-10-01T01:53:11.751
Penumbra start at 2020-10-01T02:52:09.538
Penumbra finish at 2020-10-01T03:27:45.139
Can you point out what I’m doing wrong?