Skip to content
Snippets Groups Projects
Commit 5403bbdb authored by Luc Maisonobe's avatar Luc Maisonobe
Browse files

Dump min and max cells.

parent db712d48
No related branches found
No related tags found
No related merge requests found
...@@ -56,9 +56,21 @@ public class SimpleTile implements Tile { ...@@ -56,9 +56,21 @@ public class SimpleTile implements Tile {
/** Minimum elevation. */ /** Minimum elevation. */
private double minElevation; private double minElevation;
/** Latitude index of min elevation. */
private int minElevationLatitudeIndex;
/** Longitude index of min elevation. */
private int minElevationLongitudeIndex;
/** Maximum elevation. */ /** Maximum elevation. */
private double maxElevation; private double maxElevation;
/** Latitude index of max elevation. */
private int maxElevationLatitudeIndex;
/** Longitude index of max elevation. */
private int maxElevationLongitudeIndex;
/** Elevation array. */ /** Elevation array. */
private double[] elevations; private double[] elevations;
...@@ -76,14 +88,18 @@ public class SimpleTile implements Tile { ...@@ -76,14 +88,18 @@ public class SimpleTile implements Tile {
final double newLatitudeStep, final double newLongitudeStep, final double newLatitudeStep, final double newLongitudeStep,
final int newLatitudeRows, final int newLongitudeColumns) final int newLatitudeRows, final int newLongitudeColumns)
throws RuggedException { throws RuggedException {
this.minLatitude = newMinLatitude; this.minLatitude = newMinLatitude;
this.minLongitude = newMinLongitude; this.minLongitude = newMinLongitude;
this.latitudeStep = newLatitudeStep; this.latitudeStep = newLatitudeStep;
this.longitudeStep = newLongitudeStep; this.longitudeStep = newLongitudeStep;
this.latitudeRows = newLatitudeRows; this.latitudeRows = newLatitudeRows;
this.longitudeColumns = newLongitudeColumns; this.longitudeColumns = newLongitudeColumns;
this.minElevation = Double.POSITIVE_INFINITY; this.minElevation = Double.POSITIVE_INFINITY;
this.maxElevation = Double.NEGATIVE_INFINITY; this.minElevationLatitudeIndex = -1;
this.minElevationLongitudeIndex = -1;
this.maxElevation = Double.NEGATIVE_INFINITY;
this.maxElevationLatitudeIndex = -1;
this.maxElevationLongitudeIndex = -1;
if (newLatitudeRows < 1 || newLongitudeColumns < 1) { if (newLatitudeRows < 1 || newLongitudeColumns < 1) {
throw new RuggedException(RuggedMessages.EMPTY_TILE, newLatitudeRows, newLongitudeColumns); throw new RuggedException(RuggedMessages.EMPTY_TILE, newLatitudeRows, newLongitudeColumns);
...@@ -173,12 +189,14 @@ public class SimpleTile implements Tile { ...@@ -173,12 +189,14 @@ public class SimpleTile implements Tile {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public double getMinElevation() { public double getMinElevation() {
DumpManager.dumpTileCell(this, minElevationLatitudeIndex, minElevationLongitudeIndex, minElevation);
return minElevation; return minElevation;
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public double getMaxElevation() { public double getMaxElevation() {
DumpManager.dumpTileCell(this, maxElevationLatitudeIndex, maxElevationLongitudeIndex, maxElevation);
return maxElevation; return maxElevation;
} }
...@@ -192,8 +210,16 @@ public class SimpleTile implements Tile { ...@@ -192,8 +210,16 @@ public class SimpleTile implements Tile {
latitudeIndex, longitudeIndex, latitudeIndex, longitudeIndex,
latitudeRows - 1, longitudeColumns - 1); latitudeRows - 1, longitudeColumns - 1);
} }
minElevation = FastMath.min(minElevation, elevation); if (elevation < minElevation) {
maxElevation = FastMath.max(maxElevation, elevation); minElevation = elevation;
minElevationLatitudeIndex = latitudeIndex;
minElevationLongitudeIndex = longitudeIndex;
}
if (elevation > maxElevation) {
maxElevation = elevation;
maxElevationLatitudeIndex = latitudeIndex;
maxElevationLongitudeIndex = longitudeIndex;
}
elevations[latitudeIndex * getLongitudeColumns() + longitudeIndex] = elevation; elevations[latitudeIndex * getLongitudeColumns() + longitudeIndex] = elevation;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment