Aviatrix3D
2.0 Dev

org.j3d.renderer.aviatrix3d.nodes
Class MaskedSwitch

java.lang.Object
  extended byorg.j3d.aviatrix3d.SceneGraphObject
      extended byorg.j3d.aviatrix3d.Node
          extended byorg.j3d.aviatrix3d.Group
              extended byorg.j3d.renderer.aviatrix3d.nodes.MaskedSwitch
All Implemented Interfaces:
GroupPickTarget, PickableObject, PickTarget

public class MaskedSwitch
extends Group

Special grouping node that allows the selection of only a mask of children to be rendered. If the mask has less entries then the children list the unspecified children will not be displayed.

Version:
$Revision: 1.6 $
Author:
Alan Hudson

Field Summary
 
Fields inherited from class org.j3d.aviatrix3d.Group
childList, dirtyBoundsCount, lastChild, pickableList, pickFlags, wkVec1, wkVec2
 
Fields inherited from class org.j3d.aviatrix3d.Node
bounds, implicitBounds, INVALID_BOUNDS, parent
 
Fields inherited from class org.j3d.aviatrix3d.SceneGraphObject
alive, LISTENER_SET_NOT_LIVE_MESSAGE, updateHandler, WRITE_TIMING_MSG
 
Fields inherited from interface org.j3d.aviatrix3d.picking.PickableObject
COLLIDABLE_OBJECT, GENERAL_OBJECT, PROXIMITY_OBJECT, VISIBLE_OBJECT
 
Fields inherited from interface org.j3d.aviatrix3d.picking.PickTarget
CUSTOM_PICK_TYPE, GROUP_PICK_TYPE, LEAF_PICK_TYPE, SINGLE_PICK_TYPE
 
Constructor Summary
MaskedSwitch()
          The default constructor.
MaskedSwitch(boolean[] mask)
          Constructor with mask specified.
 
Method Summary
 Node[] getRenderableChild()
          Get the list of children that are valid to be rendered according to the rules of the grouping node.
 int numRenderableChildren()
          Returns the number of valid renderable children to process.If there are no valid renderable children return -1.
protected  void recomputeBounds()
          Internal method to recalculate the implicit bounds of this Node.
 void removeAllChildren()
          Removes all children from the group.
 void removeChild(int idx)
          Remove the child at the specified index from the group.
 void setChild(Node newChild, int idx)
          Replaces the child node at the specified index in this group node's list of children with the specified child.
 void setMask(boolean[] mask)
          Set the mask.
 
Methods inherited from class org.j3d.aviatrix3d.Group
addChild, checkForCyclicChild, checkPickMask, getAllChildren, getChild, getPickableBounds, getPickableChild, getPickableChildren, getPickMask, getPickTargetType, indexOfChild, markBoundsDirty, numChildren, numPickableChildren, pickBatch, pickSingle, removeChild, requestBoundsUpdate, setBounds, setLive, setPickMask, setUpdateHandler, updateBounds
 
Methods inherited from class org.j3d.aviatrix3d.Node
boundsChanged, checkForCyclicParent, getBounds, getParent, removeParent, setParent, updateParentBounds
 
Methods inherited from class org.j3d.aviatrix3d.SceneGraphObject
dataChanged, getUserData, isLive, setUserData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MaskedSwitch

public MaskedSwitch()
The default constructor. Nothing will be shown.


MaskedSwitch

public MaskedSwitch(boolean[] mask)
Constructor with mask specified.

Method Detail

recomputeBounds

protected void recomputeBounds()
Internal method to recalculate the implicit bounds of this Node. By default the bounds are a point sphere, so derived classes should override this method with something better.

Overrides:
recomputeBounds in class Group

setChild

public void setChild(Node newChild,
                     int idx)
              throws InvalidWriteTimingException
Replaces the child node at the specified index in this group node's list of children with the specified child.

Overrides:
setChild in class Group
Parameters:
newChild - The child node to use
idx - The index to replace. Must be greater than 0 and less then numChildren
Throws:
java.lang.IndexOutOfBoundsException - When the idx is invalid
InvalidWriteTimingException - An attempt was made to write outside of the NodeUpdateListener callback method

removeChild

public void removeChild(int idx)
                 throws InvalidWriteTimingException
Remove the child at the specified index from the group.

Overrides:
removeChild in class Group
Parameters:
idx - The index of the child to remove
Throws:
IndexOfBoundsException - When the idx is invalid
InvalidWriteTimingException - An attempt was made to write outside of the NodeUpdateListener callback method

getRenderableChild

public Node[] getRenderableChild()
Get the list of children that are valid to be rendered according to the rules of the grouping node.

Overrides:
getRenderableChild in class Group
Returns:
an array of nodes

numRenderableChildren

public int numRenderableChildren()
Returns the number of valid renderable children to process.If there are no valid renderable children return -1.

Overrides:
numRenderableChildren in class Group
Returns:
A number greater than or equal to zero

removeAllChildren

public void removeAllChildren()
                       throws InvalidWriteTimingException
Removes all children from the group.

Overrides:
removeAllChildren in class Group
Throws:
InvalidWriteTimingException - An attempt was made to write outside of the NodeUpdateListener callback method

setMask

public void setMask(boolean[] mask)
Set the mask.

Parameters:
mask - The new mask.

Aviatrix3D
2.0 Dev

Latest Info from http://aviatrix3d.j3d.org/
Copyright © 2003 - 2005 j3d.org