public List polygonToCellsExperimental()

in src/main/java/com/uber/h3core/H3Core.java [540:576]


  public List<Long> polygonToCellsExperimental(
      List<LatLng> points, List<List<LatLng>> holes, int res, PolygonToCellsFlags flags) {
    checkResolution(res);

    // pack the data for use by the polyfill JNI call
    double[] verts = new double[points.size() * 2];
    packGeofenceVertices(verts, points, 0);
    int[] holeSizes = new int[0];
    double[] holeVerts = new double[0];
    if (holes != null) {
      int holesSize = holes.size();
      holeSizes = new int[holesSize];
      int totalSize = 0;
      for (int i = 0; i < holesSize; i++) {
        int holeSize = holes.get(i).size() * 2;
        totalSize += holeSize;
        // Note we are storing the number of doubles
        holeSizes[i] = holeSize;
      }
      holeVerts = new double[totalSize];
      int offset = 0;
      for (int i = 0; i < holesSize; i++) {
        offset = packGeofenceVertices(holeVerts, holes.get(i), offset);
      }
    }

    int flagsInt = flags.toInt();
    int sz =
        longToIntSize(
            h3Api.maxPolygonToCellsSizeExperimental(verts, holeSizes, holeVerts, res, flagsInt));

    long[] results = new long[sz];

    h3Api.polygonToCellsExperimental(verts, holeSizes, holeVerts, res, flagsInt, results);

    return nonZeroLongArrayToList(results);
  }