Runtime/Behavior Changes

Updated Interfaces:

The generateSifOptionRows function in DsPData was updated to take a DsPart as a parameter.

// dsPData.cm
Old: final public void generateSifOptionRows(SifEnv env, Option o, DsiPDataOption pO, int level=0) : deprecated
New: final public void generateSifOptionRows(SifEnv env, Option o, DsiPDataOption pO, DsPart part=null, int level=0)

Updated:

The generateSifOptionRows function in DsPData was updated to export a CustomerOwnMaterial code and description for a DsiPDataOption where appropriate.

Added:

The dsGenerateCOMPartsHook was added as part of the rawPartListHooks. It gathers CustomerOwnMaterials on DsPDatas and generates child COMParts from these materials.

// hooks.cm

/**
 * Append COMParts from Part.
 * (COMParts hook)
 */
package Part[] dsGenerateCOMPartsHook(Part[] parts, Space space) {
    for (part in parts) {
	Snapper snapper = part.owner;
	generateCOMParts(snapper, part);
    }

    return parts;
}