7.2. Defining and Naming Catalog Entries

In the header file, use the macro SO_KIT_CATALOG_ENTRY_HEADER() for each part in the catalog. For example:

SO_KIT_CATALOG_ENTRY_HEADER(lightModel);
SO_KIT_CATALOG_ENTRY_HEADER(environment);
SO_KIT_CATALOG_ENTRY_HEADER(drawStyle);

This macro creates a protected SoSFNode SoSFNode SoSFNode field for each part in the node kit. Since the nodes are stored this way, we can use the field mechanisms to write the parts out by name. Node kit parts are hidden children and are written out differently from public children. They are written out as the part name, followed by the node being used.