1SoHandleBoxDragger(3IV)() SoHandleBoxDragger(3IV)()
2
3
4
6 SoHandleBoxDragger — box you can scale, stretch and translate by drag‐
7 ging with the mouse
8
10 SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit >
11 SoDragger > SoHandleBoxDragger
12
14 #include <Inventor/draggers/SoHandleBoxDragger.h>
15
16 Fields from class SoHandleBoxDragger:
17
18 SoSFVec3f scaleFactor
19 SoSFVec3f translation
20
21 Fields from class SoDragger:
22
23 SoSFBool isActive
24
25 Fields from class SoInteractionKit:
26
27 SoSFEnum renderCaching
28 SoSFEnum boundingBoxCaching
29 SoSFEnum renderCulling
30 SoSFEnum pickCulling
31
32 Parts from class SoBaseKit:
33
34 (SoNodeKitListPart) callbackList
35
36 Methods from class SoHandleBoxDragger:
37
38 SoHandleBoxDragger()
39 static const SoNodekitCatalog *
40 getClassNodekitCatalog() const
41 static SoType getClassTypeId()
42
43 Methods from class SoDragger:
44
45 void addStartCallback(SoDraggerCB *f, void *userData =
46 NULL)
47 void removeStartCallback(SoDraggerCB *f, void *userData =
48 NULL)
49 void addMotionCallback(SoDraggerCB *f, void *userData =
50 NULL)
51 void removeMotionCallback(SoDraggerCB *f, void *userData =
52 NULL)
53 void addFinishCallback(SoDraggerCB *f, void *userData =
54 NULL)
55 void removeFinishCallback(SoDraggerCB *f, void *userData =
56 NULL)
57 void addValueChangedCallback(SoDraggerCB *f, void *user‐
58 Data = NULL)
59 void removeValueChangedCallback(SoDraggerCB *f, void
60 *userData = NULL)
61 SbBool enableValueChangedCallbacks()
62 void setMinGesture(int pixels)
63 int getMinGesture() const
64 static void setMinScale(float newMinScale)
65 static float getMinScale()
66
67 Methods from class SoInteractionKit:
68
69 virtual SbBool setPartAsPath(const SbName &partName, SoPath *surro‐
70 gatePath )
71
72 Methods from class SoBaseKit:
73
74 virtual const SoNodekitCatalog *
75 getNodekitCatalog() const
76 virtual SoNode * getPart(const SbName &partName, SbBool
77 makeIfNeeded)
78 SbString getPartString(const SoBase *part)
79 virtual SoNodeKitPath * createPathToPart(const SbName &partName, SbBool
80 makeIfNeeded, const SoPath *pathToExtend =
81 NULL)
82 virtual SbBool setPart(const SbName &partName, SoNode *newPart)
83 SbBool set(char *partName, char *parameters)
84 SbBool set(char *nameValuePairs)
85 static SbBool isSearchingChildren()
86 static void setSearchingChildren(SbBool newVal)
87
88 Methods from class SoNode:
89
90 void setOverride(SbBool state)
91 SbBool isOverride() const
92 SoNode * copy(SbBool copyConnections = FALSE) const
93 virtual SbBool affectsState() const
94 static SoNode * getByName(const SbName &name)
95 static int getByName(const SbName &name, SoNodeList &list)
96
97 Methods from class SoFieldContainer:
98
99 void setToDefaults()
100 SbBool hasDefaultValues() const
101 SbBool fieldsAreEqual(const SoFieldContainer *fc) const
102 void copyFieldValues(const SoFieldContainer *fc, SbBool
103 copyConnections = FALSE)
104 void get(SbString &fieldDataString)
105 virtual int getFields(SoFieldList &resultList) const
106 virtual SoField * getField(const SbName &fieldName) const
107 SbBool getFieldName(const SoField *field, SbName &fieldName)
108 const
109 SbBool isNotifyEnabled() const
110 SbBool enableNotify(SbBool flag)
111
112 Methods from class SoBase:
113
114 void ref()
115 void unref() const
116 void unrefNoDelete() const
117 void touch()
118 virtual SoType getTypeId() const
119 SbBool isOfType(SoType type) const
120 virtual void setName(const SbName &name)
121 virtual SbName getName() const
122
123 Macros from class SoBaseKit:
124
125 SO_GET_PART(kit, partName, partClass)
126 SO_CHECK_PART(kit, partName, partClass)
127
128
130 SoHandleBoxDragger is a dragger shaped like a wireframe box with small
131 corner cubes mounted on each corner. Click and drag any of these cubes
132 to scale the box uniformly. Six other center cubes are centered on the
133 sides of the box; white lines connect them to the center of the drag‐
134 ger. Drag one of the center cubes along its line to stretch the box in
135 that direction. Dragging a face of the box translates the dragger
136 within that plane.
137
138 While you drag a face of the box, purple feedback arrows display the
139 possible directions of motion. Press the <Shift> key to constrain the
140 motion to one of the two major directions in the plane. The constraint
141 direction is chosen based on the next user gesture. Press the <Control>
142 key and the dragger will translate perpendicular to that plane. The
143 translation field is modified as the face is dragged.
144
145 By default, dragging any of the small cubes scales about the center of
146 the object. Pressing the <Control> key changes this: A corner cube will
147 scale about its opposite corner. A center cube will scale about the
148 center of its opposite face. Dragging one of the small cubes will usu‐
149 ally result in changes to both the scaleFactor and translation fields.
150 This is because any scale about a point other than the origin has a
151 translation element.
152
153 As with all draggers, if you change the fields the dragger will move to
154 match the new settings.
155
156 Remember: This is not an SoTransform!. If you want to move other
157 objects with this dragger, you can either:
158
159 [a] Use an SoHandleBoxManip, which is subclassed from SoTransform. It
160 creates one of these draggers and uses it as the interface to change
161 its fields. (see the SoHandleBoxManip reference page).
162
163 [b] Use field-to-field connections to connect the fields of this drag‐
164 ger to those of any SoTransformation node.
165
166 You can change the parts in any instance of this dragger using set‐
167 Part(). The default part geometries are defined as resources for this
168 SoHandleBoxDragger class. They are detailed in the Dragger Resources
169 section of the online reference page for this class. You can make your
170 program use different default resources for the parts by copying the
171 file /usr/share/data/draggerDefaults/handleBoxDragger.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 scaleFactor
177 Scale of the dragger.
178
179 SoSFVec3f translation
180 Position of the dragger.
181
182
184 SoHandleBoxDragger()
185 Constructor.
186
187 static const SoNodekitCatalog *
188 getClassNodekitCatalog() const
189 Returns an SoNodekitCatalog for this class
190
191 static SoType getClassTypeId()
192 Returns type identifier for this class.
193
194
196 ┌─────────────────────────────────────────────────────────────┐
197 │ All parts │
198 │ NULL by │
199 │Part Name Part Type Default Type Default │
200 │ │
201 │callbackList NodeKitListPart -- yes │
202 │surroundScale SurroundScale -- yes │
203 │translator1 Separator -- yes │
204 │translator1Active Separator -- yes │
205 │translator2 Separator -- yes │
206 │translator2Active Separator -- yes │
207 │translator3 Separator -- yes │
208 │translator3Active Separator -- yes │
209 │translator4 Separator -- yes │
210 │translator4Active Separator -- yes │
211 │translator5 Separator -- yes │
212 │translator5Active Separator -- yes │
213 │translator6 Separator -- yes │
214 │translator6Active Separator -- yes │
215 │extruder1 Separator -- yes │
216 │extruder1Active Separator -- yes │
217 │extruder2 Separator -- yes │
218 │extruder2Active Separator -- yes │
219 │extruder3 Separator -- yes │
220 │extruder3Active Separator -- yes │
221 │extruder4 Separator -- yes │
222 │extruder4Active Separator -- yes │
223 │extruder5 Separator -- yes │
224 │extruder5Active Separator -- yes │
225 │extruder6 Separator -- yes │
226 │extruder6Active Separator -- yes │
227 │uniform1 Separator -- yes │
228 │uniform1Active Separator -- yes │
229 │uniform2 Separator -- yes │
230 │uniform2Active Separator -- yes │
231 │uniform3 Separator -- yes │
232 │uniform3Active Separator -- yes │
233 │uniform4 Separator -- yes │
234 │uniform4Active Separator -- yes │
235 │uniform5 Separator -- yes │
236 │uniform5Active Separator -- yes │
237 │uniform6 Separator -- yes │
238 │uniform6Active Separator -- yes │
239 │uniform7 Separator -- yes │
240 │uniform7Active Separator -- yes │
241 │uniform8 Separator -- yes │
242 │uniform8Active Separator -- yes │
243 │arrow1 Separator -- yes │
244 │arrow2 Separator -- yes │
245 │arrow3 Separator -- yes │
246 │arrow4 Separator -- yes │
247 │arrow5 Separator -- yes │
248 │arrow6 Separator -- yes │
249 │ │
250 └─────────────────────────────────────────────────────────────┘
251 ┌───────────────────────────────────────────────────────────────┐
252 │ Extra information for list parts from above table │
253 │ │
254 │Part Name Container Type Permissible Types │
255 │ │
256 │callbackList Separator Callback, EventCallback │
257 │ │
258 └───────────────────────────────────────────────────────────────┘
260 .in 0n+.5i
261 Resource: handleBoxTranslator1
262 .in 0n+.5i
263 Part: translator1
264 Appearance: White Line-Style Square
265 Description: Top face of handleBox. Picking this initiates scaling
266 in x-z plane.
267
268 .in 0n+.5i
269 Resource: handleBoxTranslator2
270 .in 0n+.5i
271 Part: translator2
272 Appearance: White Line-Style Square
273 Description: Bottom face of handleBox. Picking this initiates scal‐
274 ing in x-z plane.
275
276 .in 0n+.5i
277 Resource: handleBoxTranslator3
278 .in 0n+.5i
279 Part: translator3
280 Appearance: White Line-Style Square
281 Description: Left face of handleBox. Picking this initiates scaling
282 in y-z plane.
283
284 .in 0n+.5i
285 Resource: handleBoxTranslator4
286 .in 0n+.5i
287 Part: translator4
288 Appearance: White Line-Style Square
289 Description: Right face of handleBox. Picking this initiates scaling
290 in y-z plane.
291
292 .in 0n+.5i
293 Resource: handleBoxTranslator5
294 .in 0n+.5i
295 Part: translator5
296 Appearance: White Line-Style Square
297 Description: Front face of handleBox. Picking this initiates scaling
298 in x-y plane.
299
300 .in 0n+.5i
301 Resource: handleBoxTranslator6
302 .in 0n+.5i
303 Part: translator6
304 Appearance: White Line-Style Square
305 Description: Back face of handleBox. Picking this initiates scaling
306 in x-y plane.
307
308 .in 0n+.5i
309 Resource: handleBoxTranslator1Active
310 .in 0n+.5i
311 Part: translator1Active
312 Appearance: Yellow version of handleBoxTranslator1
313 Description: Replaces handleBoxTranslator1 during dragging.
314
315 .in 0n+.5i
316 Resource: handleBoxTranslator2Active
317 .in 0n+.5i
318 Part: translator2Active
319 Appearance: Yellow version of handleBoxTranslator2
320 Description: Replaces handleBoxTranslator2 during dragging.
321
322 .in 0n+.5i
323 Resource: handleBoxTranslator3Active
324 .in 0n+.5i
325 Part: translator3Active
326 Appearance: Yellow version of handleBoxTranslator3
327 Description: Replaces handleBoxTranslator3 during dragging.
328
329 .in 0n+.5i
330 Resource: handleBoxTranslator4Active
331 .in 0n+.5i
332 Part: translator4Active
333 Appearance: Yellow version of handleBoxTranslator4
334 Description: Replaces handleBoxTranslator4 during dragging.
335
336 .in 0n+.5i
337 Resource: handleBoxTranslator5Active
338 .in 0n+.5i
339 Part: translator5Active
340 Appearance: Yellow version of handleBoxTranslator5
341 Description: Replaces handleBoxTranslator5 during dragging.
342
343 .in 0n+.5i
344 Resource: handleBoxTranslator6Active
345 .in 0n+.5i
346 Part: translator6Active
347 Appearance: Yellow version of handleBoxTranslator6
348 Description: Replaces handleBoxTranslator6 during dragging.
349
350 .in 0n+.5i
351 Resource: handleBoxExtruder1
352 .in 0n+.5i
353 Part: extruder1
354 Appearance: Small white cube at (0,1.25,0) with line to origin
355 Description: Selecting this part initiates 1-D scaling along Y axis.
356
357 .in 0n+.5i
358 Resource: handleBoxExtruder2
359 .in 0n+.5i
360 Part: extruder2
361 Appearance: Small white cube at (0,-1.25,0) with line to origin
362 Description: Selecting this part initiates 1-D scaling along Y axis.
363
364 .in 0n+.5i
365 Resource: handleBoxExtruder3
366 .in 0n+.5i
367 Part: extruder3
368 Appearance: Small white cube at (-1.25,0,0) with line to origin
369 Description: Selecting this part initiates 1-D scaling along X axis.
370
371 .in 0n+.5i
372 Resource: handleBoxExtruder4
373 .in 0n+.5i
374 Part: extruder4
375 Appearance: Small white cube at (1.25,0,0) with line to origin
376 Description: Selecting this part initiates 1-D scaling along X axis.
377
378 .in 0n+.5i
379 Resource: handleBoxExtruder5
380 .in 0n+.5i
381 Part: extruder5
382 Appearance: Small white cube at (0,0,1.25) with line to origin
383 Description: Selecting this part initiates 1-D scaling along Z axis.
384
385 .in 0n+.5i
386 Resource: handleBoxExtruder6
387 .in 0n+.5i
388 Part: extruder6
389 Appearance: Small white cube at (0,0,-1.25) with line to origin
390 Description: Selecting this part initiates 1-D scaling along Z axis.
391
392 .in 0n+.5i
393 Resource: handleBoxExtruder1Active
394 .in 0n+.5i
395 Part: extruder1Active
396 Appearance: Yellow version of handleBoxExtruder1
397 Description: Replaces handleBoxExtruder1 during dragging.
398
399 .in 0n+.5i
400 Resource: handleBoxExtruder2Active
401 .in 0n+.5i
402 Part: extruder2Active
403 Appearance: Yellow version of handleBoxExtruder1
404 Description: Replaces handleBoxExtruder1 during dragging.
405
406 .in 0n+.5i
407 Resource: handleBoxExtruder3Active
408 .in 0n+.5i
409 Part: extruder3Active
410 Appearance: Yellow version of handleBoxExtruder3
411 Description: Replaces handleBoxExtruder3 during dragging.
412
413 .in 0n+.5i
414 Resource: handleBoxExtruder4Active
415 .in 0n+.5i
416 Part: extruder4Active
417 Appearance: Yellow version of handleBoxExtruder4
418 Description: Replaces handleBoxExtruder4 during dragging.
419
420 .in 0n+.5i
421 Resource: handleBoxExtruder5Active
422 .in 0n+.5i
423 Part: extruder5Active
424 Appearance: Yellow version of handleBoxExtruder5
425 Description: Replaces handleBoxExtruder5 during dragging.
426
427 .in 0n+.5i
428 Resource: handleBoxExtruder6Active
429 .in 0n+.5i
430 Part: extruder6Active
431 Appearance: Yellow version of handleBoxExtruder6
432 Description: Replaces handleBoxExtruder6 during dragging.
433
434 .in 0n+.5i
435 Resource: handleBoxUniform1
436 .in 0n+.5i
437 Part: uniform1
438 Appearance: Small white cube in (+x+y+z) corner of handleBox
439 Description: Picking this initiates uniform scaling.
440
441 .in 0n+.5i
442 Resource: handleBoxUniform2
443 .in 0n+.5i
444 Part: uniform2
445 Appearance: Small white cube in (+x+y-z) corner of handleBox
446 Description: Picking this initiates uniform scaling.
447
448 .in 0n+.5i
449 Resource: handleBoxUniform3
450 .in 0n+.5i
451 Part: uniform3
452 Appearance: Small white cube in (+x-y+z) corner of handleBox
453 Description: Picking this initiates uniform scaling.
454
455 .in 0n+.5i
456 Resource: handleBoxUniform4
457 .in 0n+.5i
458 Part: uniform4
459 Appearance: Small white cube in (+x-y-z) corner of handleBox
460 Description: Picking this initiates uniform scaling.
461
462 .in 0n+.5i
463 Resource: handleBoxUniform5
464 .in 0n+.5i
465 Part: uniform5
466 Appearance: Small white cube in (-x+y+z) corner of handleBox
467 Description: Picking this initiates uniform scaling.
468
469 .in 0n+.5i
470 Resource: handleBoxUniform6
471 .in 0n+.5i
472 Part: uniform6
473 Appearance: Small white cube in (-x+y-z) corner of handleBox
474 Description: Picking this initiates uniform scaling.
475
476 .in 0n+.5i
477 Resource: handleBoxUniform7
478 .in 0n+.5i
479 Part: uniform7
480 Appearance: Small white cube in (-x-y+z) corner of handleBox
481 Description: Picking this initiates uniform scaling.
482
483 .in 0n+.5i
484 Resource: handleBoxUniform8
485 .in 0n+.5i
486 Part: uniform8
487 Appearance: Small white cube in (-x-y-z) corner of handleBox
488 Description: Picking this initiates uniform scaling.
489
490 .in 0n+.5i
491 Resource: handleBoxUniform1Active
492 .in 0n+.5i
493 Part: uniform1Active
494 Appearance: Yellow version of handleBoxUniform1Active
495 Description: Replaces handleBoxUniform1Active during dragging.
496
497 .in 0n+.5i
498 Resource: handleBoxUniform2Active
499 .in 0n+.5i
500 Part: uniform2Active
501 Appearance: Yellow version of handleBoxUniform1Active
502 Description: Replaces handleBoxUniform1Active during dragging.
503
504 .in 0n+.5i
505 Resource: handleBoxUniform3Active
506 .in 0n+.5i
507 Part: uniform3Active
508 Appearance: Yellow version of handleBoxUniform1Active
509 Description: Replaces handleBoxUniform1Active during dragging.
510
511 .in 0n+.5i
512 Resource: handleBoxUniform4Active
513 .in 0n+.5i
514 Part: uniform4Active
515 Appearance: Yellow version of handleBoxUniform1Active
516 Description: Replaces handleBoxUniform1Active during dragging.
517
518 .in 0n+.5i
519 Resource: handleBoxUniform5Active
520 .in 0n+.5i
521 Part: uniform5Active
522 Appearance: Yellow version of handleBoxUniform1Active
523 Description: Replaces handleBoxUniform1Active during dragging.
524
525 .in 0n+.5i
526 Resource: handleBoxUniform6Active
527 .in 0n+.5i
528 Part: uniform6Active
529 Appearance: Yellow version of handleBoxUniform1Active
530 Description: Replaces handleBoxUniform1Active during dragging.
531
532 .in 0n+.5i
533 Resource: handleBoxUniform7Active
534 .in 0n+.5i
535 Part: uniform7Active
536 Appearance: Yellow version of handleBoxUniform1Active
537 Description: Replaces handleBoxUniform1Active during dragging.
538
539 .in 0n+.5i
540 Resource: handleBoxUniform8Active
541 .in 0n+.5i
542 Part: uniform8Active
543 Appearance: Yellow version of handleBoxUniform1Active
544 Description: Replaces handleBoxUniform1Active during dragging.
545
546 .in 0n+.5i
547 Resource: handleBoxArrow1
548 .in 0n+.5i
549 Part: arrow1
550 Appearance: Purple Arrow, pointing up
551 Description: Displayed when translating if Y direction is permitted.
552
553 .in 0n+.5i
554 Resource: handleBoxArrow2
555 .in 0n+.5i
556 Part: arrow2
557 Appearance: Purple Arrow, pointing down
558 Description: Displayed when translating if Y direction is permitted.
559
560 .in 0n+.5i
561 Resource: handleBoxArrow3
562 .in 0n+.5i
563 Part: arrow3
564 Appearance: Purple Arrow, pointing left
565 Description: Displayed when translating if X direction is permitted.
566
567 .in 0n+.5i
568 Resource: handleBoxArrow4
569 .in 0n+.5i
570 Part: arrow4
571 Appearance: Purple Arrow, pointing right
572 Description: Displayed when translating if X direction is permitted.
573
574 .in 0n+.5i
575 Resource: handleBoxArrow5
576 .in 0n+.5i
577 Part: arrow5
578 Appearance: Purple Arrow, pointing forward
579 Description: Displayed when translating if Z direction is permitted.
580
581 .in 0n+.5i
582 Resource: handleBoxArrow6
583 .in 0n+.5i
584 Part: arrow6
585 Appearance: Purple Arrow, pointing backward
586 Description: Displayed when translating if Z direction is permitted.
587
588
590 HandleBoxDragger {
591 renderCaching AUTO
592 boundingBoxCaching AUTO
593 renderCulling AUTO
594 pickCulling AUTO
595 isActive FALSE
596 translation 0 0 0
597 scaleFactor 1 1 1
598 callbackList NULL
599 surroundScale NULL
600 translator1 <handleBoxTranslator1 resource>
601 translator1Active <handleBoxTranslator1Active resource>
602 translator2 <handleBoxTranslator2 resource>
603 translator2Active <handleBoxTranslator2Active resource>
604 translator3 <handleBoxTranslator3 resource>
605 translator3Active <handleBoxTranslator3Active resource>
606 translator4 <handleBoxTranslator4 resource>
607 translator4Active <handleBoxTranslator4Active resource>
608 translator5 <handleBoxTranslator5 resource>
609 translator5Active <handleBoxTranslator5Active resource>
610 translator6 <handleBoxTranslator6 resource>
611 translator6Active <handleBoxTranslator6Active resource>
612 extruder1 <handleBoxExtruder1 resource>
613 extruder1Active <handleBoxExtruder1Active resource>
614 extruder2 <handleBoxExtruder2 resource>
615 extruder2Active <handleBoxExtruder2Active resource>
616 extruder3 <handleBoxExtruder3 resource>
617 extruder3Active <handleBoxExtruder3Active resource>
618 extruder4 <handleBoxExtruder4 resource>
619 extruder4Active <handleBoxExtruder4Active resource>
620 extruder5 <handleBoxExtruder5 resource>
621 extruder5Active <handleBoxExtruder5Active resource>
622 extruder6 <handleBoxExtruder6 resource>
623 extruder6Active <handleBoxExtruder6Active resource>
624 uniform1 <handleBoxUniform1 resource>
625 uniform1Active <handleBoxUniform1Active resource>
626 uniform2 <handleBoxUniform2 resource>
627 uniform2Active <handleBoxUniform2Active resource>
628 uniform3 <handleBoxUniform3 resource>
629 uniform3Active <handleBoxUniform3Active resource>
630 uniform4 <handleBoxUniform4 resource>
631 uniform4Active <handleBoxUniform4Active resource>
632 uniform5 <handleBoxUniform5 resource>
633 uniform5Active <handleBoxUniform5Active resource>
634 uniform6 <handleBoxUniform6 resource>
635 uniform6Active <handleBoxUniform6Active resource>
636 uniform7 <handleBoxUniform7 resource>
637 uniform7Active <handleBoxUniform7Active resource>
638 uniform8 <handleBoxUniform8 resource>
639 uniform8Active <handleBoxUniform8Active resource>
640 arrow1 <handleBoxArrow1 resource>
641 arrow2 <handleBoxArrow2 resource>
642 arrow3 <handleBoxArrow3 resource>
643 arrow4 <handleBoxArrow4 resource>
644 arrow5 <handleBoxArrow5 resource>
645 arrow6 <handleBoxArrow6 resource>
646 }
647
649 Unlike most multi-function draggers, SoHandleBoxDragger is not a com‐
650 pound dragger made up of other draggers that perform its smaller tasks.
651 This is not because it was inappropriate, but because was written
652 before implementation of the methods that synchronize multiple child
653 draggers. The younger SoTransformBoxDragger has similarities to the
654 handle box dragger, but the transform box dragger is a compound drag‐
655 ger.
656
658 SoInteractionKit, SoDragger, SoCenterballDragger, SoDirectionalLight‐
659 Dragger, SoDragPointDragger, SoJackDragger, SoPointLightDragger, SoRo‐
660 tateCylindricalDragger, SoRotateDiscDragger, SoRotateSphericalDragger,
661 SoScale1Dragger, SoScale2Dragger, SoScale2UniformDragger, SoScaleUni‐
662 formDragger, SoSpotLightDragger, SoTabBoxDragger, SoTabPlaneDragger,
663 SoTrackballDragger, SoTransformBoxDragger, SoTransformerDragger,
664 SoTranslate1Dragger, SoTranslate2Dragger
665
666
667
668
669 SoHandleBoxDragger(3IV)()