javax.media.j3d
Class BranchGroup
java.lang.Object
|
+--javax.media.j3d.SceneGraphObject
|
+--javax.media.j3d.Node
|
+--javax.media.j3d.Group
|
+--javax.media.j3d.BranchGroup
- Direct Known Subclasses:
- PlatformGeometry, ViewerAvatar, ViewingPlatform
- public class BranchGroup
- extends Group
The BranchGroup serves as a pointer to the root of a
scene graph branch; BranchGroup objects are the only objects that
can be inserted into a Locale's set of objects. A subgraph, rooted
by a BranchGroup node can be thought of as a compile unit. The
following things may be done with BranchGroup:
- A BranchGroup may be compiled by calling its compile method. This causes the
entire subgraph to be compiled. If any BranchGroup nodes are contained within the
subgraph, they are compiled as well (along with their descendants).
- A BranchGroup may be inserted into a virtual universe by attaching it to a
Locale. The entire subgraph is then said to be live.
- A BranchGroup that is contained within another subgraph may be reparented or
detached at run time if the appropriate capabilities are set.
Note that that if a BranchGroup is included in another subgraph, as a child of
some other group node, it may not be attached to a Locale.
Field Summary |
static int |
ALLOW_DETACH
For BranchGroup nodes, specifies that this BranchGroup allows detaching
from its parent. |
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 |
BranchGroup()
Constructs and initializes a new BranchGroup node object. |
Method Summary |
Node |
cloneNode(boolean forceDuplicate)
Creates a new instance of the node. |
void |
compile()
Compiles the source BranchGroup associated with this object and
creates and caches a compiled scene graph. |
void |
detach()
Detaches this BranchGroup from its parent. |
SceneGraphPath[] |
pickAll(PickShape pickShape)
Returns an array referencing all the items that are pickable below this
BranchGroup that intersect with PickShape. |
SceneGraphPath[] |
pickAllSorted(PickShape pickShape)
Returns a sorted array of references to all the Pickable items that
intersect with the pickShape. |
SceneGraphPath |
pickAny(PickShape pickShape)
Returns a reference to any item that is Pickable below this BranchGroup that
intersects with pickShape . |
SceneGraphPath |
pickClosest(PickShape pickShape)
Returns a SceneGraphPath that references the pickable item
closest to the origin of pickShape . |
Methods inherited from class javax.media.j3d.Group |
addChild,
getAllChildren,
getAlternateCollisionTarget,
getChild,
getCollisionBounds,
insertChild,
moveTo,
numChildren,
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 java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
ALLOW_DETACH
public static final int ALLOW_DETACH
- For BranchGroup nodes, specifies that this BranchGroup allows detaching
from its parent.
BranchGroup
public BranchGroup()
- Constructs and initializes a new BranchGroup node object.
compile
public void compile()
- Compiles the source BranchGroup associated with this object and
creates and caches a compiled scene graph.
detach
public void detach()
- Detaches this BranchGroup from its parent.
pickAll
public SceneGraphPath[] pickAll(PickShape pickShape)
- Returns an array referencing all the items that are pickable below this
BranchGroup
that intersect with PickShape.
The resultant array is unordered.
- Parameters:
pickShape
- the PickShape object- Throws:
- java.lang.IllegalStateException - if BranchGroup is not live.
- See Also:
SceneGraphPath
,
Locale.pickAll(javax.media.j3d.PickShape)
,
PickShape
pickAllSorted
public SceneGraphPath[] pickAllSorted(PickShape pickShape)
- Returns a sorted array of references to all the Pickable items that
intersect with the pickShape. Element [0] references the item closest
to origin of PickShape successive array elements are further
from the origin
Note: If pickShape is of type PickBounds, the resulting array
is unordered.
- Parameters:
pickShape
- the PickShape object- Throws:
- java.lang.IllegalStateException - if BranchGroup is not live.
- See Also:
SceneGraphPath
,
Locale.pickAllSorted(javax.media.j3d.PickShape)
,
PickShape
pickClosest
public SceneGraphPath pickClosest(PickShape pickShape)
- Returns a SceneGraphPath that references the pickable item
closest to the origin of
pickShape
.
Note: If pickShape is of type PickBounds, the return is any pickable node
below this BranchGroup.
- Parameters:
pickShape
- the PickShape object- Throws:
- java.lang.IllegalStateException - if BranchGroup is not live.
- See Also:
SceneGraphPath
,
Locale.pickClosest(javax.media.j3d.PickShape)
,
PickShape
pickAny
public SceneGraphPath pickAny(PickShape pickShape)
- Returns a reference to any item that is Pickable below this BranchGroup that
intersects with
pickShape
.
- Parameters:
pickShape
- the PickShape object- Throws:
- java.lang.IllegalStateException - if BranchGroup is not live.
- See Also:
SceneGraphPath
,
Locale.pickAny(javax.media.j3d.PickShape)
,
PickShape
cloneNode
public Node cloneNode(boolean forceDuplicate)
- Creates 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)