javax.media.j3d
Class FogRetained

java.lang.Object
  extended by javax.media.j3d.IndexedObject
      extended by javax.media.j3d.SceneGraphObjectRetained
          extended by javax.media.j3d.NodeRetained
              extended by javax.media.j3d.LeafRetained
                  extended by javax.media.j3d.FogRetained
All Implemented Interfaces:
java.lang.Cloneable, NnuId
Direct Known Subclasses:
ExponentialFogRetained, LinearFogRetained

abstract class FogRetained
extends LeafRetained

The Fog leaf node defines Fog parameters. It also specifies an region of influence in which this fog node is active.


Field Summary
(package private)  BoundingLeafRetained boundingLeaf
          The bounding leaf reference
(package private) static int BOUNDINGLEAF_CHANGED
           
(package private) static int BOUNDS_CHANGED
           
(package private) static int CLEAR_MIRROR
           
(package private)  Color3f color
           
(package private) static int COLOR_CHANGED
           
(package private)  UnorderList environmentSets
          The EnvironmentSets which reference this fog.
(package private)  boolean inImmCtx
           
(package private) static int INIT_MIRROR
           
(package private)  int isDirty
           
(package private)  boolean isScoped
           
(package private)  boolean isViewScoped
           
(package private) static int LAST_DEFINED_BIT
           
private  double localToVworldScale
           
(package private)  FogRetained mirrorFog
           
(package private)  Bounds region
          The transformed value of the applicationRegion.
(package private)  Bounds regionOfInfluence
          The Boundary object defining the lights's region of influence.
(package private) static int SCOPE_CHANGED
           
(package private)  java.util.Vector scopes
          Vector of GroupRetained nodes that scopes this fog.
(package private)  FogRetained sgFog
           
(package private) static int targetThreads
           
(package private)  HashKey tempKey
           
 
Fields inherited from class javax.media.j3d.LeafRetained
boundsDirty, switchState
 
Fields inherited from class javax.media.j3d.NodeRetained
ALTERNATEAPPEARANCE, AMBIENTLIGHT, apiBounds, BACKGROUND, BACKGROUNDSOUND, BEHAVIOR, BOUNDINGLEAF, boundsAutoCompute, BRANCHGROUP, branchGroupPaths, cachedBounds, childIndex, CLIP, collidable, CONESOUND, CONTAINS_VIEWPLATFORM, CURRENT_LOCAL_TO_VWORLD, DECALGROUP, DIRECTIONALLIGHT, EXPONENTIALFOG, geometryBackground, GROUP, inSharedGroup, LAST_LOCAL_TO_VWORLD, LINEARFOG, LINK, localBounds, locale, localToVworld, localToVworldIndex, localToVworldKeys, MODELCLIP, MORPH, nnuId, nodeId, nodeType, NUMNODES, ORDEREDGROUP, orderedId, ORIENTEDSHAPE3D, parent, parentSwitchLink, parentTransformLink, pickable, POINTLIGHT, POINTSOUND, refCount, SHAPE, SHAREDGROUP, SOUNDSCAPE, SPOTLIGHT, staticTransform, SWITCH, TRANSFORMGROUP, universe, validCachedBounds, VIEWPLATFORM, VIEWSPECIFICGROUP
 
Fields inherited from class javax.media.j3d.SceneGraphObjectRetained
DONT_MERGE, inBackgroundGroup, inSetLive, MERGE, MERGE_DONE, mergeFlag, onUpdateList, source
 
Fields inherited from class javax.media.j3d.IndexedObject
listIdx
 
Constructor Summary
FogRetained()
           
 
Method Summary
(package private)  void addScope(Group scope)
          Appends the specified scope to this node's list of scopes.
(package private)  void clearLive(SetLiveState s)
          This clearLive routine first calls the superclass's method, then it removes itself to the list of fogs
(package private)  void clearMirrorObject(java.lang.Object[] args)
           
protected  java.lang.Object clone()
           
(package private)  java.util.Enumeration getAllScopes()
          Returns an enumeration object of the scoperen.
(package private)  void getColor(Color3f color)
          Retrieves the fog color.
