|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--javax.media.j3d.SceneGraphObject | +--javax.media.j3d.Node | +--javax.media.j3d.Leaf | +--javax.media.j3d.Behavior | +--javax.media.j3d.Billboard
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.
OrientedShape3D
Field Summary | |
static int |
ROTATE_ABOUT_AXIS
Specifies that rotation should be about the specified axis. |
static int |
ROTATE_ABOUT_POINT
Specifies that rotation should be about the specified point and that the children's Y-axis should match the view object's Y-axis. |
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 | |
Billboard()
Constructs a Billboard node with default parameters. |
|
Billboard(TransformGroup tg)
Constructs a Billboard node with default parameters that operates on the specified TransformGroup node. |
|
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. |
|
Billboard(TransformGroup tg,
int mode,
Vector3f axis)
Constructs a Billboard node with the specified axis and mode that operates on the specified TransformGroup node. |
Method Summary | |
Node |
cloneNode(boolean forceDuplicate)
Creates a new instance of the node. |
void |
getAlignmentAxis(Vector3f axis)
Gets the alignment axis and sets the parameter to this value. |
int |
getAlignmentMode()
Gets the alignment mode. |
void |
getRotationPoint(Point3f point)
Gets the rotation point and sets the parameter to this value. |
TransformGroup |
getTarget()
Returns a copy of the transformGroup associated with this Billboard. |
void |
initialize()
Initialize method that sets up initial wakeup criteria. |
void |
processStimulus(java.util.Enumeration criteria)
Process stimulus method that computes appropriate transform. |
void |
setAlignmentAxis(float x,
float y,
float z)
Sets the alignment axis. |
void |
setAlignmentAxis(Vector3f axis)
Sets the alignment axis. |
void |
setAlignmentMode(int mode)
Sets the alignment mode. |
void |
setRotationPoint(float x,
float y,
float z)
Sets the rotation point. |
void |
setRotationPoint(Point3f point)
Sets the rotation point. |
void |
setTarget(TransformGroup tg)
Sets the tranformGroup for this Billboard object. |
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 . |
Methods inherited from class javax.media.j3d.Behavior |
getEnable, getNumSchedulingIntervals, getSchedulingBoundingLeaf, getSchedulingBounds, getSchedulingInterval, getView, getWakeupCondition, postId, setEnable, setSchedulingBoundingLeaf, setSchedulingBounds, setSchedulingInterval, wakeupOn |
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 javax.media.j3d.SceneGraphObject |
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setUserData |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int ROTATE_ABOUT_AXIS
public static final int ROTATE_ABOUT_POINT
Constructor Detail |
public Billboard()
public Billboard(TransformGroup tg)
tg
- the TransformGroup node that this Billboard
node operates uponpublic Billboard(TransformGroup tg, int mode, Vector3f axis)
tg
- the TransformGroup node that this Billboard
node operates uponmode
- alignment mode, one of ROTATE_ABOUT_AXIS or
ROTATE_ABOUT_POINTaxis
- the ray about which the billboard rotatespublic Billboard(TransformGroup tg, int mode, Point3f point)
tg
- the TransformGroup node that this Billboard
node operates uponmode
- alignment mode, one of ROTATE_ABOUT_AXIS or
ROTATE_ABOUT_POINTpoint
- the position about which the billboard rotatesMethod Detail |
public void setAlignmentMode(int mode)
mode
- one of: ROTATE_ABOUT_AXIS or ROTATE_ABOUT_POINTpublic int getAlignmentMode()
public void setAlignmentAxis(Vector3f axis)
axis
- the ray about which the billboard rotatespublic void setAlignmentAxis(float x, float y, float z)
x
- the x component of the ray about which the billboard rotatesy
- the y component of the ray about which the billboard rotatesz
- the z component of the ray about which the billboard rotatespublic void getAlignmentAxis(Vector3f axis)
axis
- the vector that will contain the ray about which
the billboard rotatespublic void setRotationPoint(Point3f point)
point
- the point about which the billboard rotatespublic void setRotationPoint(float x, float y, float z)
x
- the x component of the point about which the billboard rotatesy
- the y component of the point about which the billboard rotatesz
- the z component of the point about which the billboard rotatespublic void getRotationPoint(Point3f point)
point
- the position the Billboard rotates aboutpublic void setTarget(TransformGroup tg)
tg
- the transformGroup node which replaces the current
transformGroup node for this Billboardpublic TransformGroup getTarget()
public void initialize()
initialize
in class Behavior
public void processStimulus(java.util.Enumeration criteria)
processStimulus
in class Behavior
criteria
- an enumeration of the criteria that caused the
stimuluspublic Node cloneNode(boolean forceDuplicate)
cloneTree
to duplicate the current node.
cloneNode
in class Node
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.Node.cloneTree()
,
Node.cloneNode(boolean)
,
Node.duplicateNode(javax.media.j3d.Node, boolean)
,
NodeComponent.setDuplicateOnCloneTree(boolean)
public void updateNodeReferences(NodeReferenceTable referenceTable)
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.
updateNodeReferences
in class Behavior
referenceTable
- a NodeReferenceTableObject that contains the
getNewObjectReference
method needed to search for
new object instances.NodeReferenceTable
,
Node.cloneTree()
,
DanglingReferenceException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |