Revision 13823 trunk/extensions/extWCS/src/com/iver/cit/gvsig/fmap/layers/FLyrWCS.java

View differences:

FLyrWCS.java
82 82
import org.gvsig.raster.grid.GridTransparency;
83 83
import org.gvsig.raster.grid.filter.RasterFilterList;
84 84
import org.gvsig.raster.grid.filter.RasterFilterListManager;
85
import org.gvsig.raster.grid.filter.enhancement.LinearEnhancementFilter;
86
import org.gvsig.raster.grid.filter.statistics.TailTrimFilter;
85 87
import org.gvsig.remoteClient.wcs.WCSStatus;
86 88
import org.gvsig.remoteClient.wms.ICancellable;
87 89

  
......
165 167
	private int[]                       renderBands = null;
166 168
	private FLyrRasterSE				layerRaster = null;
167 169
	private ArrayList                   filterArguments = null;
170
	private String[][]					fileNames = null;
168 171
	
169 172
	private class MyCancellable implements ICancellable
170 173
	{
......
414 417
						tiles.setAffineTransform((AffineTransform) viewPort.getAffineTransform().clone());
415 418
						MultiRasterDataset[][] datasets = new MultiRasterDataset[tiles.getNumRows()][tiles.getNumCols()];
416 419
						IBuffer[][] buf = new IBuffer[tiles.getNumRows()][tiles.getNumCols()];
420
						fileNames = new String[tiles.getNumRows()][tiles.getNumCols()];
417 421
						visualStatus.fileNames = new String[tiles.getNumTiles()];
418 422
						for (int tileNr=0; tileNr < tiles.getNumTiles(); tileNr++) {
419 423
							// drawing part
......
679 683
			fl.setInitDataType(layerRaster.getDataType()[0]);
680 684
			RasterFilterListManager filterListManager = new RasterFilterListManager(fl);
681 685
			filterListManager.createFilterListFromStrings(filterArguments);
686
			if(fl.move(TailTrimFilter.class, 0))
687
				fl.move(LinearEnhancementFilter.class, 1);
688
			else
689
				fl.move(LinearEnhancementFilter.class, 0);
690
			fl.controlTypes();
682 691
			filterArguments = null;
683 692
			filterList = fl;
684 693
		}
......
709 718

  
710 719
	/*
711 720
	 * (non-Javadoc)
721
	 * @see com.iver.cit.gvsig.fmap.layers.FLyrDefault#cloneLayer()
722
	 */
723
	public FLayer cloneLayer() throws Exception {
724
		Object par = null;
725
		if(dataset instanceof CompositeDataset) 
726
			par = ((CompositeDataset)dataset).getFileNames();
727
		else if(layerRaster != null)
728
			par = layerRaster.getLoadParams();
729
		
730
		FLyrRasterSE newLayer = FLyrRasterSE.createLayer(this.getName(), par, this.getProjection());
731
		ArrayList filters = getRender().getFilterList().getStatusCloned();
732
		RasterFilterList filterList = new RasterFilterList();
733
		filterList.setInitDataType(newLayer.getDataType()[0]);
734
		filterList.setStatus(filters);
735
		newLayer.getRender().setFilterList(filterList);
736
		newLayer.getRender().setLastTransparency(new GridTransparency(getRenderTransparency()));
737
		return newLayer;
738
	}
739
	
740
	/*
741
	 * (non-Javadoc)
712 742
	 * @see org.gvsig.fmap.raster.IRasterRendering#getRenderFilterList()
713 743
	 */
714 744
	public RasterFilterList getRenderFilterList(){
......
717 747
	
718 748
	/*
719 749
	 * (non-Javadoc)
750
	 * @see org.gvsig.raster.hierarchy.IRasterRendering#setRenderFilterList(org.gvsig.raster.grid.filter.RasterFilterList)
751
	 */
752
	public void setRenderFilterList(RasterFilterList filterList) {
753
		this.filterList = filterList;
754
		super.getRender().setFilterList(filterList);
755
	}
756
	
757
	/*
758
	 * (non-Javadoc)
720 759
	 * @see org.gvsig.fmap.raster.IRasterRendering#getRenderTransparency()
721 760
	 */
722 761
	public GridTransparency getRenderTransparency() {
......
863 902

  
864 903
			if(claseStr!=null && !claseStr.equals("")){
865 904
				try{
866
					Class clase = Class.forName(claseStr);
905
					Class clase = LayerFactory.getLayerClassForLayerClassName(claseStr);
867 906
					Constructor constr = clase.getConstructor(null);
868 907
					status = (IStatusRaster)constr.newInstance(null);
869 908
					if(status != null) {
870 909
						status.setXMLEntity(xml, this);
910
						((StatusLayerRaster)status).setNameClass(claseStr);
871 911
						filterArguments = status.getFilterArguments();
872 912
						transparency = status.getTransparency();
873 913
						renderBands = status.getRenderBands();
......
1061 1101
			case IRasterLayerActions.ZOOM_PIXEL_RESOLUTION:
1062 1102
			case IRasterLayerActions.FLYRASTER_BAR_TOOLS:
1063 1103
			case IRasterLayerActions.BANDS_FILE_LIST:
1104
			case IRasterLayerActions.PANSHARPENING:
1064 1105
				return false;
1065 1106
			case IRasterLayerActions.BANDS_RGB:
1066 1107
				return true;
......
1069 1110
		return super.isActionEnabled(action);
1070 1111
	}
1071 1112
	
1072
	/*
1073
	 * (non-Javadoc)
1074
	 * @see org.gvsig.fmap.raster.layers.FLyrRasterSE#getLegend()
1075
	 */
1076
	public ILegend getLegend() {
1077
		return null;
1078
	}
1079 1113
}

Also available in: Unified diff