(package private)  BoundingLeaf getInfluencingBoundingLeaf()
          Get the Fog's region of influence.
(package private)  Bounds getInfluencingBounds()
          Get the Fog's region of Influence.
(package private)  boolean getInImmCtx()
          This gets the immedate mode context flag
(package private)  double getLocalToVworldScale()
           
(package private)  void getMirrorObjects(java.util.ArrayList leafList, HashKey key)
           
(package private)  Group getScope(int index)
          Returns the scope specified by the index.
(package private)  int indexOfScope(Group scope)
          Returns the index of the specified scope within this nodes' list of scopes
(package private)  void initAddScope(Group scope)
          Appends the specified scope to this node's list of scopes before the fog is alive
(package private)  void initColor(Color3f color)
          Initialize the fog color to the specified color.
(package private)  void initColor(float r, float g, float b)
          Sets the fog color to the specified color.
(package private)  void initInfluencingBoundingLeaf(BoundingLeaf region)
          Set the Fog's region of influence to the specified Leaf node.
(package private)  void initInfluencingBounds(Bounds region)
          Set the Fog's region of influence.
(package private)  void initInsertScope(Node scope, int index)
          Inserts the specified scope at specified index.before the fog is live
(package private)  void initMirrorObject(java.lang.Object[] args)
           
(package private)  void initRemoveAllScopes()
          Removes all scopes from this node
(package private)  void initRemoveScope(Group scope)
           
(package private)  void initRemoveScope(int index)
           
(package private)  void initScope(Group scope, int index)
          Replaces the specified scope with the scope provided.
(package private)  void insertScope(Node scope, int index)
          Inserts the specified scope at specified index and sends a message
(package private)  boolean isScoped()
           
(package private)  void mergeTransform(TransformGroupRetained xform)
           
(package private)  int numScopes()
          Returns a count of this nodes' scopes.
(package private)  void removeAllScopes()
          Removes all the scopes from this node's list of scopes.
(package private)  void removeScope(Group scope)
          Removes the specified scope from this nodes' list of scopes
(package private)  void removeScope(int index)
           
(package private)  void sendMessage(int attrMask, java.lang.Object attr)
           
(package private)  void setColor(Color3f color)
          Sets the fog color to the specified color and send message
(package private)  void setColor(float r, float g, float b)
          Sets the fog color to the specified color and send message
(package private)  void setInfluencingBoundingLeaf(BoundingLeaf region)
          Set the Fog's region of influence to the specified Leaf node.
(package private)  void setInfluencingBounds(Bounds region)
          Set the Fog's region of influence and send message
(package private)  void setInImmCtx(boolean inCtx)
          This sets the immedate mode context flag
(package private)  void setLive(SetLiveState s)
          This setLive routine just calls the superclass's method (after checking for use by an immediate context).
(package private)  void setLocalToVworldScale(double localToVworldScale)
           
(package private)  void setScope(Group scope, int index)
          Replaces the specified scope with the scope provided.
(package private) abstract  void update(Context ctx, double scale)
          This abstract method is used to update the current native context fog values.
(package private)  void updateBoundingLeaf()
          Note: This routine will only be called on the mirror object - will update the object's cached region and transformed region
(package private)  void updateImmediateMirrorObject(java.lang.Object[] objs)
           
(package private)  void updateImmediateTransformChange()
           
(package private)  void updateMirrorObject(java.lang.Object[] objs)
          The update Object function.
(package private)  void updateTransformChange()
           
protected  void validateDistancesInEc(double vworldToCoexistenceScale)
          Scale distances from local to eye coordinate
 
Methods inherited from class javax.media.j3d.LeafRetained
clone, updateBounds
 
