public class SoVRMLBillboard extends SoVRMLGroup
SoVRMLBillboardnode is a grouping node which modifies its coordinate system so that the billboard node's local Z-axis turns to point at the viewer. The
SoVRMLBillboardnode has children which may be other grouping or leaf nodes.
<font color="#0000FF">NOTE:</font> This class does not exist in Open Inventor 10.0 and later. Use
SoVRMLBillboardnodes recompute the screen alignment transformation on every render traversal. A large number of billboard nodes will reduce performance.
SoVRMLBillboarddepends on the current camera settings, so this node should not be render cached.
SoVRMLBillboardnodes prohibit auto-caching, so no
SoSeparator(or other render caching node) above an
SoVRMLBillboardin the scene graph will automatically create a render cache. This can significantly reduce performance and applications should put nodes that can be render cached (especially geometry nodes) under their own
useSphereBBoxfield to true.
useSphereBBox, which is not part of the X3D / VRML standard.
SoVRMLBillboardcan be exported to PDF3D/U3D (
SoToPDFAction) as a group node, but due to limitations of that file format, it will not act as a billboard. In other words, the geometry will not be "screen locked".
This section describes the expected behavior of the node in a conforming X3D / VRML97 browser application. In some cases, the application is responsible for implementing portions of the expected behavior. Open Inventor viewer classes and IVF classes implement some of the application behaviors.
This section may reference portions of the VRML97 specification that are not present in this help file. The complete VRML97 spec is available at
SoVRMLBillboard node is a grouping node which modifies its coordinate system so that the billboard node's local Z-axis turns to point at the viewer. The
SoVRMLBillboard node has children which may be other grouping or leaf nodes.
axisOfRotation field specifies which axis to use to perform the rotation. This axis is defined in the local coordinates of the
SoVRMLBillboard node. The default (0,1,0) is useful for objects such as images of trees and lamps positioned on a ground plane. But when an object is oriented at an angle, for example, on the incline of a mountain, then the
axisOfRotation may also need to be oriented at a similar angle.
A special case of billboarding is
axisOfRotation to (0, 0, 0).
To rotate the
SoVRMLBillboard to face the viewer, determine the line between the
SoVRMLBillboard's origin and the viewer's position; call this the billboard-to-viewer line. The
axisOfRotation and the billboard-to-viewer line define a plane. The local z-axis of the
SoVRMLBillboard is then rotated into that plane, pivoting around the
axisOfRotation and the billboard-to-viewer line are coincident (the same line), then the plane cannot be established, and the rotation results of the
SoVRMLBillboard are undefined. For example, if the
axisOfRotation is set to (0,1,0) (Y-axis) and the viewer flies over the
SoVRMLBillboard and peers directly down the Y-axis the results are undefined .
Multiple instances of SoVRMLBillboards (DEF/USE) operate as expected - each instance rotates in its unique coordinate system to face the viewer.
See the "Concepts - Grouping and Children Nodes" section for a description the children , addChildren , and removeChildren fields and eventIns.
bboxSize fields specify a bounding box that encloses the
SoVRMLBillboard's children. This is a hint that may be used for optimization purposes. If the specified bounding box is smaller than the actual bounding box of the children at any time, then the results are undefined. A default
bboxSize value, (-1 -1 -1), implies that the bounding box is not specified and if needed must be calculated by the browser. See "Concepts -
Bounding Boxes" for a description of
|axisOfRotation||0 1 0|
|bboxCenter||0 0 0|
|bboxSize||-1 -1 -1|
SoBillboardclass instead (the VRML API is no longer supported). See section
|Modifier and Type||Field and Description|
Specifies which axis to use to perform the rotation.
Specifies if the bounding box returned by SoVRMLBillBoard.getBoundingBox() method should be extended to completely contain the bounding sphere of the children.
AUTO, boundingBoxCaching, directVizCaching, OFF, ON, pickCulling, renderCaching, renderCulling, renderUnitId
bboxCenter, bboxSize, children, metadata
|Constructor and Description|
addChild, findChild, getChild, getNumChildren, insertChild, removeAllChildren, removeChild, removeChild, replaceChild, replaceChild
affectsState, callback, copy, copy, distribute, doAction, getAlternateRep, getBoundingBox, getByName, getMatrix, getPrimitiveCount, getRenderUnitID, GLRender, GLRenderBelowPath, GLRenderInPath, GLRenderOffPath, grabEventsCleanup, grabEventsSetup, handleEvent, isBoundingBoxIgnoring, isOverride, pick, rayPick, search, setOverride, touch, write
copyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, set, setToDefaults
dispose, getEXTERNPROTO, getName, getPROTO, isDisposable, isSynchronizable, setName, setSynchronizable
getAddress, getNativeResourceHandle, startInternalThreads, stopInternalThreads
public final SoSFVec3f axisOfRotation
public final SoSFBool useSphereBBox
SoVRMLBillboardnodes are used.
LIMITATIONS: This field is not part of the X3D / VRML standard. When writing the scene graph to an X3D / VRML format file, be aware that the presence of this field will make the file invalid. By default, that is if the value of the field is not modified, the field will not be written.
Default is false
Generated on January 29, 2020, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com