1SoJackDragger(3IV)()                                      SoJackDragger(3IV)()
2
3
4

NAME

6       SoJackDragger  —  jack-shaped object you rotate, translate, or scale by
7       dragging with the mouse
8

INHERITS FROM

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

SYNOPSIS

14       #include <Inventor/draggers/SoJackDragger.h>
15
16          Fields from class SoJackDragger:
17
18     SoSFRotation        rotation
19     SoSFVec3f           scaleFactor
20     SoSFVec3f           translation
21
22          Fields from class SoDragger:
23
24     SoSFBool            isActive
25
26          Fields from class SoInteractionKit:
27
28     SoSFEnum            renderCaching
29     SoSFEnum            boundingBoxCaching
30     SoSFEnum            renderCulling
31     SoSFEnum            pickCulling
32
33          Parts from class SoBaseKit:
34
35     (SoNodeKitListPart)  callbackList
36
37          Methods from class SoJackDragger:
38
39                         SoJackDragger()
40     static const SoNodekitCatalog *
41                         getClassNodekitCatalog() const
42     static SoType       getClassTypeId()
43
44          Methods from class SoDragger:
45
46     void                addStartCallback(SoDraggerCB  *f,  void  *userData  =
47                              NULL)
48     void                removeStartCallback(SoDraggerCB *f, void *userData  =
49                              NULL)
50     void                addMotionCallback(SoDraggerCB  *f,  void  *userData =
51                              NULL)
52     void                removeMotionCallback(SoDraggerCB *f, void *userData =
53                              NULL)
54     void                addFinishCallback(SoDraggerCB  *f,  void  *userData =
55                              NULL)
56     void                removeFinishCallback(SoDraggerCB *f, void *userData =
57                              NULL)
58     void                addValueChangedCallback(SoDraggerCB  *f,  void *user‐
59                              Data = NULL)
60     void                removeValueChangedCallback(SoDraggerCB    *f,    void
61                              *userData = NULL)
62     SbBool              enableValueChangedCallbacks()
63     void                setMinGesture(int pixels)
64     int                 getMinGesture() const
65     static void         setMinScale(float newMinScale)
66     static float        getMinScale()
67
68          Methods from class SoInteractionKit:
69
70     virtual  SbBool      setPartAsPath(const SbName &partName, SoPath *surro‐
71                              gatePath )
72
73          Methods from class SoBaseKit:
74
75     virtual const SoNodekitCatalog *
76                              getNodekitCatalog() const
77     virtual   SoNode   *         getPart(const   SbName   &partName,   SbBool
78                                   makeIfNeeded)
79     SbString                 getPartString(const SoBase *part)
80     virtual  SoNodeKitPath *  createPathToPart(const SbName &partName, SbBool
81                                   makeIfNeeded, const SoPath *pathToExtend  =
82                                   NULL)
83     virtual SbBool           setPart(const SbName &partName, SoNode *newPart)
84     SbBool                   set(char *partName, char *parameters)
85     SbBool                   set(char *nameValuePairs)
86     static SbBool            isSearchingChildren()
87     static void              setSearchingChildren(SbBool newVal)
88
89          Methods from class SoNode:
90
91     void                setOverride(SbBool state)
92     SbBool              isOverride() const
93     SoNode *            copy(SbBool copyConnections = FALSE) const
94     virtual SbBool      affectsState() const
95     static SoNode *     getByName(const SbName &name)
96     static int          getByName(const SbName &name, SoNodeList &list)
97
98          Methods from class SoFieldContainer:
99
100     void                setToDefaults()
101     SbBool              hasDefaultValues() const
102     SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
103     void                copyFieldValues(const  SoFieldContainer  *fc,  SbBool
104                              copyConnections = FALSE)
105     void                get(SbString &fieldDataString)
106     virtual int         getFields(SoFieldList &resultList) const
107     virtual SoField *   getField(const SbName &fieldName) const
108     SbBool              getFieldName(const SoField *field, SbName &fieldName)
109                              const
110     SbBool              isNotifyEnabled() const
111     SbBool              enableNotify(SbBool flag)
112
113          Methods from class SoBase:
114
115     void                ref()
116     void                unref() const
117     void                unrefNoDelete() const
118     void                touch()
119     virtual SoType      getTypeId() const
120     SbBool              isOfType(SoType type) const
121     virtual void        setName(const SbName &name)
122     virtual SbName      getName() const
123
124          Macros from class SoBaseKit:
125
126     SO_GET_PART(kit, partName, partClass)
127     SO_CHECK_PART(kit, partName, partClass)
128
129

