1SoScale2Dragger(3IV)()                                  SoScale2Dragger(3IV)()
2
3
4

NAME

6       SoScale2Dragger  —  object  you can scale in two dimensions by dragging
7       with the mouse
8

INHERITS FROM

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

SYNOPSIS

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

DESCRIPTION

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

FIELDS

153     SoSFVec3f           scaleFactor
154          Scale factor affecting the dragger.
155
156

METHODS

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

CATALOG PARTS

170       ┌──────────────────────────────────────────────────────────┐
171All parts                         
172NULL by 
173Part 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       ┌───────────────────────────────────────────────────────────────┐
183Extra information for list parts from above table        
184       │                                                               │
185Part Name      Container Type   Permissible Types              
186       │                                                               │
187       │callbackList   Separator        Callback, EventCallback        │
188       │                                                               │
189       └───────────────────────────────────────────────────────────────┘

DRAGGER RESOURCES

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

FILE FORMAT/DEFAULTS

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

SEE ALSO

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)()
Impressum