1SoInteractionKit(3IV)()                                SoInteractionKit(3IV)()
2
3
4

NAME

6       SoInteractionKit — base class for all interaction nodekit classes
7

INHERITS FROM

9       SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit
10

SYNOPSIS

12       #include <Inventor/nodekits/SoInteractionKit.h>
13
14     enum CacheEnabled {
15          SoInteractionKit::OFF   Never build or use a cache
16          SoInteractionKit::ON    Always try to build a cache
17          SoInteractionKit::AUTO  Automatic caching
18     }
19
20          Fields from class SoInteractionKit:
21
22     SoSFEnum            renderCaching
23     SoSFEnum            boundingBoxCaching
24     SoSFEnum            renderCulling
25     SoSFEnum            pickCulling
26
27          Parts from class SoBaseKit:
28
29     (SoNodeKitListPart)  callbackList
30
31          Methods from class SoInteractionKit:
32
33                         SoInteractionKit()
34     virtual  SbBool      setPartAsPath(const SbName &partName, SoPath *surro‐
35                              gatePath )
36     static const SoNodekitCatalog *
37                         getClassNodekitCatalog() const
38     static SoType       getClassTypeId()
39
40          Methods from class SoBaseKit:
41
42     virtual const SoNodekitCatalog *
43                              getNodekitCatalog() const
44     virtual   SoNode   *         getPart(const   SbName   &partName,   SbBool
45                                   makeIfNeeded)
46     SbString                 getPartString(const SoBase *part)
47     virtual  SoNodeKitPath *  createPathToPart(const SbName &partName, SbBool
48                                   makeIfNeeded, const SoPath *pathToExtend  =
49                                   NULL)
50     virtual SbBool           setPart(const SbName &partName, SoNode *newPart)
51     SbBool                   set(char *partName, char *parameters)
52     SbBool                   set(char *nameValuePairs)
53     static SbBool            isSearchingChildren()
54     static void              setSearchingChildren(SbBool newVal)
55
56          Methods from class SoNode:
57
58     void                setOverride(SbBool state)
59     SbBool              isOverride() const
60     SoNode *            copy(SbBool copyConnections = FALSE) const
61     virtual SbBool      affectsState() const
62     static SoNode *     getByName(const SbName &name)
63     static int          getByName(const SbName &name, SoNodeList &list)
64
65          Methods from class SoFieldContainer:
66
67     void                setToDefaults()
68     SbBool              hasDefaultValues() const
69     SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
70     void                copyFieldValues(const  SoFieldContainer  *fc,  SbBool
71                              copyConnections = FALSE)
72     void                get(SbString &fieldDataString)
73     virtual int         getFields(SoFieldList &resultList) const
74     virtual SoField *   getField(const SbName &fieldName) const
75     SbBool              getFieldName(const SoField *field, SbName &fieldName)
76                              const
77     SbBool              isNotifyEnabled() const
78     SbBool              enableNotify(SbBool flag)
79
80          Methods from class SoBase:
81
82     void                ref()
83     void                unref() const
84     void                unrefNoDelete() const
85     void                touch()
86     virtual SoType      getTypeId() const
87     SbBool              isOfType(SoType type) const
88     virtual void        setName(const SbName &name)
89     virtual SbName      getName() const
90
91          Macros from class SoBaseKit:
92
93     SO_GET_PART(kit, partName, partClass)
94     SO_CHECK_PART(kit, partName, partClass)
95
96

DESCRIPTION

98       This  is  the  base class for all classes of interaction nodekits. Cur‐
99       rently, the only subclass is SoDragger,  which  reacts  to  click-drag-
100       release events from the mouse.
101
102       This  node  has  four  fields corresponding to those of an SoSeparator:
103       They are renderCaching, boundingBoxCaching,  renderCulling,  and  pick‐
104       Culling. They behave the same here as they do for an SoSeparator
105
106       The  setPartAsPath()  method  provides  support for creating "stand-in"
107       objects for parts in the interaction kit. The  "stand-in",  or  "surro‐
108       gate"  part,  is  a  path  to an object that lies somewhere else in the
109       scene graph.
110

