Revision 2311 org.gvsig.raster/branches/org.gvsig.raster_dataaccess_refactoring/org.gvsig.raster.fmap/src/main/java/org/gvsig/raster/fmap/layers/StatusLayerRaster.java
StatusLayerRaster.java | ||
---|---|---|
39 | 39 |
import org.gvsig.fmap.dal.coverage.grid.RasterFilterList; |
40 | 40 |
import org.gvsig.fmap.dal.coverage.grid.RasterFilterListManager; |
41 | 41 |
import org.gvsig.fmap.dal.coverage.store.RasterDataStore; |
42 |
import org.gvsig.fmap.dal.coverage.store.props.ColorInterpretation; |
|
42 | 43 |
import org.gvsig.fmap.dal.coverage.store.props.ColorTable; |
43 | 44 |
import org.gvsig.fmap.dal.coverage.store.props.Transparency; |
44 | 45 |
import org.gvsig.tools.ToolsLocator; |
... | ... | |
83 | 84 |
//Utilizado para la persistencia |
84 | 85 |
private boolean loadClass = false; |
85 | 86 |
|
86 |
/* (non-Javadoc) |
|
87 |
* @see com.iver.cit.gvsig.fmap.layers.StatusRasterInterface#setXMLEntity(com.iver.utiles.XMLEntity) |
|
88 |
*/ |
|
89 | 87 |
public void loadFromState(PersistentState state, DefaultFLyrRaster layer)throws PersistenceException { |
90 | 88 |
// this.layer = layer; |
91 | 89 |
// //RECUPERAR PROPIEDADES |
... | ... | |
184 | 182 |
state.set("filters",this.filters); |
185 | 183 |
} |
186 | 184 |
|
187 |
/* (non-Javadoc) |
|
188 |
* @see com.iver.cit.gvsig.fmap.layers.StatusRasterInterface#getXMLEntity(com.iver.utiles.XMLEntity) |
|
189 |
*/ |
|
190 | 185 |
public void setStateProperties(boolean loadClass, DefaultFLyrRaster layer) throws PersistenceException { |
191 | 186 |
this.layer = layer; |
192 | 187 |
this.loadClass = loadClass; |
... | ... | |
217 | 212 |
.setClassOfItems(String.class); |
218 | 213 |
} |
219 | 214 |
|
220 |
/* (non-Javadoc) |
|
221 |
* @see com.iver.cit.gvsig.fmap.layers.StatusRasterInterface#getFilters() |
|
222 |
*/ |
|
223 | 215 |
public List<String> getFilters() { |
224 | 216 |
return this.filters; |
225 | 217 |
} |
226 | 218 |
|
227 |
|
|
228 |
/* (non-Javadoc) |
|
229 |
* @see com.iver.cit.gvsig.fmap.layers.StatusRasterInterface#applyStatus(com.iver.cit.gvsig.fmap.layers.RasterFileAdapter) |
|
230 |
*/ |
|
231 | 219 |
public void applyStatus(DefaultFLyrRaster layer) throws NotSupportedExtensionException, RasterDriverException, FilterTypeException, FileNotFoundInListException, OperationNotSupportedException, FilterManagerException, InvalidSourceException { |
232 | 220 |
|
233 | 221 |
//Eliminamos el fichero inicial y cargamos las bandas si hay para que se carguen |
... | ... | |
241 | 229 |
} |
242 | 230 |
|
243 | 231 |
//Asigna las bandas |
244 |
int[] renderBands = new int[]{bandR, bandG, bandB}; |
|
232 |
String[] valuesCI = new String[layer.getDataStore().getBandCount()]; |
|
233 |
valuesCI[bandR] = ColorInterpretation.RED_BAND; |
|
234 |
valuesCI[bandG] = ColorInterpretation.GREEN_BAND; |
|
235 |
valuesCI[bandB] = ColorInterpretation.BLUE_BAND; |
|
236 |
ColorInterpretation ci = RasterLocator.getManager().getDataStructFactory().createColorInterpretation(valuesCI); |
|
245 | 237 |
if(layer.getRender() != null) |
246 |
layer.getRender().setRenderBands(renderBands);
|
|
238 |
layer.getRender().setRenderColorInterpretation(ci);
|
|
247 | 239 |
|
248 | 240 |
//Asigna la transparencia |
249 | 241 |
Transparency transp = layer.getRender().getRenderingTransparency(); |
... | ... | |
313 | 305 |
Params params = filterList.createEmptyFilterParams(); |
314 | 306 |
params.setParam("stats", ((RasterDataStore)layer.getDataStore()).getStatistics()); |
315 | 307 |
params.setParam("remove", new Boolean(false)); |
316 |
params.setParam("renderBands", layer.getRender().getRenderBands()); |
|
308 |
params.setParam("renderBands", layer.getRender().getRenderColorInterpretation().buildRenderBands());
|
|
317 | 309 |
params.setParam("stretchs", null);//coge el LinearStretchParams por defecto |
318 | 310 |
enhancementManager.addFilter(params); |
319 | 311 |
} |
320 | 312 |
} |
321 | 313 |
} |
322 | 314 |
|
323 |
/* |
|
324 |
* (non-Javadoc) |
|
325 |
* @see org.gvsig.fmap.raster.layers.IStatusRaster#getRenderBands() |
|
326 |
*/ |
|
327 | 315 |
public int[] getRenderBands() { |
328 | 316 |
return new int[]{bandR, bandG, bandB}; |
329 | 317 |
} |
330 | 318 |
|
331 |
/* |
|
332 |
* (non-Javadoc) |
|
333 |
* @see org.gvsig.fmap.raster.layers.IStatusRaster#getFilterList() |
|
334 |
*/ |
|
335 | 319 |
public RasterFilterList getFilterList() throws FilterTypeException { |
336 | 320 |
RasterManager rManager = RasterLocator.getManager(); |
337 | 321 |
try { |
... | ... | |
348 | 332 |
} |
349 | 333 |
} |
350 | 334 |
|
351 |
/* |
|
352 |
* (non-Javadoc) |
|
353 |
* @see org.gvsig.fmap.raster.layers.IStatusRaster#getColorTable() |
|
354 |
*/ |
|
355 | 335 |
public ColorTable getColorTable() throws FilterTypeException { |
356 | 336 |
return layer.getRender().getColorTable(); |
357 | 337 |
} |
358 | 338 |
|
359 |
/* |
|
360 |
* (non-Javadoc) |
|
361 |
* @see org.gvsig.fmap.raster.layers.IStatusRaster#getFilterArguments() |
|
362 |
*/ |
|
363 | 339 |
public List<String> getFilterArguments() { |
364 | 340 |
return filters; |
365 | 341 |
} |
Also available in: Unified diff