package flare.scale { import flare.util.Maths; import flare.util.Strings; /** * Scale that spaces values linearly along the scale range. This is the * default scale for numeric types. */ public class LinearScale extends QuantitativeScale { /** * Creates a new LinearScale. * @param min the minimum data value * @param max the maximum data value * @param base the number base to use * @param flush the flush flag for scale padding * @param labelFormat the formatting pattern for value labels */ public function LinearScale(min:Number=0, max:Number=0, base:Number=10, flush:Boolean=false, labelFormat:String=Strings.DEFAULT_NUMBER) { super(min, max, base, flush, labelFormat); } /** @inheritDoc */ public override function get scaleType():String { return ScaleType.LINEAR; } /** @inheritDoc */ public override function clone():Scale { return new LinearScale(_dmin, _dmax, _base, _flush, _format); } /** @inheritDoc */ protected override function interp(val:Number):Number { return Maths.invLinearInterp(val, _smin, _smax); } /** @inheritDoc */ public override function lookup(f:Number):Object { return Maths.linearInterp(f, _smin, _smax); } } // end of class LinearScale }