javax.media.j3d
Class Switch

java.lang.Object
  extended by javax.media.j3d.SceneGraphObject
      extended by javax.media.j3d.Node
          extended by javax.media.j3d.Group
              extended by javax.media.j3d.Switch

public class Switch
extends Group

The Switch node controls which of its children will be rendered. It defines a child selection value (a switch value) that can either select a single child, or it can select 0 or more children using a mask to indicate which children are selected for rendering. The Switch node contains an ordered list of children, but the index order of the children in the list is only used for selecting the appropriate child or children and does not specify rendering order.


Field Summary
static int ALLOW_SWITCH_READ
          Specifies that this node allows reading its child selection and mask values and its current child.
static int ALLOW_SWITCH_WRITE
          Specifies that this node allows writing its child selection and mask values.
static int CHILD_ALL
          Specifies that all children are rendered.
static int CHILD_MASK
          Specifies that the childMask BitSet is used to select which children are rendered.
static int CHILD_NONE
          Specifies that no children are rendered.
 
Fields inherited from class javax.media.j3d.Group
ALLOW_CHILDREN_EXTEND, ALLOW_CHILDREN_READ, ALLOW_CHILDREN_WRITE, ALLOW_COLLISION_BOUNDS_READ, ALLOW_COLLISION_BOUNDS_WRITE
 
Fields inherited from class javax.media.j3d.Node
ALLOW_AUTO_COMPUTE_BOUNDS_READ, ALLOW_AUTO_COMPUTE_BOUNDS_WRITE, ALLOW_BOUNDS_READ, ALLOW_BOUNDS_WRITE, ALLOW_COLLIDABLE_READ, ALLOW_COLLIDABLE_WRITE, ALLOW_LOCAL_TO_VWORLD_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING
 
Constructor Summary
Switch()
          Constructs a Switch node with default parameters.
Switch(int whichChild)
          Constructs and initializes a Switch node using the specified child selection index.
Switch(int whichChild, java.util.BitSet childMask)
          Constructs and initializes a Switch node using the specified child selection index and mask.
 
Method Summary
 Node cloneNode(boolean forceDuplicate)
          Used to create a new instance of the node.
 Node currentChild()
          Retrieves the currently selected child.
 java.util.BitSet getChildMask()
          Retrieves the current child selection mask.
 int getWhichChild()
          Retrieves the current child selection index that specifies which child is rendered.
 void setChildMask(java.util.BitSet childMask)
          Sets the child selection mask.
 void setWhichChild(int child)
          Sets the child selection index that specifies which child is rendered.
 
Methods inherited from class javax.media.j3d.Group
addChild, getAllChildren, getAlternateCollisionTarget, getChild, getCollisionBounds, indexOfChild, insertChild, moveTo, numChildren, removeAllChildren, removeChild, removeChild, setAlternateCollisionTarget, setChild, setCollisionBounds
 
Methods inherited from class javax.media.j3d.Node
cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable
 
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setUserData, updateNodeReferences
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ALLOW_SWITCH_READ

public static final int ALLOW_SWITCH_READ
Specifies that this node allows reading its child selection and mask values and its current child.

See Also:
Constant Field Values

ALLOW_SWITCH_WRITE

public static final int ALLOW_SWITCH_WRITE
Specifies that this node allows writing its child selection and mask values.

See Also:
Constant Field Values

CHILD_NONE

public static final int CHILD_NONE
Specifies that no children are rendered. This value may be used in place of a non-negative child selection index.

See Also:
Constant Field Values

CHILD_ALL

public static final int CHILD_ALL
Specifies that all children are rendered. This setting causes the switch node to function as an ordinary group node. This value may be used in place of a non-negative child selection index.

See Also:
Constant Field Values

CHILD_MASK

public static final int CHILD_MASK
Specifies that the childMask BitSet is used to select which children are rendered. This value may be used in place of a non-negative child selection index.

See Also:
Constant Field Values
Constructor Detail

Switch

public Switch()
Constructs a Switch node with default parameters. The default values are as follows:


Switch

public Switch(int whichChild)
Constructs and initializes a Switch node using the specified child selection index.

Parameters:
whichChild - the initial child selection index

Switch

public Switch(int whichChild,
              java.util.BitSet childMask)
Constructs and initializes a Switch node using the specified child selection index and mask.

Parameters:
whichChild - the initial child selection index
childMask - the initial child selection mask
Method Detail

setWhichChild

public void setWhichChild(int child)
Sets the child selection index that specifies which child is rendered. If the value is out of range, then no children are drawn.

Parameters:
child - a non-negative integer index value, indicating a specific child, or one of the following constants: CHILD_NONE, CHILD_ALL, or CHILD_MASK.
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
See Also:
CHILD_NONE, CHILD_ALL, CHILD_MASK

getWhichChild

public int getWhichChild()
Retrieves the current child selection index that specifies which child is rendered.

Returns:
a non-negative integer index value, indicating a specific child, or one of the following constants: CHILD_NONE, CHILD_ALL, or CHILD_MASK
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
See Also:
CHILD_NONE, CHILD_ALL, CHILD_MASK

setChildMask

public void setChildMask(java.util.BitSet childMask)
Sets the child selection mask. This mask is used when the child selection index is set to CHILD_MASK.

Parameters:
childMask - a BitSet that specifies which children are rendered
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

getChildMask

public java.util.BitSet getChildMask()
Retrieves the current child selection mask. This mask is used when the child selection index is set to CHILD_MASK.

Returns:
the child selection mask
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

currentChild

public Node currentChild()
Retrieves the currently selected child. If the child selection index is out of range or is set to CHILD_NONE, CHILD_ALL, or CHILD_MASK, then this method returns null.

Returns:
a reference to the current child chosen for rendering
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled 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:
Node.cloneTree(), Node.cloneNode(boolean), Node.duplicateNode(javax.media.j3d.Node, boolean), NodeComponent.setDuplicateOnCloneTree(boolean)