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

A class that compiles the encapsulated function vop code into HDA section. More...

#include <VOP_HDACodeCompiler.h>

+ Inheritance diagram for VOP_VopHDACompiler:

Public Member Functions

 VOP_VopHDACompiler ()
 Constructor. More...
 
bool compileVexCodeToSections (OP_Node *srcnode, FS_IndexFile *hda, const char *context_mask) override
 
- Public Member Functions inherited from VOP_HDACodeCompiler
 VOP_HDACodeCompiler ()
 
virtual ~VOP_HDACodeCompiler ()
 
virtual bool compileNewOperatorType (OP_Node *srcnode, const char *name, const char *label, const char *path, const char *metasrc, const VOP_ContextTypeList *types=NULL)
 
const UT_StringMap
< UT_StringHolder > & 
getFunctionsSectionsMap () const
 
void setShaderName (const char *shader_name)
 Main shader name used in compilation. More...
 
const UT_StringHoldergetShaderName () const
 Main shader name used in compilation. More...
 
UT_ErrorSeverity getStatus (UT_String &message, UT_String *details=0)
 
void setForceCompilationOnOpNameConflict (bool flag)
 
bool getForceCompilationOnOpNameConflict ()
 

Static Public Member Functions

static void removeVopCodeSections (FS_IndexFile *hda)
 Utility function for cleaning up HDA of any compiled sections. More...
 
- Static Public Member Functions inherited from VOP_HDACodeCompiler
static bool canCompileNode (OP_Node *srcnode)
 
static void removeCodeSections (OP_Node *node, FS_IndexFile *file)
 
static bool updateCodeSections (OP_Node *node, FS_IndexFile *file, UT_String *message)
 

Protected Member Functions

bool initForVopCompilation (OP_Node *srcnode)
 Sets up class members for compilation an encapsulated vop. More...
 
FS_IndexFilegetHDAFile () const
 
VOP_NodegetVopNode () const
 
VOP_CodeGeneratorgetCodeGenerator () const
 
- Protected Member Functions inherited from VOP_HDACodeCompiler
void saveVflCodeToSection (FS_IndexFile *hda, OP_Node *shader_node, VOP_CodeGenerator *code_generator, VOP_ContextType context_type, const char *section_name, OP_Node *output_node)
 Saves the code to section. More...
 
bool isOK () const
 Checks if there was an error during compilation up till now. More...
 
void setStatus (UT_ErrorSeverity sev, const char *msg, const char *details=0)
 
void clearStatus ()
 

Detailed Description

A class that compiles the encapsulated function vop code into HDA section.

Definition at line 163 of file VOP_HDACodeCompiler.h.

Constructor & Destructor Documentation

VOP_VopHDACompiler::VOP_VopHDACompiler ( )

Constructor.

Member Function Documentation

bool VOP_VopHDACompiler::compileVexCodeToSections ( OP_Node srcnode,
FS_IndexFile hda,
const char *  context_mask 
)
overridevirtual

Compiles a given node to the sections of a given HDA (already existing). This is used for HDAs that have contents network, but also want to store cached vfl/vex code.

Parameters
srcnodeThe node from which to obtain vex code.
hdaThe HDA definition to which save the vfl and vex code.

Reimplemented from VOP_HDACodeCompiler.

VOP_CodeGenerator* VOP_VopHDACompiler::getCodeGenerator ( ) const
inlineprotected

Accessors for the member data, available to derived classes.

Definition at line 193 of file VOP_HDACodeCompiler.h.

FS_IndexFile* VOP_VopHDACompiler::getHDAFile ( ) const
inlineprotected

Accessors for the member data, available to derived classes.

Definition at line 189 of file VOP_HDACodeCompiler.h.

VOP_Node* VOP_VopHDACompiler::getVopNode ( ) const
inlineprotected

Accessors for the member data, available to derived classes.

Definition at line 191 of file VOP_HDACodeCompiler.h.

bool VOP_VopHDACompiler::initForVopCompilation ( OP_Node srcnode)
protected

Sets up class members for compilation an encapsulated vop.

static void VOP_VopHDACompiler::removeVopCodeSections ( FS_IndexFile hda)
static

Utility function for cleaning up HDA of any compiled sections.


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