javax.media.j3d
Class AlternateAppearanceRetained

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.AlternateAppearanceRetained
All Implemented Interfaces:
java.lang.Cloneable, NnuId

 class AlternateAppearanceRetained
extends LeafRetained


Field Summary
(package private)  AppearanceRetained appearance
          Appearance for this object
(package private) static int APPEARANCE_CHANGED
           
(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)  boolean inImmCtx
           
(package private) static int INIT_MIRROR
           
(package private)  boolean isScoped
           
(package private)  boolean isViewScoped
          Is true, if the mirror altapp is viewScoped
(package private)  AlternateAppearanceRetained mirrorAltApp
          mirror Alternate appearance
(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 alternate app .
(package private)  AlternateAppearanceRetained sgAltApp
          A reference to the scene graph alternateApp
(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
AlternateAppearanceRetained()
           
 
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 alt app
(package private)  void clearMirrorObject(java.lang.Object[] args)
           
(package private)  void duplicateAttributes(Node originalNode, boolean forceDuplicate)
          Copies all AlternateAppearance information from originalNode into the current node.
(package private)  java.util.Enumeration getAllScopes()
          Returns an enumeration object of the scoperen.
(package private)  Appearance getAppearance()
           
(package private)  BoundingLeaf getInfluencingBoundingLeaf()
          Get the alternate's region of influence.
(package private)  Bounds getInfluencingBounds()
          Get the alternate's region of Influence.
(package private)  boolean getInImmCtx()
          This gets the immedate mode context flag
(package private)  void getMirrorObjects(java.util.ArrayList leafList, HashKey key)
           
(package private)  Group getScope(int index)
           
(package private)  int indexOfScope(Group scope)
          Returns the index of the specified Group node in this node's list of scopes.
(package private)  void initAddScope(Group scope)
          Appends the specified scope to this node's list of scopes before the alt app is alive
(package private)  void initAppearance(Appearance app)
          Initializes the appearance
(package private)  void initInfluencingBoundingLeaf(BoundingLeaf region)
          Set the alternate's region of influence to the specified Leaf node.
(package private)  void initInfluencingBounds(Bounds region)
          Set the alternate's region of influence.
(package private)  void initInsertScope(Node scope, int index)
          Inserts the specified scope at specified index.before the alt app is live
(package private)  void initMirrorObject(java.lang.Object[] args)
          This is called on the parent object
(package private)  void initRemoveAllScopes()
           
(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)  int numScopes()
          Returns a count of this nodes' scopes.
(package private)  void removeAllScopes()
           
(package private)  void removeScope(Group scope)
          Removes the specified Group node from this node's list of scopes.
(package private)  void removeScope(int index)
           
(package private)  void sendMessage(int attrMask, java.lang.Object attr)
           
(package private)  void setAppearance(Appearance app)
          sets the appearance and send a message
(package private)  void setInfluencingBoundingLeaf(BoundingLeaf region)
          Set the alternate's region of influence to the specified Leaf node.
(package private)  void setInfluencingBounds(Bounds region)
          Set the alternate'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)
           
(package private)  void setScope(Group scope, int index)
          Replaces the specified scope with the scope provided.
(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()
          Called on mirror object
(package private)  void updateTransformChange()
           
 
Methods inherited from class javax.media.j3d.LeafRetained
clone, updateBounds, updateMirrorObject
 
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, mergeTransform, 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, clone, 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

APPEARANCE_CHANGED

static final int APPEARANCE_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

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 alternate app .


inImmCtx

boolean inImmCtx

targetThreads

static final int targetThreads
See Also:
Constant Field Values

isScoped

boolean isScoped

tempKey

HashKey tempKey

region

Bounds region
The transformed value of the applicationRegion.


mirrorAltApp

AlternateAppearanceRetained mirrorAltApp
mirror Alternate appearance


appearance

AppearanceRetained appearance
Appearance for this object


sgAltApp

AlternateAppearanceRetained sgAltApp
A reference to the scene graph alternateApp


isViewScoped

boolean isViewScoped
Is true, if the mirror altapp is viewScoped

Constructor Detail

AlternateAppearanceRetained

AlternateAppearanceRetained()
Method Detail

initAppearance

void initAppearance(Appearance app)
Initializes the appearance


setAppearance

void setAppearance(Appearance app)
sets the appearance and send a message


getAppearance

Appearance getAppearance()

initInfluencingBounds

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


setInfluencingBounds

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


getInfluencingBounds

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


initInfluencingBoundingLeaf

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


setInfluencingBoundingLeaf

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


getInfluencingBoundingLeaf

BoundingLeaf getInfluencingBoundingLeaf()
Get the alternate'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

getScope

Group getScope(int index)

initInsertScope

void initInsertScope(Node scope,
                     int index)
Inserts the specified scope at specified index.before the alt app 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)

removeScope

void removeScope(Group scope)
Removes the specified Group node from this node's list of scopes. Method is a no-op if the specified node is not found

Parameters:
The - Group node to be removed

initRemoveScope

void initRemoveScope(Group scope)

removeAllScopes

void removeAllScopes()

initRemoveAllScopes

void initRemoveAllScopes()

getAllScopes

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

Returns:
an enumeration object of the scoperen

indexOfScope

int indexOfScope(Group scope)
Returns the index of the specified Group node in this node's list of scopes.

Parameters:
scope - the Group node whose index is needed

initAddScope

void initAddScope(Group scope)
Appends the specified scope to this node's list of scopes before the alt app 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

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()

updateImmediateMirrorObject

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

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)
Overrides:
setLive in class NodeRetained

initMirrorObject

void initMirrorObject(java.lang.Object[] args)
This is called on the parent object


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 alt app

Overrides:
clearLive in class NodeRetained

updateTransformChange

void updateTransformChange()
Overrides:
updateTransformChange in class LeafRetained

updateImmediateTransformChange

void updateImmediateTransformChange()
Called on mirror object


sendMessage

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

getMirrorObjects

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

duplicateAttributes

void duplicateAttributes(Node originalNode,
                         boolean forceDuplicate)
Copies all AlternateAppearance information from originalNode into the current node. This method is called from the cloneNode method which is, in turn, called by the cloneTree method.

Parameters:
originalNode - the original node to duplicate.
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.
Throws:
RestrictedAccessException - if this object is part of a live or compiled scenegraph.
See Also:
Node.duplicateNode(javax.media.j3d.Node, boolean), Node.cloneTree(), NodeComponent.setDuplicateOnCloneTree(boolean)


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