1SoPointLightDragger(3IV)()                          SoPointLightDragger(3IV)()
2
3
4

NAME

6       SoPointLightDragger  — sun-shaped icon you can translate in 3D by drag‐
7       ging with the mouse
8

INHERITS FROM

10       SoBase > SoFieldContainer > SoNode >  SoBaseKit  >  SoInteractionKit  >
11       SoDragger > SoPointLightDragger
12

SYNOPSIS

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

DESCRIPTION

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

FIELDS

176     SoSFVec3f           translation
177          Position of the dragger.
178
179

METHODS

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

CATALOG PARTS

193       ┌─────────────────────────────────────────────────────────┐
194All parts                         
195NULL by 
196Part Name      Part Type          Default Type   Default 
197       │                                                         │
198       │callbackList   NodeKitListPart    --               yes   │
199       │material       Material           --               yes   │
200       │translator     DragPointDragger   --               yes   │
201       │                                                         │
202       └─────────────────────────────────────────────────────────┘
203       ┌───────────────────────────────────────────────────────────────┐
204Extra information for list parts from above table        
205       │                                                               │
206Part Name      Container Type   Permissible Types              
207       │                                                               │
208       │callbackList   Separator        Callback, EventCallback        │
209       │                                                               │
210       └───────────────────────────────────────────────────────────────┘

DRAGGER RESOURCES

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

FILE FORMAT/DEFAULTS

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

SEE ALSO

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)()
Impressum