package org.geotools.coverage.io.impl.range; import java.util.ArrayList; import java.util.List; import javax.measure.quantity.Dimensionless; import javax.measure.unit.Unit; import org.opengis.util.CodeList; /** * Process Color is a subtractive model used when working with pigment. This * model is often used when printing. * <p> * This is a normal Java 5 enum capturing the closed set of CMYK names. It is * used as a basis for the definition of an Axis built around these constants. * <p> * Please understand that this is not the only possible subtractive color model * - a commerical alternative is the Pantone (tm)) colors. * * @source $URL: http://svn.osgeo.org/geotools/branches/2.7.x/build/maven/javadoc/../../../modules/unsupported/coverage-experiment/coverage-api/src/main/java/org/geotools/coverage/io/impl/range/HSV.java $ */ public class HSV extends CodeList<HSV> { private static final long serialVersionUID = 2772167658847829287L; private static List<HSV> ALL = new ArrayList<HSV>(); public static HSV HUE = new HSV("Hue"); public static HSV SATURATION = new HSV("Saturation"); public static HSV VALUE = new HSV("Value"); public HSV(String name) { super(name, ALL ); } @Override public HSV[] family() { return ALL.toArray( new HSV[ ALL.size() ]); } /** * Axis covering the full {@link HSV} range. */ public static final DefaultAxis<HSV,Dimensionless> AXIS = new DefaultAxis<HSV,Dimensionless>("Additive Color", CodeMeasure.valueOf( ALL ), Unit.ONE ); /** * Axis around {@link #KEY }. */ public static final DefaultAxis<HSV,Dimensionless> INTENSITY_AXIS = new DefaultAxis<HSV,Dimensionless>("Intensity", CodeMeasure.valueOf(VALUE), Unit.ONE ); }