/*
*
*
*/
package ika.geo.grid;
/**
*
* @author Bernhard Jenny, Institute of Cartography, ETH Zurich.
*/
public class GridMaskAbove implements GridMask {
private GaussianPyramid elevationPyramid;
private float threshold;
private float margin;
public GridMaskAbove (GaussianPyramid elevationPyramid, float threshold, float margin) {
this.elevationPyramid = elevationPyramid;
this.threshold = threshold;
this.margin = margin;
}
public final float getWeight(int col, int row, int pyramidLevel) {
float v = this.elevationPyramid.getValue(col, row, pyramidLevel);
if (v < threshold - margin) {
return 0f;
} else if (v > threshold + margin) {
return 1f;
} else if (margin > 0f) {
return (v - threshold + margin) * (1.f / (2f * margin));
}
return 1f;
}
public float getThreshold() {
return threshold;
}
public float getMargin() {
return margin;
}
}