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

#include <OP_Operator.h>

+ Inheritance diagram for OP_Operator:

Public Types

enum  OP_OperatorCompare { OP_COMPARE_GEN_ENGLISH = 0, OP_COMPARE_GEN_NAME = 1, OP_COMPARE_ENGLISH = 2, OP_COMPARE_NAME = 3 }
 

Public Member Functions

 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_StringgetName () const
 
void getTableAndName (UT_WorkBuffer &name) const
 
void getTableAndName (UT_String &name) const
 
const UT_StringgetEnglish () const
 
UT_Color getDefaultColor () const
 
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_StringgetIndexPath () const
 
const UT_StringgetIndexFile () 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_StringgetExtraInfo () const
 
void setOTLDefinition (const OP_OTLDefinition &definition)
 
void getOTLDefinition (OP_OTLDefinition &definition) const
 
void setOTLLibrary (OP_OTLLibrary *library)
 
OP_OTLLibrarygetOTLLibrary ()
 
FS_IndexFilegetOTLIndexFile ()
 
bool hasContentsSection ()
 
virtual void clearOTLIndexFile ()
 
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)
 
virtual bool hasLoadedParmTemplates () const
 
virtual int updateParmTemplates ()
 
virtual void forceUpdateParmTemplates ()
 
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_StringWrap &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 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 void getRefreshPICommands (OP_Node *, std::ostream &)
 
virtual bool wantsParametersAnimatable () const
 
virtual bool wantsInputEditor () const
 
virtual bool wantsParmOrderEditor () const
 
virtual bool wantsOutputNameEditor () const
 
virtual bool wantsParentInputs () const
 
virtual const char * getOperatorShortHelpString ()
 
virtual void getOperatorSpecificInfoText (int verbose, UT_WorkBuffer &text)
 
void fillInfoTree (UT_InfoTree &tree, const OP_NodeInfoTreeParms &parms)
 
virtual void fillInfoTreeOperatorSpecific (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=NULL, bool full_path=false, UT_Options *extra_args=NULL, bool *node_deleted_by_script=NULL)
 
PY_EvaluationContextgetPythonModuleDicts ()
 
bool hasLoadedPythonModuleSection () const
 
