Many plugin classes of the classic API are based on NodeData. Instances of such plugin classes can be added to and stored with a BaseDocument (like objects, tags, materials, etc.). To create such plugins it is needed to implement virtual functions of the NodeData class:
General functions are:
GUI related functions are:
Parameter related functions are:
Internal data is handled with:
Several NodeData based classes but also some other plugin classes allow to draw in the editor viewport. See Draw Manual.
The most used NodeData based plugin classes are:
Further NodeData based plugin classes are:
It is also possible to create a new class directly based on NodeData and register the class with RegisterNodePlugin().