1SoShapeKit(3IV)()                                            SoShapeKit(3IV)()
2
3
4

NAME

6       SoShapeKit — shape nodekit class
7

INHERITS FROM

9       SoBase  >  SoFieldContainer  >  SoNode  >  SoBaseKit > SoSeparatorKit >
10       SoShapeKit
11

SYNOPSIS

13       #include <Inventor/nodekits/SoShapeKit.h>
14
15          Fields from class SoSeparatorKit:
16
17     SoSFEnum            renderCaching
18     SoSFEnum            boundingBoxCaching
19     SoSFEnum            renderCulling
20     SoSFEnum            pickCulling
21
22          Parts from class SoShapeKit:
23
24     (SoSeparator)           shapeSeparator
25     (SoMaterialBinding)     materialBinding
26     (SoNormalBinding)       normalBinding
27     (SoTextureCoordinateBinding)
28                             textureCoordinateBinding
29     (SoShapeHints)          shapeHints
30     (SoCoordinate3)         coordinate3
31     (SoCoordinate4)         coordinate4
32     (SoNormal)              normal
33     (SoTextureCoordinate2)  textureCoordinate2
34     (SoTextureCoordinateFunction)
35                             textureCoordinateFunction
36     (SoProfileCoordinate2)  profileCoordinate2
37     (SoProfileCoordinate3)  profileCoordinate3
38     (SoNodeKitListPart)     profileList
39     (SoTransform)           localTransform
40     (SoShape)               shape
41
42          Parts from class SoSeparatorKit:
43
44     (SoPickStyle)          pickStyle
45     (SoAppearanceKit)      appearance
46     (SoUnits)              units
47     (SoTransform)          transform
48     (SoTexture2Transform)  texture2Transform
49     (SoNodeKitListPart)    childList
50
51          Parts from class SoBaseKit:
52
53     (SoNodeKitListPart)  callbackList
54
55          Methods from class SoShapeKit:
56
57                         SoShapeKit()
58     static const SoNodekitCatalog *
59                         getClassNodekitCatalog() const
60     static SoType       getClassTypeId()
61
62          Methods from class SoBaseKit:
63
64     virtual const SoNodekitCatalog *
65                              getNodekitCatalog() const
66     virtual   SoNode   *         getPart(const   SbName   &partName,   SbBool
67                                   makeIfNeeded)
68     SbString                 getPartString(const SoBase *part)
69     virtual  SoNodeKitPath *  createPathToPart(const SbName &partName, SbBool
70                                   makeIfNeeded, const SoPath *pathToExtend  =
71                                   NULL)
72     virtual SbBool           setPart(const SbName &partName, SoNode *newPart)
73     SbBool                   set(char *partName, char *parameters)
74     SbBool                   set(char *nameValuePairs)
75     static SbBool            isSearchingChildren()
76     static void              setSearchingChildren(SbBool newVal)
77
78          Methods from class SoNode:
79
80     void                setOverride(SbBool state)
81     SbBool              isOverride() const
82     SoNode *            copy(SbBool copyConnections = FALSE) const
83     virtual SbBool      affectsState() const
84     static SoNode *     getByName(const SbName &name)
85     static int          getByName(const SbName &name, SoNodeList &list)
86
87          Methods from class SoFieldContainer:
88
89     void                setToDefaults()
90     SbBool              hasDefaultValues() const
91     SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
92     void                copyFieldValues(const  SoFieldContainer  *fc,  SbBool
93                              copyConnections = FALSE)
94     void                get(SbString &fieldDataString)
95     virtual int         getFields(SoFieldList &resultList) const
96     virtual SoField *   getField(const SbName &fieldName) const
97     SbBool              getFieldName(const SoField *field, SbName &fieldName)
98                              const
99     SbBool              isNotifyEnabled() const
100     SbBool              enableNotify(SbBool flag)
101
102          Methods from class SoBase:
103
104     void                ref()
105     void                unref() const
106     void                unrefNoDelete() const
107     void                touch()
108     virtual SoType      getTypeId() const
109     SbBool              isOfType(SoType type) const
110     virtual void        setName(const SbName &name)
111     virtual SbName      getName() const
112
113          Macros from class SoBaseKit:
114
115     SO_GET_PART(kit, partName, partClass)
116     SO_CHECK_PART(kit, partName, partClass)
117
118

DESCRIPTION

