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. |