| java.lang.Object javax.media.j3d.SceneGraphObject javax.media.j3d.Node javax.media.j3d.Leaf javax.media.j3d.Behavior javax.media.j3d.Billboard
Billboard | public class Billboard extends Behavior (Code) | | 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.
See Also: OrientedShape3D |
Constructor Summary | |
public | Billboard() Constructs a Billboard node with default parameters. | public | Billboard(TransformGroup tg) Constructs a Billboard node with default parameters that operates
on the specified TransformGroup node. | public | Billboard(TransformGroup tg, int mode, Vector3f axis) 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. | public | Billboard(TransformGroup tg, int mode, Point3f point) Constructs a Billboard node with the specified rotation point and mode
that operates on the specified TransformGroup node. |
Method Summary | |
public Node | cloneNode(boolean forceDuplicate) Creates a new instance of the node. | void | duplicateAttributes(Node originalNode, boolean forceDuplicate) Copies all Billboard information from
originalNode into
the current node. | public void | getAlignmentAxis(Vector3f axis) Gets the alignment axis and sets the parameter to this value. | public int | getAlignmentMode() Gets the alignment mode. | public void | getRotationPoint(Point3f point) Gets the rotation point and sets the parameter to this value. | public TransformGroup | getTarget() Returns a copy of the transformGroup associated with this Billboard. | public void | initialize() Initialize method that sets up initial wakeup criteria. | public void | processStimulus(Enumeration criteria) Process stimulus method that computes appropriate transform. | public void | setAlignmentAxis(Vector3f axis) Sets the alignment axis.
The specified axis must not be parallel to the Z
axis--(0,0,z) for any value of z. | 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. | public void | setAlignmentMode(int mode) Sets the alignment mode. | public void | setRotationPoint(Point3f point) Sets the rotation point. | public void | setRotationPoint(float x, float y, float z) Sets the rotation point. | public void | setTarget(TransformGroup tg) Sets the tranformGroup for this Billboard object. | public void | updateNodeReferences(NodeReferenceTable referenceTable) 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. |
EPSILON | final static double EPSILON(Code) | | |
ROTATE_ABOUT_AXIS | final public static int ROTATE_ABOUT_AXIS(Code) | | Specifies that rotation should be about the specified axis.
|
ROTATE_ABOUT_POINT | final public static int ROTATE_ABOUT_POINT(Code) | | Specifies that rotation should be about the specified point and
that the children's Y-axis should match the view object's Y-axis.
|
rotationPoint | Point3f rotationPoint(Code) | | |
Billboard | public Billboard()(Code) | | Constructs a Billboard node with default parameters.
The default values are as follows:
alignment mode : ROTATE_ABOUT_AXIS
alignment axis : Y-axis (0,1,0)
rotation point : (0,0,1)
target transform group: null
|
Billboard | public Billboard(TransformGroup tg)(Code) | | 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 Billboardnode operates upon |
Billboard | public Billboard(TransformGroup tg, int mode, Vector3f axis)(Code) | | 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).
Parameters: tg - the TransformGroup node that this Billboardnode operates upon Parameters: mode - alignment mode, one of ROTATE_ABOUT_AXIS or ROTATE_ABOUT_POINT Parameters: axis - the ray about which the billboard rotates |
Billboard | public Billboard(TransformGroup tg, int mode, Point3f point)(Code) | | Constructs a Billboard node with the specified rotation point and mode
that operates on the specified TransformGroup node.
Parameters: tg - the TransformGroup node that this Billboardnode operates upon Parameters: mode - alignment mode, one of ROTATE_ABOUT_AXIS or ROTATE_ABOUT_POINT Parameters: point - the position about which the billboard rotates |
cloneNode | public Node cloneNode(boolean forceDuplicate)(Code) | | Creates a new instance of the node. This routine is called
by cloneTree to duplicate the current node.
Parameters: forceDuplicate - when set to true , causes theduplicateOnCloneTree flag to be ignored. Whenfalse , the value of each node'sduplicateOnCloneTree variable determines whetherNodeComponent data is duplicated or copied. See Also: Node.cloneTree See Also: Node.cloneNode See Also: Node.duplicateNode See Also: NodeComponent.setDuplicateOnCloneTree |
duplicateAttributes | void duplicateAttributes(Node originalNode, boolean forceDuplicate)(Code) | | Copies all Billboard information from
originalNode into
the current node. This method is called from the
cloneNode method which is, in turn, called by the
cloneTree method.
Parameters: originalNode - the original node to duplicate. Parameters: forceDuplicate - when set to true , causes theduplicateOnCloneTree flag to be ignored. Whenfalse , the value of each node'sduplicateOnCloneTree variable determines whetherNodeComponent data is duplicated or copied. exception: RestrictedAccessException - if this object is part of a liveor compiled scenegraph. See Also: Node.duplicateNode See Also: Node.cloneTree See Also: NodeComponent.setDuplicateOnCloneTree |
getAlignmentAxis | public void getAlignmentAxis(Vector3f axis)(Code) | | Gets the alignment axis and sets the parameter to this value.
Parameters: axis - the vector that will contain the ray about whichthe billboard rotates |
getAlignmentMode | public int getAlignmentMode()(Code) | | Gets the alignment mode.
one of: ROTATE_ABOUT_AXIS or ROTATE_ABOUT_POINT |
getRotationPoint | public void getRotationPoint(Point3f point)(Code) | | Gets the rotation point and sets the parameter to this value.
Parameters: point - the position the Billboard rotates about |
getTarget | public TransformGroup getTarget()(Code) | | Returns a copy of the transformGroup associated with this Billboard.
the TranformGroup for this Billboard |
initialize | public void initialize()(Code) | | Initialize method that sets up initial wakeup criteria.
|
processStimulus | public void processStimulus(Enumeration criteria)(Code) | | Process stimulus method that computes appropriate transform.
Parameters: criteria - an enumeration of the criteria that caused thestimulus |
setAlignmentAxis | public void setAlignmentAxis(Vector3f axis)(Code) | | 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)(Code) | | 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: x - the x component of the ray about which the billboard rotates Parameters: y - the y component of the ray about which the billboard rotates Parameters: z - the z component of the ray about which the billboard rotates |
setAlignmentMode | public void setAlignmentMode(int mode)(Code) | | Sets the alignment mode.
Parameters: mode - one of: ROTATE_ABOUT_AXIS or ROTATE_ABOUT_POINT |
setRotationPoint | public void setRotationPoint(Point3f point)(Code) | | Sets the rotation point.
Parameters: point - the point about which the billboard rotates |
setRotationPoint | public void setRotationPoint(float x, float y, float z)(Code) | | Sets the rotation point.
Parameters: x - the x component of the point about which the billboard rotates Parameters: y - the y component of the point about which the billboard rotates Parameters: z - the z component of the point about which the billboard rotates |
setTarget | public void setTarget(TransformGroup tg)(Code) | | Sets the tranformGroup for this Billboard object.
Parameters: tg - the transformGroup node which replaces the currenttransformGroup node for this Billboard |
updateNodeReferences | public void updateNodeReferences(NodeReferenceTable referenceTable)(Code) | | 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.
Parameters: referenceTable - a NodeReferenceTableObject that contains thegetNewObjectReference method needed to search fornew object instances. See Also: NodeReferenceTable See Also: Node.cloneTree See Also: DanglingReferenceException |
|
|