| |
|
| java.lang.Object javax.media.j3d.SceneGraphObject javax.media.j3d.Node
All known Subclasses: javax.media.j3d.Group, javax.media.j3d.Leaf,
Node | abstract public class Node extends SceneGraphObject (Code) | | The Node class provides an abstract class for all Group and Leaf Nodes.
It provides a common framework for constructing a Java 3D scene graph,
specifically bounding volumes.
For more information, see the
Introduction to the Java 3D API.
NOTE: Applications should not extend this class directly.
|
Field Summary | |
final public static int | ALLOW_AUTO_COMPUTE_BOUNDS_READ Specifies that this Node allows read access to its bounds
auto compute information. | final public static int | ALLOW_AUTO_COMPUTE_BOUNDS_WRITE Specifies that this Node allows write access to its bounds
auto compute information. | final public static int | ALLOW_BOUNDS_READ Specifies that this Node allows read access to its bounds
information. | final public static int | ALLOW_BOUNDS_WRITE Specifies that this Node allows write access to its bounds
information. | final public static int | ALLOW_COLLIDABLE_READ Specifies that this Node allows reading its collidability state. | final public static int | ALLOW_COLLIDABLE_WRITE Specifies that this Node allows write access its collidability state. | final public static int | ALLOW_LOCALE_READ Specifies that this Node allows read access to its Locale. | final public static int | ALLOW_LOCAL_TO_VWORLD_READ Specifies that this Node allows read access to its local
coordinates to virtual world (Vworld) coordinates transform. | final public static int | ALLOW_PARENT_READ Specifies that this Node allows read access to its parent Group node. | final public static int | ALLOW_PICKABLE_READ Specifies that this Node allows reading its pickability state. | final public static int | ALLOW_PICKABLE_WRITE Specifies that this Node allows write access its pickability state. | final public static int | ENABLE_COLLISION_REPORTING Specifies that this Node will be reported in the collision
SceneGraphPath if a collision occurs. | final public static int | ENABLE_PICK_REPORTING Specifies that this Node will be reported in the pick
SceneGraphPath if a pick occurs. |
Constructor Summary | |
public | Node() Constructs a Node object with default parameters. |
Method Summary | |
final void | checkDuplicateNode(Node originalNode, boolean forceDuplicate) Copies all node information from originalNode into
the current node. | void | checkForCycle() | public Node | cloneNode(boolean forceDuplicate) Used to create a new instance of the node. | public Node | cloneTree() Duplicates all the nodes of the specified sub-graph. | public Node | cloneTree(boolean forceDuplicate) Duplicates all the nodes of the specified sub-graph. | public Node | cloneTree(boolean forceDuplicate, boolean allowDanglingReferences) Duplicates all the nodes of the specified sub-graph. | public Node | cloneTree(NodeReferenceTable referenceTable) Duplicates all the nodes of the specified sub-graph. | public Node | cloneTree(NodeReferenceTable referenceTable, boolean forceDuplicate) Duplicates all the nodes of the specified sub-graph. | public Node | cloneTree(NodeReferenceTable referenceTable, boolean forceDuplicate, boolean allowDanglingReferences) Duplicates all the nodes of the specified sub-graph. | Node | cloneTree(boolean forceDuplicate, Hashtable nodeHashtable) Duplicates all the nodes of the specified sub-graph. | void | duplicateAttributes(Node originalNode, boolean forceDuplicate) Copies all Node information from
originalNode into
the current node. | public void | duplicateNode(Node originalNode, boolean forceDuplicate) Copies all node information from originalNode into
the current node. | public Bounds | getBounds() Returns the bounding object of a node. | public boolean | getBoundsAutoCompute() Gets the value indicating if the automatic calcuation of geometric bounds of a node is on/off. | public boolean | getCollidable() Returns the collidable value; this value determines whether this node
and it's children, if a group node, can be considered for collision
purposes; if it is set to false, then neither this node nor any
children nodes will be traversed for collision purposes; the default
value is true. | public void | getLocalToVworld(Transform3D t) Retrieves the local coordinates to virtual world coordinates
transform for this node in the scene graph. | public void | getLocalToVworld(SceneGraphPath path, Transform3D t) Retrieves the local coordinates to virtual world coordinates
transform for the particular path in the scene graph ending with
this node. | public Locale | getLocale() Retrieves the locale to which this node is attached. | public Node | getParent() | public boolean | getPickable() Returns true if this Node is pickable,
false if it is not pickable. | public void | setBounds(Bounds bounds) Sets the geometric bounds of a node. | public void | setBoundsAutoCompute(boolean autoCompute) Turns the automatic calcuation of geometric bounds of a node on/off. | public void | setCollidable(boolean collidable) Sets the collidable value; determines whether this node and any of its
children, if a group node, can be considered for collision purposes. | public void | setPickable(boolean pickable) When set to true this Node can be Picked. |
ALLOW_AUTO_COMPUTE_BOUNDS_READ | final public static int ALLOW_AUTO_COMPUTE_BOUNDS_READ(Code) | | Specifies that this Node allows read access to its bounds
auto compute information.
|
ALLOW_AUTO_COMPUTE_BOUNDS_WRITE | final public static int ALLOW_AUTO_COMPUTE_BOUNDS_WRITE(Code) | | Specifies that this Node allows write access to its bounds
auto compute information.
|
ALLOW_BOUNDS_READ | final public static int ALLOW_BOUNDS_READ(Code) | | Specifies that this Node allows read access to its bounds
information.
|
ALLOW_BOUNDS_WRITE | final public static int ALLOW_BOUNDS_WRITE(Code) | | Specifies that this Node allows write access to its bounds
information.
|
ALLOW_COLLIDABLE_READ | final public static int ALLOW_COLLIDABLE_READ(Code) | | Specifies that this Node allows reading its collidability state.
|
ALLOW_COLLIDABLE_WRITE | final public static int ALLOW_COLLIDABLE_WRITE(Code) | | Specifies that this Node allows write access its collidability state.
|
ALLOW_LOCALE_READ | final public static int ALLOW_LOCALE_READ(Code) | | Specifies that this Node allows read access to its Locale.
since: Java 3D 1.4 |
ALLOW_LOCAL_TO_VWORLD_READ | final public static int ALLOW_LOCAL_TO_VWORLD_READ(Code) | | Specifies that this Node allows read access to its local
coordinates to virtual world (Vworld) coordinates transform.
|
ALLOW_PARENT_READ | final public static int ALLOW_PARENT_READ(Code) | | Specifies that this Node allows read access to its parent Group node.
since: Java 3D 1.4 |
ALLOW_PICKABLE_READ | final public static int ALLOW_PICKABLE_READ(Code) | | Specifies that this Node allows reading its pickability state.
|
ALLOW_PICKABLE_WRITE | final public static int ALLOW_PICKABLE_WRITE(Code) | | Specifies that this Node allows write access its pickability state.
|
ENABLE_COLLISION_REPORTING | final public static int ENABLE_COLLISION_REPORTING(Code) | | Specifies that this Node will be reported in the collision
SceneGraphPath if a collision occurs. This capability is only
specifiable for Group nodes; it is ignored for leaf nodes.
The default for Group nodes is false. All interior nodes not
needed for uniqueness in a SceneGraphPath that don't have
ENABLE_COLLISION_REPORTING set to true will not be reported
in the SceneGraphPath.
See Also: SceneGraphPath |
ENABLE_PICK_REPORTING | final public static int ENABLE_PICK_REPORTING(Code) | | Specifies that this Node will be reported in the pick
SceneGraphPath if a pick occurs. This capability is only
specifiable for Group nodes; it is ignored for leaf nodes.
The default for Group nodes is false. All interior nodes not
needed for uniqueness in a SceneGraphPath that don't have
ENABLE_PICK_REPORTING set to true will not be reported in the
SceneGraphPath.
See Also: SceneGraphPath |
Node | public Node()(Code) | | Constructs a Node object with default parameters. The default
values are as follows:
pickable : true
collidable : true
bounds auto compute : true
bounds : N/A (automatically computed)
|
checkDuplicateNode | final void checkDuplicateNode(Node originalNode, boolean forceDuplicate)(Code) | | Copies all node information from originalNode into
the current node. This method is called from subclass of
duplicateNode method which is, in turn, called by the
cloneNode method.
For any NodeComponent objects
contained by the object being duplicated, each NodeComponent
object's duplicateOnCloneTree value is used to determine
whether the NodeComponent should be duplicated in the new node
or if just a reference to the current node should be placed in the
new node. This flag can be overridden by setting the
forceDuplicate parameter in the cloneTree
method to true .
Parameters: originalNode - the original node to duplicate. Parameters: forceDuplicate - when set to true , causes theduplicateOnCloneTree flag to be ignored. Whenfalse , the value of each node'sduplicateOnCloneTree variable determines whetherNodeComponent data is duplicated or copied. See Also: Group.cloneNode See Also: Node.duplicateNode See Also: Node.cloneTree See Also: NodeComponent.setDuplicateOnCloneTree |
checkForCycle | void checkForCycle()(Code) | | checks for cycles in the scene graph
|
cloneNode | public Node cloneNode(boolean forceDuplicate)(Code) | | Used to create a new instance of the node. This routine is called
by cloneTree to duplicate the current node.
cloneNode should be overridden by any user subclassed
objects. All subclasses must have their cloneNode
method consist of the following lines:
public Node cloneNode(boolean forceDuplicate) {
UserSubClass usc = new UserSubClass();
usc.duplicateNode(this, forceDuplicate);
return usc;
}
NOTE: Applications should not call this method directly.
It should only be called by the cloneTree method.
Parameters: forceDuplicate - when set to true , causes theduplicateOnCloneTree flag to be ignored. Whenfalse , the value of each node'sduplicateOnCloneTree variable determines whetherNodeComponent data is duplicated or copied. exception: RestrictedAccessException - if this object is part of liveor compiled scene graph See Also: Node.cloneTree See Also: Node.duplicateNode See Also: NodeComponent.setDuplicateOnCloneTree |
cloneTree | public Node cloneTree()(Code) | | Duplicates all the nodes of the specified sub-graph. For Group Nodes
the group node is duplicated via a call to cloneNode
and then cloneTree
is called for each child node. For Leaf Nodes, component
data can either be duplicated or be made a reference to the original
data. Leaf Node cloneTree behavior is determined by the
duplicateOnCloneTree flag found in every Leaf Node's
component data class and by the forceDuplicate paramter.
a reference to the cloned sub-graph. exception: DanglingReferenceException - When a dangling reference isdiscovered during the cloneTree operation. exception: RestrictedAccessException - if this object is part of liveor compiled scene graph exception: SceneGraphCycleException - if there is a cycle in thescene graph See Also: NodeComponent.setDuplicateOnCloneTree |
cloneTree | public Node cloneTree(boolean forceDuplicate)(Code) | | Duplicates all the nodes of the specified sub-graph. For Group Nodes
the group node is duplicated via a call to cloneNode
and then cloneTree is called for each child node.
For Leaf Nodes, component
data can either be duplicated or be made a reference to the original
data. Leaf Node cloneTree behavior is determined by the
duplicateOnCloneTree flag found in every Leaf Node's
component data class and by the forceDuplicate paramter.
Parameters: forceDuplicate - when set to true , causes theduplicateOnCloneTree flag to be ignored. Whenfalse , the value of each node'sduplicateOnCloneTree determines whether data isduplicated or copied. a reference to the cloned scene graph. exception: DanglingReferenceException - When a dangling reference isdiscovered during the cloneTree operation. exception: RestrictedAccessException - if this object is part of liveor compiled scene graph exception: SceneGraphCycleException - if there is a cycle in thescene graph See Also: NodeComponent.setDuplicateOnCloneTree |
cloneTree | public Node cloneTree(boolean forceDuplicate, boolean allowDanglingReferences)(Code) | | Duplicates all the nodes of the specified sub-graph. For Group Nodes
the group node is duplicated via a call to cloneNode and
then cloneTree is called for each child node. For
Leaf Nodes, component
data can either be duplicated or be made a reference to the original
data. Leaf Node cloneTree behavior is determined by the
duplicateOnCloneTree flag found in every Leaf Node's
component data class and by the forceDuplicate paramter.
Parameters: forceDuplicate - when set to true , causes theduplicateOnCloneTree flag to be ignored. When false , the value of each node'sduplicateOnCloneTree determines whether data isduplicated or copied. Parameters: allowDanglingReferences - when set to true allowsthe cloneTree method to complete even whan a dangling reference is discovered. Whenthis parameter is false aDanglingReferenceException is generated assoon as cloneTree detects this situation. a reference to the cloned scene graph. exception: DanglingReferenceException - When a dangling reference isdiscovered during the cloneTree operation and the allowDanglingReference parameter is false. exception: RestrictedAccessException - if this object is part of liveor compiled scene graph exception: SceneGraphCycleException - if there is a cycle in thescene graph See Also: NodeComponent.setDuplicateOnCloneTree |
cloneTree | public Node cloneTree(NodeReferenceTable referenceTable)(Code) | | Duplicates all the nodes of the specified sub-graph. For Group Nodes
the group node is duplicated via a call to cloneNode
and then cloneTree
is called for each child node. For Leaf Nodes, component
data can either be duplicated or be made a reference to the original
data. Leaf Node cloneTree behavior is determined by the
duplicateOnCloneTree flag found in every Leaf Node's
component data class and by the forceDuplicate paramter.
Parameters: referenceTable - table that stores the mapping betweenoriginal and cloned nodes. All previous values in thereferenceTable will be cleared before the clone is made. a reference to the cloned sub-graph. exception: DanglingReferenceException - When a dangling reference isdiscovered during the cloneTree operation. exception: RestrictedAccessException - if this object is part of liveor compiled scene graph exception: SceneGraphCycleException - if there is a cycle in thescene graph See Also: NodeComponent.setDuplicateOnCloneTree since: Java 3D 1.2 |
cloneTree | public Node cloneTree(NodeReferenceTable referenceTable, boolean forceDuplicate)(Code) | | Duplicates all the nodes of the specified sub-graph. For Group Nodes
the group node is duplicated via a call to cloneNode
and then cloneTree is called for each child node.
For Leaf Nodes, component
data can either be duplicated or be made a reference to the original
data. Leaf Node cloneTree behavior is determined by the
duplicateOnCloneTree flag found in every Leaf Node's
component data class and by the forceDuplicate paramter.
Parameters: referenceTable - table that stores the mapping betweenoriginal and cloned nodes. All previous values in thereferenceTable will be cleared before the clone is made. Parameters: forceDuplicate - when set to true , causes theduplicateOnCloneTree flag to be ignored. Whenfalse , the value of each node'sduplicateOnCloneTree determines whether data isduplicated or copied. a reference to the cloned scene graph. exception: DanglingReferenceException - When a dangling reference isdiscovered during the cloneTree operation. exception: RestrictedAccessException - if this object is part of liveor compiled scene graph exception: SceneGraphCycleException - if there is a cycle in thescene graph See Also: NodeComponent.setDuplicateOnCloneTree since: Java 3D 1.2 |
cloneTree | public Node cloneTree(NodeReferenceTable referenceTable, boolean forceDuplicate, boolean allowDanglingReferences)(Code) | | Duplicates all the nodes of the specified sub-graph. For Group Nodes
the group node is duplicated via a call to cloneNode
and then cloneTree is called for each child node.
For Leaf Nodes, component
data can either be duplicated or be made a reference to the original
data. Leaf Node cloneTree behavior is determined by the
duplicateOnCloneTree flag found in every Leaf Node's
component data class and by the forceDuplicate paramter.
Parameters: referenceTable - table that stores the mapping betweenoriginal and cloned nodes. All previous values in thereferenceTable will be cleared before the clone is made. Parameters: forceDuplicate - when set to true , causes theduplicateOnCloneTree flag to be ignored. Whenfalse , the value of each node'sduplicateOnCloneTree determines whether data isduplicated or copied. Parameters: allowDanglingReferences - when set to true allowsthe cloneTree method to complete even whan a dangling reference is discovered. Whenthis parameter is false aDanglingReferenceException is generated assoon as cloneTree detects this situation. a reference to the cloned scene graph. exception: DanglingReferenceException - When a dangling reference isdiscovered during the cloneTree operation. exception: RestrictedAccessException - if this object is part of liveor compiled scene graph exception: SceneGraphCycleException - if there is a cycle in thescene graph See Also: NodeComponent.setDuplicateOnCloneTree since: Java 3D 1.2 |
cloneTree | Node cloneTree(boolean forceDuplicate, Hashtable nodeHashtable)(Code) | | Duplicates all the nodes of the specified sub-graph. For Group Nodes
the group node is duplicated via a call to cloneNode and
then cloneTree is called for each child node. For
Leaf Nodes, component
data can either be duplicated or be made a reference to the original
data. Leaf Node cloneTree behavior is determined by the
duplicateOnCloneTree flag found in every Leaf Node's
component data class and by the forceDuplicate paramter.
Parameters: forceDuplicate - when set to true , causes theduplicateOnCloneTree flag to be ignored. When false , the value of each node'sduplicateOnCloneTree determines whether data isduplicated or copied. Parameters: nodeHashtable - a hashtable used to map orignal node references totheir cloned counterpart. a reference to the cloned scene graph. See Also: NodeComponent.setDuplicateOnCloneTree |
duplicateAttributes | void duplicateAttributes(Node originalNode, boolean forceDuplicate)(Code) | | Copies all Node information from
originalNode into
the current node. This method is called from the
cloneNode method which is, in turn, called by the
cloneTree method.
Parameters: originalNode - the original node to duplicate. Parameters: forceDuplicate - when set to true , causes theduplicateOnCloneTree flag to be ignored. Whenfalse , the value of each node'sduplicateOnCloneTree variable determines whetherNodeComponent data is duplicated or copied. exception: RestrictedAccessException - if originalNode object is part of a liveor compiled scenegraph. See Also: Node.duplicateNode See Also: Node.cloneTree See Also: NodeComponent.setDuplicateOnCloneTree |
duplicateNode | public void duplicateNode(Node originalNode, boolean forceDuplicate)(Code) | | Copies all node information from originalNode into
the current node. This method is called from the
cloneNode method which is, in turn, called by the
cloneTree method.
For any NodeComponent objects
contained by the object being duplicated, each NodeComponent
object's duplicateOnCloneTree value is used to determine
whether the NodeComponent should be duplicated in the new node
or if just a reference to the current node should be placed in the
new node. This flag can be overridden by setting the
forceDuplicate parameter in the cloneTree
method to true .
NOTE: Applications should not call this method directly.
It should only be called by the cloneNode method.
Parameters: originalNode - the original node to duplicate. Parameters: forceDuplicate - when set to true , causes theduplicateOnCloneTree flag to be ignored. Whenfalse , the value of each node'sduplicateOnCloneTree variable determines whetherNodeComponent data is duplicated or copied. See Also: Group.cloneNode See Also: Node.duplicateNode See Also: Node.cloneTree See Also: NodeComponent.setDuplicateOnCloneTree |
getBounds | public Bounds getBounds()(Code) | | Returns the bounding object of a node.
the node's bounding object exception: CapabilityNotSetException - if appropriate capability isnot set and this object is part of live or compiled scene graph exception: SceneGraphCycleException - if there is a cycle in thescene graph |
getBoundsAutoCompute | public boolean getBoundsAutoCompute()(Code) | | Gets the value indicating if the automatic calcuation of geometric bounds of a node is on/off.
the node's auto compute flag for the geometric bounding object exception: CapabilityNotSetException - if appropriate capability isnot set and this object is part of live or compiled scene graph |
getCollidable | public boolean getCollidable()(Code) | | Returns the collidable value; this value determines whether this node
and it's children, if a group node, can be considered for collision
purposes; if it is set to false, then neither this node nor any
children nodes will be traversed for collision purposes; the default
value is true. The collidable setting is the way that an
application can perform collision culling.
the present collidable value for this node |
getLocalToVworld | public void getLocalToVworld(Transform3D t)(Code) | | Retrieves the local coordinates to virtual world coordinates
transform for this node in the scene graph. This is the composite
of all transforms in the scene graph from the root down to
this node. It is only valid
for nodes that are part of a live scene graph.
If the node is not part of a live scene graph then the coordinates are
calculated as if the graph was attached at the origin of a locale.
Parameters: t - the object that will receive the local coordinates toVworld coordinates transform. exception: RestrictedAccessException - if the node is compiled but not part of a live scene graph exception: CapabilityNotSetException - if appropriate capability isnot set and this node is part of live or compiled scene graph exception: IllegalSharingException - if the node is a descendantof a SharedGroup node. |
getLocalToVworld | public void getLocalToVworld(SceneGraphPath path, Transform3D t)(Code) | | Retrieves the local coordinates to virtual world coordinates
transform for the particular path in the scene graph ending with
this node. This is the composite
of all transforms in the scene graph from the root down to
this node via the specified Link nodes. It is
only valid for nodes that are part of a live scene graph.
Parameters: path - the specific path from the node to the Locale Parameters: t - the object that will receive the local coordinates toVworld coordinates transform. exception: RestrictedAccessException - if the node is notpart of a live scene graph exception: CapabilityNotSetException - if appropriate capability isnot set and this node is part of live scene graph exception: IllegalArgumentException - if the specified path doesnot contain a valid Locale, or if the last node in the path isdifferent from this node exception: IllegalSharingException - if the node is not a descendantof a SharedGroup node. |
getLocale | public Locale getLocale()(Code) | | Retrieves the locale to which this node is attached. If the
node is not part of a live scene graph, null is returned.
the locale to which this node is attached. exception: CapabilityNotSetException - if appropriate capability isnot set and this node is part of live scene graph exception: IllegalSharingException - if the node is a descendantof a SharedGroup node. since: Java 3D 1.4 |
getParent | public Node getParent()(Code) | | the parent of this node, or null if this node has no parent exception: CapabilityNotSetException - if appropriate capability isnot set and this object is part of live or compiled scene graph |
getPickable | public boolean getPickable()(Code) | | Returns true if this Node is pickable,
false if it is not pickable.
|
setBounds | public void setBounds(Bounds bounds)(Code) | | Sets the geometric bounds of a node.
Parameters: bounds - the bounding object for a node exception: CapabilityNotSetException - if appropriate capability isnot set and this object is part of live or compiled scene graph |
setBoundsAutoCompute | public void setBoundsAutoCompute(boolean autoCompute)(Code) | | Turns the automatic calcuation of geometric bounds of a node on/off.
Parameters: autoCompute - indicates if the node's bounding object isautomatically computed. exception: CapabilityNotSetException - if appropriate capability isnot set and this object is part of live or compiled scene graph |
setCollidable | public void setCollidable(boolean collidable)(Code) | | Sets the collidable value; determines whether this node and any of its
children, if a group node, can be considered for collision purposes.
Parameters: collidable - the new collidable value for this node |
setPickable | public void setPickable(boolean pickable)(Code) | | When set to true this Node can be Picked.
Setting to false indicates that this node and it's children
are ALL unpickable.
Parameters: pickable - Indicates if this node should be pickable or not |
|
|
|