1SoShapeKit(3IV)() SoShapeKit(3IV)()
2
3
4
6 SoShapeKit — shape nodekit class
7
9 SoBase > SoFieldContainer > SoNode > SoBaseKit > SoSeparatorKit >
10 SoShapeKit
11
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
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
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
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
240 ┌───────────────────────────────────────────────────────────────────────────────────────────┐
241 │ All parts │
242 │ NULL by │
243 │Part 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 ┌───────────────────────────────────────────────────────────────┐
269 │ Extra information for list parts from above table │
270 │ │
271 │Part Name Container Type Permissible Types │
272 │ │
273 │callbackList Separator Callback, EventCallback │
274 │childList Separator ShapeKit, SeparatorKit │
275 │profileList Group Profile │
276 │ │
277 └───────────────────────────────────────────────────────────────┘
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
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)()