1SoInteractionKit(3IV)() SoInteractionKit(3IV)()
2
3
4
6 SoInteractionKit — base class for all interaction nodekit classes
7
9 SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit
10
12 #include <Inventor/nodekits/SoInteractionKit.h>
13
14 enum CacheEnabled {
15 SoInteractionKit::OFF Never build or use a cache
16 SoInteractionKit::ON Always try to build a cache
17 SoInteractionKit::AUTO Automatic caching
18 }
19
20 Fields from class SoInteractionKit:
21
22 SoSFEnum renderCaching
23 SoSFEnum boundingBoxCaching
24 SoSFEnum renderCulling
25 SoSFEnum pickCulling
26
27 Parts from class SoBaseKit:
28
29 (SoNodeKitListPart) callbackList
30
31 Methods from class SoInteractionKit:
32
33 SoInteractionKit()
34 virtual SbBool setPartAsPath(const SbName &partName, SoPath *surro‐
35 gatePath )
36 static const SoNodekitCatalog *
37 getClassNodekitCatalog() const
38 static SoType getClassTypeId()
39
40 Methods from class SoBaseKit:
41
42 virtual const SoNodekitCatalog *
43 getNodekitCatalog() const
44 virtual SoNode * getPart(const SbName &partName, SbBool
45 makeIfNeeded)
46 SbString getPartString(const SoBase *part)
47 virtual SoNodeKitPath * createPathToPart(const SbName &partName, SbBool
48 makeIfNeeded, const SoPath *pathToExtend =
49 NULL)
50 virtual SbBool setPart(const SbName &partName, SoNode *newPart)
51 SbBool set(char *partName, char *parameters)
52 SbBool set(char *nameValuePairs)
53 static SbBool isSearchingChildren()
54 static void setSearchingChildren(SbBool newVal)
55
56 Methods from class SoNode:
57
58 void setOverride(SbBool state)
59 SbBool isOverride() const
60 SoNode * copy(SbBool copyConnections = FALSE) const
61 virtual SbBool affectsState() const
62 static SoNode * getByName(const SbName &name)
63 static int getByName(const SbName &name, SoNodeList &list)
64
65 Methods from class SoFieldContainer:
66
67 void setToDefaults()
68 SbBool hasDefaultValues() const
69 SbBool fieldsAreEqual(const SoFieldContainer *fc) const
70 void copyFieldValues(const SoFieldContainer *fc, SbBool
71 copyConnections = FALSE)
72 void get(SbString &fieldDataString)
73 virtual int getFields(SoFieldList &resultList) const
74 virtual SoField * getField(const SbName &fieldName) const
75 SbBool getFieldName(const SoField *field, SbName &fieldName)
76 const
77 SbBool isNotifyEnabled() const
78 SbBool enableNotify(SbBool flag)
79
80 Methods from class SoBase:
81
82 void ref()
83 void unref() const
84 void unrefNoDelete() const
85 void touch()
86 virtual SoType getTypeId() const
87 SbBool isOfType(SoType type) const
88 virtual void setName(const SbName &name)
89 virtual SbName getName() const
90
91 Macros from class SoBaseKit:
92
93 SO_GET_PART(kit, partName, partClass)
94 SO_CHECK_PART(kit, partName, partClass)
95
96
98 This is the base class for all classes of interaction nodekits. Cur‐
99 rently, the only subclass is SoDragger, which reacts to click-drag-
100 release events from the mouse.
101
102 This node has four fields corresponding to those of an SoSeparator:
103 They are renderCaching, boundingBoxCaching, renderCulling, and pick‐
104 Culling. They behave the same here as they do for an SoSeparator
105
106 The setPartAsPath() method provides support for creating "stand-in"
107 objects for parts in the interaction kit. The "stand-in", or "surro‐
108 gate" part, is a path to an object that lies somewhere else in the
109 scene graph.
110
112 SoSFEnum renderCaching
113 Set render caching mode. Default is AUTO.
114
115 SoSFEnum boundingBoxCaching
116 Set bounding box caching mode. Default is ON. Setting this value to
117 AUTO is equivalent to ON - automatic culling is not implemented.
118
119 SoSFEnum renderCulling
120 Set render culling mode. Default is OFF. Setting this value to AUTO
121 is equivalent to ON - automatic culling is not implemented.
122
123 SoSFEnum pickCulling
124 Set pick caching mode. Default is AUTO.
125
126
128 SoInteractionKit()
129 Constructor.
130
131 virtual SbBool setPartAsPath(const SbName &partName, SoPath *surro‐
132 gatePath )
133 Sets any public part in the interaction kit as a "surrogate" path
134 instead. The object at the end of the path serves as a stand-in when
135 a pick occurs, and can thus initiate interaction.
136
137 Instead of the usual setPart(), which replaces partName with a new
138 node, this will remove the node being used for partName from the
139 scene and remember the surrogatePath you give it. Later, any pick on
140 surrogatePath will be regarded as a pick on partName.
141
142 For example, set the XRotator part of an SoTrackballDragger to be
143 the path to an object in the scene. The rest of the trackball will
144 look the same, but the XRotator stripe will disappear. However,
145 click the mouse on the object at the end of surrogatePath and the
146 ball will start to drag in rotation around its X axis.
147
148 Note that this is different from setting the part to be the node at
149 the end of the path. When you set the part as a node, a second
150 instance will be drawn in the local space of the interaction kit.
151 When you set it as a path, the object itself is used, not a copy.
152
153 The partName may be any part name that follows the nodekit syntax
154 for parts, such as childList[0].shape or rotator.rotatorActive. (See
155 the getPart() method in the SoBaseKit reference page for a complete
156 description.)
157
158 static const SoNodekitCatalog *
159 getClassNodekitCatalog() const
160 Returns an SoNodekitCatalog for the class SoInteractionKit.
161
162 static SoType getClassTypeId()
163 Returns type identifier for this class.
164
165
167 ┌────────────────────────────────────────────────────────┐
168 │ All parts │
169 │ NULL by │
170 │Part Name Part Type Default Type Default │
171 │ │
172 │callbackList NodeKitListPart -- yes │
173 │ │
174 └────────────────────────────────────────────────────────┘
175 ┌───────────────────────────────────────────────────────────────┐
176 │ Extra information for list parts from above table │
177 │ │
178 │Part Name Container Type Permissible Types │
179 │ │
180 │callbackList Separator Callback, EventCallback │
181 │ │
182 └───────────────────────────────────────────────────────────────┘
184 InteractionKit {
185 renderCaching AUTO
186 boundingBoxCaching AUTO
187 renderCulling AUTO
188 pickCulling AUTO
189 callbackList NULL
190 }
191
193 SoBaseKit, SoInteraction, SoNodeKitDetail, SoNodeKitPath, SoNodekitCat‐
194 alog, SoDragger, SoCenterballDragger, SoDirectionalLightDragger,
195 SoDragPointDragger, SoHandleBoxDragger, SoJackDragger, SoPointLight‐
196 Dragger, SoRotateCylindricalDragger, SoRotateDiscDragger, SoRotate‐
197 SphericalDragger, SoScale1Dragger, SoScale2Dragger, SoScale2Uniform‐
198 Dragger, SoScaleUniformDragger, SoSpotLightDragger, SoTabBoxDragger,
199 SoTabPlaneDragger, SoTrackballDragger, SoTransformBoxDragger, SoTrans‐
200 late1Dragger, SoTranslate2Dragger
201
202
203
204
205 SoInteractionKit(3IV)()