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

#include <PI_ScriptOperator.h>

+ Inheritance diagram for PI_ScriptOperator:

Public Member Functions

 ~PI_ScriptOperator () override
 
void getRefreshPICommands (OP_Node *node, std::ostream &commands) override
 
void setControlsSwitcher (int switcher_index, int page_num, int insert_index=-1)
 
void setAllCookParms (bool all_cook)
 
bool isAllCookParms () const
 
void setAllNoResimParms (bool all_sim)
 
bool isAllNoSimParms () const
 
- Public Member Functions inherited from OP_ScriptOperator
 ~OP_ScriptOperator () override
 
bool hasLoadedParmTemplates () const override
 
int updateParmTemplates () override
 
void forceUpdateParmTemplates () override
 
void getScriptName (UT_String &name, bool forvex, bool for_python=false, const char *section_name=NULL) const
 
void getScriptFunctionName (UT_String &name) const
 
void getScriptSecondaryFunctionsNames (UT_StringMap< UT_StringHolder > &functions) const
 
bool hasExplicitScriptSection (VEX_ContextType context_type)
 
bool hasCachedCode ()
 Returns true if the operator has cached code. More...
 
void resetTemplate (OP_TemplatePair *pair)
 
int buildVexCommand (UT_String &result, OP_Node *node, fpreal now)
 
void buildIndexEntry (UT_String &result, const UT_String &dsloc)
 
int traverseCommand (OP_Node *node, OP_ScriptParmFunc traverseFunc, void *data, fpreal now)
 
virtual int handleUnknownToken (DS_Stream &is, UT_String &token)
 
UT_StringgetScriptHelp ()
 
const char * getOperatorShortHelpString () override
 
void getOperatorSpecificInfoText (int verbose, UT_WorkBuffer &text) override
 
void fillInfoTreeOperatorSpecific (UT_InfoTree &tree, const OP_NodeInfoTreeParms &parms) override
 
void editScriptFile (const char *pathprefix, const char *context="surface", const char *extension=".vfl", const char *title="VEX Function", const char **obj_extensions=0, int localdir=1)
 
PY_CompiledCodegetCachedCompiledPythonCookCode ()
 
bool isCompiledPythonCookCodeCached ()
 
void clearOTLIndexFile () override
 
void dirtyParmTemplates ()
 
fpreal getUnitLength () const
 
fpreal getUnitMass () const
 
- Public Member Functions inherited from OP_Operator
 OP_Operator (const char *name, const char *english, OP_Constructor construct, PRM_Template *templates, unsigned min_sources, unsigned max_sources=9999, CH_LocalVariable *variables=0, unsigned flags=0, const char **inputlabels=0, int maxoutputs=1, const char *tab_submenu_path=0)
 Note: The 'inputlabels' array is expected to be null-terminated. More...
 
 OP_Operator (const char *name, const char *english, OP_Constructor construct, OP_TemplatePair *template_pair, unsigned min_sources, unsigned max_sources=9999, OP_VariablePair *variable_pair=0, unsigned flags=0, const char **inputlabels=0, int maxoutputs=1, const char *tab_submenu_path=0)
 
 OP_Operator (const char *name, const char *english, OP_Constructor construct, PRM_Template *templates, const char *child_table_name, unsigned min_sources, unsigned max_sources=9999, CH_LocalVariable *variables=0, unsigned flags=0, const char **inputlabels=0, int maxoutputs=1, const char *tab_submenu_path=0)
 
 OP_Operator (const char *name, const char *english, OP_Constructor construct, OP_TemplatePair *template_pair, const char *child_table_name, unsigned min_sources, unsigned max_sources=9999, OP_VariablePair *variable_pair=0, unsigned flags=0, const char **inputlabels=0, int maxoutputs=1, const char *tab_submenu_path=0)
 
virtual ~OP_Operator ()
 
OP_NodeconstructNode (OP_Network *net, const char *name)
 
int getNumActiveNodes () const
 
OP_NodegetActiveNode (int i) const
 
void nodeDestroyed (OP_Node *node)
 
virtual OP_SpecificDatagetOpSpecificData ()
 
virtual const OP_SpecificDatagetOpSpecificData () const
 
const UT_StringHoldergetName () const
 
void getTableAndName (UT_WorkBuffer &name) const
 
void getTableAndName (UT_String &name) const
 
const UT_StringHoldergetEnglish () const
 
virtual UT_Color getDefaultColor () const
 
virtual const UT_StringHoldergetDefaultShape () const
 
virtual bool getHDKHelp (UT_String &) const
 
virtual bool getOpHelpURL (UT_String &url)
 
virtual bool getOpTabSubMenuPath (UT_String &tab_submenu_path)
 
void setOpTabSubMenuPath (const char *tab_submenu_path)
 
bool getOTLHelp (UT_String &str)
 
void getEditableSubNodes (UT_String &pattern)
 
void getMessageSubNodes (UT_String &pattern)
 
void getDiveTarget (UT_String &divetarget)
 
void getDescriptiveParmName (UT_String &descrparm)
 
void getDefaultState (UT_String &statename)
 
void getFunctionName (UT_String &function_name)
 
void getSecondaryFunctionsNames (UT_StringMap< UT_StringHolder > &functions)
 
void getComment (UT_String &comment)
 
virtual bool getVersion (UT_String &version)
 
void getHelpFileDirAndName (UT_String &script_dir, UT_String &name)
 
void getDefinitionSource (UT_String &defsource) const
 
OP_NodegetDefiningNetwork () const
 
const UT_StringHoldergetIndexPath () const
 
const UT_StringHoldergetIndexFile () const
 
bool getScriptIsSubnet () const
 
bool getScriptIsVex () const
 
bool getScriptIsRsl () const
 
VEX_ContextType getVexContextType () const
 
RSL_ContextType getRslContextType () const
 
int getModTime () const
 
bool getIsDummyDefinition () const
 
bool getScriptIsPython () const
 
void setScriptIsPython (bool is_python)
 
const UT_StringHoldergetExtraInfo () const
 
void setOTLDefinition (const OP_OTLDefinition &definition)
 
const OP_OTLDefinitiongetOTLDefinition () const
 
void setOTLLibrary (OP_OTLLibrary *library)
 
OP_OTLLibrarygetOTLLibrary ()
 
virtual bool getSectionData (const UT_StringRef &name, UT_StringHolder &value) const
 
virtual bool hasSectionData (const UT_StringRef &name) const
 
bool hasContentsSection ()
 
FS_IndexFilegetOTLIndexFile (bool check_timestamp=true)
 
FS_IndexFileHandle getOTLIndexFilePtr (bool check_timestamp=true)
 
FS_IndexFilecreateDefaultOTLIndexFile () const
 
FS_IndexFilecreateOTLIndexFile (bool reservedsectionsonly, UT_StringArray *externalfiles)
 
void getDefinitionSectionName (UT_String &sectname) const
 
void listContainedOperators (UT_StringSet &contents_list)
 List all operators found in the contents section. More...
 
const char * getIconName () const
 
void setIconName (const char *name)
 
void setDefaultIconName ()
 
unsigned minInputs () const
 
unsigned maxInputs () const
 
virtual unsigned maxOutputs ()
 
OP_SpareParmsloadSpareParms (UT_IStream &is)
 
PRM_TemplategetParmTemplates ()
 
PRM_ScriptImportsgetParmTemplateImports ()
 
PRM_TemplategetLayoutParmTemplates ()
 
PRM_ScriptImportsgetLayoutParmTemplateImports ()
 
virtual const PRM_TemplategetBaseParmTemplates ()
 
PRM_TemplategetBaseOverrideLayoutParmTemplates ()
 
virtual PRM_TemplategetObsoleteTemplates ()
 
void setObsoleteTemplates (PRM_Template *tmpl)
 
bool getOverrideLayoutParmTemplateFile (UT_String &ds_path) const
 
CH_LocalVariablegetVariable (int i) const
 
CH_LocalVariablegetVariable (const char *name) const
 
CH_LocalVariablegetVariables () const
 
int getVariableCount () const
 
void resetVariables (OP_VariablePair *variable_pair)
 
unsigned isNetwork () const
 
unsigned isGenerator () const
 
unsigned isScriptedOp () const
 
bool isCustomDSO () const
 
unsigned unorderedInputs () const
 
unsigned isManagementOp () const
 
unsigned isOutputOp () const
 
bool hasEditableInputData () const
 
bool getIsPrimarySubnetType () const
 
bool isCreatingNode () const
 
bool isChangingParmTemplates () const
 
bool hasNodeLoadingContentsSection () const
 
void beginLoadingContentsSectionForNode ()
 
void endLoadingContentsSectionForNode ()
 
bool shouldPreserve () const
 
virtual int compareOperator (const OP_Operator *other, int method) const
 
void changeParmTemplate (PRM_Template *tp)
 
unsigned getPermissionMask () const
 
virtual bool wantsParametersAnimatable () const
 
virtual bool wantsInputEditor () const
 
virtual bool wantsParmOrderEditor () const
 
virtual bool wantsOutputNameEditor () const
 
virtual bool wantsParentInputs () const
 
const OP_InputDataEditorConfigExgetInputDataEditorConfigEx () const
 
void setInputDataEditorConfigEx (const OP_InputDataEditorConfigEx &config)
 
void setInputDataEditorConfig (const OP_InputDataEditorConfig &config)
 
void fillInfoTree (UT_InfoTree &tree, const OP_NodeInfoTreeParms &parms)
 
const char * getTableName () const
 
OP_OperatorTablegetTable () const
 
const UT_StringHoldergetChildTableName () const
 
OP_OperatorTablegetChildOperatorTable () const
 
OP_OTLLicenseType getLicense ()
 
void setDefinition (const char *def)
 
void setEnglish (const char *english)
 
void informOfTabMenuFlagChange ()
 
virtual void setName (const char *name)
 
void setMinInputs (int inputs)
 
void setMaxInputs (int inputs)
 
void setIsGenerator (bool isgen)
 
void updatePresetInfo ()
 
PRM_PresetInfogetPresetInfo ()
 
bool runEventScript (const char *event, OP_Node *node_arg=nullptr, bool full_path=false, UT_Options *extra_args=nullptr, bool *node_deleted_by_script=nullptr)
 
PY_EvaluationContextgetPythonModuleDicts ()
 
bool hasLoadedPythonModuleSection () const
 
void loadPythonModuleSection (bool force=false)
 
PY_EvaluationContextgetViewerStateModuleDicts ()
 
bool hasLoadedViewerStateModuleSection () const
 
void loadViewerStateModuleSection (bool force=false)
 
void clearEventScriptPathCache ()
 
void getCachedEventScriptPaths (UT_StringArray &events, UT_StringArray &paths, bool only_nonempty) const
 
bool isThreadSafe () const
 
void setIsThreadSafe (bool is_safe)
 
bool isCompiled ()
 
bool isBlackBoxed ()
 Returns true if this operator is black boxed, and false otherwise. More...
 
void constructIndexFileSectionPath (UT_String &path, const char *opdef_or_oplib, const char *section_name) const
 
void constructIndexFileSectionPath (UT_String &path, const char *opdef_or_oplib, const UT_StringArray &section_names) const
 
void setLegacyInputsMap (const char *map)
 
void getLegacyInputsMap (UT_String &map) const
 
const UT_StringArraygetLegacyInputsIndexMap () const
 
const UT_StringHoldergetInputName (int idx) const
 Accessing operator inputs name, label, and reference flag. More...
 
const UT_StringArraygetInputNames () const
 Accessing operator inputs name, label, and reference flag. More...
 
const UT_StringHoldergetInputLabel (int idx) const
 Accessing operator inputs name, label, and reference flag. More...
 
const UT_StringArraygetInputLabels () const
 Accessing operator inputs name, label, and reference flag. More...
 
bool getInputIsReference (int idx) const
 Accessing operator inputs name, label, and reference flag. More...
 
const UT_Array< bool > & getInputAreReferences () const
 Accessing operator inputs name, label, and reference flag. More...
 
virtual bool allowsInputNameEditing () const
 Accessing operator inputs name, label, and reference flag. More...
 
const UT_StringHoldergetOutputLabel (int idx) const
 
const UT_StringArraygetOutputLabels () const
 
void getOpBasedFileName (UT_String &filename)
 
void getOpBasedFileName (UT_WorkBuffer &filename)
 

Static Public Member Functions

static PI_ScriptOperatorcreateScriptOp (const OP_OTLDefinition &def, OP_Constructor construct, const char *child_table_name, unsigned flags=0, PRM_Template *base=0, VEX_ContextType vextype=VEX_INVALID_CONTEXT, CH_LocalVariable *vars=0, bool is_written_in_python=false)
 
static PRM_ScriptPageallocateScriptPage (OP_Operator *op)
 
static PRM_Callback getDefaultCallback ()
 
- Static Public Member Functions inherited from OP_ScriptOperator
static OP_ScriptOperatorcreateMantraScriptOp (const char *name, const char *english)
 
static int findScriptOperators (const char *path, const char *filename, OP_OTLDefinitionArray &defs)
 
static UT_StringSetgetAllIndexFiles ()
 
- Static Public Member Functions inherited from OP_Operator
static void clearOperatorHelpCache ()
 
