Class FootprintOverlapDetector

    • Constructor Detail

      • FootprintOverlapDetector

        public FootprintOverlapDetector​(FieldOfView fov,
                                        OneAxisEllipsoid body,
                                        SphericalPolygonsSet zone,
                                        double samplingStep)
        Build a new instance.

        The maximal interval between distance to FOV boundary checks should be smaller than the half duration of the minimal pass to handle, otherwise some short passes could be missed.

        Parameters:
        fov - sensor field of view
        body - body on which the geographic zone is defined
        zone - geographic zone to consider
        samplingStep - linear step used for sampling the geographic zone (in meters)
        Since:
        10.1
      • FootprintOverlapDetector

        protected FootprintOverlapDetector​(EventDetectionSettings detectionSettings,
                                           EventHandler handler,
                                           FieldOfView fov,
                                           OneAxisEllipsoid body,
                                           SphericalPolygonsSet zone,
                                           double samplingStep,
                                           List<org.orekit.propagation.events.FootprintOverlapDetector.SamplingPoint> sampledZone)
        Protected constructor with full parameters.

        This constructor is not public as users are expected to use the builder API with the various withXxx() methods to set up the instance in a readable manner without using a huge amount of parameters.

        Parameters:
        detectionSettings - event detection settings
        handler - event handler to call at event occurrences
        body - body on which the geographic zone is defined
        zone - geographic zone to consider
        fov - sensor field of view
        sampledZone - sampling of the geographic zone
        samplingStep - linear step used for sampling the geographic zone (in meters)
        Since:
        13.0
    • Method Detail

      • getZone

        public SphericalPolygonsSet getZone()
        Get the geographic zone triggering the events.

        The zone is mapped on the unit sphere

        Returns:
        geographic zone triggering the events
      • getFOV

        public FieldOfView getFOV()
        Get the Field Of View.
        Returns:
        Field Of View
        Since:
        10.1
      • getBody

        public BodyShape getBody()
        Get the body on which the geographic zone is defined.
        Returns:
        body on which the geographic zone is defined
      • g

        public double g​(SpacecraftState s)
        Compute the value of the switching function. This function must be continuous (at least in its roots neighborhood), as the integrator will need to find its roots to locate the events.

        The g function value is the minimum offset among the region points with respect to the Field Of View boundary. It is positive if all region points are outside of the Field Of View, and negative if at least some of the region points are inside of the Field Of View. The minimum is computed by sampling the region, considering only the points for which the spacecraft is above the horizon. The accuracy of the detection depends on the linear sampling step set at detector construction. If the spacecraft is below horizon for all region points, an arbitrary positive value is returned.

        As per the previous definition, when the region enters the Field Of View, a decreasing event is generated, and when the region leaves the Field Of View, an increasing event is generated.

        Parameters:
        s - the current state information: date, kinematics, attitude
        Returns:
        value of the switching function