Package 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
Description
`NodeComponent()`
Constructs a NodeComponent object with default parameters.

## Method Summary

Modifier and Type
Method
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 Details

### NodeComponent

public NodeComponent()
Constructs a NodeComponent object with default parameters. The default values are as follows:

duplicate on clone tree : false

## Method Details

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