1SoLocateHighlight(3IV)()                              SoLocateHighlight(3IV)()
2
3
4

NAME

6       SoLocateHighlight — special separator that performs locate highlighting
7

INHERITS FROM

9       SoBase  > SoFieldContainer > SoNode > SoGroup > SoSeparator > SoLocate‐
10       Highlight
11

SYNOPSIS

13       #include <Inventor/nodes/SoLocateHighlight.h>
14
15     enum Modes {
16          SoLocateHighlight::AUTO  highlight when mouse is over (default)
17          SoLocateHighlight::ON    always highlight
18          SoLocateHighlight::OFF   never highlight
19     }
20
21     enum Styles {
22          SoLocateHighlight::EMISSIVE  changes emissive color only (default)
23          SoLocateHighlight::EMISSIVE_DIFFUSE
24                                       changes emissive and diffuse colors
25     }
26
27          Fields from class SoLocateHighlight:
28
29     SoSFColor           color
30     SoSFEnum            style
31     SoSFEnum            mode
32
33          Fields from class SoSeparator:
34
35     SoSFEnum            renderCaching
36     SoSFEnum            boundingBoxCaching
37     SoSFEnum            renderCulling
38     SoSFEnum            pickCulling
39
40          Methods from class SoLocateHighlight:
41
42                         SoLocateHighlight()
43     static SoType       getClassTypeId()
44
45          Methods from class SoSeparator:
46
47     static void         setNumRenderCaches(int howMany)
48     static int          getNumRenderCaches()
49
50          Methods from class SoGroup:
51
52     void                addChild(SoNode *child)
53     void                insertChild(SoNode *child, int newChildIndex)
54     SoNode *            getChild(int index) const
55     int                 findChild(const SoNode *child) const
56     int                 getNumChildren() const
57     void                removeChild(int index)
58     void                removeChild(SoNode *child)
59     void                removeAllChildren()
60     void                replaceChild(int index, SoNode *newChild)
61     void                replaceChild(SoNode *oldChild, SoNode *newChild)
62
63          Methods from class SoNode:
64
65     void                setOverride(SbBool state)
66     SbBool              isOverride() const
67     SoNode *            copy(SbBool copyConnections = FALSE) const
68     virtual SbBool      affectsState() const
69     static SoNode *     getByName(const SbName &name)
70     static int          getByName(const SbName &name, SoNodeList &list)
71
72          Methods from class SoFieldContainer:
73
74     void                setToDefaults()
75     SbBool              hasDefaultValues() const
76     SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
77     void                copyFieldValues(const  SoFieldContainer  *fc,  SbBool
78                              copyConnections = FALSE)
79     SbBool              set(const char *fieldDataString)
80     void                get(SbString &fieldDataString)
81     virtual int         getFields(SoFieldList &resultList) const
82     virtual SoField *   getField(const SbName &fieldName) const
83     SbBool              getFieldName(const SoField *field, SbName &fieldName)
84                              const
85     SbBool              isNotifyEnabled() const
86     SbBool              enableNotify(SbBool flag)
87
88          Methods from class SoBase:
89
90     void                ref()
91     void                unref() const
92     void                unrefNoDelete() const
93     void                touch()
94     virtual SoType      getTypeId() const
95     SbBool              isOfType(SoType type) const
96     virtual void        setName(const SbName &name)
97     virtual SbName      getName() const
98
99

DESCRIPTION

101       This is a subclass of SoSeparator that redraws itself  in  a  different
102       color when the cursor is over the contents of the separator.
103
104       The  redraw  happens  for that separator only and not the entire window
105       (redraw along the handle event pick path) and in the front  buffer,  to
106       efficiently  track  the  mouse motion. The highlighted redraw overrides
107       the emissive and/or diffuse color of the subgraph based  on  the  field
108       values in this node.
109
110       NOTE:  when  using SoLightModel::BASE_COLOR (to turn lighting off) only
111       the diffuse color will be used to render objects,  so  EMISSIVE_DIFFUSE
112       must be used for this node to have any effect.
113

FIELDS

115     SoSFColor           color
116          highlighting color - default [.3, .3, .3]
117
118     SoSFEnum            style
119          highlighting draw style - default EMISSIVE
120
121     SoSFEnum            mode
122          Whether to highlight or not - default AUTO
123
124

METHODS

126                         SoLocateHighlight()
127          Creates a LocateHighlight node with default settings.
128
129     static SoType       getClassTypeId()
130          Returns type identifier for this class.
131
132

ACTION BEHAVIOR

134       SoHandleEventAction
135          Checks to see if the cursor moves onto or off of the contents of the
136          separator, and redraws appropriately (if mode  is  AUTO),  otherwise
137          traverses as a normal separator.
138
139     SoGLRenderAction
140          Redraws  either  highlighted  (if cursor is over the contents of the
141          separator when mode == AUTO or always if mode == ON), otherwise tra‐
142          verses as a normal separator.
143
144

FILE FORMAT/DEFAULTS

146       LocateHighlight {
147          renderCaching       AUTO
148          boundingBoxCaching  AUTO
149          renderCulling       AUTO
150          pickCulling         AUTO
151          mode                AUTO
152          style               EMISSIVE
153          color               0.3 0.3 0.3
154     }
155

SEE ALSO

157       SoSeparator, SoSelection, SoMaterial
158
159
160
161
162                                                      SoLocateHighlight(3IV)()
Impressum