javax.media.j3d

## Class NodeComponent

- java.lang.Object
- - javax.media.j3d.SceneGraphObject
  - - javax.media.j3d.NodeComponent

- Direct Known Subclasses:
    Alpha, Appearance, AuralAttributes, ColoringAttributes, DepthComponent, Font3D, Geometry, ImageComponent, LineAttributes, Material, MediaContainer, PointAttributes, PolygonAttributes, RenderingAttributes, Shader, ShaderAttribute, ShaderAttributeSet, ShaderProgram, TexCoordGeneration, Texture, TextureAttributes, TextureUnitState, TransparencyAttributes

      public abstract class NodeComponent
      extends SceneGraphObject

  NodeComponent is a common superclass for all scene graph node component objects such as: Geometry, Appearance, Material, Texture, etc.

  For more information, see the Introduction to the Java 3D API.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `NodeComponent()` Constructs a NodeComponent object with default parameters.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `NodeComponent` | `cloneNodeComponent()` Deprecated. As of Java 3D version 1.2, replaced by `cloneNodeComponent(boolean forceDuplicate)`
    `NodeComponent` | `cloneNodeComponent(boolean forceDuplicate)` Used to create a new instance of a NodeComponent object.
    `void` | `duplicateNodeComponent(NodeComponent originalNodeComponent)` Deprecated. As of Java 3D version 1.2, replaced by `duplicateNodeComponent(NodeComponent originalNodeComponent, boolean forceDuplicate)`
    `void` | `duplicateNodeComponent(NodeComponent originalNodeComponent, boolean forceDuplicate)` Copies all node information from `originalNodeComponent` into the current node.
    `boolean` | `getDuplicateOnCloneTree()` Returns this node's duplicateOnCloneTree value.
    `void` | `setDuplicateOnCloneTree(boolean duplicate)` Sets this node's duplicateOnCloneTree value.

    - ### Methods inherited from class javax.media.j3d.SceneGraphObject

      `clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### NodeComponent

          public NodeComponent()

      Constructs a NodeComponent object with default parameters. The default values are as follows:
      duplicate on clone tree : false

  - ### Method Detail

    - #### setDuplicateOnCloneTree

          public void setDuplicateOnCloneTree(boolean duplicate)

      Sets this node's duplicateOnCloneTree value. The duplicateOnCloneTree value is used to determine if NodeComponent objects are to be duplicated or referenced during a `cloneTree` operation. A value of `true` means that this NodeComponent object should be duplicated, while a value of `false` indicates that this NodeComponent object's reference will be copied into the newly cloned object. This value can be overriden via the `forceDuplicate` parameter of the `cloneTree` method.
      Parameters:
        `duplicate` - the value to set.
      See Also:
        `Node.cloneTree()`

    - #### getDuplicateOnCloneTree

          public boolean getDuplicateOnCloneTree()

      Returns this node's duplicateOnCloneTree value. The duplicateOnCloneTree value is used to determine if NodeComponent objects are to be duplicated or referenced during a `cloneTree` operation. A value of `true` means that this NodeComponent object should be duplicated, while a value of `false` indicates that this NodeComponent object's reference will be copied into the newly cloned object. This value can be overriden via the `forceDuplicate` parameter of the `cloneTree` method.
      Returns:
        the value of this node's duplicateOnCloneTree
      See Also:
        `Node.cloneTree()`

    - #### cloneNodeComponent

          public NodeComponent cloneNodeComponent()

      Deprecated. As of Java 3D version 1.2, replaced by `cloneNodeComponent(boolean forceDuplicate)`

    - #### duplicateNodeComponent

          public void duplicateNodeComponent(NodeComponent originalNodeComponent)

      Deprecated. As of Java 3D version 1.2, replaced by `duplicateNodeComponent(NodeComponent originalNodeComponent, boolean forceDuplicate)`
      NOTE: Applications should not call this method directly. It should only be called by the cloneNode method.

    - #### duplicateNodeComponent

          public void duplicateNodeComponent(NodeComponent originalNodeComponent,
                                    boolean forceDuplicate)

      Copies all node information from `originalNodeComponent` into the current node. This method is called from the `cloneNodeComponent` method which is, in turn, called by the `cloneNode` method.
      NOTE: Applications should not call this method directly. It should only be called by the cloneNode method.
      Parameters:
        `originalNodeComponent` - the 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 forceDuplicate is set and this object is part of a compiled scenegraph
      Since:
        Java 3D 1.2
      See Also:
        `cloneNodeComponent()`, `Node.cloneNode(boolean)`, `Node.cloneTree()`

    - #### cloneNodeComponent

          public NodeComponent cloneNodeComponent(boolean forceDuplicate)

      Used to create a new instance of a NodeComponent object. This routine is called by `cloneNode` to duplicate the current node.
      `cloneNodeComponent` should be overridden by any user subclassed NodeComponent objects. All subclasses must have their `cloneNodeComponent` method consist of the following lines:

      >          public NodeComponent cloneNodeComponent(boolean forceDuplicate) {
      >              UserNodeComponent unc = new UserNodeComponent();
      >              unc.duplicateNodeComponent(this, forceDuplicate);
      >              return unc;
      >          }

      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.
      Throws:
        `RestrictedAccessException` - if forceDuplicate is set and this object is part of a compiled scenegraph
      Since:
        Java 3D 1.2
      See Also:
        `duplicateNodeComponent(javax.media.j3d.NodeComponent)`, `Node.cloneNode(boolean)`, `Node.cloneTree()`

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