c4d_nodedata.h File Reference

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 Documentation

◆  DataAllocator

typedef NodeData * DataAllocator(void)

NodeData allocator.

Function Documentation

◆  FillNodePlugin()

void FillNodePlugin ( NODEPLUGIN *  np ,
Int32   info ,
DataAllocator g ,
BaseBitmap icon ,
Int32   disklevel  
)

Private .

◆  RegisterNodePlugin()

Bool RegisterNodePlugin ( Int32   id ,
const maxon::String str ,
Int32   info ,
DataAllocator g ,
BaseBitmap icon ,
Int32   disklevel ,
Int32 fallback  
)

Registers a node plugin.

注意
Normally this function is not used, but rather the specific registration functions for each NodeData child class.
参数
[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 .
返回
true if the node plugin was registered, otherwise false .