ScaleMap = function(minIn, maxIn, minOut, maxOut) {
            if (arguments.length == 1 && arguments[0].input !== undefined && arguments[0].output !== undefined) {
              //opts object
              var arg = arguments[0];
              minOut = arg.output.min;
              maxOut = arg.output.max;
              maxIn = arg.input.max;
              minIn = arg.input.min;
            }
            this.mapFunction = new LinearInterpolation();
            this.setInputRange(minIn, maxIn);
            this.setOutputRange(minOut, maxOut);
          }
@class This class maps values from one interval into another. By default the mapping
is using linear projection, but can be changed by using alternative
{@link math.InterpolateStrategy} implementations to achieve a
non-regular mapping.

@member toxi

@description Creates a new instance to map values between the 2 number ranges
specified. By default linear projection is used.
@param {Number} minIn
@param {Number} maxIn
@param {Number} minOut
@param {Number} maxOut