Revision 876

View differences:

org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/tool/properties/panel/NoDataPanel.java
53 53
public class NoDataPanel extends BasePanel implements ActionListener {
54 54
	private static final long   serialVersionUID       = 7645641060812458944L;
55 55
	private static final String NULL_NODATA            = "Not Defined";
56
	private static final String NAN_NODATA             = "NaN";
56 57
	private JLabel              jLabelValue            = null;
57 58
	private JButton             buttonSave             = null;
58 59
	private JButton             buttonDelete           = null;
......
207 208
			return;
208 209
		}
209 210
		
211
		if(text.compareTo(NAN_NODATA) == 0) {
212
			noData.setValue(Double.NaN);
213
			noData.save();
214
			return;
215
		}
216
		
210 217
		Number number = null;
211 218
		try {
212 219
			switch (dataType) {
......
309 316
		if(noData.isDefined()) {
310 317
			setCheckBoxValue(noData.getValue().doubleValue());
311 318
		} else {
312
			getTextFieldValue().setText("Not Defined");
319
			getTextFieldValue().setText(NULL_NODATA);
313 320
		}
314 321
		getCheckBoxNoDataEnabled().setSelected(noData.isNoDataTransparent());
315 322
	}
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/store/properties/DataStoreTransparency.java
425 425
				return true;
426 426
			break;
427 427
		case Buffer.TYPE_FLOAT:
428
			if(noData.isDefined() && 
429
					originalData.getElemFloat(line, col, 0) == noData.getValue().floatValue())
428
			float f = originalData.getElemFloat(line, col, 0);
429
			if((noData.isDefined() && 
430
					f == noData.getValue().floatValue()) || Float.isNaN(f))
430 431
				return true;
431 432
			break;
432 433
		case Buffer.TYPE_DOUBLE:
433
			if(noData.isDefined() && 
434
					originalData.getElemDouble(line, col, 0) == noData.getValue().doubleValue())
434
			double d = originalData.getElemDouble(line, col, 0);
435
			if((noData.isDefined() && 
436
					d == noData.getValue().doubleValue()) || Double.isNaN(d))
435 437
				return true;
436 438
			break;
437 439
		}

Also available in: Unified diff