Classes |
|
class | NodeData |
Typedefs |
|
typedef NodeData * | DataAllocator (void) |
函数 |
|
void | FillNodePlugin (NODEPLUGIN *np, Int32 info, DataAllocator *g, BaseBitmap *icon, Int32 disklevel) |
Bool | RegisterNodePlugin ( Int32 id, const maxon::String &str, Int32 info, DataAllocator *g, BaseBitmap *icon, Int32 disklevel, Int32 *fallback) |
typedef NodeData * DataAllocator(void) |
NodeData allocator.
void FillNodePlugin | ( | NODEPLUGIN * | np , |
Int32 | info , | ||
DataAllocator * | g , | ||
BaseBitmap * | icon , | ||
Int32 | disklevel | ||
) |
Private .
Bool RegisterNodePlugin | ( | Int32 | id , |
const maxon::String & | str , | ||
Int32 | info , | ||
DataAllocator * | g , | ||
BaseBitmap * | icon , | ||
Int32 | disklevel , | ||
Int32 * | fallback | ||
) |
Registers a node plugin.
[in] | id | A unique plugin ID. Must be obtained from http://www.plugincafe.com |
[in] | str |
The name of the plugin.
To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number. Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator. |
[in] | info | The node plugin info flags: PLUGINFLAG |
[in] | g | The allocator for the node plugin. This is a pointer to a function that creates a new instance of NodeData with NewObj() . |
[in] | icon |
The icon for the node. The bitmap is copied.
The icon should be of size 32x 32 , but will be scaled if needed. It must also be 24 bits and should if possible include an alpha to support pattern backgrounds. |
[in] | disklevel |
The plugin level is similar to a version number. The default level is
0
.
Increase this for new revisions of a plugin to allow for forward and backward compatibility. As an example you may have updated a plugin. If you now need to write additional information for new settings or changed types for old settings increase the level. During loading either a 0 is passed (if the file was written by the old plugin) or 1 (if the file was written by the new plugin). This allows to easily write/read new values. For forward and backward compatibility to work any existing read order from a given level must not be changed. Cinema 4D skips any new settings automatically if they have not been read. disklevel is only useful if variables are written/read in NodeData::Write / NodeData::Read . |
[in] | fallback | Private . |