
package tmcm.xModels;

import java.awt.Color;
import java.util.Vector;


class HSBParam extends RGBParam {

   
   HSBParam(ParamVal h, ParamVal s, ParamVal b) {
      super(null);
      if (h.values.length == 1 && s.values.length == 1 && b.values.length == 1)
         this.c = Color.getHSBColor((float)h.values[0], (float)s.values[0], (float)b.values[0]);
      else {
         this.r = h;
         this.g = s;
         this.b = b;
      }
   }
   
   Color getVal(int frameNumber) {
      if (c == null) {
         double hue = Math.min(r.getVal(frameNumber),0.99);
         double saturation = g.getVal(frameNumber);
         double brightness = b.getVal(frameNumber);
         return Color.getHSBColor((float)hue, (float)saturation, (float)brightness);
      }
      else
         return c;
   }

   void prepare(PreparedScene scene, int frameNum, Transform T) {
      scene.addColor(getVal(frameNum));
   }

}  // End Class HSBParam


