Class 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 SharedGroup may be referenced by one or more Link leaf nodes. Any runtime changes to a node or component object in this shared subgraph affect all graphs that refer to this subgraph.
  • A SharedGroup may be compiled by calling its compile method prior to being referenced by any Link leaf nodes.
  • Only Link leaf nodes may refer to SharedGroup nodes. A SharedGroup node cannot have parents or be attached to a Locale.
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:

  • Light
  • Link
  • Morph
  • Shape
  • Sound

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

  • AlternateAppearance
  • Background
  • Behavior
  • BoundingLeaf
  • Clip
  • Fog
  • ModelClip
  • Soundscape
  • ViewPlatform

See Also:
  • Field Details

  • Constructor Details

    • SharedGroup

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

    • 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: