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.Cachings
Inventor.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, renderUnitId
bboxCenter, bboxSize, children, metadata
boundingBoxIgnoring
VERBOSE_LEVEL, ZeroHandle
Constructor and Description |
---|
SoVRMLBillboard()
Deprecated.
Constructor.
|
SoVRMLBillboard(int nChildren)
Deprecated.
|
getNumRenderCaches, setNumRenderCaches
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
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 January 23, 2025, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com