Methods inherited from class javax.media.j3d.NodeRetained
computeCombineBounds, computeNonLiveLocalToVworld, dirtyBoundsCache, doSetLive, equal, findCollidableFlags, findPickableFlags, findTransformLevels, getBounds, getBoundsAutoCompute, getCollidable, getCurrentLocalToVworld, getCurrentLocalToVworld, getCurrentLocalToVworld, getEffectiveBounds, getId, getLastLocalToVworld, getLastLocalToVworld, getLastLocalToVworld, getLocalBounds, getLocale, getLocalToVworld, getLocalToVworld, getLocalToVworld, getParent, getPickable, getVirtualUniverse, isStatic, merge, notifySceneGraphChanged, processViewSpecificInfo, recombineAbove, removeNodeData, searchGeometryAtoms, setAuxData, setBounds, setBoundsAutoCompute, setCollidable, setNodeData, setParent, setPickable, transformBounds, updateCollidable, updateLocalToVworld, updatePickable
 
Methods inherited from class javax.media.j3d.SceneGraphObjectRetained
clearLive, clearLive, compile, doSetLive, getSource, handleFrequencyChange, isInSetLive, markAsLive, setCompiled, setLive, setSource, traverse
 
Methods inherited from class javax.media.j3d.IndexedObject
getIdxUsed, incIdxUsed
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COLOR_CHANGED

static final int COLOR_CHANGED
See Also:
Constant Field Values

SCOPE_CHANGED

static final int SCOPE_CHANGED
See Also:
Constant Field Values

BOUNDS_CHANGED

static final int BOUNDS_CHANGED
See Also:
Constant Field Values

BOUNDINGLEAF_CHANGED

static final int BOUNDINGLEAF_CHANGED
See Also:
Constant Field Values

INIT_MIRROR

static final int INIT_MIRROR
See Also:
Constant Field Values

CLEAR_MIRROR

static final int CLEAR_MIRROR
See Also:
Constant Field Values

LAST_DEFINED_BIT

static final int LAST_DEFINED_BIT
See Also:
Constant Field Values

color

Color3f color

regionOfInfluence

Bounds regionOfInfluence
The Boundary object defining the lights's region of influence.


boundingLeaf

BoundingLeafRetained boundingLeaf
The bounding leaf reference


scopes

java.util.Vector scopes
Vector of GroupRetained nodes that scopes this fog.


isDirty

int isDirty

inImmCtx

boolean inImmCtx

region

Bounds region
The transformed value of the applicationRegion.


sgFog

FogRetained sgFog

mirrorFog

FogRetained mirrorFog

targetThreads

static final int targetThreads
See Also:
Constant Field Values

isScoped

boolean isScoped

tempKey

HashKey tempKey

environmentSets

UnorderList environmentSets
The EnvironmentSets which reference this fog. Note that multiple RenderBin update thread may access this shared environmentSets simultaneously. So we use UnorderList when sync. all the operations.


isViewScoped

boolean isViewScoped

localToVworldScale

private double localToVworldScale
Constructor Detail

FogRetained

FogRetained()
Method Detail

initColor

void initColor(Color3f color)
Initialize the fog color to the specified color.


setColor

void setColor(Color3f color)
Sets the fog color to the specified color and send message


initColor

void initColor(float r,
               float g,
               float b)
Sets the fog color to the specified color.


setColor

void setColor(float r,
              float g,
              float b)
Sets the fog color to the specified color and send message


getColor

void getColor(Color3f color)
Retrieves the fog color.


initInfluencingBounds

void initInfluencingBounds(Bounds region)
Set the Fog's region of influence.


setInfluencingBounds

void setInfluencingBounds(Bounds region)
Set the Fog's region of influence and send message


getInfluencingBounds

Bounds getInfluencingBounds()
Get the Fog's region of Influence.


initInfluencingBoundingLeaf

void initInfluencingBoundingLeaf(BoundingLeaf region)
Set the Fog's region of influence to the specified Leaf node.


setInfluencingBoundingLeaf

void setInfluencingBoundingLeaf(BoundingLeaf region)
Set the Fog's region of influence to the specified Leaf node.


getInfluencingBoundingLeaf

BoundingLeaf getInfluencingBoundingLeaf()
Get the Fog's region of influence.


initScope

void initScope(Group scope,
               int index)
Replaces the specified scope with the scope provided.

Parameters:
scope - the new scope
index - which scope to replace

setScope

void setScope(Group scope,
              int index)
Replaces the specified scope with the scope provided.

