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