DESCRIPTION

131       SoJackDragger  is  a  composite dragger in the shape of a jack from the
132       children's game jacks. Three lines along the x, y, and z axes form  the
133       central  star  shape,  which  you can drag with the mouse to rotate the
134       jack.  Dragging any of the small cubes mounted at the end of  the  axes
135       will  scale  the jack uniformly in all 3 dimensions. At the core of the
136       jack is an SoDragPointDragger for translating the jack.
137
138       Each of these shapes is a different dragger with the  default  geometry
139       changed.  All  of  them are parts of the jack dragger, which keeps them
140       moving together. The star is an SoRotateSphericalDragger, and  dragging
141       it  updates the rotation field of the jack dragger. The small cubes are
142       an SoScaleUniformDragger, tied to the scaleFactor field.  The  position
143       of  the  SoDragPointDragger  is given by the translation field. As with
144       all draggers, if you change the fields the dragger will move  to  match
145       the new settings.
146
147       Remember:  This  is  not  an  SoTransform!.  If  you want to move other
148       objects with this dragger, you can either:
149
150       [a] Use an SoJackManip, which is subclassed from SoTransform.  It  cre‐
151       ates  one  of these draggers and uses it as the interface to change its
152       fields. (see the SoJackManip man page).
153
154       [b] Use field-to-field connections to connect the fields of this  drag‐
155       ger to those of any SoTransformation node.
156
157       You  can  change  the  parts in any instance of this dragger using set‐
158       Part(). The default part geometries are defined as resources  for  this
159       SoJackDragger class. They are detailed in the Dragger Resources section
160       of the online reference page for this class. You can make your  program
161       use  different  default  resources  for  the  parts by copying the file
162       /usr/share/data/draggerDefaults/jackDragger.iv into your own directory,
163       editing  the  file,  and then setting the environment variable SO_DRAG‐
164       GER_DIR to be a path to that directory.
165

FIELDS

167     SoSFRotation        rotation
168          Orientation of the dragger.
169
170     SoSFVec3f           scaleFactor
171          Scale of the dragger.
172
173     SoSFVec3f           translation
174          Position of the dragger.
175
176

METHODS

178                         SoJackDragger()
179          Constructor.
180
181     static const SoNodekitCatalog *
182                         getClassNodekitCatalog() const
183          Returns an SoNodekitCatalog for this class
184
185     static SoType       getClassTypeId()
186          Returns type identifier for this class.
187
188

CATALOG PARTS

