com.jsyn.swing
Class ExponentialRangeModel

java.lang.Object
  extended by javax.swing.DefaultBoundedRangeModel
      extended by com.jsyn.swing.DoubleBoundedRangeModel
          extended by com.jsyn.swing.ExponentialRangeModel
All Implemented Interfaces:
java.io.Serializable, javax.swing.BoundedRangeModel

public class ExponentialRangeModel
extends DoubleBoundedRangeModel

Maps integer range info to a double value along an exponential scale.

  
   x = ival / resolution
   f(x) = a*(rootˆcx) + b
   f(0.0) = dmin
   f(1.0) = dmax
   b = dmin - a
   a = (dmax - dmin) / (rootˆc - 1)
  
   Inverse function:
   x = log( (y-b)/a ) / log(root)
   
 

See Also:
Serialized Form

Constructor Summary
ExponentialRangeModel(java.lang.String name, int resolution, double dmin, double dmax, double dval)
          Use default root of 10.0 and span of 1.0.
 
Method Summary
 int doubleToSlider(double dval)
           
 java.lang.String getName()
           
 double getRoot()
           
 double getSpan()
           
 void setSpan(double c)
           
 double sliderToDouble(int sliderValue)
           
 void test(int sliderValue)
           
 
Methods inherited from class com.jsyn.swing.DoubleBoundedRangeModel
equivalentTo, getDoubleMaximum, getDoubleMinimum, getDoubleValue, setDoubleValue, setName
 
Methods inherited from class javax.swing.DefaultBoundedRangeModel
addChangeListener, getChangeListeners, getExtent, getListeners, getMaximum, getMinimum, getValue, getValueIsAdjusting, removeChangeListener, setExtent, setMaximum, setMinimum, setRangeProperties, setValue, setValueIsAdjusting, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ExponentialRangeModel

public ExponentialRangeModel(java.lang.String name,
                             int resolution,
                             double dmin,
                             double dmax,
                             double dval)
Use default root of 10.0 and span of 1.0.

Method Detail

getRoot

public double getRoot()

setSpan

public void setSpan(double c)

getSpan

public double getSpan()

getName

public java.lang.String getName()
Overrides:
getName in class DoubleBoundedRangeModel

sliderToDouble

public double sliderToDouble(int sliderValue)
Overrides:
sliderToDouble in class DoubleBoundedRangeModel

doubleToSlider

public int doubleToSlider(double dval)
Overrides:
doubleToSlider in class DoubleBoundedRangeModel

test

public void test(int sliderValue)