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

Extending the CompoundNode with requirements for closures. More...

#include <ClosureCompoundNode.h>

+ Inheritance diagram for ClosureCompoundNode:

Public Member Functions

void addClassification (ShaderNode &node) const override
 Add additional classifications on a node. More...
 
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...
 
- 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 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 emitFunctionDefinition (ClosureContext *cct, GenContext &context, ShaderStage &stage) const
 
- Protected Member Functions inherited from ShaderNodeImpl
 ShaderNodeImpl ()
 Protected constructor. More...
 

Additional Inherited Members

- Protected Attributes inherited from CompoundNode
ShaderGraphPtr _rootGraph
 
string _functionName
 
- Protected Attributes inherited from ShaderNodeImpl
string _name
 
size_t _hash
 

Detailed Description

Extending the CompoundNode with requirements for closures.

Definition at line 15 of file ClosureCompoundNode.h.

Member Function Documentation

void ClosureCompoundNode::addClassification ( ShaderNode node) const
overridevirtual

Add additional classifications on a node.

Reimplemented from ShaderNodeImpl.

static ShaderNodeImplPtr ClosureCompoundNode::create ( )
static
void ClosureCompoundNode::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 ClosureCompoundNode::emitFunctionDefinition ( const ShaderNode node,
GenContext context,
ShaderStage stage 
) const
overridevirtual

Emit function definition for the given node instance.

Reimplemented from ShaderNodeImpl.

void ClosureCompoundNode::emitFunctionDefinition ( ClosureContext cct,
GenContext context,
ShaderStage stage 
) const
protected

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