1SoAnnotation(3IV)()                                        SoAnnotation(3IV)()
2
3
4

NAME

6       SoAnnotation — Annotation group node
7

INHERITS FROM

9       SoBase  > SoFieldContainer > SoNode > SoGroup > SoSeparator > SoAnnota‐
10       tion
11

SYNOPSIS

13       #include <Inventor/nodes/SoAnnotation.h>
14
15          Fields from class SoSeparator:
16
17     SoSFEnum            renderCaching
18     SoSFEnum            boundingBoxCaching
19     SoSFEnum            renderCulling
20     SoSFEnum            pickCulling
21
22          Methods from class SoAnnotation:
23
24                         SoAnnotation()
25     static SoType       getClassTypeId()
26
27          Methods from class SoSeparator:
28
29     static void         setNumRenderCaches(int howMany)
30     static int          getNumRenderCaches()
31
32          Methods from class SoGroup:
33
34     void                addChild(SoNode *child)
35     void                insertChild(SoNode *child, int newChildIndex)
36     SoNode *            getChild(int index) const
37     int                 findChild(const SoNode *child) const
38     int                 getNumChildren() const
39     void                removeChild(int index)
40     void                removeChild(SoNode *child)
41     void                removeAllChildren()
42     void                replaceChild(int index, SoNode *newChild)
43     void                replaceChild(SoNode *oldChild, SoNode *newChild)
44
45          Methods from class SoNode:
46
47     void                setOverride(SbBool state)
48     SbBool              isOverride() const
49     SoNode *            copy(SbBool copyConnections = FALSE) const
50     virtual SbBool      affectsState() const
51     static SoNode *     getByName(const SbName &name)
52     static int          getByName(const SbName &name, SoNodeList &list)
53
54          Methods from class SoFieldContainer:
55
56     void                setToDefaults()
57     SbBool              hasDefaultValues() const
58     SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
59     void                copyFieldValues(const  SoFieldContainer  *fc,  SbBool
60                              copyConnections = FALSE)
61     SbBool              set(const char *fieldDataString)
62     void                get(SbString &fieldDataString)
63     virtual int         getFields(SoFieldList &resultList) const
64     virtual SoField *   getField(const SbName &fieldName) const
65     SbBool              getFieldName(const SoField *field, SbName &fieldName)
66                              const
67     SbBool              isNotifyEnabled() const
68     SbBool              enableNotify(SbBool flag)
69
70          Methods from class SoBase:
71
72     void                ref()
73     void                unref() const
74     void                unrefNoDelete() const
75     void                touch()
76     virtual SoType      getTypeId() const
77     SbBool              isOfType(SoType type) const
78     virtual void        setName(const SbName &name)
79     virtual SbName      getName() const
80
81

DESCRIPTION

83       This group node delays rendering its children  until  all  other  nodes
84       have  been  traversed,  turning off depth buffer comparisons first. The
85       result is that the shapes under the annotation node are rendered on top
86       of  the rest of the scene. This node is derived from SoSeparator, so it
87       saves and restores traversal state for all actions.
88
89       Note that if more than one annotation node is present in a  graph,  the
90       order in which they are traversed determines the stacking order — later
91       nodes are rendered on top of earlier ones. Also note that  since  depth
92       buffer comparisons are disabled, complex 3D objects may not be rendered
93       correctly when used under annotation nodes.
94
95       Also note that the annotation node does nothing  special  when  picking
96       along  a  ray.  That is, it does not modify the sorting order of inter‐
97       sected objects based on which ones are under annotation nodes. If  your
98       application  uses  annotation nodes and you want to ensure that objects
99       under them are picked "in front of" other objects,  you  can  tell  the
100       pick  action  that  you want to pick all objects along the ray and then
101       scan through the paths in the resulting picked point instances  to  see
102       if any of them passes through an annotation node. Your program can then
103       decide what to do in such a case.
104

METHODS

106                         SoAnnotation()
107          Creates an annotation node with default settings.
108
109     static SoType       getClassTypeId()
110          Returns type identifier for this class.
111
112

ACTION BEHAVIOR

114       SoGLRenderAction
115          Delays rendering its children until all other nodes have  been  tra‐
116          versed, turning off depth buffer comparisons first.
117
118     SoCallbackAction, SoGetBoundingBoxAction, SoGetMatrixAction, SoRayPickAc‐
119     tion, SoSearchAction
120          Same as SoSeparator
121
122

FILE FORMAT/DEFAULTS

124       Annotation {
125          renderCaching       AUTO
126          boundingBoxCaching  AUTO
127          renderCulling       AUTO
128          pickCulling         AUTO
129     }
130
131
132
133                                                           SoAnnotation(3IV)()
Impressum