A BranchGroup is a major sub-tree of the
Can be attached to a Locale
Can be compiled as a unit
Can be included as a child of a group node in another subgraph
Can be reparented or removed at runtime
Adding a BranchGroup to a Locale makes the group live
Once live, changes are constrained to those enabled by capabilities
BranchGroup extends the Group class
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
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.