javax.media.j3d
Class SharedGroup

java.lang.Object
  extended by javax.media.j3d.SceneGraphObject
      extended by javax.media.j3d.Node
          extended by javax.media.j3d.Group
              extended by javax.media.j3d.SharedGroup

public class SharedGroup
extends Group

The SharedGroup provides the ability to manipulate an instanced scene graph. A SharedGroup node allows multiple Link leaf nodes to share its subgraph according to the following semantics:

A shared subgraph may contain any group node, except an embedded SharedGroup node (SharedGroup nodes cannot have parents). However, only the following leaf nodes may appear in a shared subgraph:

An IllegalSharingException is thrown if any of the following leaf nodes appear in a shared subgraph:

See Also:
IllegalSharingException

Field Summary
static int ALLOW_LINK_READ
          Specifies that this SharedGroup node allows reading the list of links that refer to this node.
 
Fields inherited from class javax.media.j3d.Group
ALLOW_CHILDREN_EXTEND, ALLOW_CHILDREN_READ, ALLOW_CHILDREN_WRITE, ALLOW_COLLISION_BOUNDS_READ, ALLOW_COLLISION_BOUNDS_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_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING
 
Constructor Summary
SharedGroup()
          Constructs and initializes a new SharedGroup node object.
 
Method Summary
 Node cloneNode(boolean forceDuplicate)
          Used to create a new instance of the node.
 void compile()
          Compiles the source SharedGroup associated with this object and creates and caches a compiled scene graph.
 Link[] getLinks()
          Returns the list of Link nodes that refer to this SharedGroup node.
 
Methods inherited from class javax.media.j3d.Group
addChild, getAllChildren, getAlternateCollisionTarget, getChild, getCollisionBounds, indexOfChild, insertChild, moveTo, numChildren, removeAllChildren, removeChild, removeChild, setAlternateCollisionTarget, setChild, setCollisionBounds
 
Methods inherited from class javax.media.j3d.Node
cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable
 
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setUserData, updateNodeReferences
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ALLOW_LINK_READ

public static final int ALLOW_LINK_READ
Specifies that this SharedGroup node allows reading the list of links that refer to this node.

Since:
Java 3D 1.3
See Also:
Constant Field Values
Constructor Detail

SharedGroup

public SharedGroup()
Constructs and initializes a new SharedGroup node object.

Method Detail

getLinks

public Link[] getLinks()
Returns the list of Link nodes that refer to this SharedGroup node.

Returns:
An array of Link nodes that refer to this SharedGroup node.
Since:
Java 3D 1.3

compile

public void compile()
Compiles the source SharedGroup associated with this object and creates and caches a compiled scene graph.

Throws:
SceneGraphCycleException - if there is a cycle in the scene graph
RestrictedAccessException - if the method is called when this object is part of a live 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 Group
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)