void loadPythonModuleSection (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 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

void notifyUpdateTemplatesSinksOfUpdate ()
 
void notifyUpdateTemplatesSinksOfDelete ()
 
void notifyActiveNodesOfTemplatesUpdate ()
 
void setDescriptiveParmName (const UT_StringHolder &parm)
 
void dirtyParmTemplatesLoaded ()
 
virtual bool loadParmTemplatesSubclass ()
 
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...
 

Static Protected Member Functions

static PRM_TemplateaddTemplates (OP_TemplatePair *)
 
static CH_LocalVariableaddVariables (OP_VariablePair *, int &)
 

Protected Attributes

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
 
VEX_ContextType myVexContextType
 
RSL_ContextType myRslContextType
 
unsigned myFlags
 
bool myHasContentsSection
 
UT_SharedPtr< PRM_ScriptPagemyOverrideLayoutParmScriptPage
 

Friends

class OP_OperatorTable
 
class SHOP_ScriptOperator
 
class OP_UpdateTemplatesSink
 

Detailed Description

Examples:
CHOP/CHOP_Blend.C, CHOP/CHOP_Blend.h, CHOP/CHOP_Spring.C, CHOP/CHOP_Spring.h, CHOP/CHOP_Stair.C, CHOP/CHOP_Stair.h, COP2/COP2_FullImageFilter.C, COP2/COP2_FullImageFilter.h, COP2/COP2_MultiInputWipe.C, COP2/COP2_MultiInputWipe.h, COP2/COP2_PixelAdd.C, COP2/COP2_PixelAdd.h, COP2/COP2_SampleFilter.C, COP2/COP2_SampleFilter.h, COP2/COP2_SampleGenerator.C, COP2/COP2_SampleGenerator.h, DOP/DOP_GroupAndApply.C, DOP/DOP_GroupAndApply.h, euclid/SOP_Euclid.C, euclid/SOP_Euclid.h, expr/functions.C, field3d/ROP_Field3D.C, field3d/ROP_Field3D.h, HOM/SOP_HOMWave.C, HOM/SOP_HOMWave.h, OBJ/OBJ_Lamp.C, OBJ/OBJ_Shake.C, OBJ/OBJ_Shake.h, OBJ/OBJ_WorldAlign.C, OBJ/OBJ_WorldAlign.h, ROP/ROP_Dumper.C, ROP/ROP_Dumper.h, SHOP/SHOP_Multi.C, SHOP/SHOP_Multi.h, SHOP/SHOP_POVMaterial.C, SHOP/SHOP_POVMaterial.h, SOP/MSS_BrushHairLenSelector.C, SOP/SOP_ArrayAttrib.C, SOP/SOP_ArrayAttrib.h, SOP/SOP_BlindData.C, SOP/SOP_BlindData.h, SOP/SOP_BouncyAgent.C, SOP/SOP_BouncyAgent.h, SOP/SOP_BrushHairLen.C, SOP/SOP_BrushHairLen.h, SOP/SOP_CopRaster.C, SOP/SOP_CopRaster.h, SOP/SOP_CPPWave.C, SOP/SOP_CPPWave.h, SOP/SOP_CustomBrush.C, SOP/SOP_CustomBrush.h, SOP/SOP_DetailAttrib.C, SOP/SOP_DetailAttrib.h, SOP/SOP_DualStar.C, SOP/SOP_DualStar.h, SOP/SOP_Flatten.C, SOP/SOP_Flatten.h, SOP/SOP_GroupRename.C, SOP/SOP_GroupRename.h, SOP/SOP_HDKObject.C, SOP/SOP_HDKObject.h, SOP/SOP_IKSample.C, SOP/SOP_IKSample.h, SOP/SOP_NURBS.C, SOP/SOP_NURBS.h, SOP/SOP_PointWave.C, SOP/SOP_PointWave.h, SOP/SOP_PrimVOP.C, SOP/SOP_PrimVOP.h, SOP/SOP_SParticle.C, SOP/SOP_SParticle.h, SOP/SOP_Surface.C, SOP/SOP_Surface.h, SOP/SOP_TimeCompare.C, SOP/SOP_TimeCompare.h, tetprim/SOP_Tetra.C, tetprim/SOP_Tetra.h, VOP/VOP_CustomContext.C, VOP/VOP_CustomContext.h, VOP/VOP_Switch.C, and VOP/VOP_Switch.h.

Definition at line 133 of file OP_Operator.h.

Member Enumeration Documentation

Enumerator
OP_COMPARE_GEN_ENGLISH 
OP_COMPARE_GEN_NAME 
OP_COMPARE_ENGLISH 
OP_COMPARE_NAME 

Definition at line 489 of file OP_Operator.h.

Constructor & Destructor Documentation

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.

OP_Operator::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::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::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_Operator ( )
virtual

Member Function Documentation

static PRM_Template* OP_Operator::addTemplates ( OP_TemplatePair )
staticprotected
static CH_LocalVariable* OP_Operator::addVariables ( OP_VariablePair ,
int  
)
staticprotected
virtual bool OP_Operator::allowsInputNameEditing ( ) const
virtual

Accessing operator inputs name, label, and reference flag.

void OP_Operator::beginLoadingContentsSectionForNode ( )
inline

Definition at line 472 of file OP_Operator.h.

void OP_Operator::changeParmTemplate ( PRM_Template tp)
void OP_Operator::clearEventScriptPathCache ( )
static void OP_Operator::clearOperatorHelpCache ( )
inlinestatic

Definition at line 251 of file OP_Operator.h.

virtual void OP_Operator::clearOTLIndexFile ( )
virtual

Reimplemented in OP_ScriptOperator.

virtual int OP_Operator::compareOperator ( const OP_Operator other,
int  method 
) const
virtual

Reimplemented in SHOP_Operator.

void OP_Operator::constructIndexFileSectionPath ( UT_String path,
const char *  opdef_or_oplib,
const char *  section_name 
) const

Returns a path that refers to an index file section within an OTL library or an HDA definition (depending on opdef_or_oplib prefix, which should be either OTL_LIBRARY_PREFIX or OTL_DEFINITION_PREFIX). The method version that takes a string array instead of a string is intended for nested sections where the sections towards the end of the array are innermost sections within sections earlier in the array (that are themselves index files). For example, the path may be "opdef:/Object/hda?section" or "opdef:/artistA::Object/hda::2.0?section, or "opdef:/Sop/hda?outer_section.idx?inner_section, etc

void OP_Operator::constructIndexFileSectionPath ( UT_String path,
const char *  opdef_or_oplib,
const UT_StringArray section_names 
) const

Returns a path that refers to an index file section within an OTL library or an HDA definition (depending on opdef_or_oplib prefix, which should be either OTL_LIBRARY_PREFIX or OTL_DEFINITION_PREFIX). The method version that takes a string array instead of a string is intended for nested sections where the sections towards the end of the array are innermost sections within sections earlier in the array (that are themselves index files). For example, the path may be "opdef:/Object/hda?section" or "opdef:/artistA::Object/hda::2.0?section, or "opdef:/Sop/hda?outer_section.idx?inner_section, etc

OP_Node* OP_Operator::constructNode ( OP_Network net,
const char *  name 
)
FS_IndexFile* OP_Operator::createDefaultOTLIndexFile ( ) const
FS_IndexFile* OP_Operator::createOTLIndexFile ( bool  reservedsectionsonly,
UT_StringArray externalfiles 
)
void OP_Operator::dirtyParmTemplatesLoaded ( )
protected
void OP_Operator::endLoadingContentsSectionForNode ( )
inline

Definition at line 476 of file OP_Operator.h.

void OP_Operator::fillInfoTree ( UT_InfoTree tree,
const OP_NodeInfoTreeParms parms 
)

Fill in 'tree' with details that are common to all operator types. Then call fillInfoTreeOperatorSpecific() to get specific details about this specific operator

virtual void OP_Operator::fillInfoTreeOperatorSpecific ( UT_InfoTree tree,
const OP_NodeInfoTreeParms parms 
)
virtual

Triggered by 'fillInfoTree()', this virtual function adds all operator- specific info to 'tree'. All child classes must create their own branches under 'tree' to place their info

Reimplemented in OP_ScriptOperator.

virtual void OP_Operator::forceUpdateParmTemplates ( )
virtual

Reimplemented in OP_ScriptOperator.

OP_Node* OP_Operator::getActiveNode ( int  i) const
PRM_Template* OP_Operator::getBaseOverrideLayoutParmTemplates ( )
inline

Returns the parm templates that are base to the final parameter layout if the layout is overridden by a custom dialog script. Returns nullptr if the parameter layout is not overridden.

Definition at line 406 of file OP_Operator.h.

virtual const PRM_Template* OP_Operator::getBaseParmTemplates ( )
inlinevirtual

Exists only for script/HDA operators. Returns the parm templates that are base to the HDA parameters.

Reimplemented in VOP_ScriptOperator.

Definition at line 401 of file OP_Operator.h.

void OP_Operator::getCachedEventScriptPaths ( UT_StringArray events,
UT_StringArray paths,
bool  only_nonempty 
) const
OP_OperatorTable* OP_Operator::getChildOperatorTable ( ) const
const UT_StringHolder& OP_Operator::getChildTableName ( ) const
void OP_Operator::getComment ( UT_String comment)
static const char* OP_Operator::getCurrentPythonModuleKey ( )
static
UT_Color OP_Operator::getDefaultColor ( ) const
static void OP_Operator::getDefaultIconName ( const char *  tablename,
const char *  opname,
UT_String iconname 
)
static
const UT_StringHolder& OP_Operator::getDefaultShape ( ) const
void OP_Operator::getDefaultState ( UT_String statename)
OP_Node* OP_Operator::getDefiningNetwork ( ) const
void OP_Operator::getDefinitionSectionName ( UT_String sectname) const

Returns an official name of the library section that contains the HDA definition eg "Object/hda".

void OP_Operator::getDefinitionSource ( UT_String defsource) const
void OP_Operator::getDescriptiveParmName ( UT_String descrparm)
void OP_Operator::getDiveTarget ( UT_String divetarget)
void OP_Operator::getEditableSubNodes ( UT_String pattern)
static PRM_Template* OP_Operator::getEmptyTemplateList ( )
static
const UT_String& OP_Operator::getEnglish ( ) const
inline

Definition at line 214 of file OP_Operator.h.

const UT_String& OP_Operator::getExtraInfo ( ) const
inline

Definition at line 284 of file OP_Operator.h.

void OP_Operator::getFunctionName ( UT_String function_name)
virtual bool OP_Operator::getHDKHelp ( UT_String ) const
inlinevirtual

Definition at line 219 of file OP_Operator.h.

void OP_Operator::getHelpFileDirAndName ( UT_String script_dir,
UT_String name 
)
const char* OP_Operator::getIconName ( ) const
const UT_String& OP_Operator::getIndexFile ( ) const
inline

Definition at line 260 of file OP_Operator.h.

const UT_String& OP_Operator::getIndexPath ( ) const
inline

Definition at line 258 of file OP_Operator.h.

const UT_Array<bool>& OP_Operator::getInputAreReferences ( ) const
inline

Accessing operator inputs name, label, and reference flag.

Definition at line 512 of file OP_Operator.h.

bool OP_Operator::getInputIsReference ( int  idx) const

Accessing operator inputs name, label, and reference flag.

const UT_StringHolder& OP_Operator::getInputLabel ( int  idx) const

Accessing operator inputs name, label, and reference flag.

const UT_StringArray& OP_Operator::getInputLabels ( ) const
inline

Accessing operator inputs name, label, and reference flag.

Definition at line 509 of file OP_Operator.h.

const UT_StringHolder& OP_Operator::getInputName ( int  idx) const

Accessing operator inputs name, label, and reference flag.

const UT_StringArray& OP_Operator::getInputNames ( ) const
inline

Accessing operator inputs name, label, and reference flag.

Definition at line 506 of file OP_Operator.h.

bool OP_Operator::getIsDummyDefinition ( ) const
inline

Definition at line 274 of file OP_Operator.h.

bool OP_Operator::getIsPrimarySubnetType ( ) const
inline

Test to see if this is the primary "subnet" operator for the table. This is the operator type which is used as a default container for nodes. There should only be one of these defined.

Definition at line 456 of file OP_Operator.h.

PRM_ScriptImports* OP_Operator::getLayoutParmTemplateImports ( )
PRM_Template* OP_Operator::getLayoutParmTemplates ( )

Returns the operator's parameter templates in their final parameter layout. This can return nullptr if the operator is not a script/HDA / operator and if the operator's parameter layout is not overridden by a custom dialog script.

const UT_StringArray* OP_Operator::getLegacyInputsIndexMap ( ) const

Sets an array that maps an old input index to a new input name. It is used for handling legacy H11 hip files, where nodes were saved with indices only. If an operator definition is changed (ie, inputs get inserted or reordered), it is necessary to provide this mapping, to be able to load legacy hip files. If op definition does not change, there is no need to define this mapping, since the default assignment of input index will still work. Also it is not needed for handling newer hip files that save the input name information and can handle input order change in new op definition. The map is given as a sequence of input names eg "name1 name2".

void OP_Operator::getLegacyInputsMap ( UT_String map) const

Sets an array that maps an old input index to a new input name. It is used for handling legacy H11 hip files, where nodes were saved with indices only. If an operator definition is changed (ie, inputs get inserted or reordered), it is necessary to provide this mapping, to be able to load legacy hip files. If op definition does not change, there is no need to define this mapping, since the default assignment of input index will still work. Also it is not needed for handling newer hip files that save the input name information and can handle input order change in new op definition. The map is given as a sequence of input names eg "name1 name2".

OP_OTLLicenseType OP_Operator::getLicense ( )
void OP_Operator::getMessageSubNodes ( UT_String pattern)
int OP_Operator::getModTime ( ) const
inline

Definition at line 272 of file OP_Operator.h.

const UT_String& OP_Operator::getName ( void  ) const
inline
Examples:
expr/functions.C, and VOP/VOP_CustomContext.C.

Definition at line 202 of file OP_Operator.h.

int OP_Operator::getNumActiveNodes ( ) const
virtual PRM_Template* OP_Operator::getObsoleteTemplates ( )
inlinevirtual

Definition at line 409 of file OP_Operator.h.

void OP_Operator::getOpBasedFileName ( UT_String filename)

Returns a file name corresponding to the operator name. In most cases, the file name is the same as the operator name, but since it has to be acceptable by all file systems, some invalid characters may be converted to dashes (eg, the namespace semicolons which cause problems on Windows).

void OP_Operator::getOpBasedFileName ( UT_WorkBuffer filename)

Returns a file name corresponding to the operator name. In most cases, the file name is the same as the operator name, but since it has to be acceptable by all file systems, some invalid characters may be converted to dashes (eg, the namespace semicolons which cause problems on Windows).

virtual const char* OP_Operator::getOperatorShortHelpString ( )
virtual

Reimplemented in OP_ScriptOperator.

virtual void OP_Operator::getOperatorSpecificInfoText ( int  verbose,
UT_WorkBuffer text 
)
virtual

Reimplemented in OP_ScriptOperator, and DOP_Operator.

virtual bool OP_Operator::getOpHelpURL ( UT_String url)
virtual
virtual OP_SpecificData* OP_Operator::getOpSpecificData ( )
inlinevirtual

Reimplemented in SHOP_Operator, DOP_Operator, VOP_ScriptOperator, and VOP_Operator.

Definition at line 197 of file OP_Operator.h.

virtual const OP_SpecificData* OP_Operator::getOpSpecificData ( ) const
inlinevirtual

Reimplemented in SHOP_Operator, DOP_Operator, VOP_ScriptOperator, and VOP_Operator.

Definition at line 199 of file OP_Operator.h.

virtual bool OP_Operator::getOpTabSubMenuPath ( UT_String tab_submenu_path)
virtual
void OP_Operator::getOTLDefinition ( OP_OTLDefinition definition) const
inline

Definition at line 289 of file OP_Operator.h.

bool OP_Operator::getOTLHelp ( UT_String str)
FS_IndexFile* OP_Operator::getOTLIndexFile ( )
OP_OTLLibrary* OP_Operator::getOTLLibrary ( )
inline

Definition at line 295 of file OP_Operator.h.

const UT_StringHolder& OP_Operator::getOutputLabel ( int  idx) const

Accessing operator outputs label.

const UT_StringArray& OP_Operator::getOutputLabels ( ) const
inline

Accessing operator outputs label.

Definition at line 518 of file OP_Operator.h.

bool OP_Operator::getOverrideLayoutParmTemplateFile ( UT_StringWrap ds_path) const

Pass back the file path of the .ds file that was loaded to override the operator's parameter templates. Return true if such a file was found and loaded. Return false if no .ds override file was found.

PRM_ScriptImports* OP_Operator::getParmTemplateImports ( )
PRM_Template* OP_Operator::getParmTemplates ( )

Returns the operator's parameter templates with base parameters appearing first (if they exist for script/HDA operators) followed by non-base parameters.

If getLayoutParmTemplates() returns nullptr, then getParmTemplates() can be used for the parameter layout.

unsigned OP_Operator::getPermissionMask ( ) const
PRM_PresetInfo* OP_Operator::getPresetInfo ( )
PY_EvaluationContext* OP_Operator::getPythonModuleDicts ( )
inline

Definition at line 662 of file OP_Operator.h.

virtual void OP_Operator::getRefreshPICommands ( OP_Node ,
std::ostream &   
)
inlinevirtual

Reimplemented in PI_ScriptOperator.

Definition at line 526 of file OP_Operator.h.

RSL_ContextType OP_Operator::getRslContextType ( ) const
inline

Definition at line 270 of file OP_Operator.h.

bool OP_Operator::getScriptIsPython ( ) const
inline

Definition at line 278 of file OP_Operator.h.

bool OP_Operator::getScriptIsRsl ( ) const
inline

Definition at line 266 of file OP_Operator.h.

bool OP_Operator::getScriptIsSubnet ( ) const
inline

Definition at line 262 of file OP_Operator.h.

bool OP_Operator::getScriptIsVex ( ) const
inline

Definition at line 264 of file OP_Operator.h.

void OP_Operator::getSecondaryFunctionsNames ( UT_StringMap< UT_StringHolder > &  functions)
OP_OperatorTable* OP_Operator::getTable ( ) const
void OP_Operator::getTableAndName ( UT_WorkBuffer name) const
inline

Get the op table name and the op name concatenated together to get a unique name. Returns full name with table, including namespace and version tags if there are any, eg "artistA::table/op::2.0"

Definition at line 209 of file OP_Operator.h.

void OP_Operator::getTableAndName ( UT_String name) const
inline

Definition at line 211 of file OP_Operator.h.

const char* OP_Operator::getTableName ( ) const
CH_LocalVariable* OP_Operator::getVariable ( int  i) const
CH_LocalVariable* OP_Operator::getVariable ( const char *  name) const
int OP_Operator::getVariableCount ( ) const
inline

Definition at line 424 of file OP_Operator.h.

CH_LocalVariable* OP_Operator::getVariables ( ) const
inline

Definition at line 423 of file OP_Operator.h.

virtual bool OP_Operator::getVersion ( UT_String version)
virtual

For HDAs, getVersion will return the version number defined by its HDA definition, or the empty string if it does not exist. For non-HDA's (ie. native or HDK node types), it will return the Houdini version X.Y.Z.W string that we were compiled with. Subclasses may override this to provide different numbering. One of the uses of this function to determine if loading a node's parameters needs to be upgraded.

Reimplemented in DOP_AutoOperator.

VEX_ContextType OP_Operator::getVexContextType ( ) const
inline

Definition at line 268 of file OP_Operator.h.

bool OP_Operator::hasContentsSection ( )
virtual bool OP_Operator::hasLoadedParmTemplates ( ) const
virtual

Reimplemented in OP_ScriptOperator.

bool OP_Operator::hasLoadedPythonModuleSection ( ) const
inline

Definition at line 664 of file OP_Operator.h.

bool OP_Operator::hasNodeLoadingContentsSection ( ) const
inline

Definition at line 468 of file OP_Operator.h.

void OP_Operator::informOfTabMenuFlagChange ( )
bool OP_Operator::isBlackBoxed ( )

Returns true if this operator is black boxed, and false otherwise.

bool OP_Operator::isChangingParmTemplates ( ) const
inline

Definition at line 464 of file OP_Operator.h.

bool OP_Operator::isCompiled ( )

Returns true if this operator comes from a compiled OTL, false otherwise.

bool OP_Operator::isCreatingNode ( ) const
inline

Definition at line 460 of file OP_Operator.h.

bool OP_Operator::isCustomDSO ( ) const
unsigned OP_Operator::isGenerator ( ) const
inline

Definition at line 432 of file OP_Operator.h.

unsigned OP_Operator::isManagementOp ( ) const
inline

Definition at line 445 of file OP_Operator.h.

unsigned OP_Operator::isNetwork ( ) const
inline

Definition at line 428 of file OP_Operator.h.

unsigned OP_Operator::isOutputOp ( ) const
inline

Definition at line 449 of file OP_Operator.h.

unsigned OP_Operator::isScriptedOp ( ) const
inline

Definition at line 436 of file OP_Operator.h.

bool OP_Operator::isThreadSafe ( ) const
inline

Is this operator type thread-safe for cooking? OP_Node::cook() calls this to determine if serialization is needed. DEFAULT: false

Definition at line 680 of file OP_Operator.h.

void OP_Operator::listContainedOperators ( UT_StringSet contents_list)

List all operators found in the contents section.

bool OP_Operator::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 
)
protected

