1SoScale2Dragger(3IV)() SoScale2Dragger(3IV)()
2
3
4
6 SoScale2Dragger — object you can scale in two dimensions by dragging
7 with the mouse
8
10 SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit >
11 SoDragger > SoScale2Dragger
12
14 #include <Inventor/draggers/SoScale2Dragger.h>
15
16 Fields from class SoScale2Dragger:
17
18 SoSFVec3f scaleFactor
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 SoScale2Dragger:
36
37 SoScale2Dragger()
38 static const SoNodekitCatalog *
39 getClassNodekitCatalog() const
40 static SoType getClassTypeId()
41
42 Methods from class SoDragger:
43
44 void addStartCallback(SoDraggerCB *f, void *userData =
45 NULL)
46 void removeStartCallback(SoDraggerCB *f, void *userData =
47 NULL)
48 void addMotionCallback(SoDraggerCB *f, void *userData =
49 NULL)
50 void removeMotionCallback(SoDraggerCB *f, void *userData =
51 NULL)
52 void addFinishCallback(SoDraggerCB *f, void *userData =
53 NULL)
54 void removeFinishCallback(SoDraggerCB *f, void *userData =
55 NULL)
56 void addValueChangedCallback(SoDraggerCB *f, void *user‐
57 Data = NULL)
58 void removeValueChangedCallback(SoDraggerCB *f, void
59 *userData = NULL)
60 SbBool enableValueChangedCallbacks()
61 void setMinGesture(int pixels)
62 int getMinGesture() const
63 static void setMinScale(float newMinScale)
64 static float getMinScale()
65
66 Methods from class SoInteractionKit:
67
68 virtual SbBool setPartAsPath(const SbName &partName, SoPath *surro‐
69 gatePath )
70
71 Methods from class SoBaseKit:
72
73 virtual const SoNodekitCatalog *
74 getNodekitCatalog() const
75 virtual SoNode * getPart(const SbName &partName, SbBool
76 makeIfNeeded)
77 SbString getPartString(const SoBase *part)
78 virtual SoNodeKitPath * createPathToPart(const SbName &partName, SbBool
79 makeIfNeeded, const SoPath *pathToExtend =
80 NULL)
81 virtual SbBool setPart(const SbName &partName, SoNode *newPart)
82 SbBool set(char *partName, char *parameters)
83 SbBool set(char *nameValuePairs)
84 static SbBool isSearchingChildren()
85 static void setSearchingChildren(SbBool newVal)
86
87 Methods from class SoNode:
88
89 void setOverride(SbBool state)
90 SbBool isOverride() const
91 SoNode * copy(SbBool copyConnections = FALSE) const
92 virtual SbBool affectsState() const
93 static SoNode * getByName(const SbName &name)
94 static int getByName(const SbName &name, SoNodeList &list)
95
96 Methods from class SoFieldContainer:
97
98 void setToDefaults()
99 SbBool hasDefaultValues() const
100 SbBool fieldsAreEqual(const SoFieldContainer *fc) const
101 void copyFieldValues(const SoFieldContainer *fc, SbBool
102 copyConnections = FALSE)
103 void get(SbString &fieldDataString)
104 virtual int getFields(SoFieldList &resultList) const
105 virtual SoField * getField(const SbName &fieldName) const
106 SbBool getFieldName(const SoField *field, SbName &fieldName)
107 const
108 SbBool isNotifyEnabled() const
109 SbBool enableNotify(SbBool flag)
110
111 Methods from class SoBase:
112
113 void ref()
114 void unref() const
115 void unrefNoDelete() const
116 void touch()
117 virtual SoType getTypeId() const
118 SbBool isOfType(SoType type) const
119 virtual void setName(const SbName &name)
120 virtual SbName getName() const
121
122 Macros from class SoBaseKit:
123
124 SO_GET_PART(kit, partName, partClass)
125 SO_CHECK_PART(kit, partName, partClass)
126
127
129 SoScale2Dragger is a simple dragger that scales freely and indepen‐
130 dently in two dimensions when dragged with the mouse. It moves within
131 the x-y plane of its local space, as determined by its location in the
132 scene graph. Transformation nodes placed before it will affect both
133 the dragger and the plane of motion.
134
135 This node has a scaleFactor field which always reflects its size in
136 local space. If you set the field, the dragger will change accordingly.
137 You can also connect fields of other nodes or engines from this one to
138 make them follow the dragger's motion.
139
140 This dragger contains four parts, scaler, scalerActive, feedback, and
141 feedbackActive.
142
143 Each of these is set by default from a resource described in the Drag‐
144 ger Resources section of the online reference page for this class. You
145 can change the parts in any instance of this dragger using setPart().
146
147 You can make your program use different default resources for the parts
148 by copying the file /usr/share/data/draggerDefaults/scale2Dragger.iv
149 into your own directory, editing the file, and then setting the envi‐
150 ronment variable SO_DRAGGER_DIR to be a path to that directory.
151
153 SoSFVec3f scaleFactor
154 Scale factor affecting the dragger.
155
156
158 SoScale2Dragger()
159 Constructor.
160
161 static const SoNodekitCatalog *
162 getClassNodekitCatalog() const
163 Returns an SoNodekitCatalog for this class
164
165 static SoType getClassTypeId()
166 Returns type identifier for this class.
167
168
170 ┌──────────────────────────────────────────────────────────┐
171 │ All parts │
172 │ NULL by │
173 │Part Name Part Type Default Type Default │
174 │ │
175 │callbackList NodeKitListPart -- yes │
176 │scaler Separator -- yes │
177 │scalerActive Separator -- yes │
178 │feedback Separator -- yes │
179 │feedbackActive Separator -- yes │
180 │ │
181 └──────────────────────────────────────────────────────────┘
182 ┌───────────────────────────────────────────────────────────────┐
183 │ Extra information for list parts from above table │
184 │ │
185 │Part Name Container Type Permissible Types │
186 │ │
187 │callbackList Separator Callback, EventCallback │
188 │ │
189 └───────────────────────────────────────────────────────────────┘
191 .in 0n+.5i
192 Resource: scale2Scaler
193 .in 0n+.5i
194 Part: scaler
195 Appearance: white photo-corners at corners of 2-by-2 square in
196 plane of motion
197 Description: picking this initiates the scaling
198
199 .in 0n+.5i
200 Resource: scale2ScalerActive
201 .in 0n+.5i
202 Part: scalerActive
203 Appearance: yellow version of scaler, but with an extra yellow box
204 Description: displayed instead of scaler while in motion
205
206 .in 0n+.5i
207 Resource: scale2Feedback
208 .in 0n+.5i
209 Part: feedback
210 Appearance: thin purple 3-D crosshair
211 Description: shows center of scale when still
212
213 .in 0n+.5i
214 Resource: scale2FeedbackActive
215 .in 0n+.5i
216 Part: feedbackActive
217 Appearance: thin, slightly brighter purple 3-D crosshair
218 Description: shows center of scale while in motion
219
220
222 Scale2Dragger {
223 renderCaching AUTO
224 boundingBoxCaching AUTO
225 renderCulling AUTO
226 pickCulling AUTO
227 isActive FALSE
228 scaleFactor 1 1 1
229 callbackList NULL
230 scaler <scale2Scaler resource>
231 scalerActive <scale2ScalerActive resource>
232 feedback <scale2Feedback resource>
233 feedbackActive <scale2FeedbackActive resource>
234 }
235
237 SoInteractionKit, SoDragger, SoCenterballDragger, SoDirectionalLight‐
238 Dragger, SoDragPointDragger, SoHandleBoxDragger, SoJackDragger,
239 SoPointLightDragger, SoRotateCylindricalDragger, SoRotateDiscDragger,
240 SoRotateSphericalDragger, SoScale1Dragger, SoScale2UniformDragger,
241 SoScaleUniformDragger, SoSpotLightDragger, SoTabBoxDragger, SoTabPlane‐
242 Dragger, SoTrackballDragger, SoTransformBoxDragger, SoTransformerDrag‐
243 ger, SoTranslate1Dragger, SoTranslate2Dragger
244
245
246
247
248 SoScale2Dragger(3IV)()