## javax.media.j3d
Class LinearFog

    java.lang.Object
      javax.media.j3d.SceneGraphObject
          javax.media.j3d.Node
              javax.media.j3d.Leaf
                  javax.media.j3d.Fog
                      javax.media.j3d.LinearFog

    public class LinearFog

extends Fog

The LinearFog leaf node defines fog distance parameters for linear fog. LinearFog extends the Fog node by adding a pair of distance values, in Z, at which the fog should start obscuring the scene and should maximally obscure the scene.

The front and back fog distances are defined in the local coordinate system of the node, but the actual fog equation will ideally take place in eye coordinates.

The linear fog blending factor, `f`, is computed as follows:

`f = (backDistance - z) / (backDistance - frontDistance)`

where:

`z` is the distance from the viewpoint.
`frontDistance` is the distance at which fog starts obscuring objects.
`backDistance` is the distance at which fog totally obscurs objects.

Field Summary
`static int` `ALLOW_DISTANCE_READ` Specifies that this LinearFog node allows read access to its distance information.
`static int` `ALLOW_DISTANCE_WRITE` Specifies that this LinearFog node allows write access to its distance information.

Fields inherited from class javax.media.j3d.Fog
`ALLOW_COLOR_READ, ALLOW_COLOR_WRITE, ALLOW_INFLUENCING_BOUNDS_READ, ALLOW_INFLUENCING_BOUNDS_WRITE, ALLOW_SCOPE_READ, ALLOW_SCOPE_WRITE`

Fields inherited from class javax.media.j3d.Node
`ALLOW_AUTO_COMPUTE_BOUNDS_READ, ALLOW_AUTO_COMPUTE_BOUNDS_WRITE, ALLOW_BOUNDS_READ, ALLOW_BOUNDS_WRITE, ALLOW_COLLIDABLE_READ, ALLOW_COLLIDABLE_WRITE, ALLOW_LOCAL_TO_VWORLD_READ, ALLOW_LOCALE_READ, ALLOW_PARENT_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING`

Constructor Summary
`LinearFog()` Constructs a LinearFog node with default parameters.
`LinearFog(Color3f color)` Constructs a LinearFog node with the specified fog color.
`LinearFog(Color3f color, double frontDistance, double backDistance)` Constructs a LinearFog node with the specified fog color and distances.
`LinearFog(float r, float g, float b)` Constructs a LinearFog node with the specified fog color.
`LinearFog(float r, float g, float b, double frontDistance, double backDistance)` Constructs a LinearFog node with the specified fog color and distances.

Method Summary
`Node` `cloneNode(boolean forceDuplicate)` Used to create a new instance of the node.
`double` `getBackDistance()` Gets back distance for fog.
`double` `getFrontDistance()` Gets front distance for fog.
`void` `setBackDistance(double backDistance)` Sets back distance for fog.
`void` `setFrontDistance(double frontDistance)` Sets front distance for fog.

Methods inherited from class javax.media.j3d.Fog
`addScope, getAllScopes, getColor, getInfluencingBoundingLeaf, getInfluencingBounds, getScope, indexOfScope, insertScope, numScopes, removeAllScopes, removeScope, removeScope, setColor, setColor, setInfluencingBoundingLeaf, setInfluencingBounds, setScope, updateNodeReferences`

Methods inherited from class javax.media.j3d.Node
`cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable`

Methods inherited from class javax.media.j3d.SceneGraphObject
`clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### ALLOW_DISTANCE_READ

    public static final int ALLOW_DISTANCE_READ

  Specifies that this LinearFog node allows read access to its distance information.

  See Also:
    Constant Field Values

### ALLOW_DISTANCE_WRITE

    public static final int ALLOW_DISTANCE_WRITE

  Specifies that this LinearFog node allows write access to its distance information.

  See Also:
    Constant Field Values

Constructor Detail

### LinearFog

    public LinearFog()

  Constructs a LinearFog node with default parameters. The default values are as follows:
  front distance : 0.1
  back distance : 1.0

### LinearFog

    public LinearFog(Color3f color)

  Constructs a LinearFog node with the specified fog color.

  Parameters:
    `color` - the fog color

### LinearFog

    public LinearFog(Color3f color,
                     double frontDistance,
                     double backDistance)

  Constructs a LinearFog node with the specified fog color and distances.

  Parameters:
    `color` - the fog color
    `frontDistance` - the front distance for the fog
    `backDistance` - the back distance for the fog

### LinearFog

    public LinearFog(float r,
                     float g,
                     float b)

  Constructs a LinearFog node with the specified fog color.

  Parameters:
    `r` - the red component of the fog color
    `g` - the green component of the fog color
    `b` - the blue component of the fog color

### LinearFog

    public LinearFog(float r,
                     float g,
                     float b,
                     double frontDistance,
                     double backDistance)

  Constructs a LinearFog node with the specified fog color and distances.

  Parameters:
    `r` - the red component of the fog color
    `g` - the green component of the fog color
    `b` - the blue component of the fog color
    `frontDistance` - the front distance for the fog
    `backDistance` - the back distance for the fog

Method Detail

### setFrontDistance

    public void setFrontDistance(double frontDistance)

  Sets front distance for fog.

  Parameters:
    `frontDistance` - the distance at which fog starts obscuring objects
  Throws:
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph

### getFrontDistance

    public double getFrontDistance()

  Gets front distance for fog.

  Returns:
    the distance at which fog starts obscuring objects
  Throws:
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph

### setBackDistance

    public void setBackDistance(double backDistance)

  Sets back distance for fog.

  Parameters:
    `backDistance` - the distance at which fog totally obscurs objects
  Throws:
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph

### getBackDistance

    public double getBackDistance()

  Gets back distance for fog.

  Returns:
    the distance at which fog totally obscurs objects
  Throws:
    `CapabilityNotSetException` - if appropriate capability is not set and this object is part of live or compiled scene graph

### cloneNode

    public Node cloneNode(boolean forceDuplicate)

  Used to create a new instance of the node. This routine is called by `cloneTree` to duplicate the current node.

  Overrides:
    `cloneNode` in class `Node`
  Parameters:
    `forceDuplicate` - when set to `true`, causes the `duplicateOnCloneTree` flag to be ignored. When `false`, the value of each node's `duplicateOnCloneTree` variable determines whether NodeComponent data is duplicated or copied.
  See Also:
    `Node.cloneTree()`, `Node.cloneNode(boolean)`, `Node.duplicateNode(javax.media.j3d.Node, boolean)`, `NodeComponent.setDuplicateOnCloneTree(boolean)`

Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.