vmm.core
Class VariableParamAnimateable

java.lang.Object
  extended by vmm.core.Parameter
      extended by vmm.core.RealParam
          extended by vmm.core.VariableParam
              extended by vmm.core.VariableParamAnimateable
All Implemented Interfaces:
Animateable

public class VariableParamAnimateable
extends VariableParam
implements Animateable

An animateable parameter that has a real value and a start and end value to be used for animation. Parameters of this type are mostly for use in user-defined objects. The name of a VariableParam is shared with the associated variable and therefor should probably be of human-readable form, such as "a" or "b".


Constructor Summary
VariableParamAnimateable()
          Creates a VariableParamAnimateable that initially has no name and has value and default value equal to 0, with animation limits also equal to zero.
VariableParamAnimateable(java.lang.String name, double value)
          Create a VariableParamAnimateable with a specified name and initial value and with animation start and end values equal to the same value.
VariableParamAnimateable(java.lang.String name, double value, double start, double end)
          Create a VariableParamAnimateable with a specified name, initial value and animation start and end values.
VariableParamAnimateable(java.lang.String name, java.lang.String valueAsString)
          Create a VariableParamAnimateable with a specified name and initial value and with animation start and end values equal to the same value.
VariableParamAnimateable(java.lang.String name, java.lang.String valueAsString, java.lang.String startString, java.lang.String endString)
          Create a VariableParamAnimateable with a specified name, initial value and animation start and end values.
VariableParamAnimateable(Variable v)
          Create a VariableParamAnimateable that will share the value of the specified variable.
VariableParamAnimateable(Variable v, double start, double end)
          Create a VariableParamAnimateable that will share the value of the specified variable.
 
Method Summary
 double getAnimationEnd()
           
 java.lang.String getAnimationEndAsString()
          Returns a string representation of the end value for the animation.
 double getAnimationStart()
           
 java.lang.String getAnimationStartAsString()
          Returns a string representation of the start value for the animation.
 double getDefaultAnimationEnd()
           
 java.lang.String getDefaultAnimationEndAsString()
          Returns a string representation of the default end value for the animation.
 double getDefaultAnimationStart()
           
 java.lang.String getDefaultAnimationStartAsString()
          Returns a string representation of the default start value for the animation.
 boolean reallyAnimated()
          Check whether this Animateable will really change during an animation.
 void reset(double value)
          Sets both the default value and the value of this parameter to the specified number.
 void reset(double value, double animationStart, double animationEnd)
          Sets both the value and default value of the parameter, as well as the value and default value of the animation start and end properties.
 void reset(java.lang.String valueAsString)
          Set both the value and the default value of the parameter to the value encoded in the given string, as if that string had been passed to the constructor.
 void reset(java.lang.String valueAsString, java.lang.String animationStartAsString, java.lang.String animationEndAsString)
          Sets both the value and default value of the parameter, as well as the value and default value of the animation start and end properties.
 void setAnimationEnd(double x)
           
 void setAnimationEndFromString(java.lang.String endVal)
          Set the ending Animation value for this Animateable object from a string.
 void setAnimationLimits(double start, double end)
           
 void setAnimationLimitsAndDefaults(double start, double end)
           
 void setAnimationStart(double x)
           
 void setAnimationStartFromString(java.lang.String startVal)
          Set the starting Animation value for this Animateable object from a string.
 void setDefaultAnimationEndFromString(java.lang.String endString)
          Sets the default ending animation value for this Animateable object from a string representation of the value.
 void setDefaultAnimationLimits(double defaultStart, double defaultEnd)
           
 void setDefaultAnimationStartFromString(java.lang.String startString)
          Sets the default start animation value for this Animateable object from a string representation of the value.
 void setFractionComplete(double fractionComplete)
          Called during the course of a morphing animation so that the Animateable object can adjust itself to the current stage of the animation.
 
Methods inherited from class vmm.core.VariableParam
getValueObject, getVariable, setName, setValueObject
 
Methods inherited from class vmm.core.RealParam
getDefaultValue, getMaximumValueForInput, getMinimumValueForInput, getValue, setDefaultValue, setMaximumValueForInput, setMinimumValueForInput, setValue, setValueAndDefault, stringToValueObject, valueObjectToString
 