Load parameter templates from the specified file stream.

static int OP_Operator::loadFromOpType ( const char *  fname,
const char *  savedir 
)
static
virtual bool OP_Operator::loadParmTemplatesSubclass ( )
protectedvirtual

Reimplemented in OP_ScriptOperator.

void OP_Operator::loadPythonModuleSection ( bool  force = false)
OP_SpareParms* OP_Operator::loadSpareParms ( UT_IStream is)
static const OP_Operator* OP_Operator::mapSecurityKeyToOperator ( const char *  key)
static
unsigned OP_Operator::maxInputs ( ) const
inline

Definition at line 348 of file OP_Operator.h.

virtual unsigned OP_Operator::maxOutputs ( )
inlinevirtual

Reimplemented in DOP_Operator, VOP_ScriptOperator, SHOP_Operator, and VOP_Operator.

Definition at line 368 of file OP_Operator.h.

unsigned OP_Operator::minInputs ( ) const
inline

Definition at line 346 of file OP_Operator.h.

void OP_Operator::nodeDestroyed ( OP_Node node)
void OP_Operator::notifyActiveNodesOfTemplatesUpdate ( )
protected
void OP_Operator::notifyUpdateTemplatesSinksOfDelete ( )
protected
void OP_Operator::notifyUpdateTemplatesSinksOfUpdate ( )
protected
static int OP_Operator::operatorNameCompare ( const OP_Operator a,
const OP_Operator b 
)
inlinestatic

