private void traceContour( float[][] grid, int[] cell, double level, double west, double north, double cellSize, GeoSet levelGeoSet) { GeoPath geoPath = traceContour(grid, cell, level, west, north, cellSize); if (geoPath != null && geoPath.getPointsCount() > 1) { levelGeoSet.add(geoPath); } }
public GeoObject operate(GeoGrid geoGrid, double firstContourLevel, double lastContourLevel) { flags = new boolean[geoGrid.getRows()][geoGrid.getCols()]; GeoSet geoSet = new GeoSet(); final int nlevels = (int) ((lastContourLevel - firstContourLevel) / interval) + 1; if (treatDegreeJump) { GeoSet levelGeoSet = new GeoSet(); this.contourLevel(geoGrid, 0.f, levelGeoSet); levelGeoSet.setName(Float.toString(0.f)); geoSet.add(levelGeoSet); } for (int i = 0; i < nlevels; ++i) { final double contourLevel = firstContourLevel + i * interval; GeoSet levelGeoSet = new GeoSet(); this.contourLevel(geoGrid, contourLevel, levelGeoSet); levelGeoSet.setName(Double.toString(contourLevel)); geoSet.add(levelGeoSet); } return geoSet; }