190       ┌────────────────────────────────────────────────────────────────┐
191All parts                            
192NULL by 
193Part Name       Part Type                Default Type   Default 
194       │                                                                │
195       │callbackList    NodeKitListPart          --               yes   │
196       │surroundScale   SurroundScale            --               yes   │
197       │antiSquish      AntiSquish               --               no    │
198       │scaler          ScaleUniformDragger      --               yes   │
199       │rotator         RotateSphericalDragger   --               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:         jackRotatorRotator
214       .in 0n+.5i
215     Part:             rotator.rotator
216     Appearance:       The 'star' of the jack. Set of 3 white axes (lines)
217     Description:      Picking star begins rotational dragging  of  the  jack‐
218                         Dragger.
219
220                         .in 0n+.5i
221     Resource:         jackRotatorRotatorActive
222                         .in 0n+.5i
223     Part:             rotator.rotatorActive
224     Appearance:       Yellow version of the rotator.rotator part.
225     Description:      Displayed while the jackDragger is being rotated
226
227                         .in 0n+.5i
228     Resource:         jackRotatorFeedback
229                         .in 0n+.5i
230     Part:             rotator.feedback
231     Appearance:       Empty separator
232     Description:      Removes  any feedback geometry created in the construc‐
233                         tor of the SoRotateSphericalDragger.
234
235                         .in 0n+.5i
236     Resource:         jackRotatorFeedbackActive
237                         .in 0n+.5i
238     Part:             rotator.feedbackActive
239     Appearance:       Empty separator
240     Description:      Removes any feedbackActive geometry created in the con‐
241                         structor of the SoRotateSphericalDragger.
242
243                         .in 0n+.5i
244     Resource:         jackScalerScaler
245                         .in 0n+.5i
246     Part:             scaler.scaler
247     Appearance:       Six small white cubes, the tips of the rotator star
248     Description:      Picking  this initiates uniform 3D scaling of the drag‐
249                         ger.
250
251                         .in 0n+.5i
252     Resource:         jackScalerScalerActive
253                         .in 0n+.5i
254     Part:             scaler.scalerActive
255     Appearance:       Yellow version of the scaler.scaler resource.
256     Description:      Displayed while the dragger is being scaled.
257
258                         .in 0n+.5i
259     Resource:         jackScalerFeedback
260                         .in 0n+.5i
261     Part:             scaler.feedback
262     Appearance:       Empty separator
263     Description:      Removes any feedback geometry created in the  construc‐
264                         tor of the SoScaleUniformDragger.
265
266                         .in 0n+.5i
267     Resource:         jackScalerFeedbackActive
268                         .in 0n+.5i
269     Part:             scaler.feedbackActive
270     Appearance:       Empty separator
271     Description:      Removes any feedbackActive geometry created in the con‐
272                         structor of the SoScaleUniformDragger.
273
274                         .in 0n+.5i
275     Resource:         jackTranslatorLineTranslator
276                         .in 0n+.5i
277     Parts:            translator.xTranslator.translator
278                                           translator.yTranslator.translator
279                                           translator.zTranslator.translator
280     Appearance:       Skinny white cylinder aligned with axies of motion
281     Description:      Picking these parts initiates dragging in the x, y, and
282                         z linear draggers respectively.
283
284                         .in 0n+.5i
285     Resource:         jackTranslatorLineTranslatorActive
286                         .in 0n+.5i
287     Parts:            translator.xTranslator.translatorActive
288                                           translator.yTranslator.transla‐
289                         torActive
290                                           translator.zTranslator.transla‐
291                         torActive
292     Appearance:       Skinny yellow cylinder aligned with axies of motion
293     Description:      Shown  during linear dragging in the x, y, and z direc‐
294                         tions respectively.
295
296                         .in 0n+.5i
297     Resource:         jackTranslatorPlaneTranslator
298                         .in 0n+.5i
299     Parts:            translator.yzTranslator.translator
300                                           translator.xzTranslator.translator
301                                           translator.xyTranslator.translator
302     Appearance:       White flattened cube, drawn in wireframe
303     Description:      Picking these parts initiates dragging by the  yz,  xz,
304                         and xy planar draggers respectively.
305
306                         .in 0n+.5i
307     Resource:         jackTranslatorPlaneTranslatorActive
308                         .in 0n+.5i
309     Parts:            translator.yzTranslator.translatorActive
310                                           translator.xzTranslator.transla‐
311                         torActive
312                                           translator.xyTranslator.transla‐
313                         torActive
314     Appearance:       Yellow flattened cube, drawn in wireframe
315     Description:      Shown  during  planar  dragging  in  the yz, xz, and xy
316                         planes respectively.
317
318                         .in 0n+.5i
319     Resource:         jackTranslatorXFeedback
320                         .in 0n+.5i
321     Part:             xFeedback
322     Appearance:       Double-headed purple arrow
323     Description:      Feedback for motion in x direction
324
325                         .in 0n+.5i
326     Resource:         jackTranslatorYFeedback
327                         .in 0n+.5i
328     Part:             yFeedback
329     Appearance:       Double-headed purple arrow
330     Description:      Feedback for motion in y direction
331
332                         .in 0n+.5i
333     Resource:         jackTranslatorZFeedback
334                         .in 0n+.5i
335     Part:             zFeedback
336     Appearance:       Double-headed purple arrow
337     Description:      Feedback for motion in z direction
338
339                         .in 0n+.5i
340     Resource:         jackTranslatorYZFeedback
341                         .in 0n+.5i
342     Part:             yzFeedback
343     Appearance:       Semi-transparent green square in yz plane
344     Description:      Feedback for motion in yz plane
345
346                         .in 0n+.5i
347     Resource:         jackTranslatorXZFeedback
348                         .in 0n+.5i
349     Part:             xzFeedback
350     Appearance:       Semi-transparent green square in yz plane
351     Description:      Feedback for motion in xz plane
352
353                         .in 0n+.5i
354     Resource:         jackTranslatorXYFeedback
355                         .in 0n+.5i
356     Part:             xyFeedback
357     Appearance:       Semi-transparent green square in yz plane
358     Description:      Feedback for motion in xy plane
359
360

