Hi,
I’ve created a detector like so:
It doesn’t go in the handler, so I’m wondering if something is wrong here.
I simplified it so it has 4 points and I put a high number on the sampling step to no avail
Frame   earthFrame = FramesFactory.getITRF(IERSConventions.IERS_2010, true);
OneAxisEllipsoid  earth = new OneAxisEllipsoid(
              WGS84_EARTH_EQUATORIAL_RADIUS,
              WGS84_EARTH_FLATTENING,
              earthFrame);
Frame satelliteFrame = FramesFactory.getGCRF();
AttitudeProvider pointing = new NadirPointing(satelliteFrame, earth);
SimpleDateFormat sdf =
        new SimpleDateFormat("dd-MM-yyyy HH:mm:ss.SSS Z");
Date dateSatelliteInitialDate = sdf.parse("01-01-2021 00:00:00.000 UTC");
AbsoluteDate satelliteInitialDate =
        new AbsoluteDate(dateSatelliteInitialDate, TimeScalesFactory.getUTC());
Orbit initialOrbit = new KeplerianOrbit(
        EIGEN5C_EARTH_EQUATORIAL_RADIUS + 0.5 * (800e3), // 800e3 = 2*perigee
        (400.1e3-400e3)/(400.1e3+400e3)), // (apogee - perigee) / (apogee + perigee)
        FastMath.toRadians(90),
        FastMath.toRadians(0)
        FastMath.toRadians(0),
        FastMath.toRadians(0),
        PositionAngle.TRUE,
        satelliteFrame,
        satelliteInitialDate,
        EIGEN5C_EARTH_MU
    );
Propagator propagator = new EcksteinHechlerPropagator(
        initialOrbit,
        pointing,
        25.0,
        EIGEN5C_EARTH_EQUATORIAL_RADIUS,
        EIGEN5C_EARTH_MU,
        EIGEN5C_EARTH_C20,
        EIGEN5C_EARTH_C30,
        EIGEN5C_EARTH_C40,
        EIGEN5C_EARTH_C50,
        EIGEN5C_EARTH_C60
    );
// this values are computed before
DoubleDihedraFieldOfView imagerFieldOfView = new DoubleDihedraFieldOfView(Vector3D.MINUS_K, Vector3D.PLUS_I, 0.02742857132361516, Vector3D.PLUS_J, 0.03428571415451895, 0);
double sampling_step = 100000. ;
double hyperplaneThickness = 1.0e-10;
GeodeticPoint[] geodeticPointArray = new GeodeticPoint[4];
geodeticPointArray[0] = new GeodeticPoint(FastMath.toRadians(71.7069d), FastMath.toRadians(2.6043d), 500);
geodeticPointArray[1] = new GeodeticPoint(FastMath.toRadians(1.5240d), FastMath.toRadians(2.6043d), 500);
geodeticPointArray[2] = new GeodeticPoint(FastMath.toRadians(1.5240d), FastMath.toRadians(125.3188d), 500);
geodeticPointArray[3] = new GeodeticPoint(FastMath.toRadians(71.7069d), FastMath.toRadians(125.3188d), 500);
SphericalPolygonsSet targetLand = EllipsoidTessellator.buildSimpleZone(hyperplaneThickness, geodeticPointArray);
FootprintOverlapDetector targetLandDetector = new FootprintOverlapDetector(imagerFieldOfView , earth, targetLand, sampling_step).withHandler((s, detector, increasing) -> {
      targetLandDetectorInfo.put(s.getDate(),  (increasing ? "starts " : "ends"));
      return Action.CONTINUE;
    });
propagator.addEventDetector(targetLandDetector);