Extending Open Inventor
The flexibility and power of Open Inventor is given through the
object-oriented design. It is quite easy to extend Open Inventor
classes. Special macros help to do general task depending on the class
family. The book "The Inventor Toolmaker" reveals all the secrets.
In principle it is possible to create classes (nodes, fields,
actions, elements, engines, node kits, draggers, manipulators,
components, events and devises) based on existing Inventor classes.
New Node Kits
Node kits are building blocks for sub graphs which are used
regularly. They help to manage complexity by hiding information and
providing default configurations.
A small example shows how to build a node kit.
New Nodes
To create a new node seems to be more difficult because the rendering
and other actions have to be programmed. It becomes easy again if an
exiting node is subclassed and only some small extension are
needed. Then we can overide the parent function with a new
function which calls the function of the parent class (we don't need to
learn from our parents because they can do and know the job best) and
implement only the specific extension.
In our example we create a node which is used to add spatial sound to
Open Inventor using external hardware.
Jens Herder