In this example there are two branch graphs and, thus,
two BranchGroup nodes. Attached to the left BranchGroup are two subgraphs. One
subgraph consists of a user-extended Behavior leaf node. The Behavior node contains
Java code for manipulating the transformation matrix associated with the object's
geometry.
The other subgraph in this BranchGroup consists of a TransformGroup node that
specifies the position (relative to the Locale), orientation, and scale of the
geometric objects in the virtual universe. A single child, a Shape3D leaf node,
refers to two component objects: a Geometry object and an Appearance object.
The Geometry object describes the geometric shape of a 3D object (a cube in
our simple example). The Appearance object describes the appearance of the geometry
(color, texture, material reflection characteristics, and so forth).