All pastes #400814 Raw Edit

Untitled

public java v1 · immutable
·published 2007-03-18 22:33 UTC
rendered paste body
private static final boolean isDTMAt(short[][][] colorMap, DTM dtm, int x,			int y) {		int r = dtm.rgb.r;		int g = dtm.rgb.g;		int b = dtm.rgb.b;		int tolerance = dtm.tolerance;		int size = dtm.areaSize;		if (dtm.type == DTM.CROSS) {			int redChange = r - colorMap[x][y][0];			if ((redChange >= 0 ? redChange : -redChange) > tolerance) {				return false;			}			int greenChange = g - colorMap[x][y][1];			if ((greenChange >= 0 ? greenChange : -greenChange) > tolerance) {				return false;			}			int blueChange = b - colorMap[x][y][2];			if ((blueChange >= 0 ? blueChange : -blueChange) > tolerance) {				return false;			}			for (int i = 1; i <= size; i++) {				redChange = r - colorMap[x + size][y][0];				if ((redChange >= 0 ? redChange : -redChange) > tolerance) {					return false;				}				greenChange = g - colorMap[x + size][y][1];				if ((greenChange >= 0 ? greenChange : -greenChange) > tolerance) {					return false;				}				blueChange = b - colorMap[x + size][y][2];				if ((blueChange >= 0 ? blueChange : -blueChange) > tolerance) {					return false;				}				redChange = r - colorMap[x - size][y][0];				if ((redChange >= 0 ? redChange : -redChange) > tolerance) {					return false;				}				greenChange = g - colorMap[x - size][y][1];				if ((greenChange >= 0 ? greenChange : -greenChange) > tolerance) {					return false;				}				blueChange = b - colorMap[x - size][y][2];				if ((blueChange >= 0 ? blueChange : -blueChange) > tolerance) {					return false;				}				redChange = r - colorMap[x][y + size][0];				if ((redChange >= 0 ? redChange : -redChange) > tolerance) {					return false;				}				greenChange = g - colorMap[x][y + size][1];				if ((greenChange >= 0 ? greenChange : -greenChange) > tolerance) {					return false;				}				blueChange = b - colorMap[x][y + size][2];				if ((blueChange >= 0 ? blueChange : -blueChange) > tolerance) {					return false;				}				redChange = r - colorMap[x][y - size][0];				if ((redChange >= 0 ? redChange : -redChange) > tolerance) {					return false;				}				greenChange = g - colorMap[x][y - size][1];				if ((greenChange >= 0 ? greenChange : -greenChange) > tolerance) {					return false;				}				blueChange = b - colorMap[x][y - size][2];				if ((blueChange >= 0 ? blueChange : -blueChange) > tolerance) {					return false;				}			}		} else if (dtm.type == DTM.DIAGONALCROSS) {			int redChange = r - colorMap[x][y][0];			if ((redChange >= 0 ? redChange : -redChange) > tolerance) {				return false;			}			int greenChange = g - colorMap[x][y][1];			if ((greenChange >= 0 ? greenChange : -greenChange) > tolerance) {				return false;			}			int blueChange = b - colorMap[x][y][2];			if ((blueChange >= 0 ? blueChange : -blueChange) > tolerance) {				return false;			}			for (int i = 1; i <= size; i++) {				redChange = r - colorMap[x + size][y + size][0];				if ((redChange >= 0 ? redChange : -redChange) > tolerance) {					return false;				}				greenChange = g - colorMap[x + size][y + size][1];				if ((greenChange >= 0 ? greenChange : -greenChange) > tolerance) {					return false;				}				blueChange = b - colorMap[x + size][y + size][2];				if ((blueChange >= 0 ? blueChange : -blueChange) > tolerance) {					return false;				}				redChange = r - colorMap[x - size][y - size][0];				if ((redChange >= 0 ? redChange : -redChange) > tolerance) {					return false;				}				greenChange = g - colorMap[x - size][y - size][1];				if ((greenChange >= 0 ? greenChange : -greenChange) > tolerance) {					return false;				}				blueChange = b - colorMap[x - size][y - size][2];				if ((blueChange >= 0 ? blueChange : -blueChange) > tolerance) {					return false;				}				redChange = r - colorMap[x - size][y + size][0];				if ((redChange >= 0 ? redChange : -redChange) > tolerance) {					return false;				}				greenChange = g - colorMap[x - size][y + size][1];				if ((greenChange >= 0 ? greenChange : -greenChange) > tolerance) {					return false;				}				blueChange = b - colorMap[x - size][y + size][2];				if ((blueChange >= 0 ? blueChange : -blueChange) > tolerance) {					return false;				}				redChange = r - colorMap[x + size][y - size][0];				if ((redChange >= 0 ? redChange : -redChange) > tolerance) {					return false;				}				greenChange = g - colorMap[x + size][y - size][1];				if ((greenChange >= 0 ? greenChange : -greenChange) > tolerance) {					return false;				}				blueChange = b - colorMap[x + size][y - size][2];				if ((blueChange >= 0 ? blueChange : -blueChange) > tolerance) {					return false;				}			}		} else if (dtm.type == DTM.RECTANGLE) {			for (int tx = x - size; tx <= x + size; tx++) {				for (int ty = y - size; ty <= y + size; ty++) {					int redChange = r - colorMap[tx][ty][0];					if ((redChange >= 0 ? redChange : -redChange) > tolerance) {						return false;					}					int greenChange = g - colorMap[tx][ty][1];					if ((greenChange >= 0 ? greenChange : -greenChange) > tolerance) {						return false;					}					int blueChange = b - colorMap[tx][ty][2];					if ((blueChange >= 0 ? blueChange : -blueChange) > tolerance) {						return false;					}				}			}		}		return false;	}