/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2002-2008, Open Source Geospatial Foundation (OSGeo) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ package org.geotools.styling; /** * The ChannelSelection element specifies the false-color channel selection for * a multi-spectral raster source (such as a multi-band satellite-imagery * source). It is defined as: *
 * <xs:element name="ChannelSelection">
 * <xs:complexType>
 *     <xs:choice>
 *       <xs:sequence>
 *         <xs:element ref="sld:RedChannel"/>
 *         <xs:element ref="sld:GreenChannel"/>
 *         <xs:element ref="sld:BlueChannel"/>
 *       </xs:sequence>
 *       <xs:element ref="sld:GrayChannel"/>
 *     </xs:choice>
 *   </xs:complexType>
 * </xs:element>
 * <xs:element name="RedChannel" type="sld:SelectedChannelType"/>
 * <xs:element name="GreenChannel" type="sld:SelectedChannelType"/>
 * <xs:element name="BlueChannel" type="sld:SelectedChannelType"/>
 * <xs:element name="GrayChannel" type="sld:SelectedChannelType"/>
 * 
* Either a channel may be selected to display in each of red, green, and blue, * or a single channel may be selected to display in grayscale. (The spelling * ?gray? is used since it seems to be more common on the Web than ?grey? by a * ratio of about 3:1.) Contrast enhancement may be applied to each channel in * isolation. Channels are identified by a system and data-dependent * character identifier. Commonly, channels will be labelled as ?1?, ?2?, * etc. * * @author iant * @source $URL$ */ public interface ChannelSelection { /** * set the RGB channels to be used * * @param red the red channel * @param green the green channel * @param blue the blue channel * * @deprecated symbolizers and underneath classes will be immutable in 2.6.x */ @Deprecated void setRGBChannels(SelectedChannelType red, SelectedChannelType green, SelectedChannelType blue); /** * set the RGB channels to be used * * @param channels array of channels in RGB order * * @deprecated symbolizers and underneath classes will be immutable in 2.6.x */ @Deprecated void setRGBChannels(SelectedChannelType[] channels); /** * get the RGB channels to be used * * @return array of channels in RGB order */ SelectedChannelType[] getRGBChannels(); /** * Set the gray channel to be used * * @param gray the gray channel * * @deprecated symbolizers and underneath classes will be immutable in 2.6.x */ @Deprecated void setGrayChannel(SelectedChannelType gray); /** * Get the gray channel to be used * * @return the gray channel */ SelectedChannelType getGrayChannel(); /** * set the channels to be used * * @param channels array of channels * * @deprecated symbolizers and underneath classes will be immutable in 2.6.x */ @Deprecated void setSelectedChannels(SelectedChannelType[] channels); /** * get the channels to be used * * @return array of channels * */ @Deprecated SelectedChannelType[] getSelectedChannels(); public void accept(StyleVisitor visitor); }