cdm/src/main/java/ucar/unidata/geoloc/projection/Sinusoidal.java
public List<ProjectionPoint> getMapEdgeInterceptsAtY(double y0) {
        List<ProjectionPoint> mapEdgeIntercepts = new LinkedList<>();
        if (projToLatLon(falseEasting, y0) == INVALID) {  // The line {@code y = y0} does not intersect the map.
            return mapEdgeIntercepts;  // Empty list.
        }

        double minX = getXAt(y0, -PI);
        double maxX = getXAt(y0, +PI);

        mapEdgeIntercepts.add(new ProjectionPointImpl(minX, y0));
        mapEdgeIntercepts.add(new ProjectionPointImpl(maxX, y0));
        return mapEdgeIntercepts;
    }
public List<ProjectionPoint> getMapEdgeInterceptsAtY(double y0) {
        List<ProjectionPoint> mapEdgeIntercepts = new LinkedList<>();
        if (projToLatLon(falseEasting, y0) == INVALID) {  // The line {@code y = y0} does not intersect the map.
            return mapEdgeIntercepts;  // Empty list.
        }

        double minX = getXAt(y0, -PI);
        double maxX = getXAt(y0, +PI);

        mapEdgeIntercepts.add(new ProjectionPointImpl(minX, y0));
        mapEdgeIntercepts.add(new ProjectionPointImpl(maxX, y0));
        return mapEdgeIntercepts;
    }
Returns the points at which the line {@code y = y0} intersects the map edge.

@param y0  defines a line that intersects the map edge, in projection coordinates.
@return    the points at which the line {@code y = y0} intersects the map edge. May be empty.