SoAnnotation(3IV)

SoAnnotation - Annotation group node

As shipped in IRIX 6.5.30. Added in IRIX 6.5.22.

NAME
     SoAnnotation - Annotation group node

INHERITS FROM
     SoBase > SoFieldContainer > SoNode > SoGroup > SoSeparator > SoAnnotation

SYNOPSIS
     #include <Inventor/nodes/SoAnnotation.h>

          Fields from class SoSeparator:

     SoSFEnum            renderCaching
     SoSFEnum            boundingBoxCaching
     SoSFEnum            renderCulling
     SoSFEnum            pickCulling

          Methods from class SoAnnotation:

                         SoAnnotation()
     static SoType       getClassTypeId()

          Methods from class SoSeparator:

     static void         setNumRenderCaches(int howMany)
     static int          getNumRenderCaches()

          Methods from class SoGroup:

     void                addChild(SoNode *child)
     void                insertChild(SoNode *child, int newChildIndex)
     SoNode *            getChild(int index) const
     int                 findChild(const SoNode *child) const
     int                 getNumChildren() const
     void                removeChild(int index)
     void                removeChild(SoNode *child)
     void                removeAllChildren()
     void                replaceChild(int index, SoNode *newChild)
     void                replaceChild(SoNode *oldChild, SoNode *newChild)

          Methods from class SoNode:

     void                setOverride(SbBool state)
     SbBool              isOverride() const
     SoNode *            copy(SbBool copyConnections = FALSE) const
     virtual SbBool      affectsState() const
     static SoNode *     getByName(const SbName &name)
     static int          getByName(const SbName &name, SoNodeList &list)

          Methods from class SoFieldContainer:

     void                setToDefaults()
     SbBool              hasDefaultValues() const
     SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
     void                copyFieldValues(const SoFieldContainer *fc, SbBool
                              copyConnections = FALSE)
     SbBool              set(const char *fieldDataString)
     void                get(SbString &fieldDataString)
     virtual int         getFields(SoFieldList &resultList) const
     virtual SoField *   getField(const SbName &fieldName) const
     SbBool              getFieldName(const SoField *field, SbName &fieldName)
                              const
     SbBool              isNotifyEnabled() const
     SbBool              enableNotify(SbBool flag)

          Methods from class SoBase:

     void                ref()
     void                unref() const
     void                unrefNoDelete() const
     void                touch()
     virtual SoType      getTypeId() const
     SbBool              isOfType(SoType type) const
     virtual void        setName(const SbName &name)
     virtual SbName      getName() const


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.

METHODS
                         SoAnnotation()
          Creates an annotation node with default settings.
     static SoType       getClassTypeId()
          Returns type identifier for this class.


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


FILE FORMAT/DEFAULTS
     Annotation {
          renderCaching       AUTO
          boundingBoxCaching  AUTO
          renderCulling       AUTO
          pickCulling         AUTO
     }