Definition at line 703 of file OP_Operator.h.

static void OP_Operator::registerPythonModuleKeyClient ( void client)
static
static void OP_Operator::removeCmdOverrides ( UT_FileUtil fu,
const char *  path,
const char *  tablename,
const char *  opname,
int  flags 
)
static
static void OP_Operator::removeHelpCardOverrides ( UT_FileUtil fu,
const char *  path,
const char *  tablename,
const char *  opname,
int  flags 
)
static
static void OP_Operator::removeIconOverrides ( UT_FileUtil fu,
const char *  path,
const char *  tablename,
const char *  opname,
int  flags 
)
static
static void OP_Operator::removeRenameOverrides ( UT_FileUtil fu,
const char *  path,
const char *  tablename,
const char *  opname,
int  flags 
)
static
void OP_Operator::resetVariables ( OP_VariablePair variable_pair)
bool OP_Operator::runEventScript ( const char *  event,
OP_Node node_arg = NULL,
bool  full_path = false,
UT_Options extra_args = NULL,
bool *  node_deleted_by_script = NULL 
)
void OP_Operator::setDefaultIconName ( )
void OP_Operator::setDefinition ( const char *  def)
void OP_Operator::setDescriptiveParmName ( const UT_StringHolder parm)
inlineprotected

Definition at line 726 of file OP_Operator.h.