120       A nodekit that is used for creating a shape (i.e. geometry). SoShapeKit
121       is derived from SoSeparatorKit and SoBaseKit, and thus inherits all the
122       parts defined by these classes.
123
124       Furthermore,  SoShapeKit adds numerous parts that can be used to define
125       a variety of shape objects, a localTransform  part,  and  of  course  a
126       shape part.
127
128       All of the property nodes requires to define any of the Inventor shapes
129       are included as parts in this class. Not all of these parts (nodes) are
130       needed  for  any  one  type of shape. For example, if you set the shape
131       part to be an SoSphere node, then it is not necessary to create a  pro‐
132       fileCoordinate3  part  since  it will be ignored in drawing the sphere.
133       (And the unneeded parts will not be created, so there is no performance
134       penalty for using this class of node.
135
136       This class contains two private parts. They are both SoSeparator nodes.
137       One of them sits just below the nodekit itself, and serves  to  contain
138       all properties within this nodekit from affecting nodes that come after
139       this nodekit. The second separator  sits  above  the  shape  part,  and
140       serves  to  cache the shape even when the transform, localTransform, or
141       appearance parts are changing.
142

PARTS

144     (SoSeparator)           shapeSeparator
145          This is a private part. The parent node of the actual shape part. It
146          is  a  SoSeparator  and is NULL by default, but is created automati‐
147          cally if necessary.
148
149     (SoMaterialBinding)     materialBinding
150          An SoMaterialBinding node that can be used to set the material bind‐
151          ing  for  the  shape.  This  part is NULL by default, but is created
152          automatically if necessary.
153
154     (SoNormalBinding)       normalBinding
155          An SoNormalBinding node that can be used to set the  normal  binding
156          for the shape. This part is NULL by default, but is created automat‐
157          ically if necessary.
158
159     (SoTextureCoordinateBinding)
160                             textureCoordinateBinding
161          An SoTextureCoordinateBinding node that can be used to set the  tex‐
162          ture coordinate binding for the shape. This part is NULL by default,
163          but is created automatically if necessary.
164
165     (SoShapeHints)          shapeHints
166          An SoShapeHints node that can be used to set the shape hints for the
167          shape. This part is NULL by default, but is created automatically if
168          necessary.
169
170     (SoCoordinate3)         coordinate3
171          An SoCoordinate3 node that can be used to set the 3D coordinates for
172          a  vertex-based  shape. This part is NULL by default, but is created
173          automatically if necessary.
174
175     (SoCoordinate4)         coordinate4
176          An SoCoordinate4 node that can be used to set the 4D coordinates for
177          a  NURBS  shapes. This part is NULL by default, but is created auto‐
178          matically if necessary.
179
180     (SoNormal)              normal
181          An SoNormal node that can be used to set the normal  vectors  for  a
182          vertex-based  shape.  This  part  is NULL by default, but is created
183          automatically if necessary.
184
185     (SoTextureCoordinate2)  textureCoordinate2
186          An SoTextureCoordinate2 node that can be used  to  set  the  texture
187          coordinates  for a vertex-based shape. This part is NULL by default,
188          but is created automatically if necessary.
189
190     (SoTextureCoordinateFunction)
191                             textureCoordinateFunction
192          An SoTextureCoordinateFunction node that can be used to  set  the  a
193          procedural  texture  coordinates  function for a vertex-based shape.
194          This part is NULL by default, but is created automatically if neces‐
195          sary.
196
197     (SoProfileCoordinate2)  profileCoordinate2
198          An  SoProfileCoordinate2 node that can be used to set the 2D profile
199          coordinates for a shape that uses them, (e.g., SoText3).  This  part
200          is NULL by default, but is created automatically if necessary.
201
202     (SoProfileCoordinate3)  profileCoordinate3
203          An  SoProfileCoordinate3 node that can be used to set the 3D profile
204          coordinates for a shape that uses them, (e.g., SoSoNURBSCurve). This
205          part is NULL by default, but is created automatically if necessary.
206
207     (SoNodeKitListPart)     profileList
208          An  SoProfileList node that can be used to set the profile curve for
209          a shape that uses them, (e.g., SoNurbsCurve). This part is  NULL  by
210          default, but is created automatically if necessary.
211
212     (SoTransform)           localTransform
213          An SoTransform node that can be used to set a local tranformation on
214          the shape. This part is NULL by default, but  is  created  automati‐
215          cally if necessary.
216
217     (SoShape)               shape
218          This  is the part which specifies the actual shape node. This can be
219          any node derived from SoShape By default, an SoCube is  created.  It
220          is important to set all of the appropriate parts within this nodekit
221          to suit the type of SoShape that is used. For example, if the  shape
222          part is set to an SoFaceSet, then the coordinate3 shape and probably
223          the normal shape would be set as well. See the reference page of the
224          shape used for details on which other nodes are necessary.
225
226

METHODS

228                         SoShapeKit()
229          Constructor.
230
231     static const SoNodekitCatalog *
232                         getClassNodekitCatalog() const
233          Returns an SoNodekitCatalog for the class SoShapeKit.
234
235     static SoType       getClassTypeId()
236          Returns type identifier for this class.
237
238

CATALOG PARTS

240       ┌───────────────────────────────────────────────────────────────────────────────────────────┐
241All parts                                          
242NULL by 
243Part Name                   Part Type                   Default Type               Default 
244       │                                                                                           │
245       │callbackList                NodeKitListPart             --                           yes   │
246       │pickStyle                   PickStyle                   --                           yes   │
247       │appearance                  AppearanceKit               --                           yes   │
248       │units                       Units                       --                           yes   │
249       │transform                   Transform                   --                           yes   │
250       │texture2Transform           Texture2Transform           --                           yes   │
251       │childList                   NodeKitListPart             --                           yes   │
252       │materialBinding             MaterialBinding             --                           yes   │
253       │normalBinding               NormalBinding               --                           yes   │
254       │textureCoordinateBinding    TextureCoordinateBinding    --                           yes   │
255       │shapeHints                  ShapeHints                  --                           yes   │
256       │coordinate3                 Coordinate3                 --                           yes   │
257       │coordinate4                 Coordinate4                 --                           yes   │
258       │normal                      Normal                      --                           yes   │
259       │textureCoordinate2          TextureCoordinate2          --                           yes   │
260       │textureCoordinateFunction   TextureCoordinateFunction   TextureCoordinateDefault     yes   │
261       │profileCoordinate2          ProfileCoordinate2          --                           yes   │
262       │profileCoordinate3          ProfileCoordinate3          --                           yes   │
263       │profileList                 NodeKitListPart             --                           yes   │
264       │localTransform              Transform                   --                           yes   │
265       │shape                       Shape                       Cube                         no    │
266       │                                                                                           │
267       └───────────────────────────────────────────────────────────────────────────────────────────┘
268       ┌───────────────────────────────────────────────────────────────┐
269Extra information for list parts from above table        
270       │                                                               │
271Part Name      Container Type   Permissible Types              
272       │                                                               │
273       │callbackList   Separator        Callback, EventCallback        │
274       │childList      Separator        ShapeKit, SeparatorKit         │
275       │profileList    Group            Profile                        │
276       │                                                               │
277       └───────────────────────────────────────────────────────────────┘

FILE FORMAT/DEFAULTS

279       ShapeKit {
280          renderCaching              AUTO
281          boundingBoxCaching         AUTO
282          renderCulling              AUTO
283          pickCulling                AUTO
284          callbackList               NULL
285          pickStyle                  NULL
286          appearance                 NULL
287          units                      NULL
288          transform                  NULL
289          texture2Transform          NULL
290          childList                  NULL
291          materialBinding            NULL
292          normalBinding              NULL
293          textureCoordinateBinding   NULL
294          shapeHints                 NULL
295          coordinate3                NULL
296          coordinate4                NULL
297          normal                     NULL
298          textureCoordinate2         NULL
299          textureCoordinateFunction  NULL
300          profileCoordinate2         NULL
301          profileCoordinate3         NULL
302          profileList                NULL
303          localTransform             NULL
304          shape                      Cube {
305          }
306
307     }
308

SEE ALSO

310       SoAppearanceKit,  SoBaseKit,  SoCameraKit,  SoLightKit, SoNodeKit, SoN‐
311       odeKitDetail,   SoNodeKitListPart,   SoNodeKitPath,   SoNodekitCatalog,
312       SoSceneKit,  SoSeparatorKit,  SoWrapperKit, SoCone, SoCube, SoCylinder,
313       SoIndexedNurbsCurve, SoIndexedNurbsSurface,  SoNurbsCurve,  SoNurbsSur‐
314       face, SoShapeHints, SoSphere, SoText2, SoText3, SoVertexShape
315
316
317
318
319                                                             SoShapeKit(3IV)()
Impressum