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

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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

    Constructors
    Constructor and Description
    `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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.