void OP_Operator::setEnglish ( const char *  english)
void OP_Operator::setIconName ( const char *  name)
void OP_Operator::setIsGenerator ( bool  isgen)
void OP_Operator::setIsThreadSafe ( bool  is_safe)
inline

This function is used to specify whether a particular operator type can be cooked in a multi-threaded manner.

Definition at line 685 of file OP_Operator.h.

void OP_Operator::setLegacyInputsMap ( const char *  map)

Sets an array that maps an old input index to a new input name. It is used for handling legacy H11 hip files, where nodes were saved with indices only. If an operator definition is changed (ie, inputs get inserted or reordered), it is necessary to provide this mapping, to be able to load legacy hip files. If op definition does not change, there is no need to define this mapping, since the default assignment of input index will still work. Also it is not needed for handling newer hip files that save the input name information and can handle input order change in new op definition. The map is given as a sequence of input names eg "name1 name2".

void OP_Operator::setMaxInputs ( int  inputs)
void OP_Operator::setMinInputs ( int  inputs)
virtual void OP_Operator::setName ( const char *  name)
virtual
void OP_Operator::setObsoleteTemplates ( PRM_Template tmpl)
inline

Definition at line 411 of file OP_Operator.h.

void OP_Operator::setOpTabSubMenuPath ( const char *  tab_submenu_path)
void OP_Operator::setOTLDefinition ( const OP_OTLDefinition definition)
void OP_Operator::setOTLLibrary ( OP_OTLLibrary library)
inline

