JavaView© v3.95.000

jv.number
Class PuDouble

java.lang.Object
  extended byjv.object.PsObject
      extended byjv.number.PuDouble
All Implemented Interfaces:
java.lang.Cloneable, PsUpdateIf, java.io.Serializable

public final class PuDouble
extends PsObject

Basic double class with update functionality and panel containing a slider. This class may always be used when a double instance variable shall be modifiable by a slider in the info panel of its parent class. See the class PjExprOde as a sample application.

Usage demonstrated in a sample class:


	public class PjExprOde {
    protected  PuDouble  m_length;
    public PjExprOde() {
       // Create a new instance of PuDouble and register 'this' as update listener
       // to receive update events whenever user has modified the slider.
       m_length  = new PuDouble("Length", this);
    }
    public void init() {
       // Set default min/max values and increments of slider.
       m_length.setDefBounds(1., 50., 0.1, 1.0);
       // Set default value to be assigned when user resets slider
       // using a call m_length.init().
       m_length.setDefValue(15.);
       // Reset to default values.
       m_length.init();
    }
    public boolean update(Object event) {
       // Catch update events sent whenever user has modified slider.
       if (event == m_length) {
          // Do something application depended
          solve();
          return true;
       }
       // If this class does not know the event, then superclass must take care.
       return super.update(event);
    }
    public void solve() {
       // Access current value
       System.out.println("Current value = "+m_length.getValue());
    }
 }
 

See Also:
PuInteger, Serialized Form

Field Summary
 
Fields inherited from class jv.object.PsObject
HAS_CONFIG_PANEL, HAS_INFO_PANEL, HAS_LABEL_PANEL, HAS_MATERIAL_PANEL, HAS_TEXTURE_PANEL, HAS_VECTOR_PANEL, INSPECTOR_INFO, INSPECTOR_INFO_EXT, IS_DELETED, IS_FIXED, IS_FOCUSSED, IS_PICKED, IS_SELECTED, IS_USED, NUM_TAGS
 
Constructor Summary
PuDouble(java.lang.String name)
          Create new instance with given name.
PuDouble(java.lang.String name, PsUpdateIf parent)
          Create new instance with given name and parent.
 
Method Summary
 void blend(double a, PuDouble v, double b, PuDouble w)
          Blend with other doubles using this = a*v + b*w.
 void copy(PuDouble num)
          Copy all instance variables of argument source into 'this'.
 double enforceBounds(double value)
          Constrain value to lie within bounds of this slider.
 java.awt.Color getBackground()
          Get color of background of info panel.
 double getDefLineIncr()
          Get the default line increment which are used when slider is reset.
 double getDefMaximum()
          Get the default maximum value which are used when slider is reset.
 double getDefMinimum()
          Get the default minimum value which are used when slider is reset.
 double getDefPageIncr()
          Get the default page increment which are used when slider is reset.
 double getDefValue()
          Get the default value which is used when slider is reset.
 double getLineIncr()
          Get line increment of slider.
 double getMax()
          Get maximal value allowed in slider.
 double getMin()
          Get minimal value allowed in slider.
 double getPageIncr()
          Get block increment of slider.
 double getValue()
          Get current double value.
 void init()
          Assign default values, and may be used to reset instance.
 void initWithDefaults(double min, double max, double lineIncr, double pageIncr, double defValue)
          Sets the default values for this component and initializes it.
 boolean isEnabled()
          Check whether slider is enabled or disabled.
 boolean isEnabledConfigButton()
          Flag determines whether button for config panel is enabled or not, in this way permitting/prohibiting GUI control over bounds and increments.
 void setBackground(java.awt.Color color)
          Set color of background of info panel.
 void setBounds(double min, double max)
          Set current min/max values and adjust value if current value lies outside the new min/max bounds.
 void setBounds(double min, double max, double lineIncr, double pageIncr)
          Set current min/max values and slider increments.
 void setDefBounds(double min, double max, double lineIncr, double pageIncr)
          Set default min/max values and slider increments to be assigned when init() is called as reset.
 void setDefValue(double value)
          Set default value to be assigned when init() is called as reset.
 void setEnabled(boolean flag)
          Enable or disable the slider for interactive use.
 void setEnabledConfigButton(boolean flag)
          Flag determines whether button for config panel is enabled or not, in this way permitting/prohibiting GUI control over bounds and increments.
 void setLineIncr(double lineIncr)
          Set line increment of slider.
 void setPageIncr(double pageIncr)
          Set block increment of slider.
 void setValue(double value)
          Set value of double, and adjust slider if visible.
 
Methods inherited from class jv.object.PsObject
addInspector, addUpdateListener, assureInspector, clearTag, clone, clone, clone, copy, getFather, getInfoPanel, getInspector, getName, getNumObjects, getSymbol, hasInspector, hasTag, hasUpdateListener, instanceOf, instanceOf, newInspector, newInspector, removeInspector, removeInspector, removeUpdateListener, setName, setParent, setSymbol, setTag, toString, update, updatePanels
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PuDouble

public PuDouble(java.lang.String name)
Create new instance with given name. The name appears as label on the slider.

In order to receive update events of this slider one might either assign a parent or register an update listener.

Parameters:
name - Name of double to appear as label in slider.
Since:
JavaView 2.47

PuDouble

public PuDouble(java.lang.String name,
                PsUpdateIf parent)
