HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CompoundNodeMdl Class Reference

Compound node implementation. More...

#include <CompoundNodeMdl.h>

+ Inheritance diagram for CompoundNodeMdl:

Public Member Functions

void initialize (const InterfaceElement &element, GenContext &context) override
 
void emitFunctionDefinition (const ShaderNode &node, GenContext &context, ShaderStage &stage) const override
 Emit function definition for the given node instance. More...
 
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. More...
 
bool isReturnStruct () const
 
bool unrollReturnStructMembers () const
 
- Public Member Functions inherited from CompoundNode
void initialize (const InterfaceElement &element, GenContext &context) override
 
void createVariables (const ShaderNode &node, GenContext &context, Shader &shader) const override
 
void emitFunctionDefinition (const ShaderNode &node, GenContext &context, ShaderStage &stage) const override
 Emit function definition for the given node instance. More...
 
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. More...
 
ShaderGraphgetGraph () const override
 
- Public Member Functions inherited from ShaderNodeImpl
virtual ~ShaderNodeImpl ()
 
virtual const stringgetTarget () const
 
const stringgetName () const
 Return the name of this implementation. More...
 
size_t getHash () const
 
virtual void addInputs (ShaderNode &node, GenContext &context) const
 Add additional inputs on a node. More...
 
virtual void setValues (const Node &node, ShaderNode &shaderNode, GenContext &context) const
 Set values for additional inputs on a node. More...
 
virtual void addClassification (ShaderNode &node) const
 Add additional classifications on a node. More...
 
virtual void emitOutputVariables (const ShaderNode &node, GenContext &context, ShaderStage &stage) const
 Emit declaration and initialization of output variables to use in a function call. More...
 
virtual bool isEditable (const ShaderInput &) const
 
virtual bool isEditable (const ShaderGraphInputSocket &) const
 

Static Public Member Functions

static ShaderNodeImplPtr create ()
 
- Static Public Member Functions inherited from CompoundNode
static ShaderNodeImplPtr create ()
 

Protected Member Functions

void emitFunctionSignature (const ShaderNode &node, GenContext &context, ShaderStage &stage) const
 
- Protected Member Functions inherited from ShaderNodeImpl
 ShaderNodeImpl ()
 Protected constructor. More...
 

Protected Attributes

string _returnStruct
 
bool _unrollReturnStructMembers = false
 
- Protected Attributes inherited from CompoundNode
ShaderGraphPtr _rootGraph
 
string _functionName
 
- Protected Attributes inherited from ShaderNodeImpl
string _name
 
size_t _hash
 

Static Protected Attributes

static const string GEN_USER_DATA_RETURN_STRUCT_FIELD_NAME
 

Detailed Description

Compound node implementation.

Definition at line 30 of file CompoundNodeMdl.h.

Member Function Documentation

static ShaderNodeImplPtr CompoundNodeMdl::create ( )
static
void CompoundNodeMdl::emitFunctionCall ( const ShaderNode node,
GenContext context,
ShaderStage stage 
) const
overridevirtual

Emit the function call or inline source code for given node instance in the given context.

Reimplemented from ShaderNodeImpl.

void CompoundNodeMdl::emitFunctionDefinition ( const ShaderNode node,
GenContext context,
ShaderStage stage 
) const
overridevirtual

Emit function definition for the given node instance.

Reimplemented from ShaderNodeImpl.

void CompoundNodeMdl::emitFunctionSignature ( const ShaderNode node,
GenContext context,
ShaderStage stage 
) const
protected
void CompoundNodeMdl::initialize ( const InterfaceElement element,
GenContext context 
)
overridevirtual

Initialize with the given implementation element. Initialization must set the name and hash for the implementation, as well as any other data needed to emit code for the node.

Reimplemented from ShaderNodeImpl.

bool CompoundNodeMdl::isReturnStruct ( ) const
inline

Definition at line 39 of file CompoundNodeMdl.h.

bool CompoundNodeMdl::unrollReturnStructMembers ( ) const
inline

Definition at line 40 of file CompoundNodeMdl.h.

Member Data Documentation

string CompoundNodeMdl::_returnStruct
protected

Definition at line 45 of file CompoundNodeMdl.h.

bool CompoundNodeMdl::_unrollReturnStructMembers = false
protected

Definition at line 46 of file CompoundNodeMdl.h.

const string CompoundNodeMdl::GEN_USER_DATA_RETURN_STRUCT_FIELD_NAME
staticprotected

Definition at line 48 of file CompoundNodeMdl.h.


The documentation for this class was generated from the following file: