1SoRotateCylindricalDragger(3IV)()            SoRotateCylindricalDragger(3IV)()
2
3
4

NAME

6       SoRotateCylindricalDragger — object you rotate along a cylindrical sur‐
7       face by dragging with the mouse
8

INHERITS FROM

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

SYNOPSIS

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

DESCRIPTION

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

FIELDS

156     SoSFRotation        rotation
157          Orientation of the dragger.
158
159

METHODS

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

CATALOG PARTS

186       ┌──────────────────────────────────────────────────────────┐
187All parts                         
188NULL by 
189Part 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       ┌───────────────────────────────────────────────────────────────┐
199Extra information for list parts from above table        
200       │                                                               │
201Part Name      Container Type   Permissible Types              
202       │                                                               │
203       │callbackList   Separator        Callback, EventCallback        │
204       │                                                               │
205       └───────────────────────────────────────────────────────────────┘

DRAGGER RESOURCES

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

FILE FORMAT/DEFAULTS

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

SEE ALSO

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