logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SoAnnotation — Annotation group node

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 SoSeparator

Description

       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

See Also