Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package net.datenstrudel.bulbs.shared.domain.model.color;
  
  
  import java.util.List;

Author(s):
Thomas Wendzinski
 
         value="HSB a.k.a. Hue - Saturation - Brightness color implementation",
         parent = Color.class,
         discriminator = "COLOR_SCHEME"
 )
 public class ColorHSB extends Color<ColorHSBimplements Serializable {
 
     //~ Member(s) //////////////////////////////////////////////////////////////
 	
D=[0;255]
 
     @ApiModelProperty(allowableValues = "0,255", required = true)
 	private final float brightness;
D=[0;360]
 
     @ApiModelProperty(allowableValues = "0,360", required = true)
 	private final float hue ;
D=[0;255]
 
     @ApiModelProperty(allowableValues = "0,255", required = true)
 	private final float saturation;
 
     @ApiModelProperty(allowableValues = "HSB", required = true, position = 1)
     private final ColorScheme COLOR_SCHEME = .;
 
     //~ Construction ///////////////////////////////////////////////////////////
 	private ColorHSB(){
          = 255f;
          = 0f;
          = 255f;
 	}
     public ColorHSB(float brightnessfloat huefloat saturation) {
         assert(brightness >=0f && brightness <=255f);
         assert(hue >=0f && hue <= 360f);
         assert(saturation >=0f && saturation <=255f);
         this. = brightness;
         this. = hue;
         this. = saturation
     }
 
     //~ Method(s) //////////////////////////////////////////////////////////////
     public float getBrightness() {
         return ;
     }
     public float getHue() {
         return ;
     }
     public float getSaturation() {
         return ;
     }
     
     // ~ ///////////////////////////////////////////////////////////////////////
 
    
TODO: Only forward hue interpolation supported. -- Support backward as well, depending on distance

Parameters:
interpolationEnd
count
Returns:
 
     @Override
     public List<ColorlinearInterpolation(ColorHSB interpolationEndint count) {
         final List<ColorHSBres = new ArrayList<>(count);
         final float step_Brightness = (interpolationEnd.brightness - this.) / count;
         final float step_Hue = (interpolationEnd.hue - this.) / count;
         final float step_Sat = (interpolationEnd.saturation - this.) / count;
         
         res.add(this);
         ColorHSB tmpColor;
         for (int i = 1; i < counti++) {
             tmpColor = res.get(i-1);
             res.addnew ColorHSB(
                     tmpColor.brightness + step_Brightness
                     tmpColor.hue + step_Hue
                     tmpColor.saturation + step_Sat)) ;
         }
         res.add(interpolationEnd);
         return (Listres;
     }
 
     // ~ ///////////////////////////////////////////////////////////////////////
     @Override
     public boolean equals(Object o) {
         if (this == oreturn true;
         if (o == null || getClass() != o.getClass()) return false;
 
        ColorHSB colorHSB = (ColorHSBo;
        if (Float.compare(colorHSB.brightness) != 0) return false;
        if (Float.compare(colorHSB.hue) != 0) return false;
        if (Float.compare(colorHSB.saturation) != 0) return false;
        if ( != colorHSB.COLOR_SCHEMEreturn false;
        return true;
    }
    @Override
    public int hashCode() {
        int result = ( != +0.0f ? Float.floatToIntBits() : 0);
        result = 31 * result + ( != +0.0f ? Float.floatToIntBits() : 0);
        result = 31 * result + ( != +0.0f ? Float.floatToIntBits() : 0);
        result = 31 * result + ( != null ? .hashCode() : 0);
        return result;
    }
    @Override
    public String toString() {
        return "ColorHSB{" + "brightness=" +  + ", hue=" +  + ", saturation=" +  + '}';
    }
    @Override
    public ColorScheme colorScheme() {
        return ;
    }
    public ColorScheme getColorScheme(){
        return ;
    }
    public void setColorScheme(ColorScheme s){
    }
    //~ Private Artifact(s) ////////////////////////////////////////////////////
New to GrepCode? Check out our FAQ X