Methods inherited from class vmm.core.Parameter
createParameterInput, getDefaultValueAsString, getDefaultValueObject, getHint, getName, getOwner, getTitle, getValueAsString, reset, setDefaultValueFromString, setDefaultValueObject, setOwner, setValueAndDefaultFromString, setValueFromString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VariableParamAnimateable

public VariableParamAnimateable()
Creates a VariableParamAnimateable that initially has no name and has value and default value equal to 0, with animation limits also equal to zero.


VariableParamAnimateable

public VariableParamAnimateable(java.lang.String name,
                                double value)
Create a VariableParamAnimateable with a specified name and initial value and with animation start and end values equal to the same value. A variable is created with the same name and initial value to share the value of this parameter.

Parameters:
name - The name of the Parameter, which can be null but ordinarily should not be. The name shoud identify the Parameter uniquely among parameters associated with a given Parameterizeable object.
value - The initial value of the parameter. This also becomes its default value.

VariableParamAnimateable

public VariableParamAnimateable(Variable v)
Create a VariableParamAnimateable that will share the value of the specified variable. The parameter's name and initial value are copied from the variable. The animation start and end values are set to the same value

Parameters:
v - the non-null variable that will be associated with the parameter

VariableParamAnimateable

public VariableParamAnimateable(java.lang.String name,
                                java.lang.String valueAsString)
Create a VariableParamAnimateable with a specified name and initial value and with animation start and end values equal to the same value. A variable with the same name and initial value is created to share the value of the parameter.

Parameters:
name - The name of the Parameter, which can be null but ordinarily should not be. The name shoud identify the Parameter uniquely among parameters associated with a given Parameterizeable object.
valueAsString - The initial value of the parameter, given as a string. An error of type NumberFormatException occurs if this string does not represent a legal value.

VariableParamAnimateable

public VariableParamAnimateable(java.lang.String name,
                                java.lang.String valueAsString,
                                java.lang.String startString,
                                java.lang.String endString)
Create a VariableParamAnimateable with a specified name, initial value and animation start and end values. A variable with the same name and initial value is created to share the value of the parameter. An error of type NumberFormatExcpetion will occur if any of the strings does not represent a legal value.

Parameters:
name - The name of the Parameter, which can be null but ordinarily should not be. The name shoud identify the Parameter uniquely among parameters associated with a given Parameterizeable object.

VariableParamAnimateable

public VariableParamAnimateable(java.lang.String name,
                                double value,
                                double start,
                                double end)
Create a VariableParamAnimateable with a specified name, initial value and animation start and end values. A variable is created with the same name and initial value to share the value of this parameter.

Parameters:
name - The name of the Parameter, which can be null but ordinarily should not be. The name shoud identify the Parameter uniquely among parameters associated with a given Parameterizeable object.

VariableParamAnimateable

public VariableParamAnimateable(Variable v,
                                double start,
                                double end)
Create a VariableParamAnimateable that will share the value of the specified variable. The parameter's name and initial value are copied from the variable. The animation start and end values are as specified.

Parameters:
v - the non-null variable that will be associated with the parameter
start - the animation start value
end - the animation end value
Method Detail

reset

public void reset(double value)
Sets both the default value and the value of this parameter to the specified number. In addition the values and default values for the animation start and end properities are also set to the same value. This is primarily meant to be called in the constructor of an Exhibit when it wants to change the value of a parameter that is inherited from a superclass.

Overrides:
reset in class RealParam
See Also:
Parameter.reset(String)

reset

public void reset(double value,
                  double animationStart,
                  double animationEnd)
Sets both the value and default value of the parameter, as well as the value and default value of the animation start and end properties.


reset

public void reset(java.lang.String valueAsString)
Set both the value and the default value of the parameter to the value encoded in the given string, as if that string had been passed to the constructor. In addition the values and default values for the animation start and end properities are also set to the same value. This is primarily meant to be called in the constructor of an Exhibit when it wants to change the value of a parameter that is inherited from a superclass.

Overrides:
reset in class Parameter
See Also:
RealParam.stringToValueObject(String)

reset

public void reset(java.lang.String valueAsString,
                  java.lang.String animationStartAsString,
                  java.lang.String animationEndAsString)
Sets both the value and default value of the parameter, as well as the value and default value of the animation start and end properties.