Definition at line 293 of file OP_Operator.h.

void OP_Operator::setScriptIsPython ( bool  is_python)
inline

Definition at line 280 of file OP_Operator.h.

bool OP_Operator::shouldPreserve ( ) const
inline

Returns true if the operator should be preserved by op director, when elimiating unused HDAs during a library refresh.

Definition at line 484 of file OP_Operator.h.

static int OP_Operator::uninstallOpType ( const char *  path,
const char *  tablename,
const char *  opname,
const char *  indexpath,
const char *  indexfile 
)
static
unsigned OP_Operator::unorderedInputs ( ) const
inline

Definition at line 441 of file OP_Operator.h.

virtual int OP_Operator::updateParmTemplates ( )
virtual

Reimplemented in VOP_ScriptOperator, and OP_ScriptOperator.

void OP_Operator::updatePresetInfo ( )
static bool OP_Operator::verifyPythonModuleKeyClient ( const OP_Operator op,
void client 
)
static
virtual bool OP_Operator::wantsInputEditor ( ) const
virtual
virtual bool OP_Operator::wantsOutputNameEditor ( ) const
virtual

Reimplemented in VOP_Operator.

virtual bool OP_Operator::wantsParametersAnimatable ( ) const
virtual

Reimplemented in VOP_ScriptOperator.