FIELDS

112     SoSFEnum            renderCaching
113          Set render caching mode. Default is AUTO.
114
115     SoSFEnum            boundingBoxCaching
116          Set bounding box caching mode. Default is ON. Setting this value  to
117          AUTO is equivalent to ON - automatic culling is not implemented.
118
119     SoSFEnum            renderCulling
120          Set  render culling mode. Default is OFF. Setting this value to AUTO
121          is equivalent to ON - automatic culling is not implemented.
122
123     SoSFEnum            pickCulling
124          Set pick caching mode. Default is AUTO.
125
126

METHODS

128                         SoInteractionKit()
129          Constructor.
130
131     virtual SbBool      setPartAsPath(const SbName &partName, SoPath  *surro‐
132                              gatePath )
133          Sets  any  public  part in the interaction kit as a "surrogate" path
134          instead. The object at the end of the path serves as a stand-in when
135          a pick occurs, and can thus initiate interaction.
136
137          Instead  of  the usual setPart(), which replaces partName with a new
138          node, this will remove the node being used  for  partName  from  the
139          scene and remember the surrogatePath you give it. Later, any pick on
140          surrogatePath will be regarded as a pick on partName.
141
142          For example, set the XRotator part of an  SoTrackballDragger  to  be
143          the  path  to an object in the scene. The rest of the trackball will
144          look the same, but the  XRotator  stripe  will  disappear.  However,
145          click  the  mouse  on the object at the end of surrogatePath and the
146          ball will start to drag in rotation around its X axis.
147
148          Note that this is different from setting the part to be the node  at
149          the  end  of  the  path.  When  you set the part as a node, a second
150          instance will be drawn in the local space of  the  interaction  kit.
151          When you set it as a path, the object itself is used, not a copy.
152
153          The  partName  may  be any part name that follows the nodekit syntax
154          for parts, such as childList[0].shape or rotator.rotatorActive. (See
155          the  getPart() method in the SoBaseKit reference page for a complete
156          description.)
157
158     static const SoNodekitCatalog *
159                         getClassNodekitCatalog() const
160          Returns an SoNodekitCatalog for the class SoInteractionKit.
161
162     static SoType       getClassTypeId()
163          Returns type identifier for this class.
164
165

CATALOG PARTS

167       ┌────────────────────────────────────────────────────────┐
168All parts                        
169NULL by 
170Part Name      Part Type         Default Type   Default 
171       │                                                        │
172       │callbackList   NodeKitListPart   --               yes   │
173       │                                                        │
174       └────────────────────────────────────────────────────────┘
175       ┌───────────────────────────────────────────────────────────────┐
176Extra information for list parts from above table        
177       │                                                               │
178Part Name      Container Type   Permissible Types              
179       │                                                               │
180       │callbackList   Separator        Callback, EventCallback        │
181       │                                                               │
182       └───────────────────────────────────────────────────────────────┘

FILE FORMAT/DEFAULTS

184       InteractionKit {
185          renderCaching       AUTO
186          boundingBoxCaching  AUTO
187          renderCulling       AUTO
188          pickCulling         AUTO
189          callbackList        NULL
190     }
191

SEE ALSO

193       SoBaseKit, SoInteraction, SoNodeKitDetail, SoNodeKitPath, SoNodekitCat‐
194       alog,    SoDragger,   SoCenterballDragger,   SoDirectionalLightDragger,
195       SoDragPointDragger,  SoHandleBoxDragger,  SoJackDragger,  SoPointLight‐
196       Dragger,   SoRotateCylindricalDragger,  SoRotateDiscDragger,  SoRotate‐
197       SphericalDragger,  SoScale1Dragger,  SoScale2Dragger,  SoScale2Uniform‐
198       Dragger,  SoScaleUniformDragger,  SoSpotLightDragger,  SoTabBoxDragger,
199       SoTabPlaneDragger, SoTrackballDragger, SoTransformBoxDragger,  SoTrans‐
200       late1Dragger, SoTranslate2Dragger
201
202
203
204
205                                                       SoInteractionKit(3IV)()
Impressum