1SoRotateCylindricalDragger(3IV)() SoRotateCylindricalDragger(3IV)()
2
3
4
6 SoRotateCylindricalDragger — object you rotate along a cylindrical sur‐
7 face by dragging with the mouse
8
10 SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit >
11 SoDragger > SoRotateCylindricalDragger
12
14 #include <Inventor/draggers/SoRotateCylindricalDragger.h>
15
16 Fields from class SoRotateCylindricalDragger:
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 SoRotateCylindricalDragger:
36
37 SoRotateCylindricalDragger()
38 void setProjector(SbCylinderProjector *p)
39 const SbCylinderProjector * 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 SoRotateCylindricalDragger is a simple dragger that rotates about the y
132 axis of its local space. The feel of the rotation is as if you were
133 spinning a cylinder about its axis of rotation. The local space is
134 determined by its location in the scene graph. Transformation nodes
135 placed before it will affect both the dragger and the direction of
136 motion.
137
138 This node has a rotation field which always reflects its orientation in
139 local space. If you set the field, the dragger will rotate accordingly.
140 You can also connect fields of other nodes or engines from this one to
141 make them follow the dragger's orientation.
142
143 This dragger contains four parts, rotator, rotatorActive, feedback, and
144 feedbackActive.
145
146 Each of these is set by default from a resource described in the Drag‐
147 ger Resources section of the online reference page for this class. You
148 can change the parts in any instance of this dragger using setPart().
149
150 You can make your program use different default resources for the parts
151 by copying the file /usr/share/data/draggerDefaults/rotateCylindrical‐
152 Dragger.iv into your own directory, editing the file, and then setting
153 the environment variable SO_DRAGGER_DIR to be a path to that directory.
154
156 SoSFRotation rotation
157 Orientation of the dragger.
158
159
161 SoRotateCylindricalDragger()
162 Constructor.
163
164 void setProjector(SbCylinderProjector *p)
165 const SbCylinderProjector * getProjector() const
166 Set and get a different cylinder projector. See the SbCylinderPro‐
167 jector man pages to find out how each kind affects the feel of your
168 dragger's motion. The default uses an SbCylinderPlaneProjector.
169
170 Passing in NULL will cause this default type of projector to be
171 used. Any projector you pass in will be deleted by this dragger when
172 this dragger is deleted. Note that the axis and radius of the cylin‐
173 der are determined by the dragger, based on the y-axis in local
174 space and how far the initial mouse click occured from the center of
175 rotation.
176
177 static const SoNodekitCatalog *
178 getClassNodekitCatalog() const
179 Returns an SoNodekitCatalog for this class
180
181 static SoType getClassTypeId()
182 Returns type identifier for this class.
183
184
186 ┌──────────────────────────────────────────────────────────┐
187 │ All parts │
188 │ NULL by │
189 │Part Name Part Type Default Type Default │
190 │ │
191 │callbackList NodeKitListPart -- yes │
192 │rotator Separator -- yes │
193 │rotatorActive Separator -- yes │
194 │feedback Separator -- yes │
195 │feedbackActive Separator -- yes │
196 │ │
197 └──────────────────────────────────────────────────────────┘
198 ┌───────────────────────────────────────────────────────────────┐
199 │ Extra information for list parts from above table │
200 │ │
201 │Part Name Container Type Permissible Types │
202 │ │
203 │callbackList Separator Callback, EventCallback │
204 │ │
205 └───────────────────────────────────────────────────────────────┘
207 .in 0n+.5i
208 Resource: rotateCylindricalRotator
209 .in 0n+.5i
210 Part: rotator
211 Appearance: white cylinder (with vertical axis) made of lines
212 Description: picking this initiates rotation
213
214 .in 0n+.5i
215 Resource: rotateCylindricalRotatorActive
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: rotateCylindricalFeedback
223 .in 0n+.5i
224 Part: feedback
225 Appearance: thin purple line along local y-axis
226 Description: shows center of rotation when not moving
227
228 .in 0n+.5i
229 Resource: rotateCylindricalFeedbackActive
230 .in 0n+.5i
231 Part: feedbackActive
232 Appearance: thin, slightly brighter purple line along local y-axis
233 Description: shows center of rotation when moving
234
235
237 RotateCylindricalDragger {
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 <rotateCylindricalRotator resource>
246 rotatorActive <rotateCylindricalRotatorActive resource>
247 feedback <rotateCylindricalFeedback resource>
248 feedbackActive <rotateCylindricalFeedbackActive resource>
249 }
250
252 SoInteractionKit, SoDragger, SoCenterballDragger, SoDirectionalLight‐
253 Dragger, SoDragPointDragger, SoHandleBoxDragger, SoJackDragger,
254 SoPointLightDragger, SoRotateDiscDragger, SoRotateSphericalDragger,
255 SoScale1Dragger, SoScale2Dragger, SoScale2UniformDragger, SoScaleUni‐
256 formDragger, SoSpotLightDragger, SoTabBoxDragger, SoTabPlaneDragger,
257 SoTrackballDragger, SoTransformBoxDragger, SoTransformerDragger,
258 SoTranslate1Dragger, SoTranslate2Dragger
259
260
261
262
263 SoRotateCylindricalDragger(3IV)()