The Billboard behavior node operates on the TransformGroup node
to cause the local +z axis of the TransformGroup to point at
the viewer's eye position. This is done regardless of the transforms
above the specified TransformGroup node in the scene graph.

If the alignment mode is ROTATE_ABOUT_AXIS, the rotation will be
around the specified axis. If the alignment mode is
ROTATE_ABOUT_POINT, the rotation will be about the specified
point, with an additional rotation to align the +y axis of the
TransformGroup with the +y axis in the View.

Note that in a multiple View system, the alignment is done to
the primary View only.

Billboard nodes are ideal for drawing screen aligned-text or
for drawing roughly-symmetrical objects. A typical use might
consist of a quadrilateral that contains a texture of a tree.

Billboard

Constructs a Billboard node with default parameters that operates
on the specified TransformGroup node.
The default alignment mode is ROTATE_ABOUT_AXIS rotation with the axis
pointing along the Y axis.

Parameters:

tg - the TransformGroup node that this Billboard
node operates upon

Billboard

Constructs a Billboard node with the specified axis and mode
that operates on the specified TransformGroup node.
The specified axis must not be parallel to the Z
axis--(0,0,z) for any value of z. It is not
possible for the +Z axis to point at the viewer's eye
position by rotating about itself. The target transform will
be set to the identity if the axis is (0,0,z).

getAlignmentMode

setAlignmentAxis

Sets the alignment axis.
The specified axis must not be parallel to the Z
axis--(0,0,z) for any value of z. It is not
possible for the +Z axis to point at the viewer's eye
position by rotating about itself. The target transform will
be set to the identity if the axis is (0,0,z).

Parameters:

axis - the ray about which the billboard rotates

setAlignmentAxis

public void setAlignmentAxis(float x,
float y,
float z)

Sets the alignment axis.
The specified axis must not be parallel to the Z
axis--(0,0,z) for any value of z. It is not
possible for the +Z axis to point at the viewer's eye
position by rotating about itself. The target transform will
be set to the identity if the axis is (0,0,z).

cloneNode

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.

updateNodeReferences

Callback used to allow a node to check if any scene graph objects
referenced
by that node have been duplicated via a call to cloneTree.
This method is called by cloneTree after all nodes in
the sub-graph have been duplicated. The cloned Leaf node's method
will be called and the Leaf node can then look up any object references
by using the getNewObjectReference method found in the
NodeReferenceTable object. If a match is found, a
reference to the corresponding object in the newly cloned sub-graph
is returned. If no corresponding reference is found, either a
DanglingReferenceException is thrown or a reference to the original
object is returned depending on the value of the
allowDanglingReferences parameter passed in the
cloneTree call.

NOTE: Applications should not call this method directly.
It should only be called by the cloneTree method.