getDefaultAnimationStart

public double getDefaultAnimationStart()

getDefaultAnimationEnd

public double getDefaultAnimationEnd()

setDefaultAnimationLimits

public void setDefaultAnimationLimits(double defaultStart,
                                      double defaultEnd)

getDefaultAnimationStartAsString

public java.lang.String getDefaultAnimationStartAsString()
Description copied from interface: Animateable
Returns a string representation of the default start value for the animation.

Specified by:
getDefaultAnimationStartAsString in interface Animateable

getDefaultAnimationEndAsString

public java.lang.String getDefaultAnimationEndAsString()
Description copied from interface: Animateable
Returns a string representation of the default end value for the animation.

Specified by:
getDefaultAnimationEndAsString in interface Animateable

setDefaultAnimationStartFromString

public void setDefaultAnimationStartFromString(java.lang.String startString)
Description copied from interface: Animateable
Sets the default start animation value for this Animateable object from a string representation of the value. The default values are used, for example, when the user clicks the "Defaults" button in AnimationLimitsDialog.

Specified by:
setDefaultAnimationStartFromString in interface Animateable
Parameters:
startString - The default start value, as a string. This string will be parsed as a constant expression, and a NumberFormatException will be thrown if the string is not a legal expression.

setDefaultAnimationEndFromString

public void setDefaultAnimationEndFromString(java.lang.String endString)
Description copied from interface: Animateable
Sets the default ending animation value for this Animateable object from a string representation of the value. The default values are used, for example, when the user clicks the "Defaults" button in AnimationLimitsDialog.

Specified by:
setDefaultAnimationEndFromString in interface Animateable
Parameters:
endString - The default end value, as a string. This string will be parsed as a constant expression, and a NumberFormatException will be thrown if the string is not a legal expression.

setAnimationLimits

public void setAnimationLimits(double start,
                               double end)

setAnimationLimitsAndDefaults

public void setAnimationLimitsAndDefaults(double start,
                                          double end)

setAnimationStart

public void setAnimationStart(double x)

setAnimationEnd

public void setAnimationEnd(double x)

getAnimationStart

public double getAnimationStart()

getAnimationEnd

public double getAnimationEnd()

setAnimationStartFromString

public void setAnimationStartFromString(java.lang.String startVal)
Description copied from interface: Animateable
Set the starting Animation value for this Animateable object from a string. This method will probably only be used by Dialog boxes such as AnimationLimitsDialog.

Specified by:
setAnimationStartFromString in interface Animateable
Parameters:
startVal - The start value, as a string. This string will be parsed as a constant expression, and a NumberFormatException will be thrown if the string is not a legal expression.

setAnimationEndFromString

public void setAnimationEndFromString(java.lang.String endVal)
Description copied from interface: Animateable
Set the ending Animation value for this Animateable object from a string.

Specified by:
setAnimationEndFromString in interface Animateable
Parameters:
endVal - The end value, as a string. This string will be parsed as a constant expression, and a NumberFormatException will be thrown if the string is not a legal expression.

getAnimationStartAsString

public java.lang.String getAnimationStartAsString()
Description copied from interface: Animateable
Returns a string representation of the start value for the animation.

Specified by:
getAnimationStartAsString in interface Animateable

getAnimationEndAsString

public java.lang.String getAnimationEndAsString()
Description copied from interface: Animateable
Returns a string representation of the end value for the animation.

Specified by:
getAnimationEndAsString in interface Animateable

setFractionComplete

public void setFractionComplete(double fractionComplete)
Description copied from interface: Animateable
Called during the course of a morphing animation so that the Animateable object can adjust itself to the current stage of the animation. In fact, an Animateable Parameter could set its value to "startValue + fractionComplete * (endValue - startValue)" when this metod is called.

Specified by:
setFractionComplete in interface Animateable
Parameters:
fractionComplete - A number in the range 0 to 1 that tells what stage the animation is at. The Animateable object adjusts itself accordingly.
See Also:
BasicAnimator

reallyAnimated

public boolean reallyAnimated()
Description copied from interface: Animateable
Check whether this Animateable will really change during an animation. (If the start and end values are the same, then the return value will presumably be false.)

Specified by:
reallyAnimated in interface Animateable