1SoRotateSphericalDragger(3IV)()                SoRotateSphericalDragger(3IV)()
2
3
4

NAME

6       SoRotateSphericalDragger — object you can rotate about a spherical sur‐
7       face by dragging with the mouse
8

INHERITS FROM

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

SYNOPSIS

14       #include <Inventor/draggers/SoRotateSphericalDragger.h>
15
16          Fields from class SoRotateSphericalDragger:
17
18     SoSFRotation        rotation
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 SoRotateSphericalDragger:
36
37                                SoRotateSphericalDragger()
38     void                       setProjector(SbSphereProjector *p)
39     const SbSphereProjector *  getProjector() const
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       SoRotateSphericalDragger is a simple dragger that rotates freely in all
132       directions. The feel of the rotation is as if you were rolling a  ball.
133       The  center of rotation is the origin of the local space, determined by
134       the dragger's location in the scene graph. Transformation nodes  placed
135       before it will affect both the dragger and the direction of motion.
136
137       This node has a rotation field which always reflects its orientation in
138       local space.  If you set the field, the  dragger  will  rotate  accord‐
139       ingly.  You can also connect fields of other nodes or engines from this
140       one to make them follow the dragger's orientation.
141
142       This dragger contains four parts, rotator, rotatorActive, feedback, and
143       feedbackActive.
144
145       Each  of these is set by default from a resource described in the Drag‐
146       ger Resources section of the online reference page for this class.  You
147       can change the parts in any instance of this dragger using setPart().
148
149       You can make your program use different default resources for the parts
150       by copying  the  file  /usr/share/data/draggerDefaults/rotateSpherical‐
151       Dragger.iv  into your own directory, editing the file, and then setting
152       the environment variable SO_DRAGGER_DIR to be a path to that directory.
153

FIELDS

155     SoSFRotation        rotation
156          Orientation of the dragger.
157
158

METHODS

160                                SoRotateSphericalDragger()
161          Constructor.
162
163     void                       setProjector(SbSphereProjector *p)
164     const SbSphereProjector *  getProjector() const
165          Set and get a different sphere projector. See the  SbSphereProjector
166          man  pages  to find out how each kind affects the feel of your drag‐
167          ger's motion. The default uses an SbSpherePlaneProjector.
168
169          Passing in NULL will cause the default type of projector to be used.
170          Any  projector you pass in will be deleted by this dragger when this
171          dragger is deleted. Note that the center and radius  of  the  sphere
172          are  determined  by  the  dragger,  based on the origin of the local
173          space and the distance between the initial mouse click and that ori‐
174          gin.
175
176     static const SoNodekitCatalog *
177                                getClassNodekitCatalog() const
178          Returns an SoNodekitCatalog for this class
179
180     static SoType              getClassTypeId()
181          Returns type identifier for this class.
182
183

CATALOG PARTS

185       ┌──────────────────────────────────────────────────────────┐
186All parts                         
187NULL by 
188Part Name        Part Type         Default Type   Default 
189       │                                                          │
190       │callbackList     NodeKitListPart   --               yes   │
191       │rotator          Separator         --               yes   │
192       │rotatorActive    Separator         --               yes   │
193       │feedback         Separator         --               yes   │
194       │feedbackActive   Separator         --               yes   │
195       │                                                          │
196       └──────────────────────────────────────────────────────────┘
197       ┌───────────────────────────────────────────────────────────────┐
198Extra information for list parts from above table        
199       │                                                               │
200Part Name      Container Type   Permissible Types              
201       │                                                               │
202       │callbackList   Separator        Callback, EventCallback        │
203       │                                                               │
204       └───────────────────────────────────────────────────────────────┘

DRAGGER RESOURCES

206       .in 0n+.5i
207     Resource:         rotateSphericalRotator
208       .in 0n+.5i
209     Part:             rotator
210     Appearance:       white  sphere  made of three intersecting circles. Each
211     circle is in a different plane of local space
212     Description:      picking this initiates rotation
213
214                         .in 0n+.5i
215     Resource:         rotateSphericalRotatorActive
216                         .in 0n+.5i
217     Part:             rotatorActive
218     Appearance:       yellow version of rotator
219     Description:      displayed while in motion instead of the rotator
220
221                         .in 0n+.5i
222     Resource:         rotateSphericalFeedback
223                         .in 0n+.5i
224     Part:             feedback
225     Appearance:       thin purple 3-D crosshairs at origin
226     Description:      shows center of rotation when not moving
227
228                         .in 0n+.5i
229     Resource:         rotateSphericalFeedbackActive
230                         .in 0n+.5i
231     Part:             feedbackActive
232     Appearance:       thin, slightly brighter purple 3-D crosshairs at origin
233     Description:      shows center of rotation when moving
234
235

FILE FORMAT/DEFAULTS

237       RotateSphericalDragger {
238          renderCaching       AUTO
239          boundingBoxCaching  AUTO
240          renderCulling       AUTO
241          pickCulling         AUTO
242          isActive            FALSE
243          rotation            0 0 1  0
244          callbackList        NULL
245          rotator             <rotateSphericalRotator resource>
246          rotatorActive       <rotateSphericalRotatorActive resource>
247          feedback            <rotateSphericalFeedback resource>
248          feedbackActive      <rotateSphericalFeedbackActive resource>
249     }
250

SEE ALSO

252       SoInteractionKit, SoDragger,  SoCenterballDragger,  SoDirectionalLight‐
253       Dragger,    SoDragPointDragger,    SoHandleBoxDragger,   SoJackDragger,
254       SoPointLightDragger,  SoRotateCylindricalDragger,  SoRotateDiscDragger,
255       SoScale1Dragger,  SoScale2Dragger,  SoScale2UniformDragger, SoScaleUni‐
256       formDragger,  SoSpotLightDragger,  SoTabBoxDragger,  SoTabPlaneDragger,
257       SoTrackballDragger,     SoTransformBoxDragger,    SoTransformerDragger,
258       SoTranslate1Dragger, SoTranslate2Dragger
259
260
261
262
263                                               SoRotateSphericalDragger(3IV)()
Impressum