SoAnnotation(3IV)

SoAnnotation (SoAnnot) - Annotation group node

As shipped in IRIX 6.5.22. Added in IRIX 6.5.22.

NAME
     SoAnnotation (SoAnnot) - Annotation group node

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

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

     typedef SoAnnotation  SoAnnot

          Fields from class SoSeparator:

     SoSFEnum            renderCaching
     SoSFEnum            boundingBoxCaching
     SoSFEnum            renderCulling
     SoSFEnum            pickCulling

          Functions from class SoAnnotation:

     SoAnnotation *      SoAnnotCreate()
     SoType              SoAnnotGetClassTypeId()

          Functions from class SoSeparator:

     void                SoAnnotSetNumRenderCaches(int howMany)
     int                 SoAnnotGetNumRenderCaches()

          Functions from class SoGroup:

     void                SoAnnotAddChild(SoAnnot *this, SoNode *child)
     void                SoAnnotInsertChild(SoAnnot *this, SoNode *child, int
                              newChildIndex)
     SoNode *            SoAnnotGetChild(const SoAnnot *this, int index)
     int                 SoAnnotFindChild(const SoAnnot *this, const SoNode
                              *child)
     int                 SoAnnotGetNumChildren(const SoAnnot *this)
     void                SoAnnotRemoveChild(SoAnnot *this, int index)
     void                SoAnnotRemoveChildNode(SoAnnot *this, SoNode *child)
     void                SoAnnotRemoveAllChildren(SoAnnot *this)
     void                SoAnnotReplaceChild(SoAnnot *this, int index, SoNode
                              *newChild)
     void                SoAnnotReplaceChildNode(SoAnnot *this, SoNode
                              *oldChild, SoNode *newChild)

          Functions from class SoNode:

     void                SoAnnotSetOverride(SoAnnot *this, SbBool state)
     SbBool              SoAnnotIsOverride(const SoAnnot *this)
     SoNode *            SoAnnotCopy(const SoAnnot *this, SbBool
                              copyConnections = FALSE)

     SbBool              SoAnnotAffectsState(const SoAnnot *this)
     SoNode *            SoAnnotGetByName(const char *name)
     int                 SoAnnotGetByNameList(const char *name, SoNodeList
                              *list)

          Functions from class SoFieldContainer:

     void                SoAnnotSetToDflts(SoAnnot *this)
     SbBool              SoAnnotHasDfltVals(const SoAnnot *this)
     SbBool              SoAnnotFldsAreEq(const SoAnnot *this, const
                              SoFieldContainer *fc)
     void                SoAnnotCopyFieldVals(SoAnnot *this, const
                              SoFieldContainer *fc, SbBool copyConnections =
                              FALSE)
     SbBool              SoAnnotSet(SoAnnot *this, const char
                              *fieldDataString)
     void                SoAnnotGet(SoAnnot *this, SbString *fieldDataString)
     int                 SoAnnotGetFields(const SoAnnot *this, SoFieldList
                              *resultList)
     SoField *           SoAnnotGetField(const SoAnnot *this, const char
                              *fieldName)
     SbBool              SoAnnotGetFieldName(const SoAnnot *this, const
                              SoField *field, SbName *fieldName)
     SbBool              SoAnnotIsNotifyEnabled(const SoAnnot *this)
     SbBool              SoAnnotEnableNotify(SoAnnot *this, SbBool flag)

          Functions from class SoBase:

     void                SoAnnotRef(SoAnnot *this)
     void                SoAnnotUnref(const SoAnnot *this)
     void                SoAnnotUnrefNoDelete(const SoAnnot *this)
     void                SoAnnotTouch(SoAnnot *this)
     SoType              SoAnnotGetTypeId(const SoAnnot *this)
     SbBool              SoAnnotIsOfType(const SoAnnot *this, SoType type)
     void                SoAnnotSetName(SoAnnot *this, const char *name)
     SbName              SoAnnotGetName(const SoAnnot *this)


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.

FUNCTIONS
     SoAnnotation *      SoAnnotCreate()
          Creates an annotation node with default settings.

     SoType              SoAnnotGetClassTypeId()
          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
     }