org.xith3d.scenegraph
Class BranchGroup

java.lang.Object
  extended by org.xith3d.scenegraph.SceneGraphObject
      extended by org.xith3d.scenegraph.Node
          extended by org.xith3d.scenegraph.GroupNode
              extended by org.xith3d.scenegraph.BranchGroup
All Implemented Interfaces:
org.jagatoo.datatypes.NamableObject, org.jagatoo.datatypes.NamedObject, org.openmali.spatial.SpatialNode

public class BranchGroup
extends GroupNode

A BranchGroup is the root of a SceneGraph. More exactly it is the branch group of a RenderPass. It is not intended to be used as a child of another Group.


Field Summary
 
Fields inherited from class org.xith3d.scenegraph.GroupNode
children, hostGroup, numChildren, totalNumChildren, totalNumShapes
 
Fields inherited from class org.xith3d.scenegraph.Node
bounds, boundsAutoCompute, boundsDirty, globalIgnoreBounds, instanceBoundsTypeHint, transformGroup, untransformedBounds
 
Fields inherited from class org.xith3d.scenegraph.SceneGraphObject
XITH3D_USERDATAKEY_OLDUSERDATA
 
Constructor Summary
  BranchGroup()
          Constructs a new BranchGroup instance.
protected BranchGroup(GroupNode hostGroup, Node firstChild)
          Constructs a new BranchGroup instance and directly adds the given child Node to it.
  BranchGroup(Node firstChild)
          Constructs a new BranchGroup instance and directly adds the given child Node to it.
 
Method Summary
 SceneGraph getSceneGraph()
           
protected  BranchGroup newInstance()
          
 boolean traverse(DetailedTraversalCallback callback)
          Traverses the scenegraph from this node on.
 
Methods inherited from class org.xith3d.scenegraph.GroupNode
absorbDetails, addChild, addChild, checkChild, dump, dump, ensureCapacity, expandBounds, findAll, findAll, findFirst, findFirst, freeOpenGLResources, getChild, getChildren, getChildren, getClipper, getPickHost, getScissorRect, getTotalNumChildren, getTotalNumShapes, indexOf, isPickHost, mergeInheritedClipper, mergeInheritedNodes, mergeInheritedScissorRect, numChildren, removeAllChildren, removeChild, removeChild, setBoundsDirty, setBoundsDirtyUpward, setChild, setClipper, setLive, setPickHost, setPickHost, setScissorRect, setShowBounds, sharedCopy, sharedCopy, traverse, unmergeInheritedFog, unmergeInheritedLight, unmergeInheritedNodes, updateBounds, updateBoundsCheap
 
Methods inherited from class org.xith3d.scenegraph.Node
cloneNode, detach, duplicateNode, freeOpenGLResources, getBounds, getBoundsAutoCompute, getBoundsType, getBoundsTypeHint, getDefaultPickable, getIndentString, getInheritedNodeAttributes, getModListener, getOrderedChild, getOrderedState, getParent, getRoot, getShadowAttachment, getShowBounds, getTransformGroup, getTreeCell, getWorldBounds, getWorldTransform, getWorldTransform, isBillboard, isIgnoreBounds, isOccluder, isPickable, isRenderable, isUpdatableNode, popGlobalIgnoreBounds, printBounds, pushGlobalIgnoreBounds, setBounds, setBoundsAutoCompute, setBoundsTypeHint, setDefaultPickable, setGlobalIgnoreBounds, setIgnoreBounds, setIsOccluder, setModListener, setOrderedChild, setParent, setPickable, setPickableRecursive, setPickableRecursive, setRenderable, setShadowAttachment, setShowBounds, setTransformGroup, setTreeCell, updateOrderedChild, updateTransformGroup, updateWorldTransform
 
Methods inherited from class org.xith3d.scenegraph.SceneGraphObject
getName, getUserData, getUserData, getUserDataMap, isLive, setName, setUserData, setUserData, setUserDataRecursive, setUserDataRecursive, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BranchGroup

protected BranchGroup(GroupNode hostGroup,
                      Node firstChild)
Constructs a new BranchGroup instance and directly adds the given child Node to it.

This is a convenience method.


BranchGroup

public BranchGroup(Node firstChild)
Constructs a new BranchGroup instance and directly adds the given child Node to it.

This is a convenience method.

Parameters:
firstChild -

BranchGroup

public BranchGroup()
Constructs a new BranchGroup instance.

Method Detail

getSceneGraph

public final SceneGraph getSceneGraph()

traverse

public boolean traverse(DetailedTraversalCallback callback)
Traverses the scenegraph from this node on. If this Node is a Group it will recusively run through each child.

Specified by:
traverse in class Node
Parameters:
callback - the listener is notified of any traversed Node on the way
Returns:
if false, the whole traversal will stop

newInstance

protected BranchGroup newInstance()

Specified by:
newInstance in class GroupNode
Returns:
a new instance of this class. This is invoked by the sharedCopy() method.
See Also:
GroupNode.sharedCopy(CopyListener)