SoAnnotation — Annotation group node
Contents
Action Behavior
SoGLRenderAction
Delays rendering its children until all other nodes have been traversed, turning off depth buffer
comparisons first.
SoCallbackAction,SoGetBoundingBoxAction,SoGetMatrixAction,SoRayPickAction,SoSearchAction
Same as SoSeparatorDescription
This group node delays rendering its children until all other nodes have been traversed, turning off
depth buffer comparisons first. The result is that the shapes under the annotation node are rendered on
top of the rest of the scene. This node is derived from SoSeparator, so it saves and restores traversal
state for all actions.
Note that if more than one annotation node is present in a graph, the order in which they are traversed
determines the stacking order — later nodes are rendered on top of earlier ones. Also note that since
depth buffer comparisons are disabled, complex 3D objects may not be rendered correctly when used under
annotation nodes.
Also note that the annotation node does nothing special when picking along a ray. That is, it does not
modify the sorting order of intersected objects based on which ones are under annotation nodes. If your
application uses annotation nodes and you want to ensure that objects under them are picked "in front of"
other objects, you can tell the pick action that you want to pick all objects along the ray and then scan
through the paths in the resulting picked point instances to see if any of them passes through an
annotation node. Your program can then decide what to do in such a case.
File Format/Defaults
Annotation{renderCachingAUTOboundingBoxCachingAUTOrenderCullingAUTOpickCullingAUTO}SoAnnotation(3IV)()
Inherits From
SoBase > SoFieldContainer > SoNode > SoGroup > SoSeparator > SoAnnotation
Methods
SoAnnotation()
Creates an annotation node with default settings.
staticSoTypegetClassTypeId()
Returns type identifier for this class.
Name
SoAnnotation — Annotation group node
Synopsis
#include<Inventor/nodes/SoAnnotation.h>
Fields from class SoSeparator:
SoSFEnumrenderCachingSoSFEnumboundingBoxCachingSoSFEnumrenderCullingSoSFEnumpickCulling
Methods from class SoAnnotation:
SoAnnotation()staticSoTypegetClassTypeId()
Methods from class SoSeparator:
staticvoidsetNumRenderCaches(inthowMany)staticintgetNumRenderCaches()
Methods from class SoGroup:
voidaddChild(SoNode*child)voidinsertChild(SoNode*child,intnewChildIndex)SoNode*getChild(intindex)constintfindChild(constSoNode*child)constintgetNumChildren()constvoidremoveChild(intindex)voidremoveChild(SoNode*child)voidremoveAllChildren()voidreplaceChild(intindex,SoNode*newChild)voidreplaceChild(SoNode*oldChild,SoNode*newChild)
Methods from class SoNode:
voidsetOverride(SbBoolstate)SbBoolisOverride()constSoNode*copy(SbBoolcopyConnections=FALSE)constvirtualSbBoolaffectsState()conststaticSoNode*getByName(constSbName&name)staticintgetByName(constSbName&name,SoNodeList&list)
Methods from class SoFieldContainer:
voidsetToDefaults()SbBoolhasDefaultValues()constSbBoolfieldsAreEqual(constSoFieldContainer*fc)constvoidcopyFieldValues(constSoFieldContainer*fc,SbBoolcopyConnections=FALSE)SbBoolset(constchar*fieldDataString)voidget(SbString&fieldDataString)virtualintgetFields(SoFieldList&resultList)constvirtualSoField*getField(constSbName&fieldName)constSbBoolgetFieldName(constSoField*field,SbName&fieldName)constSbBoolisNotifyEnabled()constSbBoolenableNotify(SbBoolflag)
Methods from class SoBase:
voidref()voidunref()constvoidunrefNoDelete()constvoidtouch()virtualSoTypegetTypeId()constSbBoolisOfType(SoTypetype)constvirtualvoidsetName(constSbName&name)virtualSbNamegetName()const