HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CompoundNodeMdl.h
Go to the documentation of this file.
1 //
2 // TM & (c) 2020 Lucasfilm Entertainment Company Ltd. and Lucasfilm Ltd.
3 // All rights reserved. See LICENSE.txt for license.
4 //
5 
6 #ifndef MATERIALX_COMPOUNDNODEMDL_H
7 #define MATERIALX_COMPOUNDNODEMDL_H
8 
10 
12 
14 
15 /// Compound node implementation
17 {
18  public:
19  static ShaderNodeImplPtr create();
20 
21  void initialize(const InterfaceElement& element, GenContext& context) override;
22  void emitFunctionDefinition(const ShaderNode& node, GenContext& context, ShaderStage& stage) const override;
23  void emitFunctionCall(const ShaderNode& node, GenContext& context, ShaderStage& stage) const override;
24 
25 protected:
26  string _returnStruct;
27 };
28 
30 
31 #endif
shared_ptr< ShaderNodeImpl > ShaderNodeImplPtr
Shared pointer to a ShaderNodeImpl.
Definition: Library.h:40
void emitFunctionCall(const ShaderNode &node, GenContext &context, ShaderStage &stage) const override
Emit the function call or inline source code for given node instance in the given context...
#define MATERIALX_NAMESPACE_BEGIN
Definition: Generated.h:23
void initialize(const InterfaceElement &element, GenContext &context) override
#define MX_GENMDL_API
Definition: Export.h:18
static ShaderNodeImplPtr create()
Compound node implementation.
Definition: CompoundNode.h:16
void emitFunctionDefinition(const ShaderNode &node, GenContext &context, ShaderStage &stage) const override
Emit function definition for the given node instance.
#define MATERIALX_NAMESPACE_END
Definition: Generated.h:24
Compound node implementation.