A nodekit that is used for creating a shape (i.e. geometry).
SoShapeKit is derived from
SoSeparatorKit and
SoBaseKit, and thus inherits all the parts defined by these classes.
Furthermore,
SoShapeKit adds numerous parts that can be used to define
a variety of
shape objects, a
localTransform part, and of course a
shape part.
All of the property nodes requires to define any of the Inventor shapes are included as parts in this class. Not all of these parts (nodes) are needed
for any one type of shape. For example, if you set the
shape part to be an
SoSphere node, then it is not necessary to create a
profileCoordinate3 part since it will be ignored in drawing the sphere. (And the unneeded parts will not
be created, so there is no performance penalty for using this class of node.
This class contains two private parts. They are both
SoSeparator nodes. One of them sits just below the nodekit itself, and serves to
contain all properties within this nodekit from affecting nodes that come after this nodekit. The second separator sits above the
shape part, and serves to cache the shape even when the
transform,
localTransform, or
appearance parts are changing.
(SoShape) shape
This is the part which specifies the actual shape node. This can be any node derived from
SoShape By default, an
SoCube is created. It is important to set all of the appropriate parts within this nodekit
to suit the type of
SoShape that is used. For example, if the
shape part is set to an
SoFaceSet, then the
coordinate3 shape and probably the
normal shape would be set as well. See the reference page of the shape used for details
on which other nodes are necessary.