public class Billboard extends Behavior
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| Modifier and Type | Field and Description | 
|---|---|
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. 
 | 
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_LOCALE_READ, ALLOW_PARENT_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING| Constructor and Description | 
|---|
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. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
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(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. | 
getEnable, getNumSchedulingIntervals, getSchedulingBoundingLeaf, getSchedulingBounds, getSchedulingInterval, getView, getWakeupCondition, postId, setEnable, setSchedulingBoundingLeaf, setSchedulingBounds, setSchedulingInterval, wakeupOncloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickableclearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toStringpublic static final int ROTATE_ABOUT_AXIS
public static final int ROTATE_ABOUT_POINT
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 rotatespublic 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 Behaviorpublic void processStimulus(Enumeration criteria)
processStimulus in class Behaviorcriteria - an enumeration of the criteria that caused the
 stimuluspublic Node cloneNode(boolean forceDuplicate)
cloneTree to duplicate the current node.cloneNode in class NodeforceDuplicate - 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(org.scijava.java3d.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 BehaviorreferenceTable - a NodeReferenceTableObject that contains the
  getNewObjectReference method needed to search for
  new object instances.NodeReferenceTable, 
Node.cloneTree(), 
DanglingReferenceExceptionCopyright © 2016–2022 SciJava. All rights reserved.