Class OrderedGroup

  extended by org.xith3d.scenegraph.SceneGraphObject
      extended by org.xith3d.scenegraph.Node
          extended by org.xith3d.scenegraph.GroupNode
              extended by org.xith3d.scenegraph.Group
                  extended by org.xith3d.scenegraph.OrderedGroup
All Implemented Interfaces:
org.jagatoo.datatypes.NamableObject, org.jagatoo.datatypes.NamedObject, org.openmali.spatial.SpatialNode
Direct Known Subclasses:

public class OrderedGroup
extends Group

OrderedGroup node guarantees that its children will be rendered in their index order.

Note that actual order of shape rendering can be affected by setting TransparencyAttributes in appearance.

1. All transparent shapes are drawn in a seperate pass and drawn back to front ignoring ordering in ordered groups.

2. If a shape is transparent, but marked with setSortEnabled(false) then the shape will be drawn in the opaque pass without respect to its back-to-front order.

3. If a shape is transparent, marked for non-sorting with setSortEnabled(false) and a child in an ordered group then the ordering of the shapes will be first by ordered group and second by standard rendering attributes.

See Also:
TransparencyAttributes.setSortEnabled(boolean), TransparencyAttributes.setEnabled(boolean)

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
Constructor Summary
          Constructs a new OrderedGroup object.
Method Summary
protected  long allocateOrderedId()
protected  OrderedGroup newInstance()
 boolean traverse(DetailedTraversalCallback callback)
          Traverses the scenegraph from this node on.
Methods inherited from class org.xith3d.scenegraph.Group
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


public OrderedGroup()
Constructs a new OrderedGroup object.

Method Detail


protected long allocateOrderedId()


protected OrderedGroup newInstance()

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


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.

traverse in class Group
callback - the listener is notified of any traversed Node on the way
if false, the whole traversal will stop