Parameters:
scope - the new scope
index - which scope to replace

initInsertScope

void initInsertScope(Node scope,
                     int index)
Inserts the specified scope at specified index.before the fog is live

Parameters:
scope - the new scope
index - position to insert new scope at

insertScope

void insertScope(Node scope,
                 int index)
Inserts the specified scope at specified index and sends a message

Parameters:
scope - the new scope
index - position to insert new scope at

initRemoveScope

void initRemoveScope(int index)

removeScope

void removeScope(int index)

getScope

Group getScope(int index)
Returns the scope specified by the index.

Parameters:
index - which scope to return
Returns:
the scoperen at location index

getAllScopes

java.util.Enumeration getAllScopes()
Returns an enumeration object of the scoperen.

Returns:
an enumeration object of the scoperen

initAddScope

void initAddScope(Group scope)
Appends the specified scope to this node's list of scopes before the fog is alive

Parameters:
scope - the scope to add to this node's list of scopes

addScope

void addScope(Group scope)
Appends the specified scope to this node's list of scopes.

Parameters:
scope - the scope to add to this node's list of scopes

numScopes

int numScopes()
Returns a count of this nodes' scopes.

Returns:
the number of scopes descendant from this node

indexOfScope

int indexOfScope(Group scope)
Returns the index of the specified scope within this nodes' list of scopes

Parameters:
scope - whose index is desired
Returns:
index of specified scope

removeScope

void removeScope(Group scope)
Removes the specified scope from this nodes' list of scopes

Parameters:
scope - to be removed. If the scope is not found, the method returns silently

initRemoveScope

void initRemoveScope(Group scope)

removeAllScopes

void removeAllScopes()
Removes all the scopes from this node's list of scopes. The node should revert to universal scope after this method returns


initRemoveAllScopes

void initRemoveAllScopes()
Removes all scopes from this node


setInImmCtx

void setInImmCtx(boolean inCtx)
This sets the immedate mode context flag


getInImmCtx

boolean getInImmCtx()
This gets the immedate mode context flag


isScoped

boolean isScoped()

update

abstract void update(Context ctx,
                     double scale)
This abstract method is used to update the current native context fog values.


updateImmediateMirrorObject

void updateImmediateMirrorObject(java.lang.Object[] objs)

updateMirrorObject

void updateMirrorObject(java.lang.Object[] objs)
The update Object function.

Overrides:
updateMirrorObject in class LeafRetained

updateBoundingLeaf

void updateBoundingLeaf()
Note: This routine will only be called on the mirror object - will update the object's cached region and transformed region

Overrides:
updateBoundingLeaf in class LeafRetained

setLive

void setLive(SetLiveState s)
This setLive routine just calls the superclass's method (after checking for use by an immediate context). It is up to the subclasses of fog to add themselves to the list of fogs

Overrides:
setLive in class NodeRetained

initMirrorObject

void initMirrorObject(java.lang.Object[] args)

clearMirrorObject

void clearMirrorObject(java.lang.Object[] args)

clearLive

void clearLive(SetLiveState s)
This clearLive routine first calls the superclass's method, then it removes itself to the list of fogs

Overrides:
clearLive in class NodeRetained

clone

protected java.lang.Object clone()
Overrides:
clone in class SceneGraphObjectRetained

updateTransformChange

void updateTransformChange()
Overrides:
updateTransformChange in class LeafRetained

updateImmediateTransformChange

void updateImmediateTransformChange()

sendMessage

final void sendMessage(int attrMask,
                       java.lang.Object attr)

mergeTransform

void mergeTransform(TransformGroupRetained xform)
Overrides:
mergeTransform in class NodeRetained

getMirrorObjects

void getMirrorObjects(java.util.ArrayList leafList,
                      HashKey key)
Overrides:
getMirrorObjects in class LeafRetained

validateDistancesInEc

protected void validateDistancesInEc(double vworldToCoexistenceScale)
Scale distances from local to eye coordinate


getLocalToVworldScale

double getLocalToVworldScale()

setLocalToVworldScale

void setLocalToVworldScale(double localToVworldScale)


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