All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
VOP_ShaderSpaceInfo Class Reference

#include <VOP_CodeGenerator.h>

Public Member Functions

 VOP_ShaderSpaceInfo (VOP_Node *shader_node, const char *shader_name)
const UT_Map< VOP_Node
*, UT_StringHolder > & 
getNestedSubnetShaders () const
void addSubShader (VOP_Node *sub_shader, const char *name) const
bool shouldAddSubShader (VOP_Node *shader_node) const
void replaceSubShaderNamePrefix (UT_String &sub_shader_name, VOP_Node *sub_shader) const
 Replaces the scene-specific prefix with an hda-specific one. More...
void removeShaderNamePrefix (UT_String &sub_shader_name) const
 Removes the hda-specific prefix. More...

Detailed Description

=========================================================================== Class containing info about a scope level at which to generate/compile the nested shaders. Usually they use global level, implying that they use full node path as shader function name. But when compiling HDAs, the shaders nested inside them are anchored to the HDA and should use relative path as shader function name. Also, this class can store all the nested shaders that need own compilation.

Definition at line 800 of file VOP_CodeGenerator.h.

Constructor & Destructor Documentation

VOP_ShaderSpaceInfo::VOP_ShaderSpaceInfo ( VOP_Node shader_node,
const char *  shader_name 

Member Function Documentation

void VOP_ShaderSpaceInfo::addSubShader ( VOP_Node sub_shader,
const char *  name 
) const

Definition at line 808 of file VOP_CodeGenerator.h.

const UT_Map<VOP_Node*, UT_StringHolder>& VOP_ShaderSpaceInfo::getNestedSubnetShaders ( ) const

Definition at line 806 of file VOP_CodeGenerator.h.

void VOP_ShaderSpaceInfo::removeShaderNamePrefix ( UT_String sub_shader_name) const

Removes the hda-specific prefix.

void VOP_ShaderSpaceInfo::replaceSubShaderNamePrefix ( UT_String sub_shader_name,
VOP_Node sub_shader 
) const

Replaces the scene-specific prefix with an hda-specific one.

bool VOP_ShaderSpaceInfo::shouldAddSubShader ( VOP_Node shader_node) const

Returns true if the node generates code that should be isolated to the space.

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