1SoPointLightDragger(3IV)() SoPointLightDragger(3IV)()
2
3
4
6 SoPointLightDragger — sun-shaped icon you can translate in 3D by drag‐
7 ging with the mouse
8
10 SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit >
11 SoDragger > SoPointLightDragger
12
14 #include <Inventor/draggers/SoPointLightDragger.h>
15
16 Fields from class SoPointLightDragger:
17
18 SoSFVec3f translation
19
20 Fields from class SoDragger:
21
22 SoSFBool isActive
23
24 Fields from class SoInteractionKit:
25
26 SoSFEnum renderCaching
27 SoSFEnum boundingBoxCaching
28 SoSFEnum renderCulling
29 SoSFEnum pickCulling
30
31 Parts from class SoBaseKit:
32
33 (SoNodeKitListPart) callbackList
34
35 Methods from class SoPointLightDragger:
36
37 SoPointLightDragger()
38 static const SoNodekitCatalog *
39 getClassNodekitCatalog() const
40 static SoType getClassTypeId()
41
42 Methods from class SoDragger:
43
44 void addStartCallback(SoDraggerCB *f, void *userData =
45 NULL)
46 void removeStartCallback(SoDraggerCB *f, void *userData =
47 NULL)
48 void addMotionCallback(SoDraggerCB *f, void *userData =
49 NULL)
50 void removeMotionCallback(SoDraggerCB *f, void *userData =
51 NULL)
52 void addFinishCallback(SoDraggerCB *f, void *userData =
53 NULL)
54 void removeFinishCallback(SoDraggerCB *f, void *userData =
55 NULL)
56 void addValueChangedCallback(SoDraggerCB *f, void *user‐
57 Data = NULL)
58 void removeValueChangedCallback(SoDraggerCB *f, void
59 *userData = NULL)
60 SbBool enableValueChangedCallbacks()
61 void setMinGesture(int pixels)
62 int getMinGesture() const
63 static void setMinScale(float newMinScale)
64 static float getMinScale()
65
66 Methods from class SoInteractionKit:
67
68 virtual SbBool setPartAsPath(const SbName &partName, SoPath *surro‐
69 gatePath )
70
71 Methods from class SoBaseKit:
72
73 virtual const SoNodekitCatalog *
74 getNodekitCatalog() const
75 virtual SoNode * getPart(const SbName &partName, SbBool
76 makeIfNeeded)
77 SbString getPartString(const SoBase *part)
78 virtual SoNodeKitPath * createPathToPart(const SbName &partName, SbBool
79 makeIfNeeded, const SoPath *pathToExtend =
80 NULL)
81 virtual SbBool setPart(const SbName &partName, SoNode *newPart)
82 SbBool set(char *partName, char *parameters)
83 SbBool set(char *nameValuePairs)
84 static SbBool isSearchingChildren()
85 static void setSearchingChildren(SbBool newVal)
86
87 Methods from class SoNode:
88
89 void setOverride(SbBool state)
90 SbBool isOverride() const
91 SoNode * copy(SbBool copyConnections = FALSE) const
92 virtual SbBool affectsState() const
93 static SoNode * getByName(const SbName &name)
94 static int getByName(const SbName &name, SoNodeList &list)
95
96 Methods from class SoFieldContainer:
97
98 void setToDefaults()
99 SbBool hasDefaultValues() const
100 SbBool fieldsAreEqual(const SoFieldContainer *fc) const
101 void copyFieldValues(const SoFieldContainer *fc, SbBool
102 copyConnections = FALSE)
103 void get(SbString &fieldDataString)
104 virtual int getFields(SoFieldList &resultList) const
105 virtual SoField * getField(const SbName &fieldName) const
106 SbBool getFieldName(const SoField *field, SbName &fieldName)
107 const
108 SbBool isNotifyEnabled() const
109 SbBool enableNotify(SbBool flag)
110
111 Methods from class SoBase:
112
113 void ref()
114 void unref() const
115 void unrefNoDelete() const
116 void touch()
117 virtual SoType getTypeId() const
118 SbBool isOfType(SoType type) const
119 virtual void setName(const SbName &name)
120 virtual SbName getName() const
121
122 Macros from class SoBaseKit:
123
124 SO_GET_PART(kit, partName, partClass)
125 SO_CHECK_PART(kit, partName, partClass)
126
127
129 SoPointLightDragger is a dragger that looks like a point light source,
130 can be translated in three directions, and has a translation field that
131 always reflects its position in local space. The point light dragger
132 also has a special material part which can be used to make it take on
133 the color of a light source.
134
135 Remember: This is not a light source! It just looks like one. If you
136 want to move a light with this dragger, you can either:
137
138 [a] Use an SoPointLightManip, which is subclassed from SoLight. It cre‐
139 ates one of these draggers and uses it as the interface to change the
140 location of its light source (see the SoPointLightManip reference
141 page). The manipulator also edits the material part of this dragger to
142 match the color of light the manipulator is producing.
143
144 [b] Use a field-to-field connection to connect the location of a light
145 source from this dragger's translation field.
146
147 This dragger contains an SoDragPointDragger, which you drag through
148 3-space using an integrated set of linear and planar draggers. (For
149 detailed information on how to use SoDragPointDragger, see its refer‐
150 ence page.) The point light dragger sets the planar translation parts
151 of this dragPoint dragger with a new default that looks like a shining
152 sun emanating rays of light (okay, so use your imagination).
153
154 By changing the material part you can change the color of the sun
155 shape, because the default part contains no SoMaterial nodes. This fact
156 enables the SoPointLightManip (not the dragger, the manipulator) to
157 color its dragger to match the color of the light it is emanating.
158 Recall that a point light manip is derived from SoLight and creates a
159 point light dragger to provide an interface and geometrical presence on
160 screen. The manipulator also has a color field; when the light color
161 changes, it changes the material part of its dragger so that they
162 match.
163
164 You can change the parts in any instance of this dragger using set‐
165 Part().
166
167 The default part geometries are defined as resources for this SoPoint‐
168 LightDragger class. They are detailed in the Dragger Resources section
169 of the online reference page for this class. You can make your program
170 use different default resources for the parts by copying the file
171 /usr/share/data/draggerDefaults/pointLightDragger.iv into your own
172 directory, editing the file, and then setting the environment variable
173 SO_DRAGGER_DIR to be a path to that directory.
174
176 SoSFVec3f translation
177 Position of the dragger.
178
179
181 SoPointLightDragger()
182 Constructor.
183
184 static const SoNodekitCatalog *
185 getClassNodekitCatalog() const
186 Returns an SoNodekitCatalog for this class
187
188 static SoType getClassTypeId()
189 Returns type identifier for this class.
190
191
193 ┌─────────────────────────────────────────────────────────┐
194 │ All parts │
195 │ NULL by │
196 │Part Name Part Type Default Type Default │
197 │ │
198 │callbackList NodeKitListPart -- yes │
199 │material Material -- yes │
200 │translator DragPointDragger -- yes │
201 │ │
202 └─────────────────────────────────────────────────────────┘
203 ┌───────────────────────────────────────────────────────────────┐
204 │ Extra information for list parts from above table │
205 │ │
206 │Part Name Container Type Permissible Types │
207 │ │
208 │callbackList Separator Callback, EventCallback │
209 │ │
210 └───────────────────────────────────────────────────────────────┘
212 .in 0n+.5i
213 Resource: pointLightOverallMaterial
214 .in 0n+.5i
215 Part: material
216 Appearance: white. half strength emissive, half strength diffuse
217 Description: sets material for the sun shape when stationary.
218 Resource for the moving sun, pointLightTranslator‐
219 PlaneTranslatorActive, contains a yellow material for
220 highlighting.
221
222 .in 0n+.5i
223 Resource: pointLightTranslatorPlaneTranslator
224 .in 0n+.5i
225 Parts: translator.yzTranslator.translator
226 translator.xzTranslator.translator
227 translator.xyTranslator.translator
228 Appearance: sun shape with no material
229 Description: picking these parts initiates dragging by the yz, xz,
230 and xy planar draggers respectively.
231
232 .in 0n+.5i
233 Resource: pointLightTranslatorPlaneTranslatorActive
234 .in 0n+.5i
235 Parts: translator.yzTranslator.translatorActive
236 translator.xzTranslator.transla‐
237 torActive
238 translator.xyTranslator.transla‐
239 torActive
240 Appearance: yellow sun shape
241 Description: shown during planar dragging in the yz, xz, and xy
242 planes respectively.
243
244 .in 0n+.5i
245 Resource: pointLightTranslatorLineTranslator
246 .in 0n+.5i
247 Parts: translator.xTranslator.translator
248 translator.yTranslator.translator
249 translator.zTranslator.translator
250 Appearance: white cylinder
251 Description: picking these parts initiates dragging in the x, y, and
252 z linear draggers respectively.
253
254 .in 0n+.5i
255 Resource: pointLightTranslatorLineTranslatorActive
256 .in 0n+.5i
257 Parts: translator.xTranslator.translatorActive
258 translator.yTranslator.transla‐
259 torActive
260 translator.zTranslator.transla‐
261 torActive
262 Appearance: yellow cylinder
263 Description: shown during linear dragging in the x, y, and z direc‐
264 tions respectively.
265
266
268 PointLightDragger {
269 renderCaching AUTO
270 boundingBoxCaching AUTO
271 renderCulling AUTO
272 pickCulling AUTO
273 isActive FALSE
274 translation 0 0 0
275 callbackList NULL
276 material <pointLightOverallMaterial resource>
277 translator DragPointDragger {
278 }
279
280 translator.yzTranslator.translator <pointLightTranslatorPlaneTranslator resource>
281 translator.xzTranslator.translator <pointLightTranslatorPlaneTranslator resource>
282 translator.xyTranslator.translator <pointLightTranslatorPlaneTranslator resource>
283 translator.yzTranslator.translatorActive <pointLightTranslatorPlaneTranslatorActive resource>
284 translator.xzTranslator.translatorActive <pointLightTranslatorPlaneTranslatorActive resource>
285 translator.xyTranslator.translatorActive <pointLightTranslatorPlaneTranslatorActive resource>
286 translator.xTranslator.translator <pointLightTranslatorLineTranslator resource>
287 translator.yTranslator.translator <pointLightTranslatorLineTranslator resource>
288 translator.zTranslator.translator <pointLightTranslatorLineTranslator resource>
289 translator.xTranslator.translatorActive <pointLightTranslatorLineTranslatorActive resource>
290 translator.yTranslator.translatorActive <pointLightTranslatorLineTranslatorActive resource>
291 translator.zTranslator.translatorActive <pointLightTranslatorLineTranslatorActive resource>
292 }
293
295 SoInteractionKit, SoDragger, SoCenterballDragger, SoDirectionalLight‐
296 Dragger, SoDragPointDragger, SoHandleBoxDragger, SoJackDragger, SoRo‐
297 tateCylindricalDragger, SoRotateDiscDragger, SoRotateSphericalDragger,
298 SoScale1Dragger, SoScale2Dragger, SoScale2UniformDragger, SoScaleUni‐
299 formDragger, SoSpotLightDragger, SoTabBoxDragger, SoTabPlaneDragger,
300 SoTrackballDragger, SoTransformBoxDragger, SoTransformerDragger,
301 SoTranslate1Dragger, SoTranslate2Dragger
302
303
304
305
306 SoPointLightDragger(3IV)()