16.4. Node-Kit Catalog

Each node-kit class shown in Figure 16.2, “ Node-Kit Classes ” has an associated catalog. The catalog lists all the parts (nodes) available in this kit, in the same way as an electronics or software catalog lists all the items available for sale. Just as you order items selectively from a software catalog, you can choose nodes selectively from a node-kit catalog. In addition to simply listing the available parts, a node-kit catalog also describes how the nodes are arranged into a subgraph when you select them.

For example, the catalog for an SoShapeKit SoShapeKit SoShapeKit is shown in Figure 16.3, “ Catalog for SoShapeKit.

When you first create an SoShapeKit SoShapeKit SoShapeKit , you get the “base model,” shown in Figure 16.4, “ Basic Version of an SoShapeKit ”. By default, the “shape” part is a cube. You can change this shape and also add options as you need them.

Catalog for SoShapeKit

Figure 16.3.  Catalog for SoShapeKit

Basic Version of an SoShapeKit

Figure 16.4.  Basic Version of an SoShapeKit

A node-kit catalog contains a separate entry to describe each part. The SoShapeKit SoShapeKit SoShapeKit catalog shown in Figure 16.3, “ Catalog for SoShapeKit has 24 entries. Each catalog entry contains the following pieces of information:

  • Name of the part

  • Type of node

  • Default type (used if Type is an abstract class)

  • Whether this part is created by default

  • Name of this part's parent

  • Name of the right sibling of this part

  • Whether this part is a list

  • If the part is a list, the type of group node that is used to contain the list items

  • If the part is a list, the permissible node types for entries in this list

  • Whether this part is public

The following list shows several sample catalog entries from SoShapeKit SoShapeKit SoShapeKit .


Sample Entry 1

Sample Entry 2







Default Type

(Not Applicable)

(Not Applicable)

Created by Default?



Parent Name



Right Sibling



Is It a List?



List Container Type


(Not Applicable)

List Element Type


(Not Applicable)




Is It Public?



An SoShapeKit SoShapeKit SoShapeKit contains another node kit, “appearance,” which is an SoAppearanceKit SoAppearanceKit SoAppearanceKit . The catalog for SoAppearanceKit SoAppearanceKit SoAppearanceKit is shown in Figure 16.5, “ Catalog for SoAppearanceKit.

Catalog for SoAppearanceKit

Figure 16.5.  Catalog for SoAppearanceKit