SoAnnotation(3IV)NAMESoAnnotation (SoAnnot) - Annotation group node
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoGroup > SoSeparator > SoAnnotationSYNOPSIS
#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)
Page 1SoAnnotation(3IV)
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
Page 2SoAnnotation(3IV)
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.
FUNCTIONSSoAnnotation * 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
}
Page 3