FILE FORMAT/DEFAULTS

362       JackDragger {
363          renderCaching                             AUTO
364          boundingBoxCaching                        AUTO
365          renderCulling                             AUTO
366          pickCulling                               AUTO
367          isActive                                  FALSE
368          rotation                                  0 0 1  0
369          translation                               0 0 0
370          scaleFactor                               1 1 1
371          callbackList                              NULL
372          surroundScale                             NULL
373          antiSquish                                AntiSquish {
374              sizing BIGGEST_DIMENSION }
375
376          scaler                                    ScaleUniformDragger {
377          }
378
379          rotator                                   RotateSphericalDragger {
380          }
381
382          translator                                DragPointDragger {
383          }
384
385          rotator.rotator                           <jackRotatorRotator resource>
386          rotator.rotatorActive                     <jackRotatorRotatorActive resource>
387          rotator.feedback                          <jackRotatorFeedback resource>
388          rotator.feedbackActive                    <jackRotatorFeedbackActive resource>
389          scaler.scaler                             <jackScalerScaler resource>
390          scaler.scalerActive                       <jackScalerScalerActive resource>
391          scaler.feedback                           <jackScalerFeedback resource>
392          scaler.feedbackActive                     <jackScalerFeedbackActive resource>
393          translator.xTranslator.translator         <jackTranslatorLineTranslator resource>
394          translator.yTranslator.translator         <jackTranslatorLineTranslator resource>
395          translator.zTranslator.translator         <jackTranslatorLineTranslator resource>
396          translator.xTranslator.translatorActive   <jackTranslatorLineTranslatorActive resource>
397          translator.yTranslator.translatorActive   <jackTranslatorLineTranslatorActive resource>
398          translator.zTranslator.translatorActive   <jackTranslatorLineTranslatorActive resource>
399          translator.yzTranslator.translator        <jackTranslatorPlaneTranslator resource>
400          translator.xzTranslator.translator        <jackTranslatorPlaneTranslator resource>
401          translator.xyTranslator.translator        <jackTranslatorPlaneTranslator resource>
402          translator.yzTranslator.translatorActive  <jackTranslatorPlaneTranslatorActive resource>
403          translator.xzTranslator.translatorActive  <jackTranslatorPlaneTranslatorActive resource>
404          translator.xyTranslator.translatorActive  <jackTranslatorPlaneTranslatorActive resource>
405          xFeedback                                 <jackTranslatorXFeedback resource>
406          yFeedback                                 <jackTranslatorYFeedback resource>
407          zFeedback                                 <jackTranslatorZFeedback resource>
408          yzFeedback                                <jackTranslatorYZFeedback resource>
409          xzFeedback                                <jackTranslatorXZFeedback resource>
410          xyFeedback                                <jackTranslatorXYFeedback resource>
411     }
412

SEE ALSO

414       SoInteractionKit, SoDragger,  SoCenterballDragger,  SoDirectionalLight‐
415       Dragger,  SoDragPointDragger,  SoHandleBoxDragger, SoPointLightDragger,
416       SoRotateCylindricalDragger, SoRotateDiscDragger, SoRotateSphericalDrag‐
417       ger, SoScale1Dragger, SoScale2Dragger, SoScale2UniformDragger, SoScale‐
418       UniformDragger, SoSpotLightDragger, SoTabBoxDragger, SoTabPlaneDragger,
419       SoTrackballDragger,     SoTransformBoxDragger,    SoTransformerDragger,
420       SoTranslate1Dragger, SoTranslate2Dragger
421
422
423
424
425                                                          SoJackDragger(3IV)()
Impressum