static int loadFromOpType (const char *fname, const char *savedir)
 
static int uninstallOpType (const char *path, const char *tablename, const char *opname, const char *indexpath, const char *indexfile)
 
static void removeHelpCardOverrides (UT_FileUtil *fu, const char *path, const char *tablename, const char *opname, int flags)
 
static void removeRenameOverrides (UT_FileUtil *fu, const char *path, const char *tablename, const char *opname, int flags)
 
static void removeIconOverrides (UT_FileUtil *fu, const char *path, const char *tablename, const char *opname, int flags)
 
static void removeCmdOverrides (UT_FileUtil *fu, const char *path, const char *tablename, const char *opname, int flags)
 
static void getDefaultIconName (const char *tablename, const char *opname, UT_String &iconname)
 
static const char * getCurrentPythonModuleKey ()
 
static const OP_OperatormapSecurityKeyToOperator (const char *key)
 
static void registerPythonModuleKeyClient (void *client)
 
static bool verifyPythonModuleKeyClient (const OP_Operator *op, void *client)
 
static PRM_TemplategetEmptyTemplateList ()
 
static int operatorNameCompare (const OP_Operator *a, const OP_Operator *b)
 

Protected Member Functions

 PI_ScriptOperator (const char *name, const char *english, OP_Constructor construct, PRM_Template *templates, const char *child_table_name, unsigned min_sources, unsigned max_sources=9999, CH_LocalVariable *variables=0, unsigned flags=0, const char **inputlabels=0, int maxoutputs=1)
 
void removeAllBindings () override
 
void refreshAllBindings () override
 
PRM_TemplateloadParmTemplates (UT_IStream &is, const char *filename, UT_String &scriptName, PRM_ScriptImports *&imports) override
 
virtual const char * getAddedDSIncludePath ()
 
- Protected Member Functions inherited from OP_ScriptOperator
 OP_ScriptOperator (const char *name, const char *english, OP_Constructor construct, PRM_Template *templates, const char *child_table_name, unsigned min_sources, unsigned max_sources=9999, CH_LocalVariable *variables=0, unsigned flags=0, const char **inputlabels=0, int maxoutputs=1)
 
void getDefinitionSourceText (UT_String &defsource)
 Obtains a string that specifies the definition source of this operator. More...
 
bool loadParmTemplatesSubclass () override
 
- Protected Member Functions inherited from OP_Operator
void notifyUpdateTemplatesSinksOfUpdate ()
 
void notifyUpdateTemplatesSinksOfDelete ()
 
void notifyActiveNodesOfTemplatesUpdate ()
 
void setDescriptiveParmName (const UT_StringHolder &parm)
 
void dirtyParmTemplatesLoaded ()
 
bool loadAndCreateLayoutParmTemplates (PRM_ScriptPage *page, DS_Stream &ds_is, PRM_Template *&base_tplates, PRM_Template *&layout_tplates, PRM_ScriptImports *&imports, PRM_Template *&tplates, int base_controls_switcher_index, int base_controls_insert_index, int base_controls_switcher_page_num, PRM_Default *&base_controls_switcher_defaults, bool hide_default_parms)
 Load parameter templates from the specified file stream. More...
 

Additional Inherited Members

- Public Types inherited from OP_ScriptOperator
enum  { OP_SYNTAX_VEX, OP_SYNTAX_SHELL, OP_SYNTAX_RMAN }
 
- Public Types inherited from OP_Operator
enum  OP_OperatorCompare { OP_COMPARE_GEN_ENGLISH = 0, OP_COMPARE_GEN_NAME = 1, OP_COMPARE_ENGLISH = 2, OP_COMPARE_NAME = 3 }
 
- Static Protected Member Functions inherited from OP_ScriptOperator
static void freeParmTemplates (PRM_Template *templates)
 
static void freeSwitcherDefaults (PRM_Default *defs)
 
- Static Protected Member Functions inherited from OP_Operator
static PRM_TemplateaddTemplates (OP_TemplatePair *)
 
static CH_LocalVariableaddVariables (OP_VariablePair *, int &)
 
- Protected Attributes inherited from OP_ScriptOperator
UT_String myScriptName
 
UT_String myHelp
 
fpreal myUnitLength
 
fpreal myUnitMass
 
PRM_ScriptPagemyPage
 
time_t myDialogTimeStamp
 
int myStartParm
 
int myEndParm
 
int myBaseControlsSwitcherIndex
 
int myBaseControlsSwitcherPageNum
 
int myBaseControlsInsertIndex
 
PRM_DefaultmyBaseSwitcherDefaults
 
unsigned mySyntax
 
UT_String myInfoText
 
PY_CompiledCodemyCachedCompiledPythonCookCode
 
UT_Lock myCachedCompiledPythonCookLock
 
int myHasCachedCode
 State var indicating if cached code is saved with HDA definition. More...
 
- Protected Attributes inherited from OP_Operator
PRM_TemplatemyParmTemplates
 
PRM_ScriptImportsmyImports
 
PRM_TemplatemyLayoutParmTemplates
 
PRM_ScriptImportsmyLayoutParmImports
 
PRM_TemplatemyBaseOverrideLayout
 
PRM_TemplatemyBase
 
bool myParmTemplatesLoaded
 
PRM_TemplatemyObsoleteTemplates
 
UT_StringArray myInputNames
 
UT_StringArray myInputLabels
 
UT_StringArray myOutputLabels
 
UT_DeepString myTabSubmenuPath
 
UT_Array< bool > myInputReferences
 
CH_LocalVariablemyVariables
 
int myNvariables
 
UT_StringHolder myChildTableName
 
OP_OTLDefinition myOTLDefinition
 
OP_InputDataEditorConfigEx myInputDataEditorConfig
 
VEX_ContextType myVexContextType
 
RSL_ContextType myRslContextType
 
unsigned myFlags
 
bool myHasContentsSection
 
UT_SharedPtr< PRM_ScriptPagemyOverrideLayoutParmScriptPage
 
- Static Protected Attributes inherited from OP_ScriptOperator
static UT_StringSet theAllIndexFiles
 

Detailed Description

Definition at line 21 of file PI_ScriptOperator.h.

Constructor & Destructor Documentation

PI_ScriptOperator::~PI_ScriptOperator ( )
override
PI_ScriptOperator::PI_ScriptOperator ( const char *  name,
const char *  english,
OP_Constructor  construct,
PRM_Template templates,
const char *  child_table_name,
unsigned  min_sources,
unsigned  max_sources = 9999,
CH_LocalVariable variables = 0,
unsigned  flags = 0,
const char **  inputlabels = 0,
int  maxoutputs = 1 
)
protected

Member Function Documentation

static PRM_ScriptPage* PI_ScriptOperator::allocateScriptPage ( OP_Operator op)
static
static PI_ScriptOperator* PI_ScriptOperator::createScriptOp ( const OP_OTLDefinition def,
OP_Constructor  construct,
const char *  child_table_name,
unsigned  flags = 0,
PRM_Template base = 0,
VEX_ContextType  vextype = VEX_INVALID_CONTEXT,
CH_LocalVariable vars = 0,
bool  is_written_in_python = false 
)
static
virtual const char* PI_ScriptOperator::getAddedDSIncludePath ( )
protectedvirtual

Reimplemented in VOP_ScriptOperator.

static PRM_Callback PI_ScriptOperator::getDefaultCallback ( )
static

Returns a callback that will run the script defined by the "script_callback" spare data tag string of a node parameter.

void PI_ScriptOperator::getRefreshPICommands ( OP_Node node,
std::ostream &  commands 
)
overridevirtual

Reimplemented from OP_Operator.

bool PI_ScriptOperator::isAllCookParms ( ) const
inline

Definition at line 57 of file PI_ScriptOperator.h.

bool PI_ScriptOperator::isAllNoSimParms ( ) const
inline

Definition at line 62 of file PI_ScriptOperator.h.

PRM_Template* PI_ScriptOperator::loadParmTemplates ( UT_IStream is,
const char *  filename,
UT_String scriptName,
PRM_ScriptImports *&  imports 
)
overrideprotectedvirtual

Reimplemented from OP_ScriptOperator.

Reimplemented in VOP_ScriptOperator.

void PI_ScriptOperator::refreshAllBindings ( )
overrideprotectedvirtual

Reimplemented from OP_ScriptOperator.

void PI_ScriptOperator::removeAllBindings ( )
overrideprotectedvirtual

Reimplemented from OP_ScriptOperator.

void PI_ScriptOperator::setAllCookParms ( bool  all_cook)
inline

Definition at line 55 of file PI_ScriptOperator.h.

void PI_ScriptOperator::setAllNoResimParms ( bool  all_sim)
inline

Definition at line 60 of file PI_ScriptOperator.h.

void PI_ScriptOperator::setControlsSwitcher ( int  switcher_index,
int  page_num,
int  insert_index = -1 
)

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