1SoRotateSphericalDragger(3IV)() SoRotateSphericalDragger(3IV)()
2
3
4
6 SoRotateSphericalDragger — object you can rotate about a spherical sur‐
7 face by dragging with the mouse
8
10 SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit >
11 SoDragger > SoRotateSphericalDragger
12
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
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
155 SoSFRotation rotation
156 Orientation of the dragger.
157
158
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
185 ┌──────────────────────────────────────────────────────────┐
186 │ All parts │
187 │ NULL by │
188 │Part 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 ┌───────────────────────────────────────────────────────────────┐
198 │ Extra information for list parts from above table │
199 │ │
200 │Part Name Container Type Permissible Types │
201 │ │
202 │callbackList Separator Callback, EventCallback │
203 │ │
204 └───────────────────────────────────────────────────────────────┘
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
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
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)()