Create new instance with given name and parent. The name appears as label on the slider, and the parent is informed whenever the slider has changed using aParent.update(this).

Parameters:
name - Name of double to appear as label in slider.
parent - Parent of double to receive update events.
Method Detail

init

public void init()
Assign default values, and may be used to reset instance.

Overrides:
init in class PsObject

initWithDefaults

public void initWithDefaults(double min,
                             double max,
                             double lineIncr,
                             double pageIncr,
                             double defValue)
Sets the default values for this component and initializes it.

See Also:
setDefBounds(double, double, double, double), setDefValue(double), init()

copy

public void copy(PuDouble num)
Copy all instance variables of argument source into 'this'.


getDefValue

public double getDefValue()
Get the default value which is used when slider is reset.

Since:
JavaView 2.91.000
See Also:
setDefValue(double), getValue()

setDefValue

public void setDefValue(double value)
Set default value to be assigned when init() is called as reset.

If new value is outside the current bounds, then the bounds are enlarged.

SetDefValue() should be assigned AFTER the default interval has been resized with setDefBounds() in order to avoid automatic defBound resize.

See Also:
setDefBounds(double, double, double, double)

getDefMinimum

public double getDefMinimum()
Get the default minimum value which are used when slider is reset.

See Also:
setDefBounds(double, double, double, double), setBounds(double,double)

getDefMaximum

public double getDefMaximum()
Get the default maximum value which are used when slider is reset.

See Also:
setDefBounds(double, double, double, double), setBounds(double,double)

getDefLineIncr

public double getDefLineIncr()
Get the default line increment which are used when slider is reset.

See Also:
setDefBounds(double, double, double, double), setBounds(double,double)

getDefPageIncr

public double getDefPageIncr()
Get the default page increment which are used when slider is reset.

See Also:
setDefBounds(double, double, double, double), setBounds(double,double)

setDefBounds

public void setDefBounds(double min,
                         double max,
                         double lineIncr,
                         double pageIncr)
Set default min/max values and slider increments to be assigned when init() is called as reset.

Line and page increments are clipped if larger than range.

Current default value of slider is clipped to lie within [min,max] bounds.

Parameters:
min - Default minimal value in slider, min must be smaller than max.
max - Default maximal value in slider, min must be smaller than max.
lineIncr - Default line increment used in slider.
pageIncr - Default block increment used in slider.

enforceBounds

public double enforceBounds(double value)
Constrain value to lie within bounds of this slider.

Parameters:
value - number to be bracketed by allowable range.
Returns:
number constrained to the allowable range.
Since:
JavaView 2.75.000
See Also:
setValue(double)

setValue

public void setValue(double value)
Set value of double, and adjust slider if visible. If new value is outside the current bounds, then the bounds are enlarged.

This routine called from outside to set the value. Only here we update the panel.


getValue

public double getValue()
Get current double value.


getMin

public double getMin()
Get minimal value allowed in slider. May be interactively modified with config panel.


getMax

public double getMax()
Get maximal value allowed in slider. May be interactively modified with config panel.


getLineIncr

public double getLineIncr()
Get line increment of slider. May be interactively modified with config panel.


setLineIncr

public void setLineIncr(double lineIncr)
Set line increment of slider.

Since:
JavaView 2.49.001

getPageIncr

public double getPageIncr()
Get block increment of slider. May be interactively modified with config panel.


setPageIncr

public void setPageIncr(double pageIncr)
Set block increment of slider.

Since:
JavaView 2.49.001

setBounds

public void setBounds(double min,
                      double max,
                      double lineIncr,
                      double pageIncr)
Set current min/max values and slider increments. Adjust value if current value lies outside the new min/max bounds. These bounds will be overriden if instance is reset using init().

Parameters:
min - Minimal value in slider, min must be smaller than max.
max - Maximal value in slider, min must be smaller than max.
lineIncr - Line increment used in slider.
pageIncr - Block increment used in slider.

setBounds

public void setBounds(double min,
                      double max)
Set current min/max values and adjust value if current value lies outside the new min/max bounds. These bounds will be overriden if instance is reset using init(). Line and block increments of slider are set to default values.

Parameters:
min - Minimal value in slider.
max - Maximal value in slider.

isEnabled

public boolean isEnabled()
Check whether slider is enabled or disabled.


setEnabled

public void setEnabled(boolean flag)
Enable or disable the slider for interactive use. If disabled, the double variable can still be modified by calls setValue(double), and the slider is always updated.


blend

public void blend(double a,
                  PuDouble v,
                  double b,
                  PuDouble w)
Blend with other doubles using this = a*v + b*w.


setEnabledConfigButton

public void setEnabledConfigButton(boolean flag)
Flag determines whether button for config panel is enabled or not, in this way permitting/prohibiting GUI control over bounds and increments. Bounds and increments can still be changed by method calls.

Since:
JavaView 2.49.004

isEnabledConfigButton

public boolean isEnabledConfigButton()
Flag determines whether button for config panel is enabled or not, in this way permitting/prohibiting GUI control over bounds and increments. Bounds and increments can still be changed by method calls.

Since:
JavaView 2.49.004

getBackground

public java.awt.Color getBackground()
Get color of background of info panel.

Since:
JavaView 3.50.003

setBackground

public void setBackground(java.awt.Color color)
Set color of background of info panel.

Since:
JavaView 3.50.003

JavaView© v3.95.000

The software JavaView© is copyright protected. All Rights Reserved.