Classes | |
class | NodesLib |
struct | NodesLib::Variant |
Namespaces | |
maxon | |
maxon::nodes | |
Macros | |
#define | PRIVATE_MAXON_DECLARATION_REGISTER_BUILTINNODE(id, enable, CNT, ...) |
#define | MAXON_DECLARATION_REGISTER_BUILTINNODE(id, ...) |
#define | MAXON_DECLARATION_REGISTER_FEATURE_BUILTINNODE(id, enable, ...) |
#define | PRIVATE_MAXON_DECLARATION_REGISTER_BUILTINNODE_DELEGATE(id, enable, CNT, ...) |
#define | MAXON_DECLARATION_REGISTER_FEATURE_BUILTINNODE_DELEGATE(id, enable, ...) |
#define PRIVATE_MAXON_DECLARATION_REGISTER_BUILTINNODE | ( | id, | |
enable, | |||
CNT, | |||
... | |||
) |
#define MAXON_DECLARATION_REGISTER_BUILTINNODE | ( | id, | |
... | |||
) |
Registers a built-in node at the BuiltinNodes registry. After the macro you have to add a code block which returns the NodeTemplate to register. The code block will be executed lazily as it will be wrapped by NodesLib::CreateLazyTemplate.
[in] | id | The identifier to use. |
[in] | ... | This optional argument is passed as second argument to NodesLib::CreateLazyTemplate. It allows to control for which node system classes the node shall be supported. |
#define MAXON_DECLARATION_REGISTER_FEATURE_BUILTINNODE | ( | id, | |
enable, | |||
... | |||
) |
Registers a built-in node at the BuiltinNodes registry. Node enabled state will be tied to the #enable parameter. One can link node to a MAXON_FEATURE_CONFIGURATION_BRANCHES value. After the macro you have to add a code block which returns the NodeTemplate to register. The code block will be executed lazily as it will be wrapped by NodesLib::CreateLazyTemplate. Note that using an enable check in the supplied code block will make the node not instantiate but it would still be registered and visible in node list.
[in] | id | The identifier to use. |
[in] | enable | Configuration flag to control if node is to be registered or not. |
[in] | ... | This optional argument is passed as second argument to NodesLib::CreateLazyTemplate. It allows to control for which node system classes the node shall be supported. |
#define PRIVATE_MAXON_DECLARATION_REGISTER_BUILTINNODE_DELEGATE | ( | id, | |
enable, | |||
CNT, | |||
... | |||
) |
#define MAXON_DECLARATION_REGISTER_FEATURE_BUILTINNODE_DELEGATE | ( | id, | |
enable, | |||
... | |||
) |
Registers a built-in node at the BuiltinNodes registry. Node enabled state will be tied to the #enable parameter. One can link node to a MAXON_FEATURE_CONFIGURATION_BRANCHES value. After the macro you have to add a code block for a function with the parameter list (const InstantiationTrace& parent, const TemplateArguments& args) and return type Result<MutableRoot>, this function will be used to implement the InstantiateImpl method of the registered node template (via NodesLib::CreateTemplateFromDelegate). Note that using an enable check in the supplied code block will make the node not instantiate but it would still be registered and visible in node list.
[in] | id | The identifier to use. |
[in] | enable | Configuration flag to control if node is to be registered or not. |
[in] | ... | This optional argument is passed as argument to NodesLib::CreateTemplateFromDelegate. It allows to control for which node system classes the node shall be supported. |