virtual bool OP_Operator::wantsParentInputs ( ) const
virtual

Reimplemented in VOP_ScriptOperator, and VOP_Operator.

virtual bool OP_Operator::wantsParmOrderEditor ( ) const
virtual

Reimplemented in VOP_Operator.

Friends And Related Function Documentation

friend class OP_OperatorTable
friend

Definition at line 856 of file OP_Operator.h.

friend class OP_UpdateTemplatesSink
friend

Definition at line 858 of file OP_Operator.h.

friend class SHOP_ScriptOperator
friend

Definition at line 857 of file OP_Operator.h.

Member Data Documentation

PRM_Template* OP_Operator::myBase
protected

Definition at line 752 of file OP_Operator.h.

PRM_Template* OP_Operator::myBaseOverrideLayout
protected

Definition at line 751 of file OP_Operator.h.

UT_StringHolder OP_Operator::myChildTableName
protected

Definition at line 762 of file OP_Operator.h.

unsigned OP_Operator::myFlags
protected

Definition at line 767 of file OP_Operator.h.

bool OP_Operator::myHasContentsSection
protected

Definition at line 768 of file OP_Operator.h.

PRM_ScriptImports* OP_Operator::myImports
protected

Definition at line 748 of file OP_Operator.h.

UT_StringArray OP_Operator::myInputLabels
protected

Definition at line 756 of file OP_Operator.h.

UT_StringArray OP_Operator::myInputNames
protected

Definition at line 755 of file OP_Operator.h.

UT_Array<bool> OP_Operator::myInputReferences
protected

Definition at line 759 of file OP_Operator.h.

PRM_ScriptImports* OP_Operator::myLayoutParmImports
protected

Definition at line 750 of file OP_Operator.h.

PRM_Template* OP_Operator::myLayoutParmTemplates
protected

Definition at line 749 of file OP_Operator.h.

int OP_Operator::myNvariables
protected

Definition at line 761 of file OP_Operator.h.

PRM_Template* OP_Operator::myObsoleteTemplates
protected

Definition at line 754 of file OP_Operator.h.

OP_OTLDefinition OP_Operator::myOTLDefinition
protected

Definition at line 764 of file OP_Operator.h.

UT_StringArray OP_Operator::myOutputLabels
protected

Definition at line 757 of file OP_Operator.h.

UT_SharedPtr<PRM_ScriptPage> OP_Operator::myOverrideLayoutParmScriptPage
protected

Definition at line 776 of file OP_Operator.h.

PRM_Template* OP_Operator::myParmTemplates
protected

Definition at line 747 of file OP_Operator.h.

bool OP_Operator::myParmTemplatesLoaded
protected

Definition at line 753 of file OP_Operator.h.

RSL_ContextType OP_Operator::myRslContextType
protected

Definition at line 766 of file OP_Operator.h.

UT_DeepString OP_Operator::myTabSubmenuPath
protected

Definition at line 758 of file OP_Operator.h.

CH_LocalVariable* OP_Operator::myVariables
protected

Definition at line 760 of file OP_Operator.h.

VEX_ContextType OP_Operator::myVexContextType
protected

Definition at line 765 of file OP_Operator.h.


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