public class SoVRMLBillboard extends SoVRMLGroup
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.
<font color="#0000FF">NOTE:</font> This class does not exist in Open Inventor 10.0 and later. Use SoBillboard.
Performance:
SoVRMLBillboard nodes recompute the screen alignment transformation on every render traversal. A large number of billboard nodes will reduce performance.
SoVRMLBillboard depends on the current camera settings, so this node should not be render cached.
SoVRMLBillboard nodes prohibit auto-caching, so no SoSeparator (or other render caching node) above an SoVRMLBillboard in 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 SoSeparator below the SoVRMLBillboard.
useSphereBBox field to true. Notes:
useSphereBBox, which is not part of the X3D / VRML standard.
Export limitations:
SoVRMLBillboard can 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
The 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.
The 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
screen-alignment 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.
If 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.
The bboxCenter and 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 bboxCenter and bboxSize fields.
File format/default:
VRMLBillboard {
| axisOfRotation | 0 1 0 |
| children | [] |
| metadata | NULL |
| bboxCenter | 0 0 0 |
| bboxSize | -1 -1 -1 |
| useSphereBBox | false |
SoMFNode | addChildren |
SoMFNode | removeChildren |
SoSFVec3f | set_axisOfRotation |
SoMFNode | set_children |
SoSFNode | set_metadata |
Deprecated since Open Inventor 9500
SoBillboard class instead (the VRML API is no longer supported). See section SoVRMLGroup.CachingsInventor.ConstructorCommand| Modifier and Type | Field and Description |
|---|---|
SoSFVec3f |
axisOfRotation
Deprecated.
Specifies which axis to use to perform the rotation.
|
SoSFBool |
useSphereBBox
Deprecated.
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, renderUnitIdbboxCenter, bboxSize, children, metadataboundingBoxIgnoringVERBOSE_LEVEL, ZeroHandle| Constructor and Description |
|---|
SoVRMLBillboard()
Deprecated.
Constructor.
|
SoVRMLBillboard(int nChildren)
Deprecated.
|
getNumRenderCaches, setNumRenderCachesaddChild, findChild, getChild, getNumChildren, insertChild, removeAllChildren, removeChild, removeChild, replaceChild, replaceChildaffectsState, 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, writecopyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, set, setToDefaultsdispose, getEXTERNPROTO, getName, getPROTO, isDisposable, isSynchronizable, setName, setSynchronizablegetAddress, getNativeResourceHandle, startInternalThreads, stopInternalThreadspublic final SoSFVec3f axisOfRotation
public final SoSFBool useSphereBBox
SoVRMLBillboard nodes 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 July 23, 2025, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com