⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rootscale.as

📁 用于flash/flex的 as3的 2D图形图像图表的动态生成
💻 AS
字号:
package flare.scale
{
	import flare.util.Maths;
	import flare.util.Strings;
	
	/**
	 * Scale that performs a root transformation of the data. This could be a
	 * square root or any arbitrary power.
	 */
	public class RootScale extends QuantitativeScale
	{
		private var _pow:Number = 2;
		
		/** The power of the root transform. A value of 2 indicates a square
		 *  root, 3 a cubic root, etc. */
		public function get power():Number { return _pow; }
		public function set power(p:Number):void { _pow = p; }
		
		/**
		 * Creates a new RootScale.
		 * @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 RootScale(min:Number=0, max:Number=0, base:Number=10,
								  flush:Boolean=false, pow:Number=2,
								  labelFormat:String=Strings.DEFAULT_NUMBER)
		{
			super(min, max, base, flush, labelFormat);
			_pow = pow;
		}
		
		/** @inheritDoc */
		public override function get scaleType():String {
			return ScaleType.ROOT;
		}
		
		/** @inheritDoc */
		public override function clone():Scale {
			return new RootScale(_dmin, _dmax, _base, _flush, _pow, _format);
		}
		
		/** @inheritDoc */
		protected override function interp(val:Number):Number {
			if (_pow==2) return Maths.invSqrtInterp(val, _smin, _smax);
			return Maths.invRootInterp(val, _smin, _smax, _pow);
		}
		
		/** @inheritDoc */
		public override function lookup(f:Number):Object {
			if (_pow==2) return Maths.sqrtInterp(f, _smin, _smax);
			return Maths.rootInterp(f, _smin, _smax, _pow);
		}
		
	} // end of class RootScale
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -