Implementing Nodes

Quick Guide

The amount of implementation work required obviously correlates to the complexity of the node. The basic steps outlined below are more or less required. The advanced steps are only required if your node is interactive. A material node isn't interactive; you cannot transform it and editing actions are passed through the scripting system or via c++ command. A light node is interactive because it is rendered on the worksheet, selectable on the worksheet, and can be modified on the worksheet.

Implement A Non-Interactive Node

Basic Steps

To implement a non-interactive node, complete the following:

  1. Perform design work.
  2. Determine superclass or derive from node.
  3. Implement the node including any worksheet rendering if necessary.
  4. Implement the property sheet.
  5. Implement the data interface.
  6. Implement the scripted create command.
  7. Create the command icon BMP file or specify GENERIC_SCRIPT_ICON.BMP.
  8. Install the create command in the interface.
  9. Test PST thoroughly.
  10. Test property sheet thoroughly.
  11. Write scripts to validate the data interfaces thoroughly.
  12. Implement the node presentation module if you want a custom icon.
  13. Implement the node dependency mapper if applicable.
  14. Modify SCENOME.XML to include a snippet of XML for the node command menu.

Implement An Interactive Node

Basic Steps

To implement an interactive node, complete the following additional stages:

  1. Implement the pick module and selection filter module if the node is selectable on the worksheet.
  2. Implement a transform execution module.
  3. Implement an editing action.
  4. Implement any handle or drawing guide.

Notes

You should use a custom icon for each node. For clarity and discoverability you should not use existing node icons for new nodes. The scripted create command should use the same icon as the node.