HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
OP_Node Class Referenceabstract

#include <OP_Node.h>

+ Inheritance diagram for OP_Node:

Public Types

enum  OTLSyncMode { OTLSYNC_DELAY = 0, OTLSYNC_DOSYNC = 1 }
 
enum  TransformMode {
  TRANSFORM_WORLD, TRANSFORM_IWORLD, TRANSFORM_PRE, TRANSFORM_PARENT,
  TRANSFORM_PARM, TRANSFORM_PRECONSTRAINT, TRANSFORM_PARENTBONE, TRANSFORM_RAWPARM,
  TRANSFORM_PREPARM, TRANSFORM_PRERAWPARM
}
 
enum  RampError { RAMP_ERR_SUCCESS, RAMP_ERR_NOT_FOUND, RAMP_ERR_ONLY_KEY }
 
using OP_LockTypes = OP_NodeFlags::OP_LockTypes
 

Public Member Functions

OP_NetworkgetParent () const
 
OP_NetworkgetRootCompiledParent () const
 
OP_NetworkgetParentNetwork () const override
 Returns the network that is our parent. More...
 
bool getIsContainedBy (const OP_Node *testparent) const
 
const UT_StringgetNetName () const
 Return the name of this node's parent. More...
 
virtual OP_OpTypeId getOpTypeID () const
 
virtual const char * getOpType () const
 
OP_ItemType getItemType () const override
 Our children should implement this and return what type of item they are. More...
 
const UT_StringgetDelScript () const
 Obtain the node's script which is called when it is being deleted. More...
 
bool setDelScript (const char *str)
 
void pickRequest (int shift)
 
bool notifyVarChange (const char *varname, OP_NodeList *changed_nodes=nullptr)
 
virtual int getNchildren () const
 
virtual OP_NodegetChild (const char *name, int *hint=0) const
 
virtual OP_NodegetChild (int index) const
 
void getPickedChildren (OP_NodeList &picked, bool include_hidden=false) const
 
void getAllChildren (OP_NodeList &children) const
 
virtual OP_NodematchChild (const char *pattern, OP_Node *prevmatch=0, const char *optype=0, int casesensitive=0) const
 
virtual OP_NodematchChildBackwards (const char *pattern, OP_Node *prevmatch=0, const char *optype=0, int casesensitive=0) const
 
virtual OP_NetworkcreateProxyRefNode (const char *path)
 
OP_ERROR getChildErrorSeverity ()
 
virtual void getPotentialChildErrorNodes (OP_NodeList &nodes) const
 
int getUniqueId () const
 
int64 getItemUniqueId () const override
 Functions to get hip-file-unique ids for any item type. More...
 
bool expandGroupPattern (const char *pattern, UT_String &result, bool expandToFullPaths=false)
 
bool patternContainsBundle (const char *pattern, const OP_Bundle *bundle) const
 
bool patternContainsGroup (const char *pattern, const OP_Group *group) const
 
virtual int isManager () const
 
virtual int isManagementNode () const
 
bool isEffectivelyAManagementNode () const
 
virtual bool isMaterialManager () const
 
virtual int isSubNetwork (bool includemanagementops) const
 
virtual int isNetwork () const
 
virtual int isInSubNetwork () const
 
bool isProxyRefNode () const
 
void setProxyRefNode (bool f)
 
virtual bool isOutputNode () const
 
virtual int whichOutputNode () const
 
int isNetworkWithKids () const
 
virtual int isVex () const
 
OP_BundlegetParmBundle (const char *parm_name, int vector_index, UT_String &pattern, OP_Network *creator, const char *filter)
 
void markBundleRefsAsUnused ()
 
void cleanUnusedBundleRefs ()
 
void cleanAllBundleRefs ()
 
virtual bool bundleChanged (const OP_Bundle *bundle)
 
void touchBundleParm (const char *name)
 
void touchBundleParm (int parm_index)
 
virtual int getDandROpsEqual ()
 
virtual int updateDandROpsEqual (int=1)
 
bool isInputAncestor (const OP_Node *parent, bool check_extra=true) const
 
bool isParentAncestor (const OP_Node *parent) const
 
const char * getInfoText (OP_Context &context, OP_NodeInfoParms &parms)
 
virtual void getNodeSpecificInfoText (OP_Context &context, OP_NodeInfoParms &parms)
 
OP_NodefindNode (const char *path, OTLSyncMode syncmode=OTLSYNC_DOSYNC) const
 Uses the path (eg. "/obj/geo1") to find a node in our hierarchy. More...
 
OP_NodefindSubNode (const char *path) const
 
virtual OP_NetworkBoxfindNetworkBox (const char *name)
 
virtual OP_PostItfindPostItNote (const char *const_path)
 
virtual OP_DotfindDot (const char *const_path)
 
virtual OP_SubnetIndirectInputfindParentInput (const char *const_path)
 
virtual OP_NetworkBoxItemfindItem (const char *const_path, OP_ItemTypeMask item_type=OP_ITEMTYPE_ALL)
 
SOP_NodegetSOPNode (const char *path, int addextra=0, bool *got_by_flag=nullptr) const
 
COP2_NodegetCOP2Node (const char *path, int addextra=0) const
 
DOP_NodegetDOPNode (const char *path, int addextra=0) const
 
ROP_NodegetROPNode (const char *path, int addextra=0) const
 
CHOP_NodegetCHOPNode (const char *path, int addextra=0, bool *got_by_flag=nullptr) const
 
TOP_Node * getTOPNode (const char *path, int addextra=0) const
 
LOP_NodegetLOPNode (const char *path, int addextra=0) const
 
OBJ_NodegetOBJNode (const char *path, int addextra=0) const
 
OP_NodecastToOPNode () override
 
const OP_NodecastToOPNode () const override
 
virtual void getPathWithSubnet (UT_String &str) const
 Returns the path of this node relative to its getCreator() More...
 
void getPathWithSubnet (UT_StringHolder &str) const
 
void completePath (const char *prefixpath, UT_String &completepath) const
 
virtual CH_ChannelgetTrackChannel (const char *name)
 
virtual bool findParmFromTrack (const OP_FollowChanRefsOptions &opt, const char *trackname, OP_NodeParmRefCycle &cycle, OP_Node *&node, PRM_Parm *&parm, int &vecidx)
 
virtual void evaluateBatchParms (PRM_BatchList &list, fpreal now)
 
void globNodes (const char *pat, UT_String *expand, UT_Array< OP_Node * > *list=0, OP_GlobContext *context=0, const char *prefix=" ")
 
CH_ChannelfindChannel (const char *path)
 
void globChannels (const char *, UT_String &expand, OP_GlobContext *context=0, const char *prefix=" ") const
 
void globChannels (const char *pattern, CH_ChannelList &clist, OP_GlobContext *context=0, OP_Node *dependent=0)
 
void globChanRefs (const char *pattern, CH_ChannelRefList &list, OP_GlobContext *context=0, OP_Node *dependent=0, bool use_multi_match=true)
 
int globParms (const char *pattern, fpreal t, UT_Array< opParmData > &list, OP_GlobContext *context=0, OP_Node *dependent=0, int calc_value=1)
 
void globNodeParms (const char *pattern, fpreal t, UT_Array< opParmData > &list, OP_GlobContext *context, OP_Node *dependent, int calc_value, bool animated_only)
 
void globNodeChannels (const char *pattern, CH_ChannelList &list, OP_GlobContext *context, int *parm_start=nullptr, UT_IntArray *parm_indices=nullptr, UT_IntArray *parm_sub_indices=nullptr) const
 
void globNodeChanRefs (const char *pattern, CH_ChannelRefList &list, OP_GlobContext *context, int *parm_start=nullptr, UT_IntArray *parm_indices=nullptr, UT_IntArray *parm_sub_indices=nullptr, bool use_multi_match=true) const
 
virtual void globNetworkBoxes (const char *pat, UT_String *expand, UT_ValArray< OP_NetworkBox * > *list=0, OP_GlobContext *glob_context=0, const char *prefix=" ")
 
virtual void globPostIts (const char *pat, UT_String *expand, UT_ValArray< OP_PostIt * > *list=0, OP_GlobContext *glob_context=0, const char *prefix=" ")
 
int getAllChannels (CH_ChannelList &list, int scoped=0)
 
void opChanged (OP_EventType reason, void *data=0) override
 
virtual bool opShouldHandleChange (OP_EventType reason)
 
virtual void referencedParmChanged (int pi)
 
virtual void forceRecook (bool evensmartcache=true)
 
virtual void reloadExternalFiles ()
 
virtual unsigned needToCook (OP_Context &context, bool queryonly=false)
 
virtual bool cook (OP_Context &context)
 
bool parallelCook (OP_Context &context)
 
template<typename F >
void cookLockedExecute (const F &functor)
 
OP_CookLockgetCookLock ()
 
UT_TaskStatetaskState ()
 
const UT_TaskStatetaskState () const
 
virtual OP_ERROR pubCookInputGroups (OP_Context &context, int alone=0)
 
void bumpVersionParm ()
 
int cookParmsModified () const
 
virtual int getDataClass () const
 
virtual void getXformOrder (UT_XformOrder &xord, const CH_Channel *chp) const
 
virtual OP_DataType getCookedDataType () const =0
 
virtual voidgetCookedData (OP_Context &)
 
virtual void deleteCookedData ()=0
 
virtual int saveCookedData (std::ostream &os, OP_Context &, int binary=0)=0
 
virtual bool loadCookedData (UT_IStream &is, const char *path=0)
 
virtual int saveCookedData (const char *filename, OP_Context &)=0
 
virtual int getRelativeTransform (OP_Node &to, UT_Matrix4 &xform, OP_Context &context)
 
virtual int getRelativeTransform (OP_Node &to, UT_DMatrix4 &xform, OP_Context &context)
 
virtual int getRelativeCaptureTransform (OP_Node &to, UT_Matrix4 &xform, OP_Context &context)
 
virtual int getRelativeCaptureTransform (OP_Node &to, UT_DMatrix4 &xform, OP_Context &context)
 
virtual bool getWorldTransform (UT_Matrix4D &xform, OP_Context &)
 
virtual bool getIWorldTransform (UT_Matrix4D &xform, OP_Context &)
 
virtual bool getTransform (TransformMode mode, UT_Matrix4D &xform, OP_Context &)
 
bool getWorldTransform (UT_Matrix4F &xform, OP_Context &ctx)
 
bool getIWorldTransform (UT_Matrix4F &xform, OP_Context &ctx)
 
bool getTransform (TransformMode mode, UT_Matrix4F &xform, OP_Context &ctx)
 
void addTransformError (const OP_Node &node, const char *label=0) const
 
virtual bool getBoundingBox (UT_BoundingBox &box, OP_Context &)
 
virtual const char * getInternalOpTable () const
 
virtual OP_OperatorgetInternalOperator () const
 
virtual const char * inputLabel (unsigned idx) const
 
virtual const char * outputLabel (unsigned idx) const
 
const char * inputLabelNum (unsigned idx) const
 
const char * outputLabelNum (unsigned idx) const
 
virtual const char * inputConnectorLabel (unsigned idx)
 
virtual int isRefInput (unsigned idx) const
 
virtual int getAuxInput () const
 
virtual void getAuxInputName (OP_ConnectorId &name_out)
 
OP_LockTypes setLockState (OP_LockTypes state, bool saveundo=true)
 
OP_LockTypes getLockState () const
 
bool getLock () const
 
bool getSoftLock () const
 
void setSoftLock (bool on_off)
 
bool getHardLock () const
 
void setHardLock (bool on_off)
 
virtual OP_LockTypes setModelLock (OP_LockTypes state, void *modeler=nullptr, bool allow_softlock_promotion=false, UT_Undo *undo=nullptr)
 
int getNetworkLock (bool relaxedlockcheck=false, const OP_Node *inputNode=nullptr) const
 
bool setUnload (bool on_off)
 
bool getUnload () const
 
virtual bool isLoaded () const
 
virtual bool unloadData ()
 
void takeActivateFlag (uchar flag, bool enable=true, bool send_flag_event=true)
 
void takeDeactivateFlag (uchar flag)
 
bool takeIsActiveFlag (uchar flag) const
 
void setHasTakeData (bool onoff)
 
bool canAccessFlag (unsigned mask, uchar flag) const
 
bool setPicked (bool on_off, bool propagate_parent_event=true) override
 
bool setEditPicked (bool on_off, bool propagate_parent_event=true)
 
void setAutoscope (bool on_off)
 
bool isAutoscope ()
 
bool setCurrent (bool on_off)
 
bool setExpose (bool on_off)
 
bool setBypass (bool on_off)
 
bool setTemplate (bool on_off)
 
bool setFootprint (bool on_off)
 
bool setXray (bool on_off)
 
bool setDisplay (bool on_off)
 
bool setRender (bool on_off)
 
bool setHighlight (bool on_off)
 
bool setModified (bool on_off)
 
bool setSaveBypass (bool on_off)
 
bool setSaveData (bool on_off)
 
virtual bool setPickable (bool on_off)
 
virtual bool setAudio (bool on_off)
 
virtual bool setExport (bool on_off)
 
virtual bool setDebug (bool on_off)
 
virtual bool setDisplayOrigin (bool on_off_unchanged)
 
void userSetTemplate (bool onoff)
 
void userSetSelectableTemplate (bool onoff)
 
virtual void setFlag (char tag, int8 val)
 
virtual int8 getFlag (char tag) const
 
bool getPicked () const override
 
virtual bool getEditPicked () const
 
bool getCurrent () const
 
bool getDisplay () const
 
bool getRender () const
 
bool getHighlight () const
 
bool getBypass () const
 
bool getTemplate () const
 
bool getFootprint () const
 
bool getXray () const
 
bool getExpose () const
 
bool getModified () const
 
bool getSaveBypass () const
 
bool getSaveData () const
 
bool getHasTakeData () const override
 
virtual bool getPickable ()
 
virtual bool getAudio () const
 
virtual bool getExport () const
 
virtual bool getDebug () const
 
virtual bool getDisplayOrigin () const
 
bool getItemExpose () const override
 
void setItemExpose (bool expose) override
 
virtual bool getUseBypassLook (const OP_EditorContext &ctx) const
 
bool getDisplayDescriptiveName () const
 
bool setDisplayDescriptiveName (bool state)
 
bool getDisplayComment () const
 
bool setDisplayComment (bool state)
 
int8 getOutputForView () const
 
int8 setOutputForView (int8 output)
 
OP_NodegetPickableSelfOrParent ()
 
bool setCompress (bool on_off)
 
bool getCompress () const
 
void setCurrentAndPicked ()
 
virtual bool setVisible (bool onoff)
 
virtual bool getVisible () const
 
const OP_NodeFlagsflags () const
 
OP_NodeFlagsflags ()
 
virtual void getSaveFlagsString (UT_String &cmd, const char *flags, bool save_to_hip) const
 
virtual void getPreParmSaveFlagsString (UT_String &cmd) const
 
virtual void getPostParmSaveFlagsString (UT_String &cmd) const
 
int hasOpInterest (void *data, OP_EventMethod m) const
 
void addOpInterest (void *data, OP_EventMethod m)
 
void removeOpInterest (void *data, OP_EventMethod m)
 Remove notification callback added via addOpInterest() More...
 
int isBeingDeleted () const
 
void setNodeBeingDeleted (int beingdeleted)
 
bool setInhibitInputConsolidation (bool value)
 
virtual unsigned minInputs () const
 Minimum inputs that must be connected to a node for it to cook. More...
 
virtual unsigned maxInputs () const
 Maximum inputs that can be connected to a node. More...
 
virtual unsigned getNumVisibleInputs () const
 
virtual unsigned orderedInputs () const
 
virtual unsigned maxOutputs () const
 
virtual unsigned getNumVisibleOutputs () const
 
bool hasUnorderedInputs () const
 Returns true if the operator type says we have unordered inputs. More...
 
virtual unsigned nInputs () const
 
unsigned nConnectedInputs (bool check_subnet_inside=true) const
 
unsigned getActiveInputIndex () const
 
void setActiveInputIndex (unsigned idx)
 
OP_NodegetInput (unsigned idx, bool mark_used=false) const
 Returns the node connected to a particular input (may be null). More...
 
OP_NodegetInputFollowingOutputs (int input, DEP_MicroNode *depnode=0) const
 
int getConnectedInputIndex (int startAt=-1) const
 
int getNthConnectedInput (int n) const
 Gets the index of the Nth non-null connection to this node. More...
 
virtual void getParallelInputs (OP_Context &context, OP_NodeList &nodes) const
 
void forceClearInput (int idx)
 Forcibly clear an input. Used when deleting the input. More...
 
virtual OP_ERROR setInput (unsigned idx, OP_Node *op, unsigned outputIdx=0)
 Sets a given input to connect to an output of a particular node. More...
 
virtual OP_ERROR setIndirectInput (unsigned idx, OP_IndirectInput *input)
 Connects an input to an indirect input of our parent subnet. More...
 
virtual OP_ERROR setInputReference (unsigned idx, const char *label, int keeppos, unsigned outputIdx=0)
 Connects an input to particular node by name in the network. More...
 
int whichInputIs (const OP_Node *who) const
 
int whichInputIs (const OP_IndirectInput *who) const
 Returns the index of the first connection of an indirect input. More...
 
int whichInputIs (const OP_IndirectInput *whoi, int cnt) const
 
int whichOutputIs (const OP_Node *target_node, int input_on_target_node) const
 
int whichOutputIsFollowingIndirect (const OP_Node *target_node, int input_on_target_node) const
 
int whichInputIs (const OP_Node *source_node, int counter) const
 
void consolidateInputs ()
 
virtual void clearUnreferencedInputs ()
 
virtual bool allowConsolidatingInput (int idx)
 
virtual OP_InputgetInputReference (unsigned idx, bool grow)
 
virtual OP_InputgetInputReferenceConst (unsigned idx) const
 
virtual int doDeleteRewire () const
 
virtual void moveInput (int srcidx, int dstidx, bool forcesubnet=false)
 
OP_ERROR insertInput (unsigned idx, OP_Node *op, unsigned outputIdx)
 
OP_ERROR insertIndirectInput (unsigned idx, OP_IndirectInput *input)
 
virtual UT_Options getInputDataDefault (int idx) const
 
virtual int getInputEditorInputs ()
 
virtual bool allowInputEditorInputParm ()
 Returns true if editor should display parameter option menu button. More...
 
virtual bool allowInputEditorInputDelete ()
 Returns true if editor should display delete input button. More...
 
virtual bool getInputEditorInputLabel (UT_String &label, int idx)
 
virtual const OP_DataMicroNodedataMicroNodeConst () const
 
OP_DataMicroNodedataMicroNode ()
 
virtual const OP_DataMicroNodeparmListMicroNodeConst () const
 
OP_DataMicroNodeparmListMicroNode ()
 
bool hasIndepParmListMicroNode () const
 
DEP_MicroNodeflagMicroNode ()
 
DEP_MicroNodeparmMicroNode (int parm_idx, int vi)
 
const DEP_MicroNodeeventMicroNodeConst (OP_EventType e) const
 Accessors to event micro nodes. More...
 
DEP_MicroNodeeventMicroNode (OP_EventType e)
 
bool hasEventMicroNode (OP_EventType e) const
 
virtual void getOwnedMicroNodes (DEP_MicroNodeList &micronodes)
 
void propagateDirtyMicroNode (DEP_MicroNode &micronode, OP_EventType reason, void *data, bool send_root_event)
 
virtual void addExtraInput (OP_Node *op, OP_InterestType type)
 
void addExtraInput (OP_Node &op, int parm_i, int vec_i)
 
void addExtraInput (const OP_InterestRef &source_ref)
 
void addExtraInput (DEP_MicroNode &source_micronode)
 
void addMultiparmInterests (OP_Node *srcnode, PRM_Parm &parm)
 
void getExtraInputNodes (OP_NodeList &extras, bool remove_duplicates=true, bool data_interest=true, bool parm_interest=true, bool flag_interest=true, bool include_parmlist=true, bool follow_simulation_inputs=false) const
 
void getExtraOutputNodes (OP_NodeList &extras, bool remove_duplicates=true, bool data_interest=true, bool parm_interest=true, bool flag_interest=true) const
 
int getNumExtraInputs () const
 
void dumpExtraInputs (std::ostream &os, bool as_DOT, int indent_level=0) const
 
void addGenericOpNameReference (const UT_String &oppath)
 
void addGenericOpNameReference (const PRM_RefId &ref_id, OP_Node *node)
 
void addGenericOpInputReference (const PRM_RefId &ref_id, OP_Node *node)
 
bool getParmBaseNodePath (UT_String &path, int parm_index, int thread) const
 
void rebuildParmDependency (int parm_index) override
 
void clearParmDependency (int parm_index) override
 
void decrementOpReference (int node_id)
 
virtual void dumpDependencies (std::ostream &os)
 
void dumpOpDependents (OP_Node *ref, int brief, std::ostream &os)
 
const OP_DependencyListgetOpDependents () const
 
int countReferences (int op_id)
 
void getExistingOpReferences (OP_NodeList &refs, bool recurse) const
 
void getFullOpReferences (OP_NodeList &refs, bool include_descendants) const
 
void getExistingOpDependents (OP_NodeList &deps, bool include_descendants) const
 
void getFullOpDependents (OP_NodeList &deps, bool include_descendants) const
 
void getParmsThatReference (const char *channame, UT_ValArray< PRM_Parm * > &parms, UT_IntArray &parmsubidxs)
 
virtual void inputConnectChanged (int which)
 
unsigned nOutputEntries () const
 
int nOutputItems (int output_idx=-1) const
 
OP_NetworkBoxItemgetOutputItem (int idx, int output_idx=-1) const
 
bool hasAnyOutputNodes (bool through_dots=true, int output_idx=-1) const
 
void getOutputNodes (UT_Array< OP_Node * > &outputs, bool into_subnets=false, bool through_dots=true, int output_idx=-1) const
 
OP_NodegetFirstOutputNode (bool through_dots=true, int output_idx=-1) const
 
OP_NodegetOutputTowardsNode (const OP_Node *target)
 
void fillInfoTree (UT_InfoTree &tree, const OP_NodeInfoTreeParms &parms)
 
virtual void fillInfoTreeNodeSpecific (UT_InfoTree &tree, const OP_NodeInfoTreeParms &parms)
 
virtual bool fillInfoTreeChildSpecific (UT_InfoTree &tree, const OP_NodeInfoTreeParms &parms, OP_Node *child)
 
virtual OP_ERROR lockInput (unsigned idx, OP_Context &context)
 
virtual void unlockInput (unsigned idx)
 
virtual OP_ERROR lockInputs (OP_Context &context)
 
virtual void unlockInputs ()
 
int getCookCount () const
 
void triggerOutputChanged ()
 
void triggerUIChanged (OP_UIChangeType type=OP_UICHANGE_ANY)
 
virtual int cookedInputIndex () const
 
virtual OP_NodegetPassThroughNode (fpreal t, bool mark_used=false)
 
bool setMinimumCacheSize (int min_size)
 
OP_VERSION getVersionParms () const
 
virtual bool handleTimeChange (fpreal)
 
bool isTimeDependent (const OP_Context &context)
 
virtual bool isDiveable () const
 
virtual void getExtraNodesForCopyOrDelete (OP_NodeList &extras) const
 
virtual bool runCreateScript ()
 
void updateParmsToMatchCurrentUnits ()
 
bool getDelaySyncOTL () const
 
void setDelaySyncOTL (bool isdelayed)
 Shallowly sets the delayed sync flag,. More...
 
bool shouldDelaySyncOTL () const
 Determines if this node should do delayed syncing or not. More...
 
void syncDelayedOTL ()
 Verifies this node has been synchronized in case it was delayed. More...
 
virtual void matchOTLDefinition ()
 
virtual void unmatchOTLDefinition ()
 Unmatches (unlocks) the node from the current HDA definition. More...
 
virtual void handleOTLIndexFileCleared ()
 
const UT_StringgetSyncErrors () const
 
OP_ERROR getSyncErrorLevel () const
 Returns the error level generated in our last synchronization attempt. More...
 
bool isAnyAncestorBeingSynced () const
 
int getMatchesOTLDefinition () const
 Interface to flag that specifies whether or not we match our definition. More...
 
int getCanDeviateFromOTLDefinition () const
 
void setAllChildAssetPermissions (int permission)
 
void computeAllChildAssetPermissions ()
 
bool getIsEditableAssetSubNode () const
 
void turnOffAllChildExports ()
 
bool haveLicenseToAccessContents (OP_Node *opt_specific_child=nullptr) const
 
bool haveLicenseToAccessParentContents () const
 
bool haveAncestorWithoutFullLicense (bool ignore_self) const
 
OP_OTLLicenseType getLicense () const
 
OP_NodegetFirstExecLicenseOnlyAncestor (bool ignore_self=true) const
 
OP_NodegetLastExecLicenseOnlyAncestor (bool ignore_self=true) const
 
bool isCompiled () const
 
void saveWires (std::ostream &os, const char *name, int dogeneral=0)
 
void saveOutputWires (std::ostream &os, const char *name, int dogeneral=0)
 
virtual void saveIntrinsicCommand (std::ostream &os, const char *name)
 
virtual OP_ERROR saveCommand (std::ostream &os, const char *name, fpreal x, fpreal y, const char *netboxname, const OP_SaveCommandOptions &options)
 Writes to 'os' a string of hscript commands to recreate this node. More...
 
void saveParameterFlags (std::ostream &os, const char *name, const char *command, bool(PRM_Parm::*flag_method)(int) const, bool defaultstoo, bool reverse, UT_Array< opParmData > *parm_array)
 
void saveUserDataCommand (std::ostream &os, const char *node_name, bool omit_version=false)
 
virtual RampError rampCommand (bool remove, fpreal pos, float rgba[4])
 
RampError rampCommand (bool remove, fpreal pos, float rgba[4], UT_Ramp &ramp)
 
virtual bool loadRamp (UT_IStream &is, const char *path=0)
 
bool loadRamp (UT_IStream &is, UT_Ramp &ramp, const char *path=0)
 
OP_ERROR saveRamp (std::ostream &os, UT_Ramp &ramp, const char *name=0, int command=0)
 
bool getUserData (const UT_StringRef &key, UT_StringHolder &result) const
 
void setUserData (const UT_StringRef &key, const UT_StringHolder &data, bool save_undo)
 
bool hasUserData (const UT_StringRef &key) const
 
bool deleteUserData (const UT_StringRef &key, bool save_undo)
 
const UT_OptionsuserData () const
 
bool loadUserData (UT_IStream &is, const char *path=nullptr)
 
OP_ERROR saveUserData (std::ostream &os, const char *path)
 
void clearUserData (bool save_undo)
 
virtual void userDataChanged (const UT_StringHolder &key)
 
UT_SharedPtr< voidgetBlindData (const char *key) const
 
template<typename T >
UT_SharedPtr< TgetBlindData (const char *key) const
 
void setBlindData (const char *key, UT_SharedPtr< void > ptr)
 
bool hasBlindData (const char *key) const
 Returns true if this object stores a blind data with the given key. More...
 
bool deleteBlindData (const char *key)
 
void getDataBlockKeys (UT_StringArray &keys, const UT_StringHolder &type=UT_StringHolder()) const
 
OP_DataBlockPtr getDataBlock (const char *key) const
 
bool setDataBlock (const char *key, OP_DataBlockPtr ptr)
 
OP_ERROR saveDataBlocksPacket (std::ostream &os, const char *path_prefix, const UT_String &node_name)
 
bool loadDataBlocks (UT_IStream &is, const char *path)
 
bool clearDataBlocks ()
 
virtual void dataBlockChanged (const UT_StringHolder &key)
 
virtual int deleteNodeData (void *)
 
void propagateNodeDataDeleted ()
 
PY_OpaqueObjectgetCachedPythonObject (const UT_StringRef &key) const
 
void setCachedPythonObject (const UT_StringHolder &key, void *opaque_py_object)
 
bool deleteCachedPythonObject (const UT_StringRef &key)
 
void clearCachedPythonObjects ()
 
const OP_PythonObjectCachecachedPythonObjects () const
 
bool loadExtraInputs (UT_IStream &is, const char *path=0)
 
void saveOverrides (std::ostream &os)
 
void saveOverrides (std::ostream &os, OP_Node *root, const UT_String &rootpath, bool &added)
 
void saveChildOverrides (std::ostream &os, OP_Node *root, const UT_String &rootpath, bool &added)
 
bool loadOverride (UT_IStream &is)
 
UT_ErrorSeverity prmCookOverrides (fpreal t, int thread, const char *parm_name, int vec_idx) override
 
bool isParmPendingOverride (const char *parm_name, int vec_idx) const override
 
OP_ERROR cookOverrides (OP_Context &c)
 
virtual void removeOverrideDestination (OP_Node *)
 
virtual void removeOverrideDestination (OP_Node *, int)
 
void executeCommand (const char *command, std::ostream *out, std::ostream *err) const override
 
SYS_NO_DISCARD_RESULT
UT_UniquePtr
< PRM_ParmOwnerContext
pushAsPwd () const override
 
OP_ERROR executeHscriptScript (UT_String &script, const OP_Context &context)
 
OP_ERROR executePythonScript (UT_String &script, const OP_Context &context)
 
void addPythonNodeError (const PY_Result &py_result)
 
void saveInputs (std::ostream &os, bool compile_basic)
 
bool loadInputs (UT_IStream &is, const char *path=0, bool named=false)
 
void saveNamedInputs (std::ostream &os, bool compile_basic)
 
void saveNamedOutputs (std::ostream &os)
 
bool loadNamedOutputs (UT_IStream &is, const char *path=0)
 
void getEditableInputDataKeys (int idx, UT_StringArray &keys) const
 
const UT_OptionEntrygetEditableInputData (int idx, const UT_StringRef &key) const
 
bool setEditableInputData (int idx, const UT_StringHolder &key, const UT_OptionEntry &value)
 
void saveEditableInputData (std::ostream &os) const
 
bool loadEditableInputData (UT_IStream &is, const char *path)
 
UT_StringHolder getEditableInputString (int idx, const UT_StringRef &key) const
 
bool setEditableInputString (int idx, const UT_StringRef &key, const UT_StringHolder &str)
 
void checkInputs ()
 
virtual void saveDialogScriptExtraInfo (std::ostream &os)
 
virtual void createGalleryEntry (OP_GalleryEntry &entry)
 
void evalOpPathString (UT_String &val, int pi, int vi, fpreal t, int &op_id, fpreal &op_time, int expanded=1)
 
void evalOpPathString (UT_String &val, const char *pn, int &pi, int vi, fpreal t, int &op_id, fpreal &op_time, int expanded=1)
 
virtual int getTranslateParmIndex ()
 
void resolveInputReferences ()
 
void clearUndoFlags () override
 
void setAnyUndoFlag () override
 
void saveForUndoInput ()
 
void blockModify (int on_off, int propagate=1)
 
int isBlockModify () const
 
bool isModifyWaiting () const
 
virtual void propagateEndBlockModify ()
 
virtual const CL_ClipgetClip (OP_Context *context=0)
 
void getMotionEffectsNetworkPath (UT_String &path)
 
void getCookInfo (UT_String &info) const
 Return the cook information as a formatted string. More...
 
void getCookInfoTree (UT_InfoTree &tree) const
 Return the cook information in a UT_InfoTree. More...
 
virtual int getNetOverviewColor (UT_Color &color)
 
virtual UT_RampgetRamp ()
 
virtual int isCookingRender () const
 
virtual void setCookingRender (int val)
 
virtual void clearInterrupted ()
 
bool wasInterrupted () const
 
void setRenameConflict ()
 
void setRunningCreateScript (int onoff)
 
virtual int outputCode (OP_OutputCodeParms &, OP_Context &)
 
virtual fpreal getTimeTransform (int input, fpreal t)
 
virtual void getInputRes (int input, fpreal t, const OP_Context &context, OP_Context &input_context)
 
UT_TokenStringgetHashCode (OP_Context &context, int group_mask=1)
 
virtual UT_TokenStringgetParmHashCode (OP_Context &context, int group_mask=1)
 
virtual int getNumInputsToHash ()
 
virtual OP_NodegetInputToHash (int i)
 
void clearHashCodeFlags ()
 
bool isHashCodeBuilt () const
 
void builtHashCode (bool b=true)
 
void buildInputHashCode (UT_TokenString &string, OP_Context &context, int group_mask, int level)
 
void setCreatorState (const char *s)
 
const UT_StringgetCreatorState () const
 
void builtExplicitly (int yn)
 
int wasBuiltExplicitly () const
 
bool matchesState (const char *state) const
 
virtual const PRM_TemplategetShaderParmTemplates ()
 
virtual void changeParmTemplate (PRM_Template *new_template)
 
virtual void ensureInputsAndOutputsAreValid ()
 
void connectToInputNode (OP_Node &inputnode, int input_idx, int branch_off=0)
 
virtual int editCallback (CL_Track *track, fpreal t, fpreal newValue)
 
virtual const CH_LocalVariableresolveVariable (const char *name)
 
virtual const CH_LocalVariableresolveExtraVariableForSyntaxHighlight (const char *name)
 
virtual void setMapping (int idx, int type, const char *label=0)
 
virtual int getMapping (int idx, const char *&label) const
 
virtual int acceptDragDrop (DD_Source &src, const char *label)
 
virtual int testDragDrop (DD_Source &src)
 
virtual void getDragDropChoice (DD_Source &src, DD_ChoiceList &c)
 
bool hasComment () const
 
bool hasParmsNotAtFactoryDefault () const
 
bool hasAnimatedParms () const
 
bool hasChopOverriddenParms () const
 
void getCookPathNodes (OP_NodeList &nodes)
 
bool traverseChildren (bool(*callback)(OP_Node &, void *), void *data, bool recurse_into_subnets)
 
bool isCooking (bool include_ancestors) const
 
virtual bool usesFootprint () const
 
void getExternalReferences (UT_StringArray &reflist, UT_StringArray *nodelist=0, bool from_children_too=true, bool collapse=false, bool check_missing=false, bool show_missing_only=false)
 
virtual bool getSaveWithVopnets ()
 
virtual void runDelScript ()
 
virtual void preDelete ()
 
virtual DOP_ParentcastToDOPParent ()
 
virtual const DOP_ParentcastToDOPParent () const
 
OP_DopParentcastToOpDopParent ()
 
const OP_DopParentcastToOpDopParent () const
 
virtual VOP_CodeGeneratorgetVopCodeGenerator ()
 
virtual VOP_CodeGeneratorgetVopAutoCodeGenerator ()
 
virtual const VOP_CodeGeneratorgetVopAutoCodeGenerator () const
 
virtual void buildVopCodeGenerator ()
 
virtual VOP_ExportedParmsManagergetVopExportedParmsManager (bool create_if_needed=false)
 
int buildVexCommand (UT_String &result, const PRM_Template *templatelist, fpreal now, int start_parm=0, int end_parm=INT_MAX, bool use_parmvop_tag=true)
 
int buildVexCommandWithDependencies (OP_Node *owner, DEP_MicroNode *depnode, UT_String &result, const PRM_Template *templatelist, fpreal now, int start_parm=0, int end_parm=INT_MAX, bool use_parmvop_tag=true)
 
virtual void buildVexScript (UT_String &script, fpreal t, OP_Node *owner, UT_Map< int, bool > *visitlist=0)
 
virtual void buildVexScript (UT_String &script, fpreal t, DEP_MicroNode *depnode, UT_Map< int, bool > *visitlist=0)
 
virtual bool hasVexShaderParameter (const char *parm_name)
 
virtual bool getScriptMaterialInfo (UT_String &mat_info, VOP_ScriptMaterialCodeMapper *mapper)
 
virtual const char * getHDASubType ()
 
bool setChannelAlias (PRM_Parm &parm, int subindex, const char *alias_name)
 
void disconnectAllInputsOutputs (bool keepSelected, bool forceDisconnectOutputs=false)
 
void disconnectAllInputs ()
 
void disconnectAllOutputs ()
 
virtual void notifyParmRenameDependents (const UT_String &chan_name, const UT_String &old_chan_name)
 
void writeChannel (CH_Channel *channel, std::ostream &os, const char *name, bool frames)
 
void writeAllChannels (std::ostream &os, const char *name, bool frames, bool dochblock, bool dospareparms)
 
bool triggerParmCallback (PRM_Parm *parmptr, fpreal now, int value, void *data, const UT_Options *options=nullptr) override
 
int64 getMemoryUsage (bool inclusive) const override
 
int64 getExtraInputMemoryUsage () const
 
virtual void unscopeChannels (bool recurse)
 
virtual void undisplayChannels (bool recurse)
 
virtual void unpinChannels (bool recurse)
 
virtual void setChannelScope (const char *pattern, OP_ScopeOp scope_op, const OP_ScopeOptions &scope_opts)
 
const UT_StringgetItemName () const override
 
bool setItemName (const UT_String &name) override
 
const UT_StringHoldergetCachedDescriptiveName ()
 
bool changeSpareParms (UT_IStream &istream, UT_String &errors) override
 
void spareParmRemoved (const char *parmname) override
 
PRM_ParmListcreateObsoleteParmList () override
 
void resolveAndDeleteObsoleteParmList (PRM_ParmList *&obsolete_parms) override
 
unsigned referenceAllParameters (OP_Parameters *from, bool relative_references=true) override
 
void clearVersionUserData ()
 
void updateVersionUserData ()
 
void syncNodeVersionIfNeeded (bool *node_deleted, const char *from_version=nullptr, bool update_node_version=false)
 
void syncNodeVersion (const char *old_version, const char *current_version, bool *node_deleted) override
 
bool setGlobalFloatParam (const char *param, fpreal value, bool *warned)
 
bool setGlobalStringParam (const char *param, const char *strvalue, bool *warned)
 
void beginPropagateModification ()
 
void endPropagateModification ()
 
virtual void getActiveOperatorsDefinedByOTL (UT_Set< OP_Operator * > &active_operators) const
 
virtual bool hasDifferentMultiInputs () const
 
virtual bool canCreateNewOpType () const
 
virtual UT_StringgetMaterialIconFilename ()
 
virtual void setMaterialIconFilename (const char *)
 
virtual IMG_RastergetMaterialIconImage ()
 
virtual bool getMaterialIconAllowRegenerateFlag ()
 
virtual void setMaterialIconAllowRegenerateFlag (bool)
 
virtual bool willAutoconvertInputType (int input_idx)
 
bool isDependentOn (OP_Node *other_node, PRM_Parm *parm)
 
virtual bool getIsInputVisibleDefault (int idx)
 
bool verifyTemplatesWithParameters () const
 
OP_InputgetNamedInputReference (const OP_ConnectorId &input_name, bool grow)
 
OP_InputgetNamedInputReferenceConst (const OP_ConnectorId &input_name) const
 
OP_NodegetNamedInput (const OP_ConnectorId &input_name, bool mark_used=false) const
 
virtual int getInputFromName (const UT_String &in) const
 
virtual int getOutputFromName (const UT_String &out) const
 
virtual void getInputName (UT_String &in, int idx) const
 
virtual void getOutputName (UT_String &out, int idx) const
 
int getInputFromUniqueName (const OP_ConnectorId &id) const
 
int getOutputFromUniqueName (const OP_ConnectorId &id) const
 
void getUniqueInputName (OP_ConnectorId &id_out, int idx, bool grow)
 
bool getUniqueInputNameConst (OP_ConnectorId &id_out, int idx) const
 
void getUniqueOutputName (OP_ConnectorId &id_out, int idx)
 
bool getUniqueOutputNameConst (OP_ConnectorId &id_out, int idx) const
 
virtual OP_ERROR setNamedInput (const OP_ConnectorId &input_name, OP_Node *op, const OP_ConnectorId *output_name=nullptr)
 New input functions that use names instead of indices. More...
 
virtual OP_ERROR setNamedIndirectInput (const OP_ConnectorId &input_name, OP_IndirectInput *input)
 
virtual OP_ERROR setNamedInputReference (const OP_ConnectorId &input_name, const char *label, int, const OP_ConnectorId *output_name=nullptr)
 
OP_ERROR insertNamedInput (const OP_ConnectorId &input_name, OP_Node *op, const OP_ConnectorId *output_name)
 
OP_ERROR insertNamedIndirectInput (const OP_ConnectorId &input_name, OP_IndirectInput *input)
 
virtual void onCreated ()
 Overriden in VOPs. More...
 
virtual bool isOrderedInput (const OP_ConnectorId &input_name) const
 
OP_ConnectorId whichNamedInputIs (const OP_Node *who) const
 
OP_ConnectorId whichNamedInputIs (const OP_IndirectInput *who) const
 Returns the index of the first connection of an indirect input. More...
 
virtual bool willAutoconvertNamedInputType (const OP_ConnectorId &input_name)
 
OP_ConnectorInputIter traverseInputs (OP_ConnectorInputIter *prev_iter)
 
OP_ConnectorInputIter traverseConnectedInputs (OP_ConnectorInputIter *prev_iter)
 
OP_ConnectorInputIter getTraverseEndIterator ()
 
unsigned getInputsArraySize ()
 
unsigned isInput (unsigned idx)
 Deprecated in favour of getInputsArraySize() More...
 
void getLocalVarNames (UT_StringArray &out_vars)
 Retrieve a sorted list of local variables visible to this OP_Node. More...
 
bool setLocalVarActive (bool f)
 
bool isLocalVarActive () const
 Get the myLocalVarActive flag. More...
 
virtual UT_AttributeEvaluatorcreateAttributeEvaluator (const char *name)
 
virtual void getAttributeEvaluatorNames (UT_StringArray &names)
 
void recomputeCompiledHash ()
 
void clearCompiledHash ()
 
void directSendEvent (OP_EventType type, void *data=0)
 
virtual bool scopedChannelsDirty ()
 
virtual bool getActiveLayerContribution (const UT_String &track_name, fpreal t, fpreal &value, fpreal &weight)
 
virtual bool resolveExport (const PRM_Parm *p, int subindex, CH_ChannelRef &out_export)
 
virtual bool addOrMoveVisualizerToOutput (int outputidx)
 
const PRM_ParmtraverseRef (int *sub_idx, fpreal time, int parm_idx, int vec_idx) const override
 
OP_BundlegetParmBundle (const char *parm_name, int vector_index, UT_String &pattern, OP_Network *creator, const char *filter, bool subnet_inclusion)
 
virtual void getDefaultState (UT_String &default_state_name)
 
void clearInputContextOptionDepIfSafe (const UT_StringHolder &opt, const OP_Context &context)
 
virtual bool hasTransformTracks () const
 
virtual bool evaluateTransformTracks (OP_Context &context, OP_EvaluateTransformTracksArgs &args)
 
virtual bool evaluateTransformTracksTargets (OP_Context &context, OP_NodeList &nodes, OP_Node *caller)
 
virtual bool isSelectionOwnerType () const
 
void addExtraInputs (const UT_Array< OP_InterestRef > &source_refs)
 Add many extra inputs in one call. See addExtraInput. More...
 
void addExtraInputs (const DEP_MicroNodeList &deps)
 
void addExtraInput (OP_Node *op, OP_InterestType type, DEP_MicroNodeList &sources_cache)
 
void addExtraInputs (const UT_Array< OP_Node * > &nodes, OP_InterestType type, DEP_MicroNodeList &sources_cache)
 
virtual bool isUsingCurrentFrameForVexTransformContext () const
 
OBJ_NodefindOBJNode (const char *path) const
 
SOP_NodefindSOPNode (const char *path) const
 
CHOPNET_Node * findCHOPNETNode (const char *path) const
 
CHOP_NodefindCHOPNode (const char *path) const
 
ROP_NodefindROPNode (const char *path) const
 
SHOP_NodefindSHOPNode (const char *path) const
 
COP2_NodefindCOP2Node (const char *path) const
 
COP2NET_Node * findCOP2NETNode (const char *path) const
 
VOP_NodefindVOPNode (const char *path) const
 
VOPNET_NodefindVOPNETNode (const char *path) const
 
DOP_NodefindDOPNode (const char *path) const
 
TOP_Node * findTOPNode (const char *path) const
 
TOPNET_Node * findTOPNETNode (const char *path) const
 
LOP_NodefindLOPNode (const char *path) const
 
OBJ_NodecastToOBJNode () const
 
SOP_NodecastToSOPNode () const
 
CHOPNET_Node * castToCHOPNETNode () const
 
CHOP_NodecastToCHOPNode () const
 
ROP_NodecastToROPNode () const
 
SHOP_NodecastToSHOPNode () const
 
COP2_NodecastToCOP2Node () const
 
COP2NET_Node * castToCOP2NETNode () const
 
VOP_NodecastToVOPNode () const
 
VOPNET_NodecastToVOPNETNode () const
 
DOP_NodecastToDOPNode () const
 
TOP_Node * castToTOPNode () const
 
TOPNET_Node * castToTOPNETNode () const
 
LOP_NodecastToLOPNode () const
 
const UT_StringgetComment () const
 Accessors for this node's comment string. More...
 
bool setComment (const char *str)
 Accessors for this node's comment string. More...
 
UT_Color getColor () const override
 
bool setColor (const UT_Color &col) override
 
bool getColorDefault () const
 
bool setColorDefault (bool usedefault)
 
const UT_StringHoldergetNodeShape () const
 Accessors for this node's shape. More...
 
void setNodeShape (const UT_StringHolder &shape)
 
void setXY (fpreal x, fpreal y) override
 Node position/scale is used by the UI. More...
 
fpreal getX () const override
 Node position/scale is used by the UI. More...
 
fpreal getY () const override
 Node position/scale is used by the UI. More...
 
fpreal getW () const override
 Node position/scale is used by the UI. More...
 
fpreal getH () const override
 Node position/scale is used by the UI. More...
 
int findString (const char *str, bool fullword, bool usewildcards) const override
 
int changeString (const char *from, const char *to, bool fullword) override
 
virtual UT_StringArraygetArrayForLoadedInputNames ()
 
virtual UT_StringArraygetArrayForLoadedOutputNames ()
 
virtual int beginVopCodeGeneratorUpdate ()
 
virtual void endVopCodeGeneratorUpdate (int update_level)
 
- Public Member Functions inherited from OP_Parameters
SYS_FORCE_INLINE const UT_StringgetName () const
 
SYS_FORCE_INLINE OP_OperatorgetOperator () const
 
bool updateParmsAndSpareParmsFlags ()
 
virtual bool referenceSingleParameter (OP_Parameters *from, int parm_idx, const char *relative_path=NULL)
 
void animate (unsigned idx)
 
void animate (const char *name)
 
void deAnimate (unsigned idx)
 
void deAnimate (const char *name)
 
CH_ChanneladdChannel (const char *name)
 
CH_ChannelgetChannel (const char *name)
 
const CH_ChannelgetChannel (const char *name) const
 
int destroyChannel (const char *name)
 
bool isObsoleteChannel (const char *name) const
 
void takeActivateParm (uint idx, bool enable=true)
 
void takeActivateParm (const char *name, bool enable=true)
 
void takeActivateParm (PRM_Parm *parm, bool enable=true)
 
void takeDeactivateParm (uint idx)
 
void takeDeactivateParm (const char *name)
 
void takeDeactivateParm (PRM_Parm *parm)
 
bool takeIsActiveParm (uint idx)
 
bool takeIsActiveParm (const char *name)
 
bool takeIsActiveParm (const PRM_Parm *parm)
 
void takeAutoActivateParm (PRM_Parm *) override
 
fpreal findKey (fpreal t, int direction) const
 
PRM_ChanState getChanState (fpreal t, bool scoped_only) const
 
PRM_ChanState isAtKey (fpreal t) const
 
void updatePending (fpreal t)
 
bool isPending (fpreal t)
 
OP_ChannelsgetChannels () const
 
virtual bool evalVariableValue (UT_String &val, int index, int thread)
 
virtual bool evalVariableValue (fpreal &val, int index, int thread)
 
virtual void getVariableString (int index, UT_String &value, int thread)
 
virtual float getVariableValue (int index, int thread)
 
int getNumParms () const
 
int getParmIndex (const UT_StringRef &name) const
 
PRM_ParmgetParm (int i)
 
const PRM_ParmgetParm (int i) const
 
PRM_ParmgetParm (const UT_StringRef &name)
 
const PRM_ParmgetParm (const UT_StringRef &name) const
 
bool hasParm (const UT_StringRef &name) const
 
PRM_ParmgetParmPtr (const UT_StringRef &name)
 
const PRM_ParmgetParmPtr (const UT_StringRef &name) const
 
PRM_ParmgetParmPtrInst (const char *name, const int *inst, int nestlevel=1)
 
const PRM_ParmgetParmPtrInst (const char *name, const int *inst, int nestlevel=1) const
 
bool getIsChangingSpareParms () const
 
void deleteAllSpareParms ()
 
PRM_ParmListcreateObsoleteParmList () override
 
void resolveAndDeleteObsoleteParmList (PRM_ParmList *&obsolete_parms) override
 
virtual void resolveObsoleteParms (PRM_ParmList *)
 
bool getParameterOrPropertyConst (const UT_StringRef &name, fpreal now, OP_Node *&op, PRM_Parm *&parm, PRM_ParmList *obsolete) const
 
virtual int findParametersOrProperties (fpreal now, OP_PropertyLookupList &list)
 
const OP_StatgetStat () const
 
OP_StatgetStat ()
 
bool enableParm (int pi, int state, int v=-1)
 
bool enableParm (const char *pn, int state, int v=-1)
 
bool enableParmInst (const char *name, const int *inst, int state, int nestlevel=1, int v=-1)
 
unsigned getEnableState (int pi, int v=-1)
 
unsigned getEnableState (const char *pn, int v=-1)
 
unsigned getEnableStateInst (const char *name, const int *inst, int nestlevel=1, int v=-1)
 
bool setVisibleState (int pi, bool state, int v=-1)
 
bool setVisibleState (const char *pn, bool state, int v=-1)
 
bool setVisibleStateInst (const char *name, const int *inst, int state, int nestlevel=1, int v=-1)
 
bool getVisibleState (int pi, int v=-1)
 
bool getVisibleState (const char *pn, int v=-1)
 
void evalString (UT_String &val, int pi, int vi, fpreal t) const
 
void evalString (UT_StringHolder &val, int pi, int vi, fpreal t) const
 
void evalStringT (UT_String &val, int pi, int vi, fpreal t, int thread) const
 
void evalStringT (UT_StringHolder &val, int pi, int vi, fpreal t, int thread) const
 
void evalString (UT_String &val, const UT_StringRef &pn, int vi, fpreal t) const
 
void evalString (UT_StringHolder &val, const UT_StringRef &pn, int vi, fpreal t) const
 
void evalStringT (UT_String &val, const UT_StringRef &pn, int vi, fpreal t, int thread) const
 
void evalStringT (UT_StringHolder &val, const UT_StringRef &pn, int vi, fpreal t, int thread) const
 
void evalString (UT_String &val, const UT_StringRef &pn, int *pi, int vi, fpreal t) const
 
void evalString (UT_StringHolder &val, const UT_StringRef &pn, int *pi, int vi, fpreal t) const
 
void evalStringT (UT_String &val, const UT_StringRef &pn, int *pi, int vi, fpreal t, int thread) const
 
void evalStringT (UT_StringHolder &val, const UT_StringRef &pn, int *pi, int vi, fpreal t, int thread) const
 
void evalString (UT_String &val, const PRM_Parm *parm, int vi, fpreal t) const
 
void evalString (UT_StringHolder &val, const PRM_Parm *parm, int vi, fpreal t) const
 
void evalStringT (UT_String &val, const PRM_Parm *parm, int vi, fpreal t, int thread) const
 
void evalStringT (UT_StringHolder &val, const PRM_Parm *parm, int vi, fpreal t, int thread) const
 
void evalStringRaw (UT_String &val, int pi, int vi, fpreal t) const
 
void evalStringRawT (UT_String &val, int pi, int vi, fpreal t, int thread) const
 
void evalStringRaw (UT_String &val, const UT_StringRef &pn, int vi, fpreal t) const
 
void evalStringRawT (UT_String &val, const UT_StringRef &pn, int vi, fpreal t, int thread) const
 
void evalStringRaw (UT_String &val, const UT_StringRef &pn, int *pi, int vi, fpreal t) const
 
void evalStringRawT (UT_String &val, const UT_StringRef &pn, int *pi, int vi, fpreal t, int thread) const
 
void evalStringRaw (UT_String &val, const PRM_Parm *parm, int vi, fpreal t) const
 
void evalStringRawT (UT_String &val, const PRM_Parm *parm, int vi, fpreal t, int thread) const
 
PRM_DataItemHandle evalData (int pi, int vi, fpreal t) const
 
PRM_DataItemHandle evalDataT (int pi, int vi, fpreal t, int thread) const
 
PRM_DataItemHandle evalData (const UT_StringRef &pn, int vi, fpreal t) const
 
PRM_DataItemHandle evalDataT (const UT_StringRef &pn, int vi, fpreal t, int thread) const
 
PRM_DataItemHandle evalData (const UT_StringRef &pn, int *pi, int vi, fpreal t) const
 
PRM_DataItemHandle evalDataT (const UT_StringRef &pn, int *pi, int vi, fpreal t, int thread) const
 
PRM_DataItemHandle evalData (const PRM_Parm *parm, int vi, fpreal t) const
 
PRM_DataItemHandle evalDataT (const PRM_Parm *parm, int vi, fpreal t, int thread) const
 
void evalJSONMap (UT_JSONValueMap &val, int pi, int vi, fpreal t) const
 
void evalJSONMapT (UT_JSONValueMap &val, int pi, int vi, fpreal t, int thread) const
 
void evalJSONMap (UT_JSONValueMap &val, const UT_StringRef &pn, int vi, fpreal t) const
 
void evalJSONMapT (UT_JSONValueMap &val, const UT_StringRef &pn, int vi, fpreal t, int thread) const
 
void evalJSONMap (UT_JSONValueMap &val, const UT_StringRef &pn, int *pi, int vi, fpreal t) const
 
void evalJSONMapT (UT_JSONValueMap &val, const UT_StringRef &pn, int *pi, int vi, fpreal t, int thread) const
 
void evalJSONMap (UT_JSONValueMap &val, const PRM_Parm *parm, int vi, fpreal t) const
 
void evalJSONMapT (UT_JSONValueMap &val, const PRM_Parm *parm, int vi, fpreal t, int thread) const
 
void evalJSONMapRaw (UT_JSONValueMap &val, int pi, int vi, fpreal t) const
 
void evalJSONMapRawT (UT_JSONValueMap &val, int pi, int vi, fpreal t, int thread) const
 
void evalJSONMapRaw (UT_JSONValueMap &val, const UT_StringRef &pn, int vi, fpreal t) const
 
void evalJSONMapRawT (UT_JSONValueMap &val, const UT_StringRef &pn, int vi, fpreal t, int thread) const
 
void evalJSONMapRaw (UT_JSONValueMap &val, const UT_StringRef &pn, int *pi, int vi, fpreal t) const
 
void evalJSONMapRawT (UT_JSONValueMap &val, const UT_StringRef &pn, int *pi, int vi, fpreal t, int thread) const
 
void evalJSONMapRaw (UT_JSONValueMap &val, const PRM_Parm *parm, int vi, fpreal t) const
 
void evalJSONMapRawT (UT_JSONValueMap &val, const PRM_Parm *parm, int vi, fpreal t, int thread) const
 
CH_StringMeaning getStringMeaning (int pi, int vi, fpreal t) const
 
CH_StringMeaning getStringMeaning (const char *pn, int vi, fpreal t) const
 
CH_StringMeaning getStringMeaningInst (const char *name, const int *inst, int vi, fpreal t, int nest_level=1) const
 
CH_ExprLanguage getExprLanguage () const override
 
void setExprLanguage (CH_ExprLanguage language)
 
void insertMultiParmItem (const char *pn, int i)
 
void removeMultiParmItem (const char *pn, int i)
 
void updateMultiParmFromRamp (fpreal t, const UT_Ramp &ramp, PRM_Parm &m, bool add_wrap, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING)
 
void updateRampFromMultiParm (fpreal t, const PRM_Parm &m, UT_Ramp &ramp, bool *time_dep=NULL, DEP_MicroNode *depnode=NULL) const
 
bool convertObsAnimatedToStringExpression (PRM_ParmList *obsolete_parms, const char *pn, int vi, fpreal t, UT_String &result, bool reset_obs)
 
bool expandString (UT_String &val, fpreal t, int thread, const char *channel_name=0)
 
bool isParmDirty (int idx, fpreal t)
 
bool isParmDirty (const char *n, fpreal t)
 
bool isParmDirtyInst (const char *name, const int *inst, fpreal t, int nestlevel=1)
 
void cacheParmValues (const OP_Context &context)
 
void clearParmCache ()
 
bool isParmTimeDependent (int idx, int comp=-1) const
 
bool isParmTimeDependent (const char *name, int comp=-1) const
 
int getErrorMessages (UT_String &messages, UT_ErrorSeverity severity=UT_ERROR_NONE)
 
virtual void getRawErrors (UT_Array< UT_Error > &errors, bool update)
 
int findError (const char *type, int code) const
 
int removeError (int idx)
 
void clearDuplicateErrors ()
 
void opMessage (int code, const char *m=0) const
 
void opWarning (int code, const char *m=0) const
 
void opError (int code, const char *m=0) const
 
void opFatal (int code, const char *m=0) const
 
void opLocalError (int code, const char *m=0)
 
void opLocalWarning (int code, const char *m=0)
 
void opLocalDeadlockError ()
 
void appendError (const char *type, int code, const char *m, UT_ErrorSeverity sev)
 
void clearErrors ()
 
void clearErrors (OP_Context &context)
 
virtual OP_ERROR getErrorSeverity ()
 
exint getErrorVersion ()
 
bool hasDeadlockError () const
 
virtual OP_ERROR error (OP_Context &context)
 
bool hasError (OP_Context &context)
 
virtual OP_ERROR error ()
 
bool hasError ()
 
void stealErrors (UT_ErrorManager &src, bool borrow_only=false)
 
OP_ERROR getSaveError ()
 
bool isGettingSaveError () const
 
void addChannelError (const char *type, int code, const char *msg=0)
 
void chChanged (CH_Channel *ch, CH_CHANGE_TYPE reason)
 
virtual void saveParmsForUndo (bool scopedOnly=false, CH_Collection *collection=NULL)
 
void saveSingleParmForUndo (PRM_Parm *parm)
 
void saveParmForUndo (PRM_Parm *)
 
virtual void saveKeyFrameForUndo (CH_Channel *chp, fpreal gtime)
 
int getAnyUndoPending () const
 
int canAccess (unsigned mask) const
 
bool canAccess (unsigned mask, const PRM_Parm *parm) const
 
bool canAccessChannel (uint mask, const CH_Channel *chp) const
 
void updateUserMask ()
 
bool canModifyFromUI (const PRM_Parm *parm, int vi) const
 
virtual int reloadNewFiles (fpreal time_now)
 
void triggerOPChanged (OP_EventType reason, int index)
 
void parmChanged (int parm_index)
 
void parmExprChanged (int parm_index)
 
void operatorDeleted ()
 
void saveParmCommand (std::ostream &os, int values=0, int defaultstoo=1, bool spareparms=true) const
 
int loadParmCommand (int argc, const char *const argv[], int docallbacks, void *data, fpreal now, bool followchrefs, CMD_Args *args)
 
void commandParmCallback (void *data, fpreal now, int argc, char *argv[], CMD_Args *args)
 
void saveMultiParmInstanceCommand (std::ostream &os, const char *opname, bool spareparms) const
 
int64 getMemoryUsage (bool inclusive) const override
 
void bumpTakeReference (int dir)
 
int getTakeReferences () const
 
void createChannelGroupsFromFolders (CH_Group &parent_group, bool only_channels, bool leaf_channels_only=false, bool only_unlocked=true)
 
bool getAutoScopedChannel (PRM_Parm *parm, int vector_index, OP_GetAutoScopedOptions &opts, CH_ChannelRef &chref)
 Returns the scoped channel ref corresponding to a parameter. More...
 
void getAutoScopedChannels (CH_ChannelRefList &chlist, bool follow_layer_overrides=true, bool include_animated=false, bool follow_channel_refs=true, bool include_autoscope=true)
 
void getAutoScopedChannels (CH_ChannelRefList &chlist, OP_GetAutoScopedOptions &opts)
 
void getChopScopeChannels (UT_WorkBuffer &chopscope_cmd)
 
bool getParmIsVisible (const char *parmname)
 
const PRM_TemplategetInterfaceParmTemplates () const
 
const PRM_TemplategetSpareParmTemplates () const
 
const PRM_ScriptImportsgetSpareParmTemplateImports () const
 
const PRM_TemplategetSpareParmLayoutTemplates () const
 
const PRM_ScriptImportsgetSpareParmLayoutTemplateImports () const
 
int getSpareParmTemplatesId () const
 
int numSpareInputs () const
 
bool hasMultiparmInfo () const
 
OP_MultiparmInfogetMultiparmInfo ()
 
void initMultiparmInstance (UT_ValArray< PRM_Parm * > &parms) override
 
void addOrRemoveMultiparmInstance () override
 
bool savePresetContents (std::ostream &os) override
 
bool loadPresetContents (const char *tok, UT_IStream &is) override
 
void createParmMicroNode (const UT_StringRef &pn, int *pi)
 
virtual bool getParameterOrProperty (const UT_StringRef &name, fpreal now, OP_Node *&op, PRM_Parm *&parm, bool create_missing_multiparms, PRM_ParmList *obsolete=0)
 
virtual bool getParameterOrPropertyByChannel (const UT_StringRef &chname, fpreal now, OP_Node *&op, PRM_Parm *&parm, int &vector_index, PRM_ParmList *obsolete=0)
 
exint evalInt (int pi, int vi, fpreal t) const
 
exint evalIntT (int pi, int vi, fpreal t, int thread) const
 
exint evalInt (const UT_StringRef &pn, int vi, fpreal t) const
 
exint evalIntT (const UT_StringRef &pn, int vi, fpreal t, int thread) const
 
exint evalInt (const UT_StringRef &pn, int *pi, int vi, fpreal t) const
 
exint evalIntT (const UT_StringRef &pn, int *pi, int vi, fpreal t, int thread) const
 
exint evalInt (const PRM_Parm *parm, int vi, fpreal t) const
 
exint evalIntT (const PRM_Parm *parm, int vi, fpreal t, int thread) const
 
fpreal evalFloat (int pi, int vi, fpreal t) const
 
fpreal evalFloatT (int pi, int vi, fpreal t, int thread) const
 
fpreal evalFloat (const UT_StringRef &pn, int vi, fpreal t) const
 
fpreal evalFloatT (const UT_StringRef &pn, int vi, fpreal t, int thread) const
 
fpreal evalFloat (const UT_StringRef &pn, int *pi, int vi, fpreal t) const
 
fpreal evalFloatT (const UT_StringRef &pn, int *pi, int vi, fpreal t, int thread) const
 
fpreal evalFloat (const PRM_Parm *parm, int vi, fpreal t) const
 
fpreal evalFloatT (const PRM_Parm *parm, int vi, fpreal t, int thread) const
 
void evalFloats (int pi, fpreal64 *v, fpreal t) const
 
void evalFloatsT (int pi, fpreal64 *v, fpreal t, int thread) const
 
void evalFloats (const UT_StringRef &pn, fpreal64 *v, fpreal t) const
 
void evalFloatsT (const UT_StringRef &pn, fpreal64 *v, fpreal t, int thread) const
 
void evalFloats (const UT_StringRef &pn, int *pi, fpreal64 *v, fpreal t) const
 
void evalFloatsT (const UT_StringRef &pn, int *pi, fpreal64 *v, fpreal t, int thread) const
 
void evalFloats (const PRM_Parm *parm, fpreal64 *v, fpreal t) const
 
void evalFloatsT (const PRM_Parm *parm, fpreal64 *v, fpreal t, int thread) const
 
void evalFloatsT (int pi, fpreal32 *v, fpreal t, int thread) const
 
void evalFloats (int pi, fpreal32 *v, fpreal t) const
 
void evalFloatsT (const UT_StringRef &pn, fpreal32 *v, fpreal t, int thread) const
 
void evalFloats (const UT_StringRef &pn, fpreal32 *v, fpreal t) const
 
void evalFloatsT (const UT_StringRef &pn, int *pi, fpreal32 *v, fpreal t, int thread) const
 
void evalFloats (const UT_StringRef &pn, int *pi, fpreal32 *v, fpreal t) const
 
void evalFloatsT (const PRM_Parm *parm, fpreal32 *v, fpreal t, int thread) const
 
void evalFloats (const PRM_Parm *parm, fpreal32 *v, fpreal t) const
 
void evalFloatsInst (const UT_StringRef &name, const int *inst, fpreal32 *v, fpreal t, int nestlevel=1) const
 
exint evalIntInst (const UT_StringRef &name, const int *inst, int vi, fpreal t, int nestlevel=1) const
 
exint evalIntInstT (const UT_StringRef &name, const int *inst, int vi, fpreal t, int thread, int nestlevel=1) const
 
fpreal evalFloatInst (const UT_StringRef &name, const int *inst, int vi, fpreal t, int nestlevel=1) const
 
fpreal evalFloatInstT (const UT_StringRef &name, const int *inst, int vi, fpreal t, int thread, int nestlevel=1) const
 
void evalFloatsInst (const UT_StringRef &name, const int *inst, fpreal64 *v, fpreal t, int nestlevel=1) const
 
void evalFloatsInstT (const UT_StringRef &name, const int *inst, fpreal64 *v, fpreal t, int thread, int nestlevel=1) const
 
void evalStringInst (const UT_StringRef &name, const int *inst, UT_String &val, int vi, fpreal t, int nestlevel=1) const
 
void evalStringInst (const UT_StringRef &name, const int *inst, UT_StringHolder &val, int vi, fpreal t, int nestlevel=1) const
 
void evalStringInstT (const UT_StringRef &name, const int *inst, UT_String &val, int vi, fpreal t, int thread, int nestlevel=1) const
 
void evalStringInstT (const UT_StringRef &name, const int *inst, UT_StringHolder &val, int vi, fpreal t, int thread, int nestlevel=1) const
 
void evalStringInstRaw (const UT_StringRef &name, const int *inst, UT_String &val, int vi, fpreal t, int nestlevel=1) const
 
void evalStringInstRawT (const UT_StringRef &name, const int *inst, UT_String &val, int vi, fpreal t, int thread, int nestlevel=1) const
 
PRM_DataItemHandle evalDataInst (const UT_StringRef &name, const int *inst, int vi, fpreal t, int nestlevel=1) const
 
PRM_DataItemHandle evalDataInstT (const UT_StringRef &name, const int *inst, int vi, fpreal t, int thread, int nestlevel=1) const
 
void setIntInst (exint value, const char *parmname, const int *inst, int vectori, fpreal t, int nestlevel=1)
 
void setFloatInst (fpreal value, const char *parmname, const int *inst, int vectori, fpreal t, int nestlevel=1)
 
void setStringInst (const UT_StringRef &value, CH_StringMeaning meaning, const char *parmname, const int *inst, int vectori, fpreal t, int nestlevel=1)
 
void setDataInst (const PRM_DataItemHandle &value, const char *parmname, const int *inst, int vectori, fpreal t, int nestlevel=1)
 
bool evalParameterOrProperty (const UT_StringRef &parm_name, int vec_index, fpreal now, int &value, PRM_Parm **parmptr=NULL) const
 
bool evalParameterOrPropertyT (const UT_StringRef &parm_name, int vec_index, fpreal now, int &value, int thread, PRM_Parm **parmptr=NULL) const
 
bool evalParameterOrProperty (const UT_StringRef &parm_name, int vec_index, fpreal now, fpreal &values, PRM_Parm **parmptr=NULL) const
 
bool evalParameterOrPropertyT (const UT_StringRef &parm_name, int vec_index, fpreal now, fpreal &values, int thread, PRM_Parm **parmptr=NULL) const
 
bool evalParameterOrProperty (const UT_StringRef &parm_name, int vec_index, fpreal now, UT_String &value, PRM_Parm **parmptr=NULL) const
 
bool evalParameterOrPropertyT (const UT_StringRef &parm_name, int vec_index, fpreal now, UT_String &value, int thread, PRM_Parm **parmptr=NULL) const
 
bool evalParameterOrPropertyRaw (const UT_StringRef &parm_name, int vec_index, fpreal now, UT_String &value, PRM_Parm **parmptr=NULL) const
 
bool evalParameterOrPropertyRawT (const UT_StringRef &parm_name, int vec_index, fpreal now, UT_String &value, int thread, PRM_Parm **parmptr=NULL) const
 
bool evalParameterOrPropertyExpr (const UT_StringRef &parm_name, int vec_index, fpreal now, UT_String &value, PRM_Parm **parmptr=NULL) const
 
bool evalParameterOrPropertyExprT (const UT_StringRef &parm_name, int vec_index, fpreal now, UT_String &value, int thread, PRM_Parm **parmptr=NULL) const
 
bool evalVectorProperty (const UT_StringRef &parm_name, fpreal now, int *values, int vec_size, PRM_Parm **parmptr=NULL) const
 
bool evalVectorPropertyT (const UT_StringRef &parm_name, fpreal now, int *values, int vec_size, int thread, PRM_Parm **parmptr=NULL) const
 
bool evalVectorProperty (const UT_StringRef &parm_name, fpreal now, fpreal *values, int vec_size, PRM_Parm **parmptr=NULL) const
 
bool evalVectorPropertyT (const UT_StringRef &parm_name, fpreal now, fpreal *values, int vec_size, int thread, PRM_Parm **parmptr=NULL) const
 
void setInt (int parmi, int vectori, fpreal t, exint value)
 
void setInt (const char *parmname, int vectori, fpreal t, exint value)
 
void setInt (const char *parmname, int &parmi, int vectori, fpreal t, exint value)
 
void setFloat (int parmi, int vectori, fpreal t, fpreal value, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING)
 
void setFloat (const char *parmname, int vectori, fpreal t, fpreal value, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING)
 
void setFloat (const char *parmname, int &parmi, int vectori, fpreal t, fpreal value, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING)
 
void setString (const UT_StringRef &val, CH_StringMeaning meaning, int parmi, int vectori, fpreal t)
 
void setString (const UT_StringRef &val, CH_StringMeaning meaning, const char *parmname, int vectori, fpreal t)
 
void setString (const UT_StringRef &val, CH_StringMeaning meaning, const char *parmname, int &parmi, int vectori, fpreal t)
 
void setData (int parmi, int vectori, fpreal t, const PRM_DataItemHandle &val)
 
void setData (const char *parmname, int vectori, fpreal t, const PRM_DataItemHandle &val)
 
void setData (const char *parmname, int &parmi, int vectori, fpreal t, const PRM_DataItemHandle &val)
 
void setChRefInt (int pi, int vi, fpreal t, exint val, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING, bool propagate=true)
 
void setChRefInt (const char *pn, int vi, fpreal t, exint val, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING, bool propagate=true)
 
void setChRefFloat (int pi, int vi, fpreal t, fpreal val, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING, bool propagate=true)
 
void setChRefFloat (const char *pn, int vi, fpreal t, fpreal val, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING, bool propagate=true)
 
void setChRefString (const UT_StringRef &val, CH_StringMeaning meaning, int pi, int vi, fpreal t, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING, bool propagate=true)
 
void setChRefString (int pi, int vi, fpreal t, const UT_StringRef &val, CH_StringMeaning meaning, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING, bool propagate=true)
 
void setChRefString (const UT_StringRef &val, CH_StringMeaning meaning, const char *pn, int vi, fpreal t, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING, bool propagate=true)
 
void setChRefString (const char *pn, int vi, fpreal t, const UT_StringRef &val, CH_StringMeaning meaning, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING, bool propagate=true)
 
void setChRefData (int pi, int vi, fpreal t, const PRM_DataItemHandle &val, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING, bool propagate=true)
 
void setChRefData (const char *pn, int vi, fpreal t, const PRM_DataItemHandle &val, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING, bool propagate=true)
 
bool setParameterOrProperty (const char *parm_name, int vec_index, fpreal now, int32 value, bool set_key=false, bool propagate=true)
 
bool setParameterOrProperty (const char *parm_name, int vec_index, fpreal now, int64 value, bool set_key=false, bool propagate=true)
 
bool setParameterOrProperty (const char *parm_name, int vec_index, fpreal now, fpreal value, bool set_key=false, bool propagate=true)
 
bool setParameterOrProperty (const char *parm_name, int vec_index, fpreal now, const char *value, CH_StringMeaning meaning, bool set_key=false, bool propagate=true)
 
void setSilentInt (int parmi, int vectori, fpreal t, exint value)
 
void setSilentInt (const char *parmname, int vectori, fpreal t, exint value)
 
void setSilentInt (const char *parmname, int &parmi, int vectori, fpreal t, exint value)
 
void setSilentFloat (int parmi, int vectori, fpreal t, fpreal value, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING)
 
void setSilentFloat (const char *parmname, int vectori, fpreal t, fpreal value, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING)
 
void setSilentFloat (const char *parmname, int &parmi, int vectori, fpreal t, fpreal value, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING)
 
void setSilentString (const UT_StringRef &value, CH_StringMeaning meaning, int parmi, int vectori, fpreal t)
 
void setSilentString (const UT_StringRef &value, CH_StringMeaning meaning, const char *parmname, int vectori, fpreal t)
 
void setSilentString (const UT_StringRef &value, CH_StringMeaning meaning, const char *parmname, int &parmi, int vectori, fpreal t)
 
void setSilentData (int parmi, int vectori, fpreal t, const PRM_DataItemHandle &value)
 
void setSilentData (const char *parmname, int vectori, fpreal t, const PRM_DataItemHandle &value)
 
void setSilentData (const char *parmname, int &parmi, int vectori, fpreal t, const PRM_DataItemHandle &value)
 
void setSilentIntInst (exint value, const char *parmname, const int *inst, int vectori, fpreal t, int nestlevel=1)
 
void setSilentFloatInst (fpreal value, const char *parmname, const int *inst, int vectori, fpreal t, int nestlevel=1)
 
void setSilentStringInst (const UT_StringRef &value, CH_StringMeaning meaning, const char *parmname, const int *inst, int vectori, fpreal t, int nestlevel=1)
 
void setSilentDataInst (const PRM_DataItemHandle &value, const char *parmname, const int *inst, int vectori, fpreal t, int nestlevel=1)
 
void setChRefInt (const char *parmname, int &pi, int vi, fpreal t, exint val, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING, bool propagate=true)
 
void setChRefFloat (const char *parmname, int &pi, int vi, fpreal t, fpreal val, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING, bool propagate=true)
 
void setChRefString (const UT_StringRef &val, CH_StringMeaning meaning, const char *parmname, int &pi, int vi, fpreal t, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING, bool propagate=true)
 
void setChRefData (const char *parmname, int &pi, int vi, fpreal t, const PRM_DataItemHandle &val, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING, bool propagate=true)
 
PRM_ParmgetParmActivationControl (const UT_StringRef &parm_name)
 
- Public Member Functions inherited from PRM_ParmOwner
const char * getFullPath (UT_String &str) const
 
const char * getFullPath (UT_WorkBuffer &str) const
 
UT_StringHolder getFullPath () const
 
SYS_FORCE_INLINE PRM_ParmListgetParmList ()
 
SYS_FORCE_INLINE const
PRM_ParmList
getParmList () const
 
virtual bool createSpareParametersForLoad (UT_StringArray &, PRM_ParmNameMap &, UT_String &)
 
bool isPendingOverride () const
 
const char * getPendingOverrideString () const
 
void setPendingOverrideString (const char *s)
 
- Public Member Functions inherited from OP_NetworkBoxItem
 OP_NetworkBoxItem ()
 
virtual ~OP_NetworkBoxItem ()
 
bool setXYWithBoundsChecks (fpreal x, fpreal y)
 
void validateSafeBounds (fpreal &x, fpreal &y)
 
void validateSafeBounds (fpreal &x, fpreal &y, fpreal &w, fpreal &h)
 
void moveToGoodPosition (bool relativetoinputs=true, bool moveinputs=true, bool moveoutputs=true, bool moveunconnected=true)
 
void setOwnerBox (OP_NetworkBox *box)
 
OP_NetworkBoxgetOwnerBox () const
 
bool hasOwnerBox (const OP_NetworkBoxItem *item) const
 
OP_NetworkBoxgetMinimizedOwnerBox () const
 
void getPathFromParent (UT_String &str, const OP_Node *parent) const
 
void getPathFromParent (UT_WorkBuffer &str, const OP_Node *parent) const
 
void getRelativePathTo (const OP_NetworkBoxItem *base_item, UT_String &result) const
 Returns the path of this item relative to 'base_item'. More...
 
OP_NetworkgetCreator () const
 
OP_NetworkgetCodeCreator () const
 
void getConnectedItems (OP_NetworkBoxItemList &connected, bool inputs, bool recursive, bool include_this_item) const
 Fills an array with all network box items connected to this item. More...
 
int64 getMemoryUsage (bool inclusive) const
 

Static Public Member Functions

static const OP_TypeInfogetOpInfoFromOpTypeID (OP_OpTypeId opid)
 
static const OP_TypeInfogetOpInfoFromOpTypeName (const char *name)
 
static const OP_TypeInfogetOpInfoFromTableName (const char *name)
 
static const OP_TypeInfogetOpInfoFromScriptDir (const char *dir)
 
static bool isValidOpName (const UT_StringView &s, bool allow_rel_paths=false, bool ignore_node_names_env_var=false)
 Set allow_rel_paths to true to accept "." or ".." as valid paths. More...
 
static bool isValidOpName (const char *s, bool allow_rel_paths=false, bool ignore_node_names_env_var=false)
 
static bool isValidOpName (const UT_String &str, bool allow_rel_paths=false, bool ignore_node_names_env_var=false)
 
static bool isValidOpPath (const UT_StringRef &s)
 
static bool forceValidOpName (UT_String &name)
 
static OP_NodelookupNode (int unique_id, bool include_proxy=false)
 
static int getNumUniqueIds ()
 
static void getAllNodes (OP_NodeList &nodes)
 
static void getValueAsBundlePaths (fpreal t, UT_WorkBuffer &resultbuf, PRM_Parm *parm, int index, OP_Node *srcnode)
 
static void getValueAsBundlePaths (fpreal t, OP_NodeList &resultnodes, PRM_Parm *parm, int index, OP_Node *srcnode)
 
static bool parallelCook (OP_Context &context, const OP_NodeList &nodes)
 Cook the given node list in parallel. More...
 
static void repositionOpsMaxY (OP_NetworkBoxItemList &items, fpreal x, fpreal y)
 
static DEP_MicroNodegetEvalChannelMicroNode (int thread)
 
static void addMultiparmInterests (const OP_InterestRef &target_ref, OP_Node *srcnode, PRM_Parm &parm)
 
static void addMultiparmInterests (DEP_MicroNode &target, OP_Node *srcnode, PRM_Parm &parm)
 
static void addExprOpDependency (const char *arg_str, const PRM_RefId &ref_id, OP_InterestType interest_type)
 
static void addExprOpDependency1From2 (const char *arg_str1, const char *arg_str2, const PRM_RefId &ref_id, OP_InterestType interest_type)
 
static void addExprOpParmDependency (const char *arg_str, const PRM_RefId &ref_id, OP_InterestType interest_type)
 
static void changeExprOpRef (const char *arg_str, char *&new_arg, const char *new_fullpath, const char *old_fullpath, const char *old_cwd)
 
static void changeExprOpRef1From2 (const char *arg_str1, const char *arg_str2, char *&new_arg1, char *&new_arg2, const char *new_fullpath, const char *old_fullpath, const char *old_cwd)
 
static void changeExprOpParmRef (const char *arg_str, char *&new_arg, const char *new_fullpath, const char *old_fullpath, const char *old_cwd, const char *chan_name, const char *old_chan_name)
 
static void moveAndUpdateDependencies (const OP_NodeList &src_nodes, const OP_NodeList &dest_nodes)
 
static void updateChannelPtrs (CH_CollectionList &parents)
 
static int getGlobbedNodes (OP_Node *cwd, UT_String &holder, const char *pattern, UT_WorkArgs &argv, OP_GlobContext *context)
 
static int getGlobbedNetworkBoxes (OP_Node *cwd, UT_String &holder, const char *pattern, UT_WorkArgs &argv, OP_GlobContext *context)
 
static int getGlobbedPostIts (OP_Node *cwd, UT_String &holder, const char *pattern, UT_WorkArgs &argv, OP_GlobContext *context)
 
static void propagateMatchOTLDefinitionToAncestors (OP_Node *node, bool sync_flag)
 Utility function for syncing/unsyncing all uncestor nodes. More...
 
static const char * internalUserDataPrefix ()
 Prefix to use for internally used user data. More...
 
static int findOpFramePair (const char *path, int &op_id, fpreal &frame)
 
static void buildXformOrder (int trs, int xyz, UT_XformOrder &order)
 Build a UT_XformOrder out of TRS and XYZ parameter values. More...
 
static const UT_XformOrderbuildXformOrder (int trs, int xyz)
 
static UT_XformOrder::rstOrder getMainOrder (int trs)
 Translate a TRS parameter menu index into the UT_XformOrder type. More...
 
static int getMainOrderMenuIndex (UT_XformOrder::rstOrder order)
 
static UT_XformOrder::xyzOrder getRotOrder (int xyz)
 Translate a XYZ parameter menu index into the UT_XformOrder type. More...
 
static int getRotOrderMenuIndex (UT_XformOrder::xyzOrder order)
 
static UT_Vector3R getXformPivot (int trs, fpreal tx, fpreal ty, fpreal tz, fpreal px, fpreal py, fpreal pz)
 
static UT_Vector3R getXformPivot (int trs, fpreal tx, fpreal ty, fpreal tz, fpreal px, fpreal py, fpreal pz, fpreal pivot_rx, fpreal pivot_ry, fpreal pivot_rz, bool inverse=false)
 
static UT_Vector3R getPivotParmValue (int trs, fpreal tx, fpreal ty, fpreal tz, fpreal px, fpreal py, fpreal pz)
 
static UT_Vector3R getPivotParmValue (int trs, fpreal tx, fpreal ty, fpreal tz, fpreal px, fpreal py, fpreal pz, fpreal pivot_rx, fpreal pivot_ry, fpreal pivot_rz, bool inverse=false)
 
static void buildXform (int trs, int xyz, float tx, float ty, float tz, float rx, float ry, float rz, float sx, float sy, float sz, float px, float py, float pz, UT_Matrix4 &mat)
 
static void buildXform (int trs, int xyz, double tx, double ty, double tz, double rx, double ry, double rz, double sx, double sy, double sz, double px, double py, double pz, UT_DMatrix4 &mat)
 
static void buildXform (int trs, int xyz, float tx, float ty, float tz, float rx, float ry, float rz, float sx, float sy, float sz, const UT_Matrix4F::PivotSpace &pivot, UT_Matrix4 &mat)
 
static void buildXform (int trs, int xyz, double tx, double ty, double tz, double rx, double ry, double rz, double sx, double sy, double sz, const UT_DMatrix4::PivotSpace &pivot, UT_DMatrix4 &mat)
 
static void buildXform (int trs, int xyz, float tx, float ty, float tz, float rx, float ry, float rz, float sx, float sy, float sz, float s_xy, float s_xz, float s_yz, float px, float py, float pz, UT_Matrix4 &mat)
 
static void buildXform (int trs, int xyz, double tx, double ty, double tz, double rx, double ry, double rz, double sx, double sy, double sz, double s_xy, double s_xz, double s_yz, double px, double py, double pz, UT_DMatrix4 &mat)
 
static void buildXform (int trs, int xyz, float tx, float ty, float tz, float rx, float ry, float rz, float sx, float sy, float sz, float s_xy, float s_xz, float s_yz, const UT_Matrix4F::PivotSpace &pivot, UT_Matrix4 &mat)
 
static void buildXform (int trs, int xyz, double tx, double ty, double tz, double rx, double ry, double rz, double sx, double sy, double sz, double s_xy, double s_xz, double s_yz, const UT_DMatrix4::PivotSpace &pivot, UT_DMatrix4 &mat)
 
static void buildXform (const UT_Matrix4F::FullTransformModel &parms, UT_Matrix4F &mat)
 
static void buildXform (const UT_Matrix4D::FullTransformModel &parms, UT_Matrix4D &mat)
 
static void buildXform (int trs, float tx, float ty, float rz, float sx, float sy, float px, float py, UT_Matrix3 &mat)
 
static void buildXform (int trs, double tx, double ty, double rz, double sx, double sy, double px, double py, UT_DMatrix3 &mat)
 
static void buildXform (int trs, float tx, float ty, float rz, float sx, float sy, float s_xy, float px, float py, UT_Matrix3 &mat)
 
static void buildXform (int trs, double tx, double ty, double rz, double sx, double sy, double s_xy, double px, double py, UT_DMatrix3 &mat)
 
static void clearAllPendingUndoFlags ()
 
static OP_EditCallback getEditCallback (void *&data)
 
static void buildQuadricXform (UT_Matrix4 &mat, float tx, float ty, float tz, float sx, float sy, float sz, char axis= 'y', float rx=0.0f, float ry=0.0f, float rz=0.0f)
 
static void buildQuadricXform (UT_DMatrix4 &mat, double tx, double ty, double tz, double sx, double sy, double sz, char axis= 'y', double rx=0.0, double ry=0.0, double rz=0.0)
 
static int buildOpMenu (OP_Network *net, PRM_Name *theMenu, int theMenuSize, int(*doAdd)(OP_Node *)=0, int startItem=0, const PRM_Parm *parm=0, int showSubnets=1, int expandSubnets=1, bool recurse=false)
 
static void buildPreDefRulesMenu (PRM_Name *menu, OP_PreDefRules &pdr)
 
static int getNameSerialIndex ()
 
static void printOpMemoryUsageStats (std::ostream &os)
 
static bool getDoingBulkNotification ()
 
static bool isDirectorDoingBulkNotification ()
 
static bool createNewOpType (OP_Node *node, UT_String &errors, const char *typeName=nullptr, const char *typeLabel=nullptr, const char *otlFile=nullptr, const char *metaSource=nullptr, const char *comment=nullptr, const char *version=nullptr, const char *newName=nullptr, int minimumInputs=-1, int maximumInputs=-1, bool ignore_external_references=false, bool compress_contents=false, bool force=false, int *newNodeId=nullptr, bool compile_contents=false, bool change_node_type=true, bool create_backup=true)
 
static void startBulkNotifications (const OP_NodeList &changed, OP_Node *caller=nullptr)
 
static void endBulkNotifications (const OP_NodeList &changed)
 
static UT_StringHolder defaultInputName (int idx)
 
static UT_StringHolder defaultOutputName (int idx)
 
static const UT_ColorgetGlobalDefaultColor ()
 
static fpreal getFlagWidth ()
 Get the width of flags. More...
 
static fpreal getNodeHeight ()
 Get the default node height. More...
 
static fpreal getNodeButtonWidth ()
 
static fpreal getConnectorHeight ()
 Get the default connector height. More...
 
static bool canDestroyNodes (OP_Network *src_net, const OP_NodeList *nodes)
 
static void addInputNodeErrorToManager (UT_ErrorManager *error, OP_Node *src)
 
static void addExtraInputs (const UT_Array< OP_InterestRef > &target_refs, const UT_Array< OP_InterestRef > &source_refs)
 
static void addExtraInput (OP_Node &source, int source_pi, int source_vi, OP_Node &target, int target_pi, int target_vi)
 Optimized version of addExtraInput that doesn't create OP_InterestRef. More...
 
static bool getMicroNodesFromRef (OP_Node *op, OP_InterestType type, DEP_MicroNodeList &micronodes, bool data_target)
 
static bool getMicroNodesFromRef (OP_Node &op, int parm_i, int vec_i, DEP_MicroNodeList &micronodes)
 
static void addExtraInput (OP_Node &source, PRM_Parm &source_parm, int source_vi, OP_Node &target, PRM_Parm &target_parm, int target_vi)
 Optimized version of addExtraInput that doesn't create OP_InterestRef. More...
 
static void addExtraInputToEvalChannel (int thread, OP_Node &op, OP_InterestType type)
 
static void addExtraInputToEvalChannel (int thread, OP_Node &op, int parm_i, int vec_i)
 
static void addExtraInputToEvalChannel (int thread, const OP_InterestRef &source_ref)
 
static void addExtraInputToEvalChannel (int thread, DEP_MicroNode &src_micronode)
 
static void addExtraInput (const OP_InterestRef &target_ref, const OP_InterestRef &source_ref)
 
static void addExtraInput (const OP_InterestRef &target_ref, DEP_MicroNode &source_micronode)
 
static void addExtraInput (DEP_MicroNode &target_micronode, const OP_InterestRef &source_ref)
 
- Static Public Member Functions inherited from OP_Parameters
static bool followChannelReferencesOneStep (const OP_FollowChanRefsOptions &opt, OP_Node *&newop, PRM_Parm *&newparm, int &newvecidx)
 
static bool followChannelReferencesOneStepT (const OP_FollowChanRefsOptions &opt, OP_Node *&newop, PRM_Parm *&newparm, int &newvecidx, int thread)
 
static void followChannelReferences (const OP_FollowChanRefsOptions &opt, OP_Node *&newop, PRM_Parm *&newparm, int &newvecidx)
 
static bool followChannelReferencesWithDeps (const OP_FollowChanRefsOptions &opt, OP_Node *&newop, PRM_Parm *&newparm, int &newvecidx, CH_Channel *chp)
 
static void followChannelReferencesT (const OP_FollowChanRefsOptions &opt, OP_Node *&newop, PRM_Parm *&newparm, int &newvecidx, int thread)
 
static bool followChannelReferencesWithDepsT (const OP_FollowChanRefsOptions &opt, OP_Node *&newop, PRM_Parm *&newparm, int &newvecidx, int thread, CH_Channel *chp)
 
static void followChannelReferences (const OP_FollowChanRefsOptions &opt, CH_ChannelRef &ref)
 
static void followChannelReferencesT (const OP_FollowChanRefsOptions &opt, CH_ChannelRef &ref, int thread)
 
static void getValueAsProcessedNodePaths (fpreal t, UT_WorkBuffer &resultbuf, const PRM_Parm *parm, int index, const OP_Node *srcnode)
 
static void getValueAsProcessedNodePaths (fpreal t, UT_Array< UT_StringHolder > &resultarr, const PRM_Parm *parm, int index, const OP_Node *srcnode)
 
static void setBatchParms (PRM_BatchList &list, fpreal now, bool set_key=false, bool create_channels=false)
 
static bool canSetBatchParms (PRM_BatchList &list, fpreal now)
 
static void buildMParmInst (const PRM_Template *templates, UT_StringArray &mparm_inst, UT_IntArray &mparm_lvl, int level)
 
static bool isMParmInstance (const char *chname, const UT_StringArray &mparm_inst, const UT_IntArray &mparm_lvl)
 
static void getLayersFromScopedChannels (const CH_ChannelRefList &ori_refs, CH_ChannelRefList &layer_refs)
 
static UT_StringHolder getParmActivationControlName (const UT_StringRef &parm_name)
 
- Static Public Member Functions inherited from OP_NetworkBoxItem
static fpreal getMaxSafeX ()
 The following methods return the safe extents of the position of items. More...
 
static fpreal getMinSafeX ()
 
static fpreal getMaxSafeY ()
 
static fpreal getMinSafeY ()
 
static OP_NetworkBoxItemlookupItem (const OP_ItemType &type, int64 id)
 
static OP_NetworkBoxItemlookupItem (const OP_ItemId &id)
 

Static Public Attributes

static PRM_ChoiceList theVexSrcParmMenu
 
static PRM_Name theVexSrcParmName
 
static PRM_Name theVexScriptParmName
 
static PRM_Name theVexNodePathParmName
 
static PRM_Name theVexClearParmName
 
static PRM_Name theVexCWDName
 

Protected Member Functions

 OP_Node (OP_Network *parent, const char *name, OP_Operator *entry)
 
 ~OP_Node () override
 
void doGetFullPath (UT_WorkBuffer &str) const override
 Implement the method from PRM_ParmOwner. More...
 
virtual void buildLocalVarNames (UT_StringArray &out_vars)
 
UT_StringHolder evaluateDisableExpression (const PRM_Parm &prm, const UT_StringRef &function) const override
 
void resolveUnresolvedLoadedInputs ()
 
void finishedLoadingParentNetwork ()
 
void setNewParent (OP_Network *new_parent)
 
void setLegacyConnectingInputIndex (int index)
 
virtual void clearAndDestroy ()
 
virtual void clearCache ()
 
void clearInterruptedImpl (bool allow_recook)
 
virtual OP_ERROR cookMe (OP_Context &context)=0
 
virtual OP_ERROR bypassMe (OP_Context &context, int &copied_input)=0
 
virtual void doOverridePreCook ()
 
virtual void doOverridePostCook ()
 
int getSourceCount () const
 
virtual int bumpSourceCount (int d)
 
virtual OP_ERROR cookInputGroups (OP_Context &context, int alone=0)
 
virtual OP_ERROR saveIntrinsic (std::ostream &os, const OP_SaveFlags &flags)
 
virtual OP_ERROR save (std::ostream &os, const OP_SaveFlags &flags, const char *path_prefix="", const UT_String &name_override=UT_String())
 
OP_ERROR saveUserDataPacket (std::ostream &os, const char *path_prefix, const UT_String &node_name)
 
bool loadIntrinsicParentUneditable (UT_IStream &is, const char *path=0)
 
bool loadIntrinsic (UT_IStream &is, const char *path=0)
 
virtual bool loadPacket (UT_IStream &is, short class_id, short sig, const char *path=0)
 
virtual bool loadPacket (UT_IStream &is, const char *token, const char *path=0)
 
virtual bool load (UT_IStream &is, const char *ext="", const char *path=0)
 
bool loadParentUneditable (UT_IStream &is, const char *ext="", const char *path=0)
 
virtual void loadStart ()
 
virtual void loadFinished ()
 
void loadContentsSection ()
 
virtual bool syncContents (UT_IStream &is)
 
void setMatchesOTLDefinition (int matches)
 Sets the flag idicating if the node is synced (matched) to the HDA. More...
 
virtual const char * getFileExtension (int binary) const =0
 
virtual const char * getDataFileExtension (int binary) const
 
virtual void checkTimeDependencies (int do_parms=1, int do_inputs=1, int do_extras=1)
 
virtual void checkContextOptionDependencies (int do_parms)
 
void sendEvent (OP_EventType type, void *data=0)
 
int haveSeenDataModification (exint modification_id)
 
virtual int propagateModification (OP_Node *by_whom, OP_EventType reason, int parm_index, OP_PropagateData &prop_data)
 
OP_CachegetCookCache ()
 
virtual void saveFlagsForUndo ()
 
void saveForUndoLayout ()
 
void clearDependency ()
 Clears all cook dependencies (i.e., items that may cause it to cook) More...
 
bool dirtyForTimeChange (fpreal t)
 
virtual void cloneFromProxyRefNode (OP_Network *proxy)
 
virtual OP_NetworkcloneToProxyRefNode ()
 
void stealDependents (OP_Node *other)
 
bool hasOpDependents ()
 
virtual int hasProxyRefNodes () const
 
virtual void moveProxyRefNodes (OP_Network *)
 
void clearOpReferences ()
 
virtual void rebuildOpDependents (bool proxy_only)
 
virtual int removeOpDependent (int op_id, const PRM_RefId &ref_id, OP_InterestType mask=OP_INTEREST_ALL)
 removeOpDependent() returns the number of dependents removed More...
 
virtual int removeOpDependent (int op_id, OP_InterestType mask=OP_INTEREST_ALL)
 
void buildOpDependencies () override
 
void checkChannelDependencies (CH_Channel *ch, CH_CHANGE_TYPE reason) override
 
void notifyOpDependents (OP_InterestType interest, bool recurse)
 
virtual void moveDependencies (OP_Node *from_node)
 
void notifyRenameDependents (const UT_String &full_from)
 
virtual void notifyRenameDependents (const UT_String &full_from, OP_NodeList &cook_nodes)
 
void notifyRenameReferences (const UT_String &full_from)
 
virtual void notifyRenameReferences (const UT_String &full_from, OP_NodeList &cook_nodes)
 
virtual void handleOpDependency (int referenced_op_id, const OP_Dependency &op_dep, OP_InterestType interest_type, bool &need_cook, const char *old_fullpath, const char *old_cwd, const char *old_chan_name)
 
virtual void buildParmDependency (int parm_index)
 
void addOpNameReference (const PRM_RefId &ref_id, const UT_String &op_path, OP_InterestType type)
 
void addChannelNameReference (const PRM_RefId &ref_id, const UT_StringRef &op_path, const UT_StringRef &chan_name, OP_InterestType type)
 
OP_NodegetNodeOrCreateProxy (const UT_StringRef &op_path)
 
void addOpReference (const PRM_RefId &ref_id, OP_Node *node, const PRM_RefId &source_ref_id, OP_InterestType type)
 
void removeOpReference (const PRM_RefId &ref_id, OP_InterestType mask=OP_INTEREST_ALL)
 
void removeOpReference (const PRM_RefId &ref_id, int op_id, OP_InterestType mask=OP_INTEREST_ALL)
 
bool changeOpPathRef (UT_String &value_str, const char *new_fullpath, const char *old_fullpath, const char *old_cwd, const char *new_cwd)
 
void handleStringParmOpPathDependency (int parm_index, int vi, const char *new_fullpath, const char *old_fullpath, const char *old_cwd)
 
void notifyNodeDeletion ()
 
virtual void nodeDeleted (OP_Node *op, int propagate=1)
 
void startCookTimer (const OP_Context &context)
 
void stopCookTimer (const OP_Context &context)
 
virtual const char * getCookTimerLabel (const OP_Context &context) const
 
void permissionError (const char *chname=0) override
 
void addInputError (unsigned input_idx)
 
void addInputNodeError (OP_Node *src)
 
virtual bool isInputConnectedInsideSubnet (int input_idx) const
 
virtual bool isNamedInputConnectedInsideSubnet (const OP_ConnectorId &input_name) const
 
virtual void nodeUnlocked ()
 
virtual void setUniqueId (int id)
 
void changeOpDependentUniqueId (int old_id, int new_id)
 
void changeOpReferenceUniqueId (int old_id, int new_id)
 
virtual void clearUniqueId ()
 
void setAllowBuildDependencies (int yesno)
 
int allowBuildDependencies () const
 
void evaluateAllParms (fpreal t)
 
virtual void getMyExternalReferences (UT_StringArray &reflist, UT_StringArray *nodelist=0, bool collapse=false, bool check_missing=false, bool show_missing_only=false)
 
void getExternalFiles (UT_StringArray &files, const char *stringparm, int framestart, int frameend, bool collapse, bool check_missing, bool show_only_missing, UT_KnownPath path)
 
virtual void getDescriptiveParmName (UT_String &str) const
 
virtual void getDescriptiveName (UT_String &str) const
 
void dirtyDescriptiveNameCache ()
 Marks our cached descriptive name as dirty. More...
 
virtual bool canDestroyNode ()
 Return true if it is safe at this time to destroy this node. More...
 
virtual bool cookedDataUsesAllParameters () const
 
virtual bool cookedDataNeedsErrors () const
 
virtual bool cookDataForAnyOutput () const
 
bool getIsRunningInCreateScript () const
 
virtual void refreshRepresentativeNode (OP_Node &changed_child)
 
virtual void setupConnectorsAfterLoad ()
 
void convertOpdefToAbsolutePath (UT_String &str) const override
 
bool isCookedTime (fpreal t) const
 
virtual void dumpMicroNodes (std::ostream &os, bool as_DOT, int indent_level) const
 
void deleteInput (int idx)
 
void deleteInput (const OP_ConnectorId &input_name)
 
virtual void doDeleteInput (int idx)
 Performs actual removal from the member input array. More...
 
void updateErrorSeverity ()
 Update the error severity of this node. More...
 
virtual void onInputAllocated (OP_Input *new_input, int index)
 Overriden in VOPs. More...
 
void checkConnectorsConsistency ()
 Debug method for checking connector consistency. More...
 
void gatherInputs (UT_Array< OP_InputPair > &input_pairs)
 
void gatherOutputs (UT_Array< OP_OutputPair > &output_pairs)
 
void renameInput (OP_Input *input, int new_id)
 
void notifyChannelOpDependents (PRM_Parm *in_parm, int vecid)
 
void beginScriptBlockingDel ()
 
void endScriptBlockingDel ()
 
- Protected Member Functions inherited from OP_Parameters
void doGetFullPath (UT_WorkBuffer &str) const override
 Compute the full path of the node. More...
 
bool updateParmDisableConditional (PRM_Parm &parm, bool force, const UT_StringArray *skip=0)
 
bool updateParmHideConditional (PRM_Parm &parm, const UT_StringArray *skip=0)
 
bool updateParmDisableIfInactive (PRM_Parm &parm, bool disable=true)
 
virtual unsigned disableParms ()
 
virtual bool updateParmsFlags ()
 
virtual bool preUpdateParmsFlags ()
 
void saveMultiParmForUndo (int index)
 
void stealGlobalErrors ()
 
void stealErrors (OP_Parameters &src)
 
UT_LockedRawPtr
< UT_ErrorManager, OP_Lock
getLockedErrorManager ()
 
SYS_FORCE_INLINE bool checkExpressionError (const PRM_Parm *parm, int thread) const
 
void resetParmEventHandler ()
 
intallocIndirect (int size=64)
 
 OP_Parameters (const char *name, OP_Operator *entry)
 
 OP_Parameters (const OP_Parameters &source, const char *name)
 
 ~OP_Parameters () override
 
void initializeParms (OP_Channels *channels)
 
virtual int rename (const char *newname)
 
virtual bool createSpareParameterFromChannel (const char *chname)
 
virtual bool createSpareParametersFromChannels (UT_BitArray &selection, const CH_ChannelList &channels)
 
CH_LocalVariablegetVariable (int i) const
 
CH_LocalVariablegetVariable (const char *name) const
 
OP_ERROR saveChannels (std::ostream &os, int binary, bool compiled, bool selected, bool pending_state)
 
OP_ERROR saveParmChannels (int parm_index, std::ostream &os, int binary, bool compiled)
 
OP_ERROR saveParameters (std::ostream &os, int binary, bool compiled)
 
OP_ERROR saveChannelAliases (std::ostream &os, int binary)
 
bool loadChannels (UT_IStream &is, const char *path, CH_Collection *obsolete_channels)
 
bool loadParameters (UT_IStream &is, const char *path, PRM_ParmList *obsolete_parms)
 
bool loadChannelAliases (UT_IStream &is, const char *path=0)
 
bool loadOldSpareParms (UT_IStream &is)
 
virtual void traverseScope (const char *pattern, OP_ScopeOp scope_op, const OP_ScopeOptions &scope_options)
 
virtual void ensureErrorsAreUpdatedSubclass ()
 
virtual void ensureSpareParmsAreUpdatedSubclass ()
 
- Protected Member Functions inherited from PRM_ParmOwner
 PRM_ParmOwner ()
 
virtual ~PRM_ParmOwner ()
 
- Protected Member Functions inherited from UT_NonCopyableNS::UT_NonCopyable
 UT_NonCopyable ()=default
 
 ~UT_NonCopyable ()=default
 
 UT_NonCopyable (const UT_NonCopyable &)=delete
 
UT_NonCopyableoperator= (const UT_NonCopyable &)=delete
 

Static Protected Member Functions

static void bumpNameSerialIndex ()
 
static void cmd_locate (CMD_Args &)
 
static void saveForUndoDelete (OP_NodeList &nodes)
 
static bool getStringParmOpPath (PRM_Parm &parm, int vi, UT_String &oppath, int thread)
 
- Static Protected Member Functions inherited from OP_Parameters
static bool isReservedOpName (const char *name)
 

Protected Attributes

UT_TokenString myHashCode
 
UT_TokenString myParmHashCode
 
int myLastGroupMask
 
OP_VERSION myHashVersion
 
fpreal myHashTime
 
int myParmLastGroupMask
 
OP_VERSION myParmHashVersion
 
fpreal myParmHashTime
 
UT_String mySyncErrors
 
OP_ERROR mySyncErrorLevel
 
int mySyncDepth
 
uint32 myCompHash
 
- Protected Attributes inherited from OP_Parameters
OP_ChannelsmyChannels
 
OP_Stat myStats
 
- Protected Attributes inherited from PRM_ParmOwner
PRM_ParmListmyParmList
 
- Protected Attributes inherited from OP_NetworkBoxItem
UT_Color myColor
 

Friends

class OP_Channels
 
class OP_DataMicroNode
 
class OP_EventMicroNode
 
class OP_Group
 
class OP_IndirectInput
 
class OP_Input
 
class OP_Network
 
class OP_ParmMicroNode
 
class OP_UndoCreate
 
class OP_UndoDelete
 
class OP_UndoInput
 
class OP_UndoSpareParm
 
class OP_UndoUserData
 
class op_MicroNodeDirtied
 
class MOT_RemoteExecMessage
 
enum  TraverseOptions {
  TRAVERSE_DEFAULT = 0x0000, TRAVERSE_INTO_SUBNETS = 0x0001, TRAVERSE_REF_INPUTS = 0x0002, TRAVERSE_ONLY_USED_INPUTS = 0x0004,
  TRAVERSE_PASSTHROUGH_INPUTS = 0x0008, TRAVERSE_EXTRA_INPUTS = 0x0010, TRAVERSE_SIMULATION_INPUTS = 0x0020, TRAVERSE_COOKED_INPUT_INDEX_INPUTS = 0x0040
}
 
bool traverseInputs (bool(*callback)(OP_Node &, void *), void *data, TraverseOptions opts, OP_InterestType extra_interest_mask=OP_INTEREST_ALL)
 
bool traverseInputs (bool(*callback)(const OP_Node &, void *), void *data, TraverseOptions opts, OP_InterestType extra_interest_mask=OP_INTEREST_ALL) const
 

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/_hdk_sample_hom_extensions.C, HOM/SOP_HOMWave.C, HOM/SOP_HOMWave.h, LOP/LOP_Sphere.C, LOP/LOP_Sphere.h, OBJ/OBJ_Shake.C, OBJ/OBJ_Shake.h, OBJ/OBJ_WorldAlign.C, OBJ/OBJ_WorldAlign.h, OPUI/OPUI_HighlightBadge.C, OPUI/OPUI_MemUsageTextBadge.C, 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_CustomBrushState.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_Cop2Raster.C, SOP/SOP_Cop2Raster.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, standalone/traverse.C, 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 496 of file OP_Node.h.

Member Typedef Documentation

Definition at line 1203 of file OP_Node.h.

Member Enumeration Documentation

Enumerator
OTLSYNC_DELAY 
OTLSYNC_DOSYNC 

Definition at line 839 of file OP_Node.h.

Enumerator
RAMP_ERR_SUCCESS 
RAMP_ERR_NOT_FOUND 
RAMP_ERR_ONLY_KEY 

Definition at line 2122 of file OP_Node.h.

Enumerator
TRANSFORM_WORLD 
TRANSFORM_IWORLD 
TRANSFORM_PRE 
TRANSFORM_PARENT 
TRANSFORM_PARM 
TRANSFORM_PRECONSTRAINT 
TRANSFORM_PARENTBONE 
TRANSFORM_RAWPARM 
TRANSFORM_PREPARM 
TRANSFORM_PRERAWPARM 

Definition at line 1117 of file OP_Node.h.

traverseInputs calls 'callback' on this node and all its inputs. If callback returns true for any node, it will stop and return true, otherwise it will return false;

Parameters
callbackCallback function
dataUser data passed to the callback function
optsA set of flags to configure the traversal: TRAVERSE_INTO_SUBNETS If input is a subnet, we continue traversing from its display node. TRAVERSE_REF_INPUTS Follow inputs marked as reference inputs TRAVERSE_ONLY_USED_INPUTS Follow only inputs used in the last cook TRAVERSE_PASSTHROUGH_INPUTS Use the getPassThroughNode to traverse through nodes that directly steal their input node's data. TRAVERSE_EXTRA_INPUTS Follow nodes which this node implicitly depends on. TRAVERSE_SIMULATION_INPUTS For nodes that are DOP parents, grab extra inputs from the simulation. TRAVERSE_COOKED_INPUT_INDEX_INPUTS Uses the cookedInputIndex method to traverse "passthrough"-type inputs for nodes that might trigger a cook when calling getPassThroughNode, but where we want to avoid triggering a cook.
extra_interest_maskFor extra inputs, this mask allows one to restrict which of those dependency types follow.
Enumerator
TRAVERSE_DEFAULT 
TRAVERSE_INTO_SUBNETS 
TRAVERSE_REF_INPUTS 
TRAVERSE_ONLY_USED_INPUTS 
TRAVERSE_PASSTHROUGH_INPUTS 
TRAVERSE_EXTRA_INPUTS 
TRAVERSE_SIMULATION_INPUTS 
TRAVERSE_COOKED_INPUT_INDEX_INPUTS 

Definition at line 2630 of file OP_Node.h.

Constructor & Destructor Documentation

OP_Node::OP_Node ( OP_Network parent,
const char *  name,
OP_Operator entry 
)
protected
OP_Node::~OP_Node ( )
overrideprotected

Member Function Documentation

virtual int OP_Node::acceptDragDrop ( DD_Source src,
const char *  label 
)
virtual

Reimplemented in SOP_Node, and OBJ_Node.

void OP_Node::addChannelNameReference ( const PRM_RefId ref_id,
const UT_StringRef op_path,
const UT_StringRef chan_name,
OP_InterestType  type 
)
protected
static void OP_Node::addExprOpDependency ( const char *  arg_str,
const PRM_RefId ref_id,
OP_InterestType  interest_type 
)
static
Examples:
expr/functions.C.
static void OP_Node::addExprOpDependency1From2 ( const char *  arg_str1,
const char *  arg_str2,
const PRM_RefId ref_id,
OP_InterestType  interest_type 
)
static
static void OP_Node::addExprOpParmDependency ( const char *  arg_str,
const PRM_RefId ref_id,
OP_InterestType  interest_type 
)
static
virtual void OP_Node::addExtraInput ( OP_Node op,
OP_InterestType  type 
)
virtual

Declares that this node's data depends on the op for the given reason (OP_INTEREST_DATA, OP_INTEREST_FLAG).

Note
There are no other acceptable values for type.

Reimplemented in OP_Director, and MGR_Node.

Examples:
expr/functions.C, SOP/SOP_Cop2Raster.C, SOP/SOP_HDKObject.C, and SOP/SOP_PrimVOP.C.
void OP_Node::addExtraInput ( OP_Node op,
int  parm_i,
int  vec_i 
)

Declares that this node's data depends on op channel. If vec_i is -1, then this node depends on all the channels of the parameter.

void OP_Node::addExtraInput ( const OP_InterestRef source_ref)

Generic version of addExtraInput() which adds a dependency from an source ref to this node's data micronode.

void OP_Node::addExtraInput ( DEP_MicroNode source_micronode)

Generic version of addExtraInput() which adds a dependency from an source micronode to this node's data micronode.

static void OP_Node::addExtraInput ( const OP_InterestRef target_ref,
const OP_InterestRef source_ref 
)
static

Generic versions of addExtraInput() used by the others. In particular, the static version of addExtraInput() allows you to define channel to channel dependencies.

static void OP_Node::addExtraInput ( const OP_InterestRef target_ref,
DEP_MicroNode source_micronode 
)
static

Generic versions of addExtraInput() used by the others. In particular, the static version of addExtraInput() allows you to define channel to channel dependencies.

static void OP_Node::addExtraInput ( DEP_MicroNode target_micronode,
const OP_InterestRef source_ref 
)
static

Generic versions of addExtraInput() used by the others. In particular, the static version of addExtraInput() allows you to define channel to channel dependencies.

static void OP_Node::addExtraInput ( OP_Node source,
int  source_pi,
int  source_vi,
OP_Node target,
int  target_pi,
int  target_vi 
)
static

Optimized version of addExtraInput that doesn't create OP_InterestRef.

void OP_Node::addExtraInput ( OP_Node op,
OP_InterestType  type,
DEP_MicroNodeList sources_cache 
)
static void OP_Node::addExtraInput ( OP_Node source,
PRM_Parm source_parm,
int  source_vi,
OP_Node target,
PRM_Parm target_parm,
int  target_vi 
)
static

Optimized version of addExtraInput that doesn't create OP_InterestRef.

void OP_Node::addExtraInputs ( const UT_Array< OP_InterestRef > &  source_refs)

Add many extra inputs in one call. See addExtraInput.

void OP_Node::addExtraInputs ( const DEP_MicroNodeList deps)
static void OP_Node::addExtraInputs ( const UT_Array< OP_InterestRef > &  target_refs,
const UT_Array< OP_InterestRef > &  source_refs 
)
static
void OP_Node::addExtraInputs ( const UT_Array< OP_Node * > &  nodes,
OP_InterestType  type,
DEP_MicroNodeList sources_cache 
)
static void OP_Node::addExtraInputToEvalChannel ( int  thread,
OP_Node op,
OP_InterestType  type 
)
inlinestatic

Declare from an expression callback that the current evaluation channel is dependent on the given source.

Definition at line 1681 of file OP_Node.h.

static void OP_Node::addExtraInputToEvalChannel ( int  thread,
OP_Node op,
int  parm_i,
int  vec_i 
)
inlinestatic

Declare from an expression callback that the current evaluation channel is dependent on the given source.

Definition at line 1689 of file OP_Node.h.

static void OP_Node::addExtraInputToEvalChannel ( int  thread,
const OP_InterestRef source_ref 
)
inlinestatic

Declare from an expression callback that the current evaluation channel is dependent on the given source.

Definition at line 1697 of file OP_Node.h.

static void OP_Node::addExtraInputToEvalChannel ( int  thread,
DEP_MicroNode src_micronode 
)
inlinestatic

Declare from an expression callback that the current evaluation channel is dependent on the given source.

Definition at line 1706 of file OP_Node.h.

void OP_Node::addGenericOpInputReference ( const PRM_RefId ref_id,
OP_Node node 
)
void OP_Node::addGenericOpNameReference ( const UT_String oppath)
void OP_Node::addGenericOpNameReference ( const PRM_RefId ref_id,
OP_Node node 
)
void OP_Node::addInputError ( unsigned  input_idx)
protected
void OP_Node::addInputNodeError ( OP_Node src)
protected
static void OP_Node::addInputNodeErrorToManager ( UT_ErrorManager error,
OP_Node src 
)
static

Add an error to the given error manager, collapsing chains of invalid sources.

void OP_Node::addMultiparmInterests ( OP_Node srcnode,
PRM_Parm parm 
)

Marks this to be dependent on all the parameters inside of the multiparm.

static void OP_Node::addMultiparmInterests ( const OP_InterestRef target_ref,
OP_Node srcnode,
PRM_Parm parm 
)
static
static void OP_Node::addMultiparmInterests ( DEP_MicroNode target,
OP_Node srcnode,
PRM_Parm parm 
)
static
void OP_Node::addOpInterest ( void data,
OP_EventMethod  m 
)
inline

Add a notification callback for changes to the node. See the OP_EventType enum in OP_Value.h for the list of events and data sent.

Definition at line 1406 of file OP_Node.h.

void OP_Node::addOpNameReference ( const PRM_RefId ref_id,
const UT_String op_path,
OP_InterestType  type 
)
protected
void OP_Node::addOpReference ( const PRM_RefId ref_id,
OP_Node node,
const PRM_RefId source_ref_id,
OP_InterestType  type 
)
protected
virtual bool OP_Node::addOrMoveVisualizerToOutput ( int  outputidx)
inlinevirtual

Creates or moves an existing visualizer in this network to this nodes output.

Reimplemented in VOP_Node, and SOP_Node.

Definition at line 3113 of file OP_Node.h.

void OP_Node::addPythonNodeError ( const PY_Result py_result)
void OP_Node::addTransformError ( const OP_Node node,
const char *  label = 0 
) const

Registers an error for cooking the given node's transform. If label is supplied, then it will be used as a label of the transform error.

Examples:
SOP/SOP_HDKObject.C.
int OP_Node::allowBuildDependencies ( ) const
inlineprotected

Definition at line 3548 of file OP_Node.h.

virtual bool OP_Node::allowConsolidatingInput ( int  idx)
virtual

Reimplemented in VOP_SubnetBase.

virtual bool OP_Node::allowInputEditorInputDelete ( )
virtual

Returns true if editor should display delete input button.

virtual bool OP_Node::allowInputEditorInputParm ( )
virtual

Returns true if editor should display parameter option menu button.

void OP_Node::beginPropagateModification ( )
void OP_Node::beginScriptBlockingDel ( )
inlineprotected

Methods to disallow node deletion during the execution of a script.

Definition at line 3221 of file OP_Node.h.

virtual int OP_Node::beginVopCodeGeneratorUpdate ( )
inlinevirtual

Methods to postpone the update of the code generator until ending the last (level zero) update. This avoids recalculation of parameters and vop signatures, which can be quite costly.

Definition at line 2721 of file OP_Node.h.

void OP_Node::blockModify ( int  on_off,
int  propagate = 1 
)

When doing bulk parameter modifications, they can be sandwiched between blockModify(true) and blockModify(false) statements as an optimization. Parameters modified during blockModify(true) will have their dirtiness propagation to other scene entities like nodes and parameters suppressed until blockModify(false) is called.

Note
This will NOT suppress events to addOpInterest() callbacks. In fact, blockModify(false) currently sends out an extraneous OP_PARM_CHANGED with parm index of -1.
void OP_Node::buildInputHashCode ( UT_TokenString string,
OP_Context context,
int  group_mask,
int  level 
)
virtual void OP_Node::buildLocalVarNames ( UT_StringArray out_vars)
protectedvirtual

Retrieve a list of the local variables visible to this OP_Node. This list is unsorted and may contain duplicates.

Reimplemented in SOP_Node.

void OP_Node::buildOpDependencies ( )
overrideprotectedvirtual

Reimplemented from OP_Parameters.

Reimplemented in SOP_CaptureLayerPaint, and SOP_CaptureOverride.

static int OP_Node::buildOpMenu ( OP_Network net,
PRM_Name theMenu,
int  theMenuSize,
int(*)(OP_Node *)  doAdd = 0,
int  startItem = 0,
const PRM_Parm parm = 0,
int  showSubnets = 1,
int  expandSubnets = 1,
bool  recurse = false 
)
static
virtual void OP_Node::buildParmDependency ( int  parm_index)
protectedvirtual
static void OP_Node::buildPreDefRulesMenu ( PRM_Name menu,
OP_PreDefRules pdr 
)
static
static void OP_Node::buildQuadricXform ( UT_Matrix4 mat,
float  tx,
float  ty,
float  tz,
float  sx,
float  sy,
float  sz,
char  axis = 'y',
float  rx = 0.0f,
float  ry = 0.0f,
float  rz = 0.0f 
)
static
static void OP_Node::buildQuadricXform ( UT_DMatrix4 mat,
double  tx,
double  ty,
double  tz,
double  sx,
double  sy,
double  sz,
char  axis = 'y',
double  rx = 0.0,
double  ry = 0.0,
double  rz = 0.0 
)
static
int OP_Node::buildVexCommand ( UT_String result,
const PRM_Template templatelist,
fpreal  now,
int  start_parm = 0,
int  end_parm = INT_MAX,
bool  use_parmvop_tag = true 
)
Examples:
SOP/SOP_PrimVOP.C.
int OP_Node::buildVexCommandWithDependencies ( OP_Node owner,
DEP_MicroNode depnode,
UT_String result,
const PRM_Template templatelist,
fpreal  now,
int  start_parm = 0,
int  end_parm = INT_MAX,
bool  use_parmvop_tag = true 
)
virtual void OP_Node::buildVexScript ( UT_String script,
fpreal  t,
OP_Node owner,
UT_Map< int, bool > *  visitlist = 0 
)
virtual

Reimplemented in VOP_Node, and SHOP_Node.

virtual void OP_Node::buildVexScript ( UT_String script,
fpreal  t,
DEP_MicroNode depnode,
UT_Map< int, bool > *  visitlist = 0 
)
virtual

Reimplemented in VOP_Node, and SHOP_Node.

virtual void OP_Node::buildVopCodeGenerator ( )
inlinevirtual

Definition at line 2703 of file OP_Node.h.

static void OP_Node::buildXform ( int  trs,
int  xyz,
float  tx,
float  ty,
float  tz,
float  rx,
float  ry,
float  rz,
float  sx,
float  sy,
float  sz,
float  px,
float  py,
float  pz,
UT_Matrix4 mat 
)
static
static void OP_Node::buildXform ( int  trs,
int  xyz,
double  tx,
double  ty,
double  tz,
double  rx,
double  ry,
double  rz,
double  sx,
double  sy,
double  sz,
double  px,
double  py,
double  pz,
UT_DMatrix4 mat 
)
static
static void OP_Node::buildXform ( int  trs,
int  xyz,
float  tx,
float  ty,
float  tz,
float  rx,
float  ry,
float  rz,
float  sx,
float  sy,
float  sz,
const UT_Matrix4F::PivotSpace pivot,
UT_Matrix4 mat 
)
static
static void OP_Node::buildXform ( int  trs,
int  xyz,
double  tx,
double  ty,
double  tz,
double  rx,
double  ry,
double  rz,
double  sx,
double  sy,
double  sz,
const UT_DMatrix4::PivotSpace pivot,
UT_DMatrix4 mat 
)
static
static void OP_Node::buildXform ( int  trs,
int  xyz,
float  tx,
float  ty,
float  tz,
float  rx,
float  ry,
float  rz,
float  sx,
float  sy,
float  sz,
float  s_xy,
float  s_xz,
float  s_yz,
float  px,
float  py,
float  pz,
UT_Matrix4 mat 
)
static
static void OP_Node::buildXform ( int  trs,
int  xyz,
double  tx,
double  ty,
double  tz,
double  rx,
double  ry,
double  rz,
double  sx,
double  sy,
double  sz,
double  s_xy,
double  s_xz,
double  s_yz,
double  px,
double  py,
double  pz,
UT_DMatrix4 mat 
)
static
static void OP_Node::buildXform ( int  trs,
int  xyz,
float  tx,
float  ty,
float  tz,
float  rx,
float  ry,
float  rz,
float  sx,
float  sy,
float  sz,
float  s_xy,
float  s_xz,
float  s_yz,
const UT_Matrix4F::PivotSpace pivot,
UT_Matrix4 mat 
)
static
static void OP_Node::buildXform ( int  trs,
int  xyz,
double  tx,
double  ty,
double  tz,
double  rx,
double  ry,
double  rz,
double  sx,
double  sy,
double  sz,
double  s_xy,
double  s_xz,
double  s_yz,
const UT_DMatrix4::PivotSpace pivot,
UT_DMatrix4 mat 
)
static
static void OP_Node::buildXform ( const UT_Matrix4F::FullTransformModel &  parms,
UT_Matrix4F mat 
)
static
static void OP_Node::buildXform ( const UT_Matrix4D::FullTransformModel &  parms,
UT_Matrix4D mat 
)
static
static void OP_Node::buildXform ( int  trs,
float  tx,
float  ty,
float  rz,
float  sx,
float  sy,
float  px,
float  py,
UT_Matrix3 mat 
)
static
static void OP_Node::buildXform ( int  trs,
double  tx,
double  ty,
double  rz,
double  sx,
double  sy,
double  px,
double  py,
UT_DMatrix3 mat 
)
static
static void OP_Node::buildXform ( int  trs,
float  tx,
float  ty,
float  rz,
float  sx,
float  sy,
float  s_xy,
float  px,
float  py,
UT_Matrix3 mat 
)
static
static void OP_Node::buildXform ( int  trs,
double  tx,
double  ty,
double  rz,
double  sx,
double  sy,
double  s_xy,
double  px,
double  py,
UT_DMatrix3 mat 
)
static
static void OP_Node::buildXformOrder ( int  trs,
int  xyz,
UT_XformOrder order 
)
static

Build a UT_XformOrder out of TRS and XYZ parameter values.

static const UT_XformOrder& OP_Node::buildXformOrder ( int  trs,
int  xyz 
)
static
void OP_Node::builtExplicitly ( int  yn)
inline

Definition at line 2517 of file OP_Node.h.

void OP_Node::builtHashCode ( bool  b = true)
inline

Definition at line 2507 of file OP_Node.h.

static void OP_Node::bumpNameSerialIndex ( )
staticprotected
virtual int OP_Node::bumpSourceCount ( int  d)
protectedvirtual

Reimplemented in CHOP_Node.

void OP_Node::bumpVersionParm ( )
inline

Definition at line 1070 of file OP_Node.h.

virtual bool OP_Node::bundleChanged ( const OP_Bundle bundle)
virtual
virtual OP_ERROR OP_Node::bypassMe ( OP_Context context,
int copied_input 
)
protectedpure virtual
const OP_PythonObjectCache& OP_Node::cachedPythonObjects ( ) const
inline

Definition at line 2215 of file OP_Node.h.

bool OP_Node::canAccessFlag ( unsigned  mask,
uchar  flag 
) const
virtual bool OP_Node::canCreateNewOpType ( ) const
virtual

Reimplemented in OBJ_Node, SOP_ForEach, and OBJ_PythonScript.

virtual bool OP_Node::canDestroyNode ( )
protectedvirtual

Return true if it is safe at this time to destroy this node.

Reimplemented in OP_Network, and VOPNET_Node.

static bool OP_Node::canDestroyNodes ( OP_Network src_net,
const OP_NodeList nodes 
)
static

Returns true if we are allowed to destroy the specified nodes. If nodes is non-null, we test those nodes. If nodes is null, we test the picked nodes of the src_net. The return value assumes that all specified nodes will be destroyed, which is important because it may be safe to delete node A iff node B is also going to be deleted.

CHOPNET_Node* OP_Node::castToCHOPNETNode ( ) const
inline

FOO_Node *castToFOONode() const;
This type checks the current node against FOO_Node. If the cast is legal, this is returned. Otherwise, NULL. While it likely will do the "right" thing with this == NULL, that case is UT_ASSERTed as it is just asking for trouble. castToOBJNode() castToSOPNode() castToCHOPNETNode() castToCHOPNode() castToROPNode() castToSHOPNode() castToCOP2Node() castToCOP2NETNode() castToVOPNode() castToVOPNETNode() castToDOPNode() castToTOPNode() castToTOPNETNode() castToLOPNode()

Definition at line 582 of file OP_Node.h.

CHOP_Node* OP_Node::castToCHOPNode ( ) const
inline

FOO_Node *castToFOONode() const;
This type checks the current node against FOO_Node. If the cast is legal, this is returned. Otherwise, NULL. While it likely will do the "right" thing with this == NULL, that case is UT_ASSERTed as it is just asking for trouble. castToOBJNode() castToSOPNode() castToCHOPNETNode() castToCHOPNode() castToROPNode() castToSHOPNode() castToCOP2Node() castToCOP2NETNode() castToVOPNode() castToVOPNETNode() castToDOPNode() castToTOPNode() castToTOPNETNode() castToLOPNode()

Definition at line 582 of file OP_Node.h.

COP2NET_Node* OP_Node::castToCOP2NETNode ( ) const
inline

FOO_Node *castToFOONode() const;
This type checks the current node against FOO_Node. If the cast is legal, this is returned. Otherwise, NULL. While it likely will do the "right" thing with this == NULL, that case is UT_ASSERTed as it is just asking for trouble. castToOBJNode() castToSOPNode() castToCHOPNETNode() castToCHOPNode() castToROPNode() castToSHOPNode() castToCOP2Node() castToCOP2NETNode() castToVOPNode() castToVOPNETNode() castToDOPNode() castToTOPNode() castToTOPNETNode() castToLOPNode()

Definition at line 582 of file OP_Node.h.

COP2_Node* OP_Node::castToCOP2Node ( ) const
inline

FOO_Node *castToFOONode() const;
This type checks the current node against FOO_Node. If the cast is legal, this is returned. Otherwise, NULL. While it likely will do the "right" thing with this == NULL, that case is UT_ASSERTed as it is just asking for trouble. castToOBJNode() castToSOPNode() castToCHOPNETNode() castToCHOPNode() castToROPNode() castToSHOPNode() castToCOP2Node() castToCOP2NETNode() castToVOPNode() castToVOPNETNode() castToDOPNode() castToTOPNode() castToTOPNETNode() castToLOPNode()

Definition at line 582 of file OP_Node.h.

DOP_Node* OP_Node::castToDOPNode ( ) const
inline

FOO_Node *castToFOONode() const;
This type checks the current node against FOO_Node. If the cast is legal, this is returned. Otherwise, NULL. While it likely will do the "right" thing with this == NULL, that case is UT_ASSERTed as it is just asking for trouble. castToOBJNode() castToSOPNode() castToCHOPNETNode() castToCHOPNode() castToROPNode() castToSHOPNode() castToCOP2Node() castToCOP2NETNode() castToVOPNode() castToVOPNETNode() castToDOPNode() castToTOPNode() castToTOPNETNode() castToLOPNode()

Definition at line 582 of file OP_Node.h.

virtual DOP_Parent* OP_Node::castToDOPParent ( )
inlinevirtual

Reimplemented in DOP_Node, and OBJ_DopNet.

Definition at line 2685 of file OP_Node.h.

virtual const DOP_Parent* OP_Node::castToDOPParent ( ) const
inlinevirtual

Reimplemented in DOP_Node, and OBJ_DopNet.

Definition at line 2686 of file OP_Node.h.

LOP_Node* OP_Node::castToLOPNode ( ) const
inline

FOO_Node *castToFOONode() const;
This type checks the current node against FOO_Node. If the cast is legal, this is returned. Otherwise, NULL. While it likely will do the "right" thing with this == NULL, that case is UT_ASSERTed as it is just asking for trouble. castToOBJNode() castToSOPNode() castToCHOPNETNode() castToCHOPNode() castToROPNode() castToSHOPNode() castToCOP2Node() castToCOP2NETNode() castToVOPNode() castToVOPNETNode() castToDOPNode() castToTOPNode() castToTOPNETNode() castToLOPNode()

Definition at line 582 of file OP_Node.h.

OBJ_Node* OP_Node::castToOBJNode ( ) const
inline

FOO_Node *castToFOONode() const;
This type checks the current node against FOO_Node. If the cast is legal, this is returned. Otherwise, NULL. While it likely will do the "right" thing with this == NULL, that case is UT_ASSERTed as it is just asking for trouble. castToOBJNode() castToSOPNode() castToCHOPNETNode() castToCHOPNode() castToROPNode() castToSHOPNode() castToCOP2Node() castToCOP2NETNode() castToVOPNode() castToVOPNETNode() castToDOPNode() castToTOPNode() castToTOPNETNode() castToLOPNode()

Examples:
HOM/_hdk_sample_hom_extensions.C.

Definition at line 582 of file OP_Node.h.

OP_DopParent* OP_Node::castToOpDopParent ( )
inline

Definition at line 2689 of file OP_Node.h.

const OP_DopParent* OP_Node::castToOpDopParent ( ) const
inline

Definition at line 2691 of file OP_Node.h.

OP_Node* OP_Node::castToOPNode ( )
inlineoverridevirtual

Reimplemented from PRM_ParmOwner.

Definition at line 893 of file OP_Node.h.

const OP_Node* OP_Node::castToOPNode ( ) const
inlineoverridevirtual

Reimplemented from PRM_ParmOwner.

Definition at line 894 of file OP_Node.h.

ROP_Node* OP_Node::castToROPNode ( ) const
inline

FOO_Node *castToFOONode() const;
This type checks the current node against FOO_Node. If the cast is legal, this is returned. Otherwise, NULL. While it likely will do the "right" thing with this == NULL, that case is UT_ASSERTed as it is just asking for trouble. castToOBJNode() castToSOPNode() castToCHOPNETNode() castToCHOPNode() castToROPNode() castToSHOPNode() castToCOP2Node() castToCOP2NETNode() castToVOPNode() castToVOPNETNode() castToDOPNode() castToTOPNode() castToTOPNETNode() castToLOPNode()

Definition at line 582 of file OP_Node.h.

SHOP_Node* OP_Node::castToSHOPNode ( ) const
inline

FOO_Node *castToFOONode() const;
This type checks the current node against FOO_Node. If the cast is legal, this is returned. Otherwise, NULL. While it likely will do the "right" thing with this == NULL, that case is UT_ASSERTed as it is just asking for trouble. castToOBJNode() castToSOPNode() castToCHOPNETNode() castToCHOPNode() castToROPNode() castToSHOPNode() castToCOP2Node() castToCOP2NETNode() castToVOPNode() castToVOPNETNode() castToDOPNode() castToTOPNode() castToTOPNETNode() castToLOPNode()

Definition at line 582 of file OP_Node.h.

SOP_Node* OP_Node::castToSOPNode ( ) const
inline

FOO_Node *castToFOONode() const;
This type checks the current node against FOO_Node. If the cast is legal, this is returned. Otherwise, NULL. While it likely will do the "right" thing with this == NULL, that case is UT_ASSERTed as it is just asking for trouble. castToOBJNode() castToSOPNode() castToCHOPNETNode() castToCHOPNode() castToROPNode() castToSHOPNode() castToCOP2Node() castToCOP2NETNode() castToVOPNode() castToVOPNETNode() castToDOPNode() castToTOPNode() castToTOPNETNode() castToLOPNode()

Definition at line 582 of file OP_Node.h.

TOPNET_Node* OP_Node::castToTOPNETNode ( ) const
inline

FOO_Node *castToFOONode() const;
This type checks the current node against FOO_Node. If the cast is legal, this is returned. Otherwise, NULL. While it likely will do the "right" thing with this == NULL, that case is UT_ASSERTed as it is just asking for trouble. castToOBJNode() castToSOPNode() castToCHOPNETNode() castToCHOPNode() castToROPNode() castToSHOPNode() castToCOP2Node() castToCOP2NETNode() castToVOPNode() castToVOPNETNode() castToDOPNode() castToTOPNode() castToTOPNETNode() castToLOPNode()

Definition at line 582 of file OP_Node.h.

TOP_Node* OP_Node::castToTOPNode ( ) const
inline

FOO_Node *castToFOONode() const;
This type checks the current node against FOO_Node. If the cast is legal, this is returned. Otherwise, NULL. While it likely will do the "right" thing with this == NULL, that case is UT_ASSERTed as it is just asking for trouble. castToOBJNode() castToSOPNode() castToCHOPNETNode() castToCHOPNode() castToROPNode() castToSHOPNode() castToCOP2Node() castToCOP2NETNode() castToVOPNode() castToVOPNETNode() castToDOPNode() castToTOPNode() castToTOPNETNode() castToLOPNode()

Definition at line 582 of file OP_Node.h.

VOPNET_Node* OP_Node::castToVOPNETNode ( ) const
inline

FOO_Node *castToFOONode() const;
This type checks the current node against FOO_Node. If the cast is legal, this is returned. Otherwise, NULL. While it likely will do the "right" thing with this == NULL, that case is UT_ASSERTed as it is just asking for trouble. castToOBJNode() castToSOPNode() castToCHOPNETNode() castToCHOPNode() castToROPNode() castToSHOPNode() castToCOP2Node() castToCOP2NETNode() castToVOPNode() castToVOPNETNode() castToDOPNode() castToTOPNode() castToTOPNETNode() castToLOPNode()

Definition at line 582 of file OP_Node.h.

VOP_Node* OP_Node::castToVOPNode ( ) const
inline

FOO_Node *castToFOONode() const;
This type checks the current node against FOO_Node. If the cast is legal, this is returned. Otherwise, NULL. While it likely will do the "right" thing with this == NULL, that case is UT_ASSERTed as it is just asking for trouble. castToOBJNode() castToSOPNode() castToCHOPNETNode() castToCHOPNode() castToROPNode() castToSHOPNode() castToCOP2Node() castToCOP2NETNode() castToVOPNode() castToVOPNETNode() castToDOPNode() castToTOPNode() castToTOPNETNode() castToLOPNode()

Definition at line 582 of file OP_Node.h.

static void OP_Node::changeExprOpParmRef ( const char *  arg_str,
char *&  new_arg,
const char *  new_fullpath,
const char *  old_fullpath,
const char *  old_cwd,
const char *  chan_name,
const char *  old_chan_name 
)
static
static void OP_Node::changeExprOpRef ( const char *  arg_str,
char *&  new_arg,
const char *  new_fullpath,
const char *  old_fullpath,
const char *  old_cwd 
)
static
Examples:
expr/functions.C.
static void OP_Node::changeExprOpRef1From2 ( const char *  arg_str1,
const char *  arg_str2,
char *&  new_arg1,
char *&  new_arg2,
const char *  new_fullpath,
const char *  old_fullpath,
const char *  old_cwd 
)
static
void OP_Node::changeOpDependentUniqueId ( int  old_id,
int  new_id 
)
protected
bool OP_Node::changeOpPathRef ( UT_String value_str,
const char *  new_fullpath,
const char *  old_fullpath,
const char *  old_cwd,
const char *  new_cwd 
)
protected

This function takes the given parm string value containing an op path and does a search and replace given the old and new op paths.

value_str - the old parm value to modify new_fullpath - the new path value to change to old_fullpath - the old path that needs changing old_cwd - the old path that the parm value was relative to new_cwd - the new path that the parm value is to be relative to

The reason for old_cwd & new_cwd is when collapsing a node into a subnet. We need to figure out the new path references of the collapsed subnet since it has changed location. We match using the old_cwd but take the new path relative to new_cwd. Note that in this situation, old_fullpath is the same as new_fullpath.

void OP_Node::changeOpReferenceUniqueId ( int  old_id,
int  new_id 
)
protected
virtual void OP_Node::changeParmTemplate ( PRM_Template new_template)
virtual

Reimplemented in OP_Network, and VOP_SubnetScript.

bool OP_Node::changeSpareParms ( UT_IStream istream,
UT_String errors 
)
overridevirtual

Reimplemented from OP_Parameters.

int OP_Node::changeString ( const char *  from,
const char *  to,
bool  fullword 
)
overridevirtual

Override these methods so that search-and-replace operations affect our delete script as well as our parameters.

Reimplemented from OP_Parameters.

Reimplemented in SOP_CaptureBase.

void OP_Node::checkChannelDependencies ( CH_Channel ch,
CH_CHANGE_TYPE  reason 
)
overrideprotectedvirtual

Reimplemented from OP_Parameters.

Reimplemented in SOP_Muscle.

void OP_Node::checkConnectorsConsistency ( )
protected

Debug method for checking connector consistency.

virtual void OP_Node::checkContextOptionDependencies ( int  do_parms)
protectedvirtual
void OP_Node::checkInputs ( )
virtual void OP_Node::checkTimeDependencies ( int  do_parms = 1,
int  do_inputs = 1,
int  do_extras = 1 
)
protectedvirtual

This will set the time dependent flag based on parms, inputs and/or extra (non-graph) inputs. This can be overridden by subclasses to have more control over a node's time dependent flag by forcibly calling the bass class method with false for these parameters.

Parameters
do_parmsControls whether this node should become time dependent if any of its own cooking parameters are time dependent.
do_inputsControls whether the node should become time dependent if any of its used inputs are time dependent
do_extrasControls if this node should become time dependent if any of the "extra" inputs (see OP_Node::addExtraInput()) nodes are time dependent. These extra inputs typically nodes referenced by the expressions on this node's parameters.

Reimplemented in OBJ_Node, CHOP_Channel, CHOP_Layer, SOP_HOM, and COP2_MultiBase.

void OP_Node::cleanAllBundleRefs ( )
void OP_Node::cleanUnusedBundleRefs ( )
static void OP_Node::clearAllPendingUndoFlags ( )
static
virtual void OP_Node::clearAndDestroy ( )
protectedvirtual

Reimplemented in OP_Network, CHOP_Node, and LOP_Network.

virtual void OP_Node::clearCache ( )
protectedvirtual

Reimplemented in LOP_Node, and OBJ_DopNet.

void OP_Node::clearCachedPythonObjects ( )
void OP_Node::clearCompiledHash ( )
inline

Clears the compiled hash (needed when switching from a compiled library definition to one that is not compiled).

Definition at line 3089 of file OP_Node.h.

bool OP_Node::clearDataBlocks ( )
void OP_Node::clearDependency ( )
protected

Clears all cook dependencies (i.e., items that may cause it to cook)

void OP_Node::clearHashCodeFlags ( )
void OP_Node::clearInputContextOptionDepIfSafe ( const UT_StringHolder opt,
const OP_Context context 
)
virtual void OP_Node::clearInterrupted ( )
inlinevirtual

Reimplemented in VOP_Node, DOP_Node, and OBJ_DopNet.

Definition at line 2477 of file OP_Node.h.

void OP_Node::clearInterruptedImpl ( bool  allow_recook)
protected
void OP_Node::clearOpReferences ( )
protected
void OP_Node::clearParmDependency ( int  parm_index)
overridevirtual

Implements PRM_ParmOwner.

void OP_Node::clearUndoFlags ( )
overridevirtual

Reimplemented from OP_Parameters.

virtual void OP_Node::clearUniqueId ( )
protectedvirtual

Reimplemented in SOP_Node.

virtual void OP_Node::clearUnreferencedInputs ( )
virtual

Reimplemented in OP_Network.

void OP_Node::clearUserData ( bool  save_undo)
void OP_Node::clearVersionUserData ( )
virtual void OP_Node::cloneFromProxyRefNode ( OP_Network proxy)
protectedvirtual

Reimplemented in OP_Network.

virtual OP_Network* OP_Node::cloneToProxyRefNode ( )
protectedvirtual

Reimplemented in OP_Network.

static void OP_Node::cmd_locate ( CMD_Args )
staticprotected
void OP_Node::completePath ( const char *  prefixpath,
UT_String completepath 
) const

This will try to complete the path by finding the longest suffix that will work with the given prefix. It will only complete up to the next child. If it finds a valid child, it will append a slash (/).

void OP_Node::computeAllChildAssetPermissions ( )
void OP_Node::connectToInputNode ( OP_Node inputnode,
int  input_idx,
int  branch_off = 0 
)
void OP_Node::consolidateInputs ( )
void OP_Node::convertOpdefToAbsolutePath ( UT_String str) const
overrideprotectedvirtual

Converts opdef and oplib format paths from opdef:nodepath to opdef:tablename/optype.

Implements PRM_ParmOwner.

virtual bool OP_Node::cook ( OP_Context context)
virtual

Cook this node's data. Returns true upon success, false otherwise.

Upon failure, use OP_Parameters::error() and OP_Parameters::getErrorMessages() to determine reason.

Reimplemented in COP2_Node.

Examples:
DM/DM_ObjectPathHook.C.
virtual bool OP_Node::cookDataForAnyOutput ( ) const
inlineprotectedvirtual

If this node should be cooked for any output connected to it, return true here. Otherwise we only cook a node if something is connected to it's primary output. This does not let the node cook differently for each output, since the cook method doesn't know what output is being cooked for. So this should only be used if the cook is unaffected by the specific connected output.

Definition at line 3604 of file OP_Node.h.

virtual bool OP_Node::cookedDataNeedsErrors ( ) const
inlineprotectedvirtual

If the cook method relies on the base class cook to evaluate parameters (like in SHOPs), we need to trap the errors during this evaluation.

Reimplemented in SHOP_Node.

Definition at line 3596 of file OP_Node.h.

virtual bool OP_Node::cookedDataUsesAllParameters ( ) const
inlineprotectedvirtual

Override this to return true in an operator type that wants its cooked data to rely on all its parameter values but doesn't actually evaluate any parameters in its cook function (the prototypical example of this is SHOPs).

Reimplemented in SHOP_Node, OBJ_DopNet, and OBJ_Ambient.

Definition at line 3592 of file OP_Node.h.

virtual int OP_Node::cookedInputIndex ( ) const
inlinevirtual

Reimplemented in DOP_Auto.

Definition at line 1939 of file OP_Node.h.

template<typename F >
void OP_Node::cookLockedExecute ( const F &  functor)
inline

The cook lock is used to protect per node data structures during cooking. Subclasses should use this when calling cook(). Example:

// run code
});
Note
Include OP_NodeCookLockedExecute.h to call this.

Definition at line 18 of file OP_NodeCookLockedExecute.h.

virtual OP_ERROR OP_Node::cookMe ( OP_Context context)
protectedpure virtual
OP_ERROR OP_Node::cookOverrides ( OP_Context c)
int OP_Node::cookParmsModified ( ) const
inline

Definition at line 1076 of file OP_Node.h.

int OP_Node::countReferences ( int  op_id)
virtual UT_AttributeEvaluator* OP_Node::createAttributeEvaluator ( const char *  name)
virtual

Return a UT_AttributeEvaluator for dealing with the evaluation of local variables designated by an "@" prefix.

Reimplemented in SOP_Node, and LOP_Node.

virtual void OP_Node::createGalleryEntry ( OP_GalleryEntry entry)
virtual

Reimplemented in SHOP_Node.

static bool OP_Node::createNewOpType ( OP_Node node,
UT_String errors,
const char *  typeName = nullptr,
const char *  typeLabel = nullptr,
const char *  otlFile = nullptr,
const char *  metaSource = nullptr,
const char *  comment = nullptr,
const char *  version = nullptr,
const char *  newName = nullptr,
int  minimumInputs = -1,
int  maximumInputs = -1,
bool  ignore_external_references = false,
bool  compress_contents = false,
bool  force = false,
int newNodeId = nullptr,
bool  compile_contents = false,
bool  change_node_type = true,
bool  create_backup = true 
)
static
PRM_ParmList* OP_Node::createObsoleteParmList ( )
overridevirtual

Implements PRM_ParmOwner.

virtual OP_Network* OP_Node::createProxyRefNode ( const char *  path)
virtual

Reimplemented in OP_Network.

virtual void OP_Node::dataBlockChanged ( const UT_StringHolder key)
virtual
OP_DataMicroNode& OP_Node::dataMicroNode ( )
inline

Definition at line 1596 of file OP_Node.h.

virtual const OP_DataMicroNode& OP_Node::dataMicroNodeConst ( ) const
inlinevirtual

Reimplemented in VOP_Node, OBJ_Node, and SOP_HOM.

Definition at line 1594 of file OP_Node.h.

void OP_Node::decrementOpReference ( int  node_id)
static UT_StringHolder OP_Node::defaultInputName ( int  idx)
static
static UT_StringHolder OP_Node::defaultOutputName ( int  idx)
static
bool OP_Node::deleteBlindData ( const char *  key)

Remove any reference to the blind data of the given key from this object.

bool OP_Node::deleteCachedPythonObject ( const UT_StringRef key)
virtual void OP_Node::deleteCookedData ( )
pure virtual
void OP_Node::deleteInput ( int  idx)
protected

Deletes an input completely if it is disconnected. If the input is connected, does nothing.

void OP_Node::deleteInput ( const OP_ConnectorId input_name)
protected
virtual int OP_Node::deleteNodeData ( void )
virtual

Reimplemented in SOP_Node.

bool OP_Node::deleteUserData ( const UT_StringRef key,
bool  save_undo 
)
void OP_Node::directSendEvent ( OP_EventType  type,
void data = 0 
)
inline

You should use opChanged() instead. This is only for very special cases. If you don't know you are a special case, you aren't.

Definition at line 3094 of file OP_Node.h.

void OP_Node::dirtyDescriptiveNameCache ( )
protected

Marks our cached descriptive name as dirty.

bool OP_Node::dirtyForTimeChange ( fpreal  t)
inlineprotected

This function will dirty our data if the given time is different from our last cooked time.

This function is normally called from cook() but subclasses can prevent this with flags().setClearDependency(false). In that case, subclasses are responsible for calling this function at the appropriate time. This is primarily for nodes which cache their data across time. In that case, if they did not reuse their cached data, then dirtyForTimeChange() needs to be called.

Returns
true if node was dirtied, false otherwise.

Definition at line 3378 of file OP_Node.h.

void OP_Node::disconnectAllInputs ( )
void OP_Node::disconnectAllInputsOutputs ( bool  keepSelected,
bool  forceDisconnectOutputs = false 
)
void OP_Node::disconnectAllOutputs ( )
virtual void OP_Node::doDeleteInput ( int  idx)
protectedvirtual

Performs actual removal from the member input array.

Reimplemented in VOP_SubnetBase.

virtual int OP_Node::doDeleteRewire ( ) const
inlinevirtual

Definition at line 1566 of file OP_Node.h.

void OP_Node::doGetFullPath ( UT_WorkBuffer str) const
overrideprotectedvirtual

Implement the method from PRM_ParmOwner.

Implements PRM_ParmOwner.

virtual void OP_Node::doOverridePostCook ( )
inlineprotectedvirtual

Definition at line 3253 of file OP_Node.h.

virtual void OP_Node::doOverridePreCook ( )
inlineprotectedvirtual

Definition at line 3252 of file OP_Node.h.

virtual void OP_Node::dumpDependencies ( std::ostream &  os)
virtual

Reimplemented in OP_Network.

void OP_Node::dumpExtraInputs ( std::ostream &  os,
bool  as_DOT,
int  indent_level = 0 
) const
virtual void OP_Node::dumpMicroNodes ( std::ostream &  os,
bool  as_DOT,
int  indent_level 
) const
protectedvirtual

Subclasses should override this to dump extra micronodes that they own for debugging purposes.

Reimplemented in OBJ_DopNet.

void OP_Node::dumpOpDependents ( OP_Node ref,
int  brief,
std::ostream &  os 
)
virtual int OP_Node::editCallback ( CL_Track track,
fpreal  t,
fpreal  newValue 
)
virtual
static void OP_Node::endBulkNotifications ( const OP_NodeList changed)
static
void OP_Node::endPropagateModification ( )
void OP_Node::endScriptBlockingDel ( )
inlineprotected

Methods to disallow node deletion during the execution of a script.

Definition at line 3223 of file OP_Node.h.

virtual void OP_Node::endVopCodeGeneratorUpdate ( int  update_level)
inlinevirtual

Methods to postpone the update of the code generator until ending the last (level zero) update. This avoids recalculation of parameters and vop signatures, which can be quite costly.

Definition at line 2722 of file OP_Node.h.

virtual void OP_Node::ensureInputsAndOutputsAreValid ( )
virtual
void OP_Node::evalOpPathString ( UT_String val,
int  pi,
int  vi,
fpreal  t,
int op_id,
fpreal op_time,
int  expanded = 1 
)
void OP_Node::evalOpPathString ( UT_String val,
const char *  pn,
int pi,
int  vi,
fpreal  t,
int op_id,
fpreal op_time,
int  expanded = 1 
)
void OP_Node::evaluateAllParms ( fpreal  t)
protected

Evaluate all parameters for this operator. This is used for scripted Ops to make sure that our dependencies get set up properly.

virtual void OP_Node::evaluateBatchParms ( PRM_BatchList list,
fpreal  now 
)
virtual

Reimplemented in OBJ_Node.

UT_StringHolder OP_Node::evaluateDisableExpression ( const PRM_Parm prm,
const UT_StringRef function 
) const
overrideprotectedvirtual

Reimplemented from PRM_ParmOwner.

virtual bool OP_Node::evaluateTransformTracks ( OP_Context context,
OP_EvaluateTransformTracksArgs args 
)
inlinevirtual

Reimplemented in SOP_Node, and CHOP_Node.

Definition at line 3188 of file OP_Node.h.

virtual bool OP_Node::evaluateTransformTracksTargets ( OP_Context context,
OP_NodeList nodes,
OP_Node caller 
)
inlinevirtual

Reimplemented in SOP_Node.

Definition at line 3189 of file OP_Node.h.

DEP_MicroNode& OP_Node::eventMicroNode ( OP_EventType  e)
Examples:
SOP/SOP_PrimVOP.h.
const DEP_MicroNode& OP_Node::eventMicroNodeConst ( OP_EventType  e) const
inline

Accessors to event micro nodes.

Definition at line 1626 of file OP_Node.h.

void OP_Node::executeCommand ( const char *  command,
std::ostream *  out,
std::ostream *  err 
) const
overridevirtual

Implements PRM_ParmOwner.

OP_ERROR OP_Node::executeHscriptScript ( UT_String script,
const OP_Context context 
)
OP_ERROR OP_Node::executePythonScript ( UT_String script,
const OP_Context context 
)
bool OP_Node::expandGroupPattern ( const char *  pattern,
UT_String result,
bool  expandToFullPaths = false 
)
void OP_Node::fillInfoTree ( UT_InfoTree tree,
const OP_NodeInfoTreeParms parms 
)

Fill in 'tree' with details that are common to all node types. Then call fillInfoTreeNodeSpecific() to get specific details about this specific node (be it a SOP, CHOP, etc)

virtual bool OP_Node::fillInfoTreeChildSpecific ( UT_InfoTree tree,
const OP_NodeInfoTreeParms parms,
OP_Node child 
)
virtual

Optionally called on parent from fillInfoTreeNodeSpecific() to provide some information about node that only parent network can provide.

Returns
True if parent added info specific to that child.
virtual void OP_Node::fillInfoTreeNodeSpecific ( UT_InfoTree tree,
const OP_NodeInfoTreeParms parms 
)
virtual

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

Reimplemented in VOP_Node, OBJ_Node, SOP_Node, COP2_Node, ROP_Node, CHOP_Node, VOP_ParmGenerator, LOP_Node, DOP_Node, OBJ_Bone, SOP_BlockEndFor, OBJ_Fetch, ROP_Dop, SOP_BlockEndCompile, SOP_Cache, DOP_Auto, SOP_ForEach, and SOP_MDD.

CH_Channel* OP_Node::findChannel ( const char *  path)
CHOPNET_Node* OP_Node::findCHOPNETNode ( const char *  path) const
inline

FOO_Node *findFOONode(const char *path) const;
This function searches for the node at path relative to this node. If not found, or if the found node is not of type FOO_Node, it returns NULL. The result is already cast to FOO_Node. findOBJNode(const char *path) findSOPNode(const char *path) findCHOPNETNode(const char *path) findCHOPNode(const char *path) findROPNode(const char *path) findSHOPNode(const char *path) findCOP2Node(const char *path) findCOP2NETNode(const char *path) findVOPNode(const char *path) findVOPNETNode(const char *path) findDOPNode(const char *path) findTOPNode(const char *path) findTOPNETNode(const char *path) findLOPNode(const char *path)

Definition at line 558 of file OP_Node.h.

CHOP_Node* OP_Node::findCHOPNode ( const char *  path) const
inline

FOO_Node *findFOONode(const char *path) const;
This function searches for the node at path relative to this node. If not found, or if the found node is not of type FOO_Node, it returns NULL. The result is already cast to FOO_Node. findOBJNode(const char *path) findSOPNode(const char *path) findCHOPNETNode(const char *path) findCHOPNode(const char *path) findROPNode(const char *path) findSHOPNode(const char *path) findCOP2Node(const char *path) findCOP2NETNode(const char *path) findVOPNode(const char *path) findVOPNETNode(const char *path) findDOPNode(const char *path) findTOPNode(const char *path) findTOPNETNode(const char *path) findLOPNode(const char *path)

Definition at line 558 of file OP_Node.h.

COP2NET_Node* OP_Node::findCOP2NETNode ( const char *  path) const
inline

FOO_Node *findFOONode(const char *path) const;
This function searches for the node at path relative to this node. If not found, or if the found node is not of type FOO_Node, it returns NULL. The result is already cast to FOO_Node. findOBJNode(const char *path) findSOPNode(const char *path) findCHOPNETNode(const char *path) findCHOPNode(const char *path) findROPNode(const char *path) findSHOPNode(const char *path) findCOP2Node(const char *path) findCOP2NETNode(const char *path) findVOPNode(const char *path) findVOPNETNode(const char *path) findDOPNode(const char *path) findTOPNode(const char *path) findTOPNETNode(const char *path) findLOPNode(const char *path)

Definition at line 558 of file OP_Node.h.

COP2_Node* OP_Node::findCOP2Node ( const char *  path) const
inline

FOO_Node *findFOONode(const char *path) const;
This function searches for the node at path relative to this node. If not found, or if the found node is not of type FOO_Node, it returns NULL. The result is already cast to FOO_Node. findOBJNode(const char *path) findSOPNode(const char *path) findCHOPNETNode(const char *path) findCHOPNode(const char *path) findROPNode(const char *path) findSHOPNode(const char *path) findCOP2Node(const char *path) findCOP2NETNode(const char *path) findVOPNode(const char *path) findVOPNETNode(const char *path) findDOPNode(const char *path) findTOPNode(const char *path) findTOPNETNode(const char *path) findLOPNode(const char *path)

Definition at line 558 of file OP_Node.h.

DOP_Node* OP_Node::findDOPNode ( const char *  path) const
inline

FOO_Node *findFOONode(const char *path) const;
This function searches for the node at path relative to this node. If not found, or if the found node is not of type FOO_Node, it returns NULL. The result is already cast to FOO_Node. findOBJNode(const char *path) findSOPNode(const char *path) findCHOPNETNode(const char *path) findCHOPNode(const char *path) findROPNode(const char *path) findSHOPNode(const char *path) findCOP2Node(const char *path) findCOP2NETNode(const char *path) findVOPNode(const char *path) findVOPNETNode(const char *path) findDOPNode(const char *path) findTOPNode(const char *path) findTOPNETNode(const char *path) findLOPNode(const char *path)

Definition at line 558 of file OP_Node.h.

virtual OP_Dot* OP_Node::findDot ( const char *  const_path)
inlinevirtual

Reimplemented in OP_Network.

Definition at line 860 of file OP_Node.h.

virtual OP_NetworkBoxItem* OP_Node::findItem ( const char *  const_path,
OP_ItemTypeMask  item_type = OP_ITEMTYPE_ALL 
)
inlinevirtual

Reimplemented in OP_Network.

Definition at line 864 of file OP_Node.h.

LOP_Node* OP_Node::findLOPNode ( const char *  path) const
inline

FOO_Node *findFOONode(const char *path) const;
This function searches for the node at path relative to this node. If not found, or if the found node is not of type FOO_Node, it returns NULL. The result is already cast to FOO_Node. findOBJNode(const char *path) findSOPNode(const char *path) findCHOPNETNode(const char *path) findCHOPNode(const char *path) findROPNode(const char *path) findSHOPNode(const char *path) findCOP2Node(const char *path) findCOP2NETNode(const char *path) findVOPNode(const char *path) findVOPNETNode(const char *path) findDOPNode(const char *path) findTOPNode(const char *path) findTOPNETNode(const char *path) findLOPNode(const char *path)

Definition at line 558 of file OP_Node.h.

virtual OP_NetworkBox* OP_Node::findNetworkBox ( const char *  name)
inlinevirtual

Reimplemented in OP_Network.

Definition at line 856 of file OP_Node.h.

OP_Node* OP_Node::findNode ( const char *  path,
OTLSyncMode  syncmode = OTLSYNC_DOSYNC 
) const

Uses the path (eg. "/obj/geo1") to find a node in our hierarchy.

Examples:
expr/functions.C, HOM/_hdk_sample_hom_extensions.C, SOP/SOP_Cop2Raster.C, and SOP/SOP_HDKObject.C.
OBJ_Node* OP_Node::findOBJNode ( const char *  path) const
inline

FOO_Node *findFOONode(const char *path) const;
This function searches for the node at path relative to this node. If not found, or if the found node is not of type FOO_Node, it returns NULL. The result is already cast to FOO_Node. findOBJNode(const char *path) findSOPNode(const char *path) findCHOPNETNode(const char *path) findCHOPNode(const char *path) findROPNode(const char *path) findSHOPNode(const char *path) findCOP2Node(const char *path) findCOP2NETNode(const char *path) findVOPNode(const char *path) findVOPNETNode(const char *path) findDOPNode(const char *path) findTOPNode(const char *path) findTOPNETNode(const char *path) findLOPNode(const char *path)

Definition at line 558 of file OP_Node.h.

static int OP_Node::findOpFramePair ( const char *  path,
int op_id,
fpreal frame 
)
static
virtual OP_SubnetIndirectInput* OP_Node::findParentInput ( const char *  const_path)
inlinevirtual

Reimplemented in OP_Network.

Definition at line 862 of file OP_Node.h.

virtual bool OP_Node::findParmFromTrack ( const OP_FollowChanRefsOptions opt,
const char *  trackname,
OP_NodeParmRefCycle cycle,
OP_Node *&  node,
PRM_Parm *&  parm,
int vecidx 
)
virtual

Reimplemented in CHOP_Node, CHOP_Channel, and CHOP_Layer.

virtual OP_PostIt* OP_Node::findPostItNote ( const char *  const_path)
inlinevirtual

Reimplemented in OP_Network.

Definition at line 858 of file OP_Node.h.

ROP_Node* OP_Node::findROPNode ( const char *  path) const
inline

FOO_Node *findFOONode(const char *path) const;
This function searches for the node at path relative to this node. If not found, or if the found node is not of type FOO_Node, it returns NULL. The result is already cast to FOO_Node. findOBJNode(const char *path) findSOPNode(const char *path) findCHOPNETNode(const char *path) findCHOPNode(const char *path) findROPNode(const char *path) findSHOPNode(const char *path) findCOP2Node(const char *path) findCOP2NETNode(const char *path) findVOPNode(const char *path) findVOPNETNode(const char *path) findDOPNode(const char *path) findTOPNode(const char *path) findTOPNETNode(const char *path) findLOPNode(const char *path)

Definition at line 558 of file OP_Node.h.

SHOP_Node* OP_Node::findSHOPNode ( const char *  path) const
inline

FOO_Node *findFOONode(const char *path) const;
This function searches for the node at path relative to this node. If not found, or if the found node is not of type FOO_Node, it returns NULL. The result is already cast to FOO_Node. findOBJNode(const char *path) findSOPNode(const char *path) findCHOPNETNode(const char *path) findCHOPNode(const char *path) findROPNode(const char *path) findSHOPNode(const char *path) findCOP2Node(const char *path) findCOP2NETNode(const char *path) findVOPNode(const char *path) findVOPNETNode(const char *path) findDOPNode(const char *path) findTOPNode(const char *path) findTOPNETNode(const char *path) findLOPNode(const char *path)

Examples:
SOP/SOP_PrimVOP.C.

Definition at line 558 of file OP_Node.h.

SOP_Node* OP_Node::findSOPNode ( const char *  path) const
inline

FOO_Node *findFOONode(const char *path) const;
This function searches for the node at path relative to this node. If not found, or if the found node is not of type FOO_Node, it returns NULL. The result is already cast to FOO_Node. findOBJNode(const char *path) findSOPNode(const char *path) findCHOPNETNode(const char *path) findCHOPNode(const char *path) findROPNode(const char *path) findSHOPNode(const char *path) findCOP2Node(const char *path) findCOP2NETNode(const char *path) findVOPNode(const char *path) findVOPNETNode(const char *path) findDOPNode(const char *path) findTOPNode(const char *path) findTOPNETNode(const char *path) findLOPNode(const char *path)

Definition at line 558 of file OP_Node.h.

int OP_Node::findString ( const char *  str,
bool  fullword,
bool  usewildcards 
) const
overridevirtual

Override these methods so that search-and-replace operations affect our delete script as well as our parameters.

Reimplemented from OP_Parameters.

OP_Node* OP_Node::findSubNode ( const char *  path) const

Same as findNode() except it will return NULL if the path is to a node that is either not a descendant of this node, or if it isn't the same type as our children.

TOPNET_Node* OP_Node::findTOPNETNode ( const char *  path) const
inline

FOO_Node *findFOONode(const char *path) const;
This function searches for the node at path relative to this node. If not found, or if the found node is not of type FOO_Node, it returns NULL. The result is already cast to FOO_Node. findOBJNode(const char *path) findSOPNode(const char *path) findCHOPNETNode(const char *path) findCHOPNode(const char *path) findROPNode(const char *path) findSHOPNode(const char *path) findCOP2Node(const char *path) findCOP2NETNode(const char *path) findVOPNode(const char *path) findVOPNETNode(const char *path) findDOPNode(const char *path) findTOPNode(const char *path) findTOPNETNode(const char *path) findLOPNode(const char *path)

Definition at line 558 of file OP_Node.h.

TOP_Node* OP_Node::findTOPNode ( const char *  path) const
inline

FOO_Node *findFOONode(const char *path) const;
This function searches for the node at path relative to this node. If not found, or if the found node is not of type FOO_Node, it returns NULL. The result is already cast to FOO_Node. findOBJNode(const char *path) findSOPNode(const char *path) findCHOPNETNode(const char *path) findCHOPNode(const char *path) findROPNode(const char *path) findSHOPNode(const char *path) findCOP2Node(const char *path) findCOP2NETNode(const char *path) findVOPNode(const char *path) findVOPNETNode(const char *path) findDOPNode(const char *path) findTOPNode(const char *path) findTOPNETNode(const char *path) findLOPNode(const char *path)

Definition at line 558 of file OP_Node.h.

VOPNET_Node* OP_Node::findVOPNETNode ( const char *  path) const
inline

FOO_Node *findFOONode(const char *path) const;
This function searches for the node at path relative to this node. If not found, or if the found node is not of type FOO_Node, it returns NULL. The result is already cast to FOO_Node. findOBJNode(const char *path) findSOPNode(const char *path) findCHOPNETNode(const char *path) findCHOPNode(const char *path) findROPNode(const char *path) findSHOPNode(const char *path) findCOP2Node(const char *path) findCOP2NETNode(const char *path) findVOPNode(const char *path) findVOPNETNode(const char *path) findDOPNode(const char *path) findTOPNode(const char *path) findTOPNETNode(const char *path) findLOPNode(const char *path)

Definition at line 558 of file OP_Node.h.

VOP_Node* OP_Node::findVOPNode ( const char *  path) const
inline

FOO_Node *findFOONode(const char *path) const;
This function searches for the node at path relative to this node. If not found, or if the found node is not of type FOO_Node, it returns NULL. The result is already cast to FOO_Node. findOBJNode(const char *path) findSOPNode(const char *path) findCHOPNETNode(const char *path) findCHOPNode(const char *path) findROPNode(const char *path) findSHOPNode(const char *path) findCOP2Node(const char *path) findCOP2NETNode(const char *path) findVOPNode(const char *path) findVOPNETNode(const char *path) findDOPNode(const char *path) findTOPNode(const char *path) findTOPNETNode(const char *path) findLOPNode(const char *path)

Definition at line 558 of file OP_Node.h.

void OP_Node::finishedLoadingParentNetwork ( )
protected

Called when loadNetwork finishes loading the whole parent network of this node.

DEP_MicroNode& OP_Node::flagMicroNode ( )
inline

Definition at line 1619 of file OP_Node.h.

const OP_NodeFlags& OP_Node::flags ( ) const
inline
OP_NodeFlags& OP_Node::flags ( )
inline

Definition at line 1390 of file OP_Node.h.

void OP_Node::forceClearInput ( int  idx)

Forcibly clear an input. Used when deleting the input.

virtual void OP_Node::forceRecook ( bool  evensmartcache = true)
virtual

Mark this node as needing a full recook. If 'evensmartcache' is true, a recook will occur even if all the parameters match in this node and all its inputs (only valid for COP2_Node).

Reimplemented in COP2_Node.

Examples:
SOP/SOP_BouncyAgent.C, SOP/SOP_BrushHairLen.h, and SOP/SOP_CustomBrush.C.
static bool OP_Node::forceValidOpName ( UT_String name)
static
void OP_Node::gatherInputs ( UT_Array< OP_InputPair > &  input_pairs)
protected

Use these to collect all inputs/outputs in cases where they will need to be modified.

void OP_Node::gatherOutputs ( UT_Array< OP_OutputPair > &  output_pairs)
protected
unsigned OP_Node::getActiveInputIndex ( ) const
inline

Definition at line 1479 of file OP_Node.h.

virtual bool OP_Node::getActiveLayerContribution ( const UT_String track_name,
fpreal  t,
fpreal value,
fpreal weight 
)
inlinevirtual

This mechanism allows users to evaluate active layer contribution without needing to link against CHOP.

Reimplemented in CHOP_Layer.

Definition at line 3101 of file OP_Node.h.

virtual void OP_Node::getActiveOperatorsDefinedByOTL ( UT_Set< OP_Operator * > &  active_operators) const
virtual

Reimplemented in OP_Network.

int OP_Node::getAllChannels ( CH_ChannelList list,
int  scoped = 0 
)
void OP_Node::getAllChildren ( OP_NodeList children) const
static void OP_Node::getAllNodes ( OP_NodeList nodes)
static
virtual UT_StringArray* OP_Node::getArrayForLoadedInputNames ( )
virtual

If a subclass is interested in the saved input or output names, then it should override this method. The array will be filled during load.

Reimplemented in VOP_SubnetBase, and VOP_SubnetScript.

virtual UT_StringArray* OP_Node::getArrayForLoadedOutputNames ( )
virtual

If a subclass is interested in the saved input or output names, then it should override this method. The array will be filled during load.

Reimplemented in VOP_SubnetBase, and VOP_SubnetScript.

virtual void OP_Node::getAttributeEvaluatorNames ( UT_StringArray names)
virtual

Reimplemented in SOP_Node, and LOP_Node.

virtual bool OP_Node::getAudio ( ) const
inlinevirtual

Reimplemented in CHOP_Node.

Definition at line 1343 of file OP_Node.h.

virtual int OP_Node::getAuxInput ( ) const
virtual

Reimplemented in COP2_MaskOp.

virtual void OP_Node::getAuxInputName ( OP_ConnectorId name_out)
virtual

Reimplemented in COP2_MaskOp.

UT_SharedPtr<void> OP_Node::getBlindData ( const char *  key) const

Returns a shared pointer to a previously stored blind data. If no blind data exists with the given key, an empty shared pointer is returned.

template<typename T >
UT_SharedPtr<T> OP_Node::getBlindData ( const char *  key) const
inline

Return a pointer to a previously stored blind data, statically cast to the type given. If the cast fails, or if there's no data of that type, a NULL pointer is returned. To distinguish between the two cases call hasBlindData().

Definition at line 2167 of file OP_Node.h.

virtual bool OP_Node::getBoundingBox ( UT_BoundingBox box,
OP_Context  
)
virtual

Reimplemented in OBJ_Node, SOP_Node, and OBJ_SubNet.

bool OP_Node::getBypass ( ) const
inline
Examples:
COP2/COP2_MultiInputWipe.C, and COP2/COP2_SampleFilter.C.

Definition at line 1331 of file OP_Node.h.

const UT_StringHolder& OP_Node::getCachedDescriptiveName ( )

Caches the descriptive name to member data, and returns that. The cache is automatically dirtied in opChanged.

PY_OpaqueObject* OP_Node::getCachedPythonObject ( const UT_StringRef key) const
int OP_Node::getCanDeviateFromOTLDefinition ( ) const
virtual OP_Node* OP_Node::getChild ( const char *  name,
int hint = 0 
) const
virtual

Reimplemented in OP_Network, and MOT_Director.

Examples:
ROP/ROP_Dumper.C.
virtual OP_Node* OP_Node::getChild ( int  index) const
virtual

Reimplemented in OP_Network, and MOT_Director.

OP_ERROR OP_Node::getChildErrorSeverity ( )
CHOP_Node* OP_Node::getCHOPNode ( const char *  path,
int  addextra = 0,
bool *  got_by_flag = nullptr 
) const
virtual const CL_Clip* OP_Node::getClip ( OP_Context context = 0)
virtual

Reimplemented in CHOP_Node.

UT_Color OP_Node::getColor ( ) const
overridevirtual

Overrides the NetworkBoxItem implementations of getColor and setColor to provide support Node-specific features like using the default color.

Reimplemented from OP_NetworkBoxItem.

bool OP_Node::getColorDefault ( ) const

Accessors for this node's flag indicating if it should use its operator's default color instead of its local color.

const UT_String& OP_Node::getComment ( ) const
inline

Accessors for this node's comment string.

Definition at line 593 of file OP_Node.h.

bool OP_Node::getCompress ( ) const
int OP_Node::getConnectedInputIndex ( int  startAt = -1) const

Returns the first non-null input beyond the specified starting index. This function can be used to easily loop through all connected inputs.

Examples:
VOP/VOP_Switch.C.
static fpreal OP_Node::getConnectorHeight ( )
static

Get the default connector height.

OP_Cache* OP_Node::getCookCache ( )
inlineprotected

Definition at line 3355 of file OP_Node.h.

int OP_Node::getCookCount ( ) const
inline

Definition at line 1932 of file OP_Node.h.

virtual void* OP_Node::getCookedData ( OP_Context )
virtual
virtual OP_DataType OP_Node::getCookedDataType ( ) const
pure virtual
void OP_Node::getCookInfo ( UT_String info) const

Return the cook information as a formatted string.

void OP_Node::getCookInfoTree ( UT_InfoTree tree) const

Return the cook information in a UT_InfoTree.

OP_CookLock& OP_Node::getCookLock ( )
inline

The cook lock is used to protect per node data structures during cooking. Subclasses should use lock this to protect private data.

Definition at line 1060 of file OP_Node.h.

void OP_Node::getCookPathNodes ( OP_NodeList nodes)

Using this node as a starting point, traverse our inputs recursively to get our best guess of the nodes that have been cooked to generate the current cooked result of this node.

virtual const char* OP_Node::getCookTimerLabel ( const OP_Context context) const
protectedvirtual
COP2_Node* OP_Node::getCOP2Node ( const char *  path,
int  addextra = 0 
) const
const UT_String& OP_Node::getCreatorState ( ) const
inline

Definition at line 2516 of file OP_Node.h.

bool OP_Node::getCurrent ( ) const
virtual int OP_Node::getDandROpsEqual ( )
inlinevirtual

Reimplemented in DOP_Node, OBJ_DopNet, OP_Network, and HDK_Sample::SOP_HDKObject.

Definition at line 808 of file OP_Node.h.

OP_DataBlockPtr OP_Node::getDataBlock ( const char *  key) const
void OP_Node::getDataBlockKeys ( UT_StringArray keys,
const UT_StringHolder type = UT_StringHolder() 
) const
virtual int OP_Node::getDataClass ( ) const
virtual

Reimplemented in SHOP_Node.

virtual const char* OP_Node::getDataFileExtension ( int  binary) const
protectedvirtual
virtual bool OP_Node::getDebug ( ) const
inlinevirtual

Reimplemented in VOP_Node, and LOP_Node.

Definition at line 1347 of file OP_Node.h.

virtual void OP_Node::getDefaultState ( UT_String default_state_name)
virtual

Must be implemented to associate this node to a viewer state. default_state_name should be set with the viewer state type name. OP_Node implementation first looks for a 'viewerstate' node string parameter. The parameter can be added as a spare parameter to any node. If the node is an HDA it can define a default state section. Otherwise, the operator name is returned as a default state name.

bool OP_Node::getDelaySyncOTL ( ) const
inline

True if the otl is marked as matching, but hasn't actually been synced yet.

Definition at line 2005 of file OP_Node.h.

const UT_String& OP_Node::getDelScript ( ) const
inline

Obtain the node's script which is called when it is being deleted.

Definition at line 585 of file OP_Node.h.

virtual void OP_Node::getDescriptiveName ( UT_String str) const
protectedvirtual

Additonal information that should be provided at the network level in addition to the name. By default will inspect the getDescriptiveParmName.

Reimplemented in VOP_ParmGenerator, OBJ_DopNet, SOP_BlockEndFor, DOP_SubNetOutput, VOP_Constant, SOP_BlockBeginFor, SOP_UVLayout2, and SOP_UVLayout3.

virtual void OP_Node::getDescriptiveParmName ( UT_String str) const
protectedvirtual

Rather than overloading the descriptive name, you can instead just provide a parameter name that will be evaluated to become the descriptive name.

Reimplemented in OBJ_DopNet, SOP_UVBrush, DOP_Auto, VOP_Snippet, SOP_UVTransform, SOP_UVEdit, ROP_Dop, SOP_UVPelt2, SOP_UVFuse, SOP_UVFlatten2, SOP_UVFlatten3, SOP_BlockBeginCompile, SOP_UVLayout2, and SOP_UVLayout3.

bool OP_Node::getDisplay ( ) const
inline

Definition at line 1328 of file OP_Node.h.

bool OP_Node::getDisplayComment ( ) const
inline

Definition at line 1360 of file OP_Node.h.

bool OP_Node::getDisplayDescriptiveName ( ) const
inline

Definition at line 1357 of file OP_Node.h.

virtual bool OP_Node::getDisplayOrigin ( ) const
inlinevirtual

Reimplemented in OBJ_Node.

Definition at line 1349 of file OP_Node.h.

static bool OP_Node::getDoingBulkNotification ( )
static
DOP_Node* OP_Node::getDOPNode ( const char *  path,
int  addextra = 0 
) const
virtual void OP_Node::getDragDropChoice ( DD_Source src,
DD_ChoiceList c 
)
virtual

Reimplemented in SOP_Node, and OBJ_Node.

const UT_OptionEntry* OP_Node::getEditableInputData ( int  idx,
const UT_StringRef key 
) const
void OP_Node::getEditableInputDataKeys ( int  idx,
UT_StringArray keys 
) const
UT_StringHolder OP_Node::getEditableInputString ( int  idx,
const UT_StringRef key 
) const
static OP_EditCallback OP_Node::getEditCallback ( void *&  data)
static
virtual bool OP_Node::getEditPicked ( ) const
inlinevirtual

Definition at line 1325 of file OP_Node.h.

static DEP_MicroNode* OP_Node::getEvalChannelMicroNode ( int  thread)
static
void OP_Node::getExistingOpDependents ( OP_NodeList deps,
bool  include_descendants 
) const
void OP_Node::getExistingOpReferences ( OP_NodeList refs,
bool  recurse 
) const
virtual bool OP_Node::getExport ( ) const
inlinevirtual

Reimplemented in CHOP_Node.

Definition at line 1345 of file OP_Node.h.

bool OP_Node::getExpose ( ) const
inline

Definition at line 1335 of file OP_Node.h.

void OP_Node::getExternalFiles ( UT_StringArray files,
const char *  stringparm,
int  framestart,
int  frameend,
bool  collapse,
bool  check_missing,
bool  show_only_missing,
UT_KnownPath  path 
)
protected
void OP_Node::getExternalReferences ( UT_StringArray reflist,
UT_StringArray nodelist = 0,
bool  from_children_too = true,
bool  collapse = false,
bool  check_missing = false,
bool  show_missing_only = false 
)
int64 OP_Node::getExtraInputMemoryUsage ( ) const
void OP_Node::getExtraInputNodes ( OP_NodeList extras,
bool  remove_duplicates = true,
bool  data_interest = true,
bool  parm_interest = true,
bool  flag_interest = true,
bool  include_parmlist = true,
bool  follow_simulation_inputs = false 
) const
virtual void OP_Node::getExtraNodesForCopyOrDelete ( OP_NodeList extras) const
virtual

Obtains additional nodes that should be copied or deleted when this node is copied or deleted. It applies to situations, such as, where an hidden input node feeds only to this node and serves only that purpose, so it should be coppied/deleted along with the master.

Reimplemented in VOP_Node.

void OP_Node::getExtraOutputNodes ( OP_NodeList extras,
bool  remove_duplicates = true,
bool  data_interest = true,
bool  parm_interest = true,
bool  flag_interest = true 
) const
virtual const char* OP_Node::getFileExtension ( int  binary) const
protectedpure virtual
OP_Node* OP_Node::getFirstExecLicenseOnlyAncestor ( bool  ignore_self = true) const
OP_Node* OP_Node::getFirstOutputNode ( bool  through_dots = true,
int  output_idx = -1 
) const
virtual int8 OP_Node::getFlag ( char  tag) const
virtual
static fpreal OP_Node::getFlagWidth ( )
static

Get the width of flags.

The following methods are to be used to implement getW() and getH() in sub-classes. They are in absolute, pan-and-scale independent UI units.

bool OP_Node::getFootprint ( ) const
inline

Definition at line 1333 of file OP_Node.h.

void OP_Node::getFullOpDependents ( OP_NodeList deps,
bool  include_descendants 
) const
void OP_Node::getFullOpReferences ( OP_NodeList refs,
bool  include_descendants 
) const
static const UT_Color& OP_Node::getGlobalDefaultColor ( )
static

For node types with no other default color override, this is the final fallback default color for all nodes.

static int OP_Node::getGlobbedNetworkBoxes ( OP_Node cwd,
UT_String holder,
const char *  pattern,
UT_WorkArgs argv,
OP_GlobContext context 
)
static
static int OP_Node::getGlobbedNodes ( OP_Node cwd,
UT_String holder,
const char *  pattern,
UT_WorkArgs argv,
OP_GlobContext context 
)
static
static int OP_Node::getGlobbedPostIts ( OP_Node cwd,
UT_String holder,
const char *  pattern,
UT_WorkArgs argv,
OP_GlobContext context 
)
static
fpreal OP_Node::getH ( ) const
overridevirtual

Node position/scale is used by the UI.

Implements OP_NetworkBoxItem.

Reimplemented in VOP_Node, SOP_Node, ROP_Node, SHOP_Node, and VOPNET_Node.

bool OP_Node::getHardLock ( ) const
inline
Examples:
SOP/SOP_BouncyAgent.C.

Definition at line 1217 of file OP_Node.h.

UT_TokenString& OP_Node::getHashCode ( OP_Context context,
int  group_mask = 1 
)
bool OP_Node::getHasTakeData ( ) const
inlineoverridevirtual

Reimplemented from OP_Parameters.

Definition at line 1339 of file OP_Node.h.

virtual const char* OP_Node::getHDASubType ( )
inlinevirtual

Returns the sub type name, if the node's operator wants to be saved as an HDA in a special way (ie, other than the regular scripted operator handling). The sub type name is then used to distinguish how to handle the HDA creation.

Definition at line 2782 of file OP_Node.h.

bool OP_Node::getHighlight ( ) const
inline
Examples:
OPUI/OPUI_HighlightBadge.C.

Definition at line 1330 of file OP_Node.h.

const char* OP_Node::getInfoText ( OP_Context context,
OP_NodeInfoParms parms 
)

Get the info text for this op. This non-virtual function does all the stuff common to all operator types.

Warning
The return value is the value of the work buffer in the OP_NodeInfoParms. Thus, you should never do
str = node->getInfoText(context, OP_NodeInfoParms());
Since the lifetime of the temporary may not be long enough to extract the string properly.
OP_Node* OP_Node::getInput ( unsigned  idx,
bool  mark_used = false 
) const

Returns the node connected to a particular input (may be null).

Examples:
CHOP/CHOP_Spring.h, DOP/DOP_GroupAndApply.C, SOP/SOP_BrushHairLen.C, and VOP/VOP_Switch.C.
virtual UT_Options OP_Node::getInputDataDefault ( int  idx) const
inlinevirtual

Definition at line 1579 of file OP_Node.h.

virtual bool OP_Node::getInputEditorInputLabel ( UT_String label,
int  idx 
)
virtual

Gets the input label to display in editor and returns true. Otherwise, returns false if editor should use backward-compatible labeling scheme.

Reimplemented in VOP_SubnetBase.

virtual int OP_Node::getInputEditorInputs ( )
virtual

The following methods are used for nodes that allow reordering inputs. Returns the number of inputs that editor should display.

Reimplemented in VOP_SubnetBase.

OP_Node* OP_Node::getInputFollowingOutputs ( int  input,
DEP_MicroNode depnode = 0 
) const

Returns the connected input, may be null. If it is a SOP & subnet, and not primary output, will chase to the child output node. This may induce flag dependencies, the provided micronode can accumulate them.

virtual int OP_Node::getInputFromName ( const UT_String in) const
virtual

Note that this function only looks through currently connected inputs for the name, not through all possible input names on this node. mapInputNameToIndex does that instead.

Reimplemented in VOP_Node, and SHOP_Node.

int OP_Node::getInputFromUniqueName ( const OP_ConnectorId id) const
virtual void OP_Node::getInputName ( UT_String in,
int  idx 
) const
virtual

Reimplemented in VOP_Node, SHOP_Node, and SHOP_Output.

virtual OP_Input* OP_Node::getInputReference ( unsigned  idx,
bool  grow 
)
virtual

Reimplemented in VOP_AutoConvert.

Examples:
VOP/VOP_Switch.C.
virtual OP_Input* OP_Node::getInputReferenceConst ( unsigned  idx) const
virtual

Reimplemented in VOP_AutoConvert.

virtual void OP_Node::getInputRes ( int  input,
fpreal  t,
const OP_Context context,
OP_Context input_context 
)
virtual

Reimplemented in COP2_Node.

unsigned OP_Node::getInputsArraySize ( )
inline

Definition at line 3057 of file OP_Node.h.

virtual OP_Node* OP_Node::getInputToHash ( int  i)
virtual
virtual OP_Operator* OP_Node::getInternalOperator ( ) const
inlinevirtual

Reimplemented in VOPNET_Node.

Definition at line 1173 of file OP_Node.h.

virtual const char* OP_Node::getInternalOpTable ( ) const
inlinevirtual

Reimplemented in VOPNET_Node.

Definition at line 1171 of file OP_Node.h.

bool OP_Node::getIsContainedBy ( const OP_Node testparent) const
bool OP_Node::getIsEditableAssetSubNode ( ) const
virtual bool OP_Node::getIsInputVisibleDefault ( int  idx)
virtual

Reimplemented in VOP_Node.

bool OP_Node::getIsRunningInCreateScript ( ) const
protected
bool OP_Node::getItemExpose ( ) const
inlineoverridevirtual

Basically the same as OP_Node::getExpose(), but abstracted to a higher level so we can call it on all items.

Reimplemented from OP_NetworkBoxItem.

Definition at line 1351 of file OP_Node.h.

const UT_String& OP_Node::getItemName ( ) const
inlineoverridevirtual

A simple wrapper around getName() to allow us to abstract its functionality up to OP_NetworkBoxItem.

Implements OP_NetworkBoxItem.

Definition at line 2845 of file OP_Node.h.

OP_ItemType OP_Node::getItemType ( ) const
overridevirtual

Our children should implement this and return what type of item they are.

Implements OP_NetworkBoxItem.

int64 OP_Node::getItemUniqueId ( ) const
inlineoverridevirtual

Functions to get hip-file-unique ids for any item type.

Implements OP_NetworkBoxItem.

Definition at line 714 of file OP_Node.h.

virtual bool OP_Node::getIWorldTransform ( UT_Matrix4D xform,
OP_Context  
)
virtual

Reimplemented in OBJ_Node.

Examples:
SOP/SOP_HDKObject.C.
bool OP_Node::getIWorldTransform ( UT_Matrix4F xform,
OP_Context ctx 
)
inline

Definition at line 1145 of file OP_Node.h.

OP_Node* OP_Node::getLastExecLicenseOnlyAncestor ( bool  ignore_self = true) const
OP_OTLLicenseType OP_Node::getLicense ( ) const
void OP_Node::getLocalVarNames ( UT_StringArray out_vars)

Retrieve a sorted list of local variables visible to this OP_Node.

bool OP_Node::getLock ( ) const
inline

Definition at line 1208 of file OP_Node.h.

OP_LockTypes OP_Node::getLockState ( ) const
inline

Definition at line 1205 of file OP_Node.h.

LOP_Node* OP_Node::getLOPNode ( const char *  path,
int  addextra = 0 
) const
static UT_XformOrder::rstOrder OP_Node::getMainOrder ( int  trs)
static

Translate a TRS parameter menu index into the UT_XformOrder type.

static int OP_Node::getMainOrderMenuIndex ( UT_XformOrder::rstOrder  order)
static

Translate a UT_XformOrder type into a TRS parameter menu index (inverse of getMainOrder())

virtual int OP_Node::getMapping ( int  idx,
const char *&  label 
) const
virtual

Reimplemented in CHOP_Node.

int OP_Node::getMatchesOTLDefinition ( ) const

Interface to flag that specifies whether or not we match our definition.

virtual bool OP_Node::getMaterialIconAllowRegenerateFlag ( )
inlinevirtual

Reimplemented in SHOP_Node.

Definition at line 2953 of file OP_Node.h.

virtual UT_String* OP_Node::getMaterialIconFilename ( )
inlinevirtual

Reimplemented in SHOP_Node.

Definition at line 2950 of file OP_Node.h.

virtual IMG_Raster* OP_Node::getMaterialIconImage ( )
inlinevirtual

Reimplemented in SHOP_Node.

Definition at line 2952 of file OP_Node.h.

int64 OP_Node::getMemoryUsage ( bool  inclusive) const
overridevirtual

Reimplemented from PRM_ParmOwner.

Reimplemented in SOP_Node.

static bool OP_Node::getMicroNodesFromRef ( OP_Node op,
OP_InterestType  type,
DEP_MicroNodeList micronodes,
bool  data_target 
)
static
static bool OP_Node::getMicroNodesFromRef ( OP_Node op,
int  parm_i,
int  vec_i,
DEP_MicroNodeList micronodes 
)
static
bool OP_Node::getModified ( ) const
inline

Definition at line 1336 of file OP_Node.h.

void OP_Node::getMotionEffectsNetworkPath ( UT_String path)

Returns the a chop network path suitable for storing motion effects associated with this node.

virtual void OP_Node::getMyExternalReferences ( UT_StringArray reflist,
UT_StringArray nodelist = 0,
bool  collapse = false,
bool  check_missing = false,
bool  show_missing_only = false 
)
protectedvirtual

Override and assign any external (file) references to the reflist, and if nodelist is non-null, the full pathname of the node with the reference.

Reimplemented in COP2_Node.

OP_Node* OP_Node::getNamedInput ( const OP_ConnectorId input_name,
bool  mark_used = false 
) const
OP_Input* OP_Node::getNamedInputReference ( const OP_ConnectorId input_name,
bool  grow 
)
OP_Input* OP_Node::getNamedInputReferenceConst ( const OP_ConnectorId input_name) const
static int OP_Node::getNameSerialIndex ( )
static
virtual int OP_Node::getNchildren ( ) const
virtual

Reimplemented in OP_Network.

Examples:
ROP/ROP_Dumper.C.
const UT_String& OP_Node::getNetName ( ) const

Return the name of this node's parent.

virtual int OP_Node::getNetOverviewColor ( UT_Color color)
virtual

Reimplemented in SOP_Node, COP2_Node, and CHOP_Node.

int OP_Node::getNetworkLock ( bool  relaxedlockcheck = false,
const OP_Node inputNode = nullptr 
) const
static fpreal OP_Node::getNodeButtonWidth ( )
static

Get the default width of the "node button" (the part of the node that you can drag and click on that isn't flags).

static fpreal OP_Node::getNodeHeight ( )
static

Get the default node height.

OP_Node* OP_Node::getNodeOrCreateProxy ( const UT_StringRef op_path)
protected
const UT_StringHolder& OP_Node::getNodeShape ( ) const

Accessors for this node's shape.

int OP_Node::getNthConnectedInput ( int  n) const

Gets the index of the Nth non-null connection to this node.

int OP_Node::getNumExtraInputs ( ) const
virtual int OP_Node::getNumInputsToHash ( )
virtual
static int OP_Node::getNumUniqueIds ( )
inlinestatic

Definition at line 707 of file OP_Node.h.

virtual unsigned OP_Node::getNumVisibleInputs ( ) const
virtual

Number of input connectors that should be visible on a node. This is only used by VOPs and DOPs. All other OPs return maxInputs() here.

Reimplemented in HDK_Sample::VOP_CustomVop, VOP_Snippet, VOP_AutoConvert, HDK_Sample::VOP_Switch, VOP_SubnetScript, VOP_GenericShader, SHOP_Output, VOP_Collect, VOP_VariableInput, VOP_Block, VOP_Properties, VOP_SubnetBase, VOP_ParmGenerator, VOP_Null, VOP_SubnetOutput, and SHOP_VariableInput.

virtual unsigned OP_Node::getNumVisibleOutputs ( ) const
virtual

Number of output connections that should be visible on a node tile. Only used by VOPs and DOPs.

Reimplemented in HDK_Sample::VOP_CustomVop, VOP_OutputVar, VOP_Snippet, VOP_AutoConvert, VOP_GenericShader, VOP_SubnetScript, VOP_Properties, VOP_Block, VOP_SubnetBase, DOP_SubNet, VOP_Null, and LOP_SubNet.

OBJ_Node* OP_Node::getOBJNode ( const char *  path,
int  addextra = 0 
) const
const OP_DependencyList& OP_Node::getOpDependents ( ) const
inline

Definition at line 1827 of file OP_Node.h.

static const OP_TypeInfo* OP_Node::getOpInfoFromOpTypeID ( OP_OpTypeId  opid)
static
static const OP_TypeInfo* OP_Node::getOpInfoFromOpTypeName ( const char *  name)
static
static const OP_TypeInfo* OP_Node::getOpInfoFromScriptDir ( const char *  dir)
static
static const OP_TypeInfo* OP_Node::getOpInfoFromTableName ( const char *  name)
static
virtual const char* OP_Node::getOpType ( ) const
virtual
virtual OP_OpTypeId OP_Node::getOpTypeID ( ) const
inlinevirtual

This returns the OP_OpTypeId which corresponds to this node type. Management nodes will return the type they really are, which is likely different than the network they currently reside in.

Reimplemented in COP2_Node, SHOP_Node, VOP_Node, OBJ_Node, DOP_Node, CHOP_Node, ROP_Node, SOP_Node, LOP_Node, OP_Director, MGR_Node, VOPNET_Node, and LOP_NetworkMgr.

Examples:
SOP/SOP_Cop2Raster.C, and SOP/SOP_HDKObject.C.

Definition at line 525 of file OP_Node.h.

int8 OP_Node::getOutputForView ( ) const
inline

Definition at line 1363 of file OP_Node.h.

virtual int OP_Node::getOutputFromName ( const UT_String out) const
virtual

Reimplemented in VOP_Node, and SHOP_Node.

int OP_Node::getOutputFromUniqueName ( const OP_ConnectorId id) const
OP_NetworkBoxItem* OP_Node::getOutputItem ( int  idx,
int  output_idx = -1 
) const
virtual void OP_Node::getOutputName ( UT_String out,
int  idx 
) const
virtual

Reimplemented in VOP_Node, and SHOP_Node.

void OP_Node::getOutputNodes ( UT_Array< OP_Node * > &  outputs,
bool  into_subnets = false,
bool  through_dots = true,
int  output_idx = -1 
) const
OP_Node* OP_Node::getOutputTowardsNode ( const OP_Node target)
virtual void OP_Node::getOwnedMicroNodes ( DEP_MicroNodeList micronodes)
virtual

Subclasses should override this provide any additional micronodes that they own. This list is used in places such as node deletion so that dependents are dirtied.

Reimplemented in OBJ_DopNet.

virtual void OP_Node::getParallelInputs ( OP_Context context,
OP_NodeList nodes 
) const
virtual

Override this to specify the inputs which are needed for cooking this node which can be executed in parallel.

Reimplemented in OBJ_Node, OBJ_SubNet, and OBJ_BlendSticky.

OP_Network* OP_Node::getParent ( ) const
inline
Examples:
CHOP/CHOP_Stair.C.

Definition at line 505 of file OP_Node.h.

OP_Network* OP_Node::getParentNetwork ( ) const
overridevirtual

Returns the network that is our parent.

Implements OP_NetworkBoxItem.

Reimplemented in VOP_AutoConvert.

bool OP_Node::getParmBaseNodePath ( UT_String path,
int  parm_index,
int  thread 
) const
OP_Bundle* OP_Node::getParmBundle ( const char *  parm_name,
int  vector_index,
UT_String pattern,
OP_Network creator,
const char *  filter 
)
OP_Bundle* OP_Node::getParmBundle ( const char *  parm_name,
int  vector_index,
UT_String pattern,
OP_Network creator,
const char *  filter,
bool  subnet_inclusion 
)
virtual UT_TokenString& OP_Node::getParmHashCode ( OP_Context context,
int  group_mask = 1 
)
virtual

Reimplemented in COP2_Node.

void OP_Node::getParmsThatReference ( const char *  channame,
UT_ValArray< PRM_Parm * > &  parms,
UT_IntArray parmsubidxs 
)
virtual OP_Node* OP_Node::getPassThroughNode ( fpreal  t,
bool  mark_used = false 
)
virtual

For nodes which simply pass-through their data from some other node, this returns the node whose data will used transparently as this node's output. This function can give different values depending on its parameters. Used by node traversal algorithms.

The default implementation returns the first input if it's bypassed, so subclasses should only do something different if this function returns NULL.

Parameters
tEval time
mark_usedMark this node is using the returned node (if non-NULL).
virtual void OP_Node::getPathWithSubnet ( UT_String str) const
virtual

Returns the path of this node relative to its getCreator()

Reimplemented in VOP_AutoConvert, and VOP_AutoNode.

void OP_Node::getPathWithSubnet ( UT_StringHolder str) const
inline

Definition at line 898 of file OP_Node.h.

virtual bool OP_Node::getPickable ( )
inlinevirtual

Reimplemented in OBJ_Node.

Definition at line 1341 of file OP_Node.h.

OP_Node* OP_Node::getPickableSelfOrParent ( )
bool OP_Node::getPicked ( ) const
inlineoverridevirtual

Implements OP_NetworkBoxItem.

Definition at line 1323 of file OP_Node.h.

void OP_Node::getPickedChildren ( OP_NodeList picked,
bool  include_hidden = false 
) const
static UT_Vector3R OP_Node::getPivotParmValue ( int  trs,
fpreal  tx,
fpreal  ty,
fpreal  tz,
fpreal  px,
fpreal  py,
fpreal  pz 
)
static
static UT_Vector3R OP_Node::getPivotParmValue ( int  trs,
fpreal  tx,
fpreal  ty,
fpreal  tz,
fpreal  px,
fpreal  py,
fpreal  pz,
fpreal  pivot_rx,
fpreal  pivot_ry,
fpreal  pivot_rz,
bool  inverse = false 
)
static
virtual void OP_Node::getPostParmSaveFlagsString ( UT_String cmd) const
virtual

Reimplemented in OBJ_Node.

virtual void OP_Node::getPotentialChildErrorNodes ( OP_NodeList nodes) const
virtual

Reimplemented in OP_Network.

virtual void OP_Node::getPreParmSaveFlagsString ( UT_String cmd) const
virtual

Reimplemented in OBJ_Node.

virtual UT_Ramp* OP_Node::getRamp ( )
virtual
virtual int OP_Node::getRelativeCaptureTransform ( OP_Node to,
UT_Matrix4 xform,
OP_Context context 
)
virtual

Reimplemented in OBJ_Bone.

virtual int OP_Node::getRelativeCaptureTransform ( OP_Node to,
UT_DMatrix4 xform,
OP_Context context 
)
virtual

Reimplemented in OBJ_Bone.

virtual int OP_Node::getRelativeTransform ( OP_Node to,
UT_Matrix4 xform,
OP_Context context 
)
virtual

Get the transform from this node's space to the 'to' node's space. Returns 1 if this was possible, 0 otherwise (e.g. failure to cook).

Reimplemented in OBJ_Node, and LOP_Node.

virtual int OP_Node::getRelativeTransform ( OP_Node to,
UT_DMatrix4 xform,
OP_Context context 
)
virtual

Reimplemented in OBJ_Node, and LOP_Node.

bool OP_Node::getRender ( ) const
inline

Definition at line 1329 of file OP_Node.h.

OP_Network* OP_Node::getRootCompiledParent ( ) const
inline

Definition at line 507 of file OP_Node.h.

ROP_Node* OP_Node::getROPNode ( const char *  path,
int  addextra = 0 
) const
static UT_XformOrder::xyzOrder OP_Node::getRotOrder ( int  xyz)
static

Translate a XYZ parameter menu index into the UT_XformOrder type.

static int OP_Node::getRotOrderMenuIndex ( UT_XformOrder::xyzOrder  order)
static

Translate a UT_XformOrder type into a XYZ parameter menu index (inverse of getRotOrder())

bool OP_Node::getSaveBypass ( ) const
inline

Definition at line 1337 of file OP_Node.h.

bool OP_Node::getSaveData ( ) const
inline

Definition at line 1338 of file OP_Node.h.

virtual void OP_Node::getSaveFlagsString ( UT_String cmd,
const char *  flags,
bool  save_to_hip 
) const
virtual

Reimplemented in OBJ_Node.

virtual bool OP_Node::getSaveWithVopnets ( )
virtual

Reimplemented in OP_Network.

virtual bool OP_Node::getScriptMaterialInfo ( UT_String mat_info,
VOP_ScriptMaterialCodeMapper mapper 
)
inlinevirtual

This function returns a string that encodes all the necessary information about a node-based material that helps the script-based materials to function properly. The string usually encodes info stored on child nodes, such as rendering properties or procedurals. Then the script node can use that info to provide necessary data for rendering. Returns true if the method provides usable information.

Definition at line 2774 of file OP_Node.h.

virtual const PRM_Template* OP_Node::getShaderParmTemplates ( )
virtual

Some nodes (VOPs and SHOPs) represent shaders, so this method returns node parameters that are used as shader parameters.

Reimplemented in VOP_Node, SHOP_Node, and VOP_GenericShader.

bool OP_Node::getSoftLock ( ) const
inline

Definition at line 1210 of file OP_Node.h.

SOP_Node* OP_Node::getSOPNode ( const char *  path,
int  addextra = 0,
bool *  got_by_flag = nullptr 
) const
Examples:
SOP/SOP_HDKObject.C.
int OP_Node::getSourceCount ( ) const
protected
static bool OP_Node::getStringParmOpPath ( PRM_Parm parm,
int  vi,
UT_String oppath,
int  thread 
)
staticprotected
OP_ERROR OP_Node::getSyncErrorLevel ( ) const
inline

Returns the error level generated in our last synchronization attempt.

Definition at line 2037 of file OP_Node.h.

const UT_String& OP_Node::getSyncErrors ( ) const
inline

Returns the error string where we keep all errors generated during our most recent synchronization attempt.

Definition at line 2034 of file OP_Node.h.

bool OP_Node::getTemplate ( ) const
inline

Definition at line 1332 of file OP_Node.h.

virtual fpreal OP_Node::getTimeTransform ( int  input,
fpreal  t 
)
virtual

Reimplemented in COP2_Node.

TOP_Node* OP_Node::getTOPNode ( const char *  path,
int  addextra = 0 
) const
virtual CH_Channel* OP_Node::getTrackChannel ( const char *  name)
virtual

Reimplemented in CHOP_Node.

virtual bool OP_Node::getTransform ( TransformMode  mode,
UT_Matrix4D xform,
OP_Context  
)
virtual

Reimplemented in OBJ_Node, and SOP_CaptureRegion.

bool OP_Node::getTransform ( TransformMode  mode,
UT_Matrix4F xform,
OP_Context ctx 
)
inline

Definition at line 1152 of file OP_Node.h.

virtual int OP_Node::getTranslateParmIndex ( )
virtual

Reimplemented in SOP_Curve.

OP_ConnectorInputIter OP_Node::getTraverseEndIterator ( )
int OP_Node::getUniqueId ( ) const
inline
Examples:
DM/DM_ObjectPathHook.C.

Definition at line 712 of file OP_Node.h.

void OP_Node::getUniqueInputName ( OP_ConnectorId id_out,
int  idx,
bool  grow 
)
bool OP_Node::getUniqueInputNameConst ( OP_ConnectorId id_out,
int  idx 
) const
void OP_Node::getUniqueOutputName ( OP_ConnectorId id_out,
int  idx 
)
bool OP_Node::getUniqueOutputNameConst ( OP_ConnectorId id_out,
int  idx 
) const
bool OP_Node::getUnload ( ) const
virtual bool OP_Node::getUseBypassLook ( const OP_EditorContext ctx) const
virtual

Reimplemented in LOP_Node.

bool OP_Node::getUserData ( const UT_StringRef key,
UT_StringHolder result 
) const
static void OP_Node::getValueAsBundlePaths ( fpreal  t,
UT_WorkBuffer resultbuf,
PRM_Parm parm,
int  index,
OP_Node srcnode 
)
static
static void OP_Node::getValueAsBundlePaths ( fpreal  t,
OP_NodeList resultnodes,
PRM_Parm parm,
int  index,
OP_Node srcnode 
)
static
OP_VERSION OP_Node::getVersionParms ( ) const
inline
Examples:
DM/DM_ObjectPathHook.C.

Definition at line 1960 of file OP_Node.h.

virtual bool OP_Node::getVisible ( ) const
virtual

Reimplemented in OBJ_Node.

virtual VOP_CodeGenerator* OP_Node::getVopAutoCodeGenerator ( )
inlinevirtual

Reimplemented in VOP_Node.

Definition at line 2698 of file OP_Node.h.

virtual const VOP_CodeGenerator* OP_Node::getVopAutoCodeGenerator ( ) const
inlinevirtual

Reimplemented in VOP_Node.

Definition at line 2700 of file OP_Node.h.

virtual VOP_CodeGenerator* OP_Node::getVopCodeGenerator ( )
inlinevirtual

Reimplemented in VOP_Node, HDK_Sample::SOP_PrimVOP, and VOPNET_Node.

Definition at line 2697 of file OP_Node.h.

virtual VOP_ExportedParmsManager* OP_Node::getVopExportedParmsManager ( bool  create_if_needed = false)
inlinevirtual

Reimplemented in VOP_SubnetBase, and VOP_SubnetScript.

Definition at line 2710 of file OP_Node.h.

fpreal OP_Node::getW ( ) const
overridevirtual

Node position/scale is used by the UI.

Implements OP_NetworkBoxItem.

Reimplemented in VOP_Node, SOP_Node, ROP_Node, SHOP_Node, and VOPNET_Node.

virtual bool OP_Node::getWorldTransform ( UT_Matrix4D xform,
OP_Context  
)
virtual

Reimplemented in OBJ_Node.

Examples:
SOP/SOP_HDKObject.C.
bool OP_Node::getWorldTransform ( UT_Matrix4F xform,
OP_Context ctx 
)
inline

Definition at line 1138 of file OP_Node.h.

fpreal OP_Node::getX ( ) const
inlineoverridevirtual

Node position/scale is used by the UI.

Implements OP_NetworkBoxItem.

Definition at line 621 of file OP_Node.h.

virtual void OP_Node::getXformOrder ( UT_XformOrder xord,
const CH_Channel chp 
) const
virtual

Reimplemented in OBJ_Node, SOP_Edit, SOP_UVTransform, and SOP_UVEdit.

static UT_Vector3R OP_Node::getXformPivot ( int  trs,
fpreal  tx,
fpreal  ty,
fpreal  tz,
fpreal  px,
fpreal  py,
fpreal  pz 
)
static

NB: None of the getXformPivot() or getPivotParmValue() methods take any pivot compensation transform into account. It is up to the caller to account for any such transform.

static UT_Vector3R OP_Node::getXformPivot ( int  trs,
fpreal  tx,
fpreal  ty,
fpreal  tz,
fpreal  px,
fpreal  py,
fpreal  pz,
fpreal  pivot_rx,
fpreal  pivot_ry,
fpreal  pivot_rz,
bool  inverse = false 
)
static
bool OP_Node::getXray ( ) const
inline

Definition at line 1334 of file OP_Node.h.

fpreal OP_Node::getY ( ) const
inlineoverridevirtual

Node position/scale is used by the UI.

Implements OP_NetworkBoxItem.

Definition at line 622 of file OP_Node.h.

void OP_Node::globChannels ( const char *  ,
UT_String expand,
OP_GlobContext context = 0,
const char *  prefix = " " 
) const
void OP_Node::globChannels ( const char *  pattern,
CH_ChannelList clist,
OP_GlobContext context = 0,
OP_Node dependent = 0 
)
void OP_Node::globChanRefs ( const char *  pattern,
CH_ChannelRefList list,
OP_GlobContext context = 0,
OP_Node dependent = 0,
bool  use_multi_match = true 
)
virtual void OP_Node::globNetworkBoxes ( const char *  pat,
UT_String expand,
UT_ValArray< OP_NetworkBox * > *  list = 0,
OP_GlobContext glob_context = 0,
const char *  prefix = " " 
)
virtual

Same as 'globNodes', except for network boxes. This is to be implemented by OP_Network, but has been put here so it can be called directly on OP_Node like all the other "glob" methods without a cast

Reimplemented in OP_Network.

void OP_Node::globNodeChannels ( const char *  pattern,
CH_ChannelList list,
OP_GlobContext context,
int parm_start = nullptr,
UT_IntArray parm_indices = nullptr,
UT_IntArray parm_sub_indices = nullptr 
) const
void OP_Node::globNodeChanRefs ( const char *  pattern,
CH_ChannelRefList list,
OP_GlobContext context,
int parm_start = nullptr,
UT_IntArray parm_indices = nullptr,
UT_IntArray parm_sub_indices = nullptr,
bool  use_multi_match = true 
) const
void OP_Node::globNodeParms ( const char *  pattern,
fpreal  t,
UT_Array< opParmData > &  list,
OP_GlobContext context,
OP_Node dependent,
int  calc_value,
bool  animated_only 
)
void OP_Node::globNodes ( const char *  pat,
UT_String expand,
UT_Array< OP_Node * > *  list = 0,
OP_GlobContext context = 0,
const char *  prefix = " " 
)
int OP_Node::globParms ( const char *  pattern,
fpreal  t,
UT_Array< opParmData > &  list,
OP_GlobContext context = 0,
OP_Node dependent = 0,
int  calc_value = 1 
)
virtual void OP_Node::globPostIts ( const char *  pat,
UT_String expand,
UT_ValArray< OP_PostIt * > *  list = 0,
OP_GlobContext glob_context = 0,
const char *  prefix = " " 
)
virtual

Reimplemented in OP_Network.

virtual void OP_Node::handleOpDependency ( int  referenced_op_id,
const OP_Dependency op_dep,
OP_InterestType  interest_type,
bool &  need_cook,
const char *  old_fullpath,
const char *  old_cwd,
const char *  old_chan_name 
)
protectedvirtual
virtual void OP_Node::handleOTLIndexFileCleared ( )
virtual

Method that is invoked when the HDA index file has been cleared because the underlying HDA definition has changed.

Reimplemented in VOP_SubnetScript.

void OP_Node::handleStringParmOpPathDependency ( int  parm_index,
int  vi,
const char *  new_fullpath,
const char *  old_fullpath,
const char *  old_cwd 
)
protected
virtual bool OP_Node::handleTimeChange ( fpreal  )
inlinevirtual

Reimplemented in SOP_CaptureBase.

Definition at line 1965 of file OP_Node.h.

bool OP_Node::hasAnimatedParms ( ) const
bool OP_Node::hasAnyOutputNodes ( bool  through_dots = true,
int  output_idx = -1 
) const
bool OP_Node::hasBlindData ( const char *  key) const

Returns true if this object stores a blind data with the given key.

bool OP_Node::hasChopOverriddenParms ( ) const
bool OP_Node::hasComment ( ) const
virtual bool OP_Node::hasDifferentMultiInputs ( ) const
virtual

Returns whether multi-inputs on this particular op might have different names for each of the inputs, or if the name will always be the same for all the inputs.

Reimplemented in DOP_Node.

bool OP_Node::hasEventMicroNode ( OP_EventType  e) const
inline

Definition at line 1632 of file OP_Node.h.

bool OP_Node::hasIndepParmListMicroNode ( ) const
inline

Definition at line 1613 of file OP_Node.h.

bool OP_Node::hasOpDependents ( )
inlineprotected

Definition at line 3399 of file OP_Node.h.

int OP_Node::hasOpInterest ( void data,
OP_EventMethod  m 
) const
inline

Returns true if given notifcation callback has been added via addOpInterest().

Definition at line 1401 of file OP_Node.h.

bool OP_Node::hasParmsNotAtFactoryDefault ( ) const
virtual int OP_Node::hasProxyRefNodes ( ) const
inlineprotectedvirtual

Reimplemented in OP_Network.

Definition at line 3401 of file OP_Node.h.

virtual bool OP_Node::hasTransformTracks ( ) const
inlinevirtual

Reimplemented in SOP_Node, and CHOP_Node.

Definition at line 3187 of file OP_Node.h.

bool OP_Node::hasUnorderedInputs ( ) const

Returns true if the operator type says we have unordered inputs.

bool OP_Node::hasUserData ( const UT_StringRef key) const
virtual bool OP_Node::hasVexShaderParameter ( const char *  parm_name)
virtual

Reimplemented in HDK_Sample::SOP_PrimVOP, and VOPNET_Node.

bool OP_Node::haveAncestorWithoutFullLicense ( bool  ignore_self) const
bool OP_Node::haveLicenseToAccessContents ( OP_Node opt_specific_child = nullptr) const
bool OP_Node::haveLicenseToAccessParentContents ( ) const
int OP_Node::haveSeenDataModification ( exint  modification_id)
protected
virtual void OP_Node::inputConnectChanged ( int  which)
virtual
virtual const char* OP_Node::inputConnectorLabel ( unsigned  idx)
virtual

Reimplemented in COP2_MaskOp.

const char* OP_Node::inputLabelNum ( unsigned  idx) const
OP_ERROR OP_Node::insertIndirectInput ( unsigned  idx,
OP_IndirectInput input 
)
OP_ERROR OP_Node::insertInput ( unsigned  idx,
OP_Node op,
unsigned  outputIdx 
)
OP_ERROR OP_Node::insertNamedIndirectInput ( const OP_ConnectorId input_name,
OP_IndirectInput input 
)
OP_ERROR OP_Node::insertNamedInput ( const OP_ConnectorId input_name,
OP_Node op,
const OP_ConnectorId output_name 
)
static const char* OP_Node::internalUserDataPrefix ( )
inlinestatic

Prefix to use for internally used user data.

Definition at line 2155 of file OP_Node.h.

bool OP_Node::isAnyAncestorBeingSynced ( ) const

Return true if any ancestor of this node is currently running the syncContents function (and so has mySyncDepth > 0). This is used to detect changes to nodes that are not currently "locked", but will become locked once the sync is complete.

bool OP_Node::isAutoscope ( )
inline

Definition at line 1282 of file OP_Node.h.

int OP_Node::isBeingDeleted ( ) const
inline

Definition at line 1413 of file OP_Node.h.

int OP_Node::isBlockModify ( ) const
bool OP_Node::isCompiled ( ) const
bool OP_Node::isCookedTime ( fpreal  t) const
inlineprotected

Definition at line 3626 of file OP_Node.h.

bool OP_Node::isCooking ( bool  include_ancestors) const
virtual int OP_Node::isCookingRender ( ) const
inlinevirtual

Reimplemented in OBJ_Node, and SOP_Node.

Examples:
SOP/SOP_HDKObject.C.

Definition at line 2474 of file OP_Node.h.

bool OP_Node::isDependentOn ( OP_Node other_node,
PRM_Parm parm 
)
static bool OP_Node::isDirectorDoingBulkNotification ( )
static
virtual bool OP_Node::isDiveable ( ) const
virtual
bool OP_Node::isEffectivelyAManagementNode ( ) const
bool OP_Node::isHashCodeBuilt ( ) const
inline

Definition at line 2506 of file OP_Node.h.

unsigned OP_Node::isInput ( unsigned  idx)
inline

Deprecated in favour of getInputsArraySize()

Definition at line 3060 of file OP_Node.h.

bool OP_Node::isInputAncestor ( const OP_Node parent,
bool  check_extra = true 
) const

Check to see whether node is an ancestor of this node in the input hierarchy. Optionally check extra inputs. This method will recurse using getInputs() (and optional getExtraInputNodes()

Note
This node is considered to be an ancestor of itself
virtual bool OP_Node::isInputConnectedInsideSubnet ( int  input_idx) const
protectedvirtual

This function is currently only used by VOPs. It checks if an input on the subnet is connected inside the subnet. The default implementation here simply returns false to preserve existing behaviour for all other contexts.

Reimplemented in VOP_SubnetBase.

virtual int OP_Node::isInSubNetwork ( ) const
virtual
virtual bool OP_Node::isLoaded ( ) const
inlinevirtual

Reimplemented in SOP_Node.

Definition at line 1246 of file OP_Node.h.

bool OP_Node::isLocalVarActive ( ) const
inline

Get the myLocalVarActive flag.

Definition at line 3077 of file OP_Node.h.

virtual int OP_Node::isManagementNode ( ) const
virtual
virtual int OP_Node::isManager ( ) const
virtual
virtual bool OP_Node::isMaterialManager ( ) const
virtual

Reimplemented in MGR_Node.

bool OP_Node::isModifyWaiting ( ) const
virtual bool OP_Node::isNamedInputConnectedInsideSubnet ( const OP_ConnectorId input_name) const
protectedvirtual

Reimplemented in VOP_SubnetBase.

virtual int OP_Node::isNetwork ( ) const
virtual

Reimplemented in OP_Network.

Examples:
standalone/traverse.C.
int OP_Node::isNetworkWithKids ( ) const
virtual bool OP_Node::isOrderedInput ( const OP_ConnectorId input_name) const
virtual
virtual bool OP_Node::isOutputNode ( ) const
virtual
bool OP_Node::isParentAncestor ( const OP_Node parent) const

Check to see whether the parent node is an ancestor of this node in the parent/child hierarchy. That is, this method will call getParent()/getChild() to traverse the hierarchy.

Note
This node is considered to be an ancestor of itself
bool OP_Node::isParmPendingOverride ( const char *  parm_name,
int  vec_idx 
) const
overridevirtual

Reimplemented from PRM_ParmOwner.

bool OP_Node::isProxyRefNode ( ) const
inline

Definition at line 757 of file OP_Node.h.

virtual bool OP_Node::isSelectionOwnerType ( ) const
inlinevirtual

SOP, OBJ, and SOP Solver DOP nodes can be a selection owner, but other nodes cannot. This replaces the previous inheritance from SOP_SelectionOwner.

Reimplemented in SOP_Node.

Definition at line 3827 of file OP_Node.h.

virtual int OP_Node::isSubNetwork ( bool  includemanagementops) const
virtual

Reimplemented in LOP_Network.

bool OP_Node::isTimeDependent ( const OP_Context context)

Returns true if the OP depends on time at the given time. This is sensitive to handleTimeChange's overrides.

Examples:
DM/DM_ObjectPathHook.C.
virtual bool OP_Node::isUsingCurrentFrameForVexTransformContext ( ) const
inlinevirtual

Definition at line 3860 of file OP_Node.h.

static bool OP_Node::isValidOpName ( const UT_StringView s,
bool  allow_rel_paths = false,
bool  ignore_node_names_env_var = false 
)
static

Set allow_rel_paths to true to accept "." or ".." as valid paths.

static bool OP_Node::isValidOpName ( const char *  s,
bool  allow_rel_paths = false,
bool  ignore_node_names_env_var = false 
)
inlinestatic

Definition at line 633 of file OP_Node.h.

static bool OP_Node::isValidOpName ( const UT_String str,
bool  allow_rel_paths = false,
bool  ignore_node_names_env_var = false 
)
inlinestatic

Definition at line 641 of file OP_Node.h.

static bool OP_Node::isValidOpPath ( const UT_StringRef s)
static
virtual int OP_Node::isVex ( ) const
virtual
virtual bool OP_Node::load ( UT_IStream is,
const char *  ext = "",
const char *  path = 0 
)
protectedvirtual
void OP_Node::loadContentsSection ( )
protected
virtual bool OP_Node::loadCookedData ( UT_IStream is,
const char *  path = 0 
)
virtual

Reimplemented in CHOP_Node, and OP_Director.

bool OP_Node::loadDataBlocks ( UT_IStream is,
const char *  path 
)
bool OP_Node::loadEditableInputData ( UT_IStream is,
const char *  path 
)
bool OP_Node::loadExtraInputs ( UT_IStream is,
const char *  path = 0 
)
virtual void OP_Node::loadFinished ( )
protectedvirtual

Reimplemented in LOP_Network, and VOP_Collect.

bool OP_Node::loadInputs ( UT_IStream is,
const char *  path = 0,
bool  named = false 
)
bool OP_Node::loadIntrinsic ( UT_IStream is,
const char *  path = 0 
)
protected
bool OP_Node::loadIntrinsicParentUneditable ( UT_IStream is,
const char *  path = 0 
)
protected
bool OP_Node::loadNamedOutputs ( UT_IStream is,
const char *  path = 0 
)
bool OP_Node::loadOverride ( UT_IStream is)
virtual bool OP_Node::loadPacket ( UT_IStream is,
short  class_id,
short  sig,
const char *  path = 0 
)
protectedvirtual

Reimplemented in VOP_Node, and OBJ_Node.

virtual bool OP_Node::loadPacket ( UT_IStream is,
const char *  token,
const char *  path = 0 
)
protectedvirtual

Reimplemented in VOP_Node, and OBJ_Node.

bool OP_Node::loadParentUneditable ( UT_IStream is,
const char *  ext = "",
const char *  path = 0 
)
protected
virtual bool OP_Node::loadRamp ( UT_IStream is,
const char *  path = 0 
)
virtual
bool OP_Node::loadRamp ( UT_IStream is,
UT_Ramp ramp,
const char *  path = 0 
)
virtual void OP_Node::loadStart ( )
protectedvirtual

Reimplemented in VOP_SubnetBase, and VOP_SubnetScript.

bool OP_Node::loadUserData ( UT_IStream is,
const char *  path = nullptr 
)
virtual OP_ERROR OP_Node::lockInput ( unsigned  idx,
OP_Context context 
)
virtual

Reimplemented in SOP_Node, and OBJ_Blend.

virtual OP_ERROR OP_Node::lockInputs ( OP_Context context)
virtual

Reimplemented in SOP_Node, and OBJ_Blend.

static OP_Node* OP_Node::lookupNode ( int  unique_id,
bool  include_proxy = false 
)
inlinestatic
Examples:
SOP/SOP_Cop2Raster.C, and SOP/SOP_CustomBrush.C.

Definition at line 696 of file OP_Node.h.

void OP_Node::markBundleRefsAsUnused ( )
virtual OP_Node* OP_Node::matchChild ( const char *  pattern,
OP_Node prevmatch = 0,
const char *  optype = 0,
int  casesensitive = 0 
) const
virtual
virtual OP_Node* OP_Node::matchChildBackwards ( const char *  pattern,
OP_Node prevmatch = 0,
const char *  optype = 0,
int  casesensitive = 0 
) const
virtual
bool OP_Node::matchesState ( const char *  state) const
virtual void OP_Node::matchOTLDefinition ( )
virtual

Matches the node to the current HDA definition, loading the contents section if ncecessary and setting the match flag.

Reimplemented in VOP_SubnetScript.

virtual unsigned OP_Node::maxInputs ( ) const
virtual

Maximum inputs that can be connected to a node.

Reimplemented in VOP_SubnetScript, SHOP_Output, and VOP_OutputVar.

virtual unsigned OP_Node::maxOutputs ( ) const
virtual

Maximum number of output connectors on a node. Only VOPs and DOPs ever return a value other than 1 here.

Reimplemented in MGR_Node, and VOPNET_Node.

virtual unsigned OP_Node::minInputs ( ) const
virtual

Minimum inputs that must be connected to a node for it to cook.

static void OP_Node::moveAndUpdateDependencies ( const OP_NodeList src_nodes,
const OP_NodeList dest_nodes 
)
static
virtual void OP_Node::moveDependencies ( OP_Node from_node)
protectedvirtual

Reimplemented in OP_Network.

virtual void OP_Node::moveInput ( int  srcidx,
int  dstidx,
bool  forcesubnet = false 
)
virtual
virtual void OP_Node::moveProxyRefNodes ( OP_Network )
inlineprotectedvirtual

Reimplemented in OP_Network.

Definition at line 3403 of file OP_Node.h.

unsigned OP_Node::nConnectedInputs ( bool  check_subnet_inside = true) const

The number of nodes actually connected to this node. This function goes through the myInputs array and counts non-null entries.

Parameters
check_subnet_insideIf true, the (vopnet) subnet node will check if a corresponding connector is connected inside, and count it in if so.
virtual unsigned OP_Node::needToCook ( OP_Context context,
bool  queryonly = false 
)
virtual

Determines if this node needs to cook.

The queryonly flag will not flag this as a read attempt to the caching mechanisms, and thus not update the touch time.

virtual unsigned OP_Node::nInputs ( ) const
virtual

Returns the index of the last connected input incremented by one. If there are no inputs connected, returns 0. This means that the function behaves as if the lasted connected input was always the last entry in the inputs array. Note that other array entries up to the index of the one returned may contain null entries, so this is not necessarily the same as the number of connections. Also note that there may be more null entries at indices beyond the returned one.

Reimplemented in VOP_ParmGenerator.

Examples:
CHOP/CHOP_Blend.C, COP2/COP2_MultiInputWipe.C, standalone/traverse.C, and VOP/VOP_Switch.C.
virtual void OP_Node::nodeDeleted ( OP_Node op,
int  propagate = 1 
)
protectedvirtual
virtual void OP_Node::nodeUnlocked ( )
inlineprotectedvirtual

Reimplemented in OP_Network, and CHOP_Node.

Definition at line 3538 of file OP_Node.h.

void OP_Node::notifyChannelOpDependents ( PRM_Parm in_parm,
int  vecid 
)
protected
void OP_Node::notifyNodeDeletion ( )
protected
void OP_Node::notifyOpDependents ( OP_InterestType  interest,
bool  recurse 
)
protected
virtual void OP_Node::notifyParmRenameDependents ( const UT_String chan_name,
const UT_String old_chan_name 
)
virtual
void OP_Node::notifyRenameDependents ( const UT_String full_from)
protected
virtual void OP_Node::notifyRenameDependents ( const UT_String full_from,
OP_NodeList cook_nodes 
)
protectedvirtual

Reimplemented in OP_Network.

void OP_Node::notifyRenameReferences ( const UT_String full_from)
protected
virtual void OP_Node::notifyRenameReferences ( const UT_String full_from,
OP_NodeList cook_nodes 
)
protectedvirtual

Reimplemented in OP_Network.

bool OP_Node::notifyVarChange ( const char *  varname,
OP_NodeList changed_nodes = nullptr 
)

Mark this node, its descendants, and all data dependents containing varname as being dirty. If changed_nodes is non-NULL, then it is updated with the list of dirtied nodes which contains varname. Returns true iff at least one node was dirtied.

unsigned OP_Node::nOutputEntries ( ) const
int OP_Node::nOutputItems ( int  output_idx = -1) const
virtual void OP_Node::onCreated ( )
inlinevirtual

Overriden in VOPs.

Reimplemented in OBJ_Node, VOP_Node, ROP_Node, LOP_Node, SHOP_Node, and LOP_Network.

Definition at line 3038 of file OP_Node.h.

virtual void OP_Node::onInputAllocated ( OP_Input new_input,
int  index 
)
inlineprotectedvirtual

Overriden in VOPs.

Reimplemented in VOP_Node.

Definition at line 3664 of file OP_Node.h.

virtual bool OP_Node::opShouldHandleChange ( OP_EventType  reason)
virtual

Reimplemented in OP_Network.

virtual unsigned OP_Node::orderedInputs ( ) const
virtual

Returns the number of ordered inputs on a node that remain separate even on nodes that have a variable number of inputs. These separate inputs always start at the beginning (variable input connectors are always last).

The default implementation returns getOperator()->numOrderedInputs() so prefer calling OP_Operator::setNumOrderedInputs() instead of overriding this.

Reimplemented in DOP_Node, HDK_Sample::VOP_Switch, VOP_GenericShader, VOP_VariableInput, VOP_Block, VOP_SubnetBase, VOP_Null, and VOP_Properties.

virtual int OP_Node::outputCode ( OP_OutputCodeParms ,
OP_Context  
)
virtual
const char* OP_Node::outputLabelNum ( unsigned  idx) const
bool OP_Node::parallelCook ( OP_Context context)

Schedule a task for cooking this node in parallel and wait for it to finish. Returns true upon success, false otherwise.

static bool OP_Node::parallelCook ( OP_Context context,
const OP_NodeList nodes 
)
static

Cook the given node list in parallel.

OP_DataMicroNode& OP_Node::parmListMicroNode ( )
inline

Definition at line 1607 of file OP_Node.h.

virtual const OP_DataMicroNode& OP_Node::parmListMicroNodeConst ( ) const
inlinevirtual

Subclasses should override this to customize the micro-node dependency of their parameter list. The default is just dataMicroNode().

Reimplemented in OBJ_Node, and VOP_ParmGenerator.

Definition at line 1605 of file OP_Node.h.

DEP_MicroNode& OP_Node::parmMicroNode ( int  parm_idx,
int  vi 
)
inline

Definition at line 1621 of file OP_Node.h.

bool OP_Node::patternContainsBundle ( const char *  pattern,
const OP_Bundle bundle 
) const
bool OP_Node::patternContainsGroup ( const char *  pattern,
const OP_Group group 
) const
void OP_Node::permissionError ( const char *  chname = 0)
overrideprotectedvirtual

Reimplemented from OP_Parameters.

void OP_Node::pickRequest ( int  shift)
virtual void OP_Node::preDelete ( )
inlinevirtual

Overriden in VOPs to remove any channel refrences we may have to the node being deleted.

Reimplemented in VOP_ParmGenerator.

Definition at line 2681 of file OP_Node.h.

static void OP_Node::printOpMemoryUsageStats ( std::ostream &  os)
static
UT_ErrorSeverity OP_Node::prmCookOverrides ( fpreal  t,
int  thread,
const char *  parm_name,
int  vec_idx 
)
overridevirtual

Reimplemented from PRM_ParmOwner.

void OP_Node::propagateDirtyMicroNode ( DEP_MicroNode micronode,
OP_EventType  reason,
void data,
bool  send_root_event 
)

Explicitly propagate dirtiness for a particular micronode owned by some node.

virtual void OP_Node::propagateEndBlockModify ( )
virtual

Reimplemented in OBJ_Node.

static void OP_Node::propagateMatchOTLDefinitionToAncestors ( OP_Node node,
bool  sync_flag 
)
static

Utility function for syncing/unsyncing all uncestor nodes.

virtual int OP_Node::propagateModification ( OP_Node by_whom,
OP_EventType  reason,
int  parm_index,
OP_PropagateData prop_data 
)
protectedvirtual

Reimplemented in OP_Network.

void OP_Node::propagateNodeDataDeleted ( )
virtual OP_ERROR OP_Node::pubCookInputGroups ( OP_Context context,
int  alone = 0 
)
virtual

Reimplemented in SOP_Node.

SYS_NO_DISCARD_RESULT UT_UniquePtr<PRM_ParmOwnerContext> OP_Node::pushAsPwd ( ) const
overridevirtual

Implements PRM_ParmOwner.

virtual RampError OP_Node::rampCommand ( bool  remove,
fpreal  pos,
float  rgba[4] 
)
virtual
RampError OP_Node::rampCommand ( bool  remove,
fpreal  pos,
float  rgba[4],
UT_Ramp ramp 
)
virtual void OP_Node::rebuildOpDependents ( bool  proxy_only)
protectedvirtual

Reimplemented in OP_Network.

void OP_Node::rebuildParmDependency ( int  parm_index)
overridevirtual

Implements PRM_ParmOwner.

void OP_Node::recomputeCompiledHash ( )
unsigned OP_Node::referenceAllParameters ( OP_Parameters from,
bool  relative_references = true 
)
overridevirtual

Reimplemented from OP_Parameters.

virtual void OP_Node::referencedParmChanged ( int  pi)
virtual

Reimplemented in OBJ_Node, VOP_Node, DOP_Node, and OBJ_SubNet.

virtual void OP_Node::refreshRepresentativeNode ( OP_Node changed_child)
protectedvirtual

This method is called whenever something in the network changes that may have an impact on the representative node this network may have. It is used at this level to notify parents, and at the OBJ level to actually refresh the representative object.

virtual void OP_Node::reloadExternalFiles ( )
virtual

This method causes any operators that load files to recook. By default, this searches for 'file' operators by iterating through inputs. Parms of type PRM_FILE are also marked dirty. Other nodes that load files differently may wish to override this method.

virtual int OP_Node::removeOpDependent ( int  op_id,
const PRM_RefId ref_id,
OP_InterestType  mask = OP_INTEREST_ALL 
)
protectedvirtual

removeOpDependent() returns the number of dependents removed

virtual int OP_Node::removeOpDependent ( int  op_id,
OP_InterestType  mask = OP_INTEREST_ALL 
)
protectedvirtual
void OP_Node::removeOpInterest ( void data,
OP_EventMethod  m 
)
inline

Remove notification callback added via addOpInterest()

Examples:
VOP/VOP_CustomContext.C.

Definition at line 1410 of file OP_Node.h.

void OP_Node::removeOpReference ( const PRM_RefId ref_id,
OP_InterestType  mask = OP_INTEREST_ALL 
)
protected
void OP_Node::removeOpReference ( const PRM_RefId ref_id,
int  op_id,
OP_InterestType  mask = OP_INTEREST_ALL 
)
protected
virtual void OP_Node::removeOverrideDestination ( OP_Node )
inlinevirtual

Definition at line 2236 of file OP_Node.h.

virtual void OP_Node::removeOverrideDestination ( OP_Node ,
int   
)
inlinevirtual

Definition at line 2237 of file OP_Node.h.

void OP_Node::renameInput ( OP_Input input,
int  new_id 
)
protected
static void OP_Node::repositionOpsMaxY ( OP_NetworkBoxItemList items,
fpreal  x,
fpreal  y 
)
static

Move the upper-left most node in 'ops' to x-coordinate 'x' and to have its TOP border at y-coordinate 'y', and move all other nodes in 'ops' by the same amount. All netboxes in 'netboxes' will also be moved that amount. If a netbox's top border is higher than any node's top border, everything will be moved down accordingly. Note that the repositioning calculation does not include the nodes contained in the network boxes in 'netboxes'.

void OP_Node::resolveAndDeleteObsoleteParmList ( PRM_ParmList *&  obsolete_parms)
overridevirtual

Implements PRM_ParmOwner.

virtual bool OP_Node::resolveExport ( const PRM_Parm p,
int  subindex,
CH_ChannelRef out_export 
)
inlinevirtual

Try to resolve exports on CHOP Channel Nodes from a value parameter within the array.

Reimplemented in CHOP_Channel.

Definition at line 3107 of file OP_Node.h.

virtual const CH_LocalVariable* OP_Node::resolveExtraVariableForSyntaxHighlight ( const char *  name)
virtual

Reimplemented in SOP_Node.

void OP_Node::resolveInputReferences ( )
void OP_Node::resolveUnresolvedLoadedInputs ( )
protected

Resolves any inputs for which the names were not found during actual loading.

virtual const CH_LocalVariable* OP_Node::resolveVariable ( const char *  name)
virtual

Reimplemented in SOP_Node.

virtual bool OP_Node::runCreateScript ( )
virtual
virtual void OP_Node::runDelScript ( )
virtual

Reimplemented in OP_Network.

virtual OP_ERROR OP_Node::save ( std::ostream &  os,
const OP_SaveFlags flags,
const char *  path_prefix = "",
const UT_String name_override = UT_String() 
)
protectedvirtual
void OP_Node::saveChildOverrides ( std::ostream &  os,
OP_Node root,
const UT_String rootpath,
bool &  added 
)
virtual OP_ERROR OP_Node::saveCommand ( std::ostream &  os,
const char *  name,
fpreal  x,
fpreal  y,
const char *  netboxname,
const OP_SaveCommandOptions options 
)
virtual

Writes to 'os' a string of hscript commands to recreate this node.

virtual int OP_Node::saveCookedData ( std::ostream &  os,
OP_Context ,
int  binary = 0 
)
pure virtual
virtual int OP_Node::saveCookedData ( const char *  filename,
OP_Context  
)
pure virtual
OP_ERROR OP_Node::saveDataBlocksPacket ( std::ostream &  os,
const char *  path_prefix,
const UT_String node_name 
)
virtual void OP_Node::saveDialogScriptExtraInfo ( std::ostream &  os)
virtual

Reimplemented in VOP_Node, SHOP_Node, OBJ_Light, and OBJ_Camera.

void OP_Node::saveEditableInputData ( std::ostream &  os) const
virtual void OP_Node::saveFlagsForUndo ( )
protectedvirtual

Reimplemented in OBJ_Node.

static void OP_Node::saveForUndoDelete ( OP_NodeList nodes)
staticprotected
void OP_Node::saveForUndoInput ( )
void OP_Node::saveForUndoLayout ( )
protected
void OP_Node::saveInputs ( std::ostream &  os,
bool  compile_basic 
)
virtual OP_ERROR OP_Node::saveIntrinsic ( std::ostream &  os,
const OP_SaveFlags flags 
)
protectedvirtual

Reimplemented in VOP_Node, OBJ_Node, and COP2_Node.

virtual void OP_Node::saveIntrinsicCommand ( std::ostream &  os,
const char *  name 
)
virtual

Reimplemented in OBJ_Node.

void OP_Node::saveNamedInputs ( std::ostream &  os,
bool  compile_basic 
)
void OP_Node::saveNamedOutputs ( std::ostream &  os)
void OP_Node::saveOutputWires ( std::ostream &  os,
const char *  name,
int  dogeneral = 0 
)
void OP_Node::saveOverrides ( std::ostream &  os)
void OP_Node::saveOverrides ( std::ostream &  os,
OP_Node root,
const UT_String rootpath,
bool &  added 
)
void OP_Node::saveParameterFlags ( std::ostream &  os,
const char *  name,
const char *  command,
bool(PRM_Parm::*)(int) const  flag_method,
bool  defaultstoo,
bool  reverse,
UT_Array< opParmData > *  parm_array 
)
OP_ERROR OP_Node::saveRamp ( std::ostream &  os,
UT_Ramp ramp,
const char *  name = 0,
int  command = 0 
)
OP_ERROR OP_Node::saveUserData ( std::ostream &  os,
const char *  path 
)
void OP_Node::saveUserDataCommand ( std::ostream &  os,
const char *  node_name,
bool  omit_version = false 
)
OP_ERROR OP_Node::saveUserDataPacket ( std::ostream &  os,
const char *  path_prefix,
const UT_String node_name 
)
protected
void OP_Node::saveWires ( std::ostream &  os,
const char *  name,
int  dogeneral = 0 
)
virtual bool OP_Node::scopedChannelsDirty ( )
virtual

Reimplemented in CHOP_Layer.

void OP_Node::sendEvent ( OP_EventType  type,
void data = 0 
)
protected
void OP_Node::setActiveInputIndex ( unsigned  idx)
void OP_Node::setAllChildAssetPermissions ( int  permission)
void OP_Node::setAllowBuildDependencies ( int  yesno)
inlineprotected

Definition at line 3546 of file OP_Node.h.

void OP_Node::setAnyUndoFlag ( )
overridevirtual

Reimplemented from OP_Parameters.

virtual bool OP_Node::setAudio ( bool  on_off)
inlinevirtual

Reimplemented in CHOP_Node.

Definition at line 1299 of file OP_Node.h.

void OP_Node::setAutoscope ( bool  on_off)
inline

Definition at line 1281 of file OP_Node.h.

void OP_Node::setBlindData ( const char *  key,
UT_SharedPtr< void ptr 
)

Stores a blind data pointer on this OP_Node object. Any entry that previously existed will be erased, and, if it is the last reference, the object itself deleted. The void type can convert from any other shared pointer type, while storing the deleter function, allowing OP_Node to delete the data without knowing anything about the class. Blind data is not stored with the class.

bool OP_Node::setBypass ( bool  on_off)
void OP_Node::setCachedPythonObject ( const UT_StringHolder key,
void opaque_py_object 
)
bool OP_Node::setChannelAlias ( PRM_Parm parm,
int  subindex,
const char *  alias_name 
)
virtual void OP_Node::setChannelScope ( const char *  pattern,
OP_ScopeOp  scope_op,
const OP_ScopeOptions scope_opts 
)
virtual

This method takes a pattern string and will perform the ch_scope_op on each of our paramaeters that match the pattern. This method primarily supports the chscope command.

bool OP_Node::setColor ( const UT_Color col)
overridevirtual

Overrides the NetworkBoxItem implementations of getColor and setColor to provide support Node-specific features like using the default color.

Reimplemented from OP_NetworkBoxItem.

Reimplemented in VOP_Block, SOP_BlockEnd, and SOP_BlockBegin.

bool OP_Node::setColorDefault ( bool  usedefault)

Accessors for this node's flag indicating if it should use its operator's default color instead of its local color.

bool OP_Node::setComment ( const char *  str)

Accessors for this node's comment string.

bool OP_Node::setCompress ( bool  on_off)
virtual void OP_Node::setCookingRender ( int  val)
virtual

Reimplemented in OBJ_Node.

Examples:
SOP/SOP_HDKObject.C.
void OP_Node::setCreatorState ( const char *  s)
inline

Definition at line 2514 of file OP_Node.h.

bool OP_Node::setCurrent ( bool  on_off)
Examples:
CHOP/CHOP_Stair.C.
void OP_Node::setCurrentAndPicked ( )
bool OP_Node::setDataBlock ( const char *  key,
OP_DataBlockPtr  ptr 
)
virtual bool OP_Node::setDebug ( bool  on_off)
inlinevirtual

Reimplemented in VOP_Node, and LOP_Node.

Definition at line 1303 of file OP_Node.h.

void OP_Node::setDelaySyncOTL ( bool  isdelayed)

Shallowly sets the delayed sync flag,.

bool OP_Node::setDelScript ( const char *  str)

Set the node's deletion script. Returns true if the delete script was set successfully.

bool OP_Node::setDisplay ( bool  on_off)
bool OP_Node::setDisplayComment ( bool  state)
bool OP_Node::setDisplayDescriptiveName ( bool  state)
virtual bool OP_Node::setDisplayOrigin ( bool  on_off_unchanged)
inlinevirtual

Reimplemented in OBJ_Node.

Definition at line 1305 of file OP_Node.h.

bool OP_Node::setEditableInputData ( int  idx,
const UT_StringHolder key,
const UT_OptionEntry value 
)
bool OP_Node::setEditableInputString ( int  idx,
const UT_StringRef key,
const UT_StringHolder str 
)
bool OP_Node::setEditPicked ( bool  on_off,
bool  propagate_parent_event = true 
)

The edit flag is used whenever something is picked from the viewport. This causes the pane paths to be changed to the first writable parent of the node being picked.

virtual bool OP_Node::setExport ( bool  on_off)
inlinevirtual

Reimplemented in CHOP_Node.

Definition at line 1301 of file OP_Node.h.

bool OP_Node::setExpose ( bool  on_off)
virtual void OP_Node::setFlag ( char  tag,
int8  val 
)
virtual

Reimplemented in VOP_Node, OBJ_Node, CHOP_Node, and LOP_Node.

bool OP_Node::setFootprint ( bool  on_off)
bool OP_Node::setGlobalFloatParam ( const char *  param,
fpreal  value,
bool *  warned 
)
bool OP_Node::setGlobalStringParam ( const char *  param,
const char *  strvalue,
bool *  warned 
)
void OP_Node::setHardLock ( bool  on_off)
inline

Definition at line 1218 of file OP_Node.h.

void OP_Node::setHasTakeData ( bool  onoff)
bool OP_Node::setHighlight ( bool  on_off)
virtual OP_ERROR OP_Node::setIndirectInput ( unsigned  idx,
OP_IndirectInput input 
)
virtual

Connects an input to an indirect input of our parent subnet.

Reimplemented in OBJ_Node, OBJ_SubNet, and OBJ_BlendSticky.

bool OP_Node::setInhibitInputConsolidation ( bool  value)

Sets the flag that prevents consolidation of variable inputs. Returns previous value of the flag;

virtual OP_ERROR OP_Node::setInput ( unsigned  idx,
OP_Node op,
unsigned  outputIdx = 0 
)
virtual

Sets a given input to connect to an output of a particular node.

Reimplemented in VOP_Node, OBJ_Node, DOP_Node, VOP_Snippet, VOP_Collect, OBJ_SubNet, SHOP_Output, VOP_SubnetOutput, VOP_Null, VOP_SubnetBase, and OBJ_BlendSticky.

virtual OP_ERROR OP_Node::setInputReference ( unsigned  idx,
const char *  label,
int  keeppos,
unsigned  outputIdx = 0 
)
virtual

Connects an input to particular node by name in the network.

Reimplemented in VOP_Node, OBJ_Node, DOP_Node, VOP_Snippet, VOP_Collect, OBJ_SubNet, VOP_SubnetOutput, VOP_Null, VOP_SubnetBase, and OBJ_BlendSticky.

void OP_Node::setItemExpose ( bool  expose)
inlineoverridevirtual

Reimplemented from OP_NetworkBoxItem.

Definition at line 1353 of file OP_Node.h.

bool OP_Node::setItemName ( const UT_String name)
overridevirtual

Implements OP_NetworkBoxItem.

void OP_Node::setLegacyConnectingInputIndex ( int  index)
inlineprotected

Definition at line 3227 of file OP_Node.h.

bool OP_Node::setLocalVarActive ( bool  f)
inline

Definition at line 3069 of file OP_Node.h.

OP_LockTypes OP_Node::setLockState ( OP_LockTypes  state,
bool  saveundo = true 
)
virtual void OP_Node::setMapping ( int  idx,
int  type,
const char *  label = 0 
)
virtual

Reimplemented in CHOP_Node.

void OP_Node::setMatchesOTLDefinition ( int  matches)
protected

Sets the flag idicating if the node is synced (matched) to the HDA.

virtual void OP_Node::setMaterialIconAllowRegenerateFlag ( bool  )
inlinevirtual

Reimplemented in SHOP_Node.

Definition at line 2954 of file OP_Node.h.

virtual void OP_Node::setMaterialIconFilename ( const char *  )
inlinevirtual

Reimplemented in SHOP_Node.

Definition at line 2951 of file OP_Node.h.

bool OP_Node::setMinimumCacheSize ( int  min_size)
virtual OP_LockTypes OP_Node::setModelLock ( OP_LockTypes  state,
void modeler = nullptr,
bool  allow_softlock_promotion = false,
UT_Undo undo = nullptr 
)
virtual

Reimplemented in SOP_Node.

bool OP_Node::setModified ( bool  on_off)
virtual OP_ERROR OP_Node::setNamedIndirectInput ( const OP_ConnectorId input_name,
OP_IndirectInput input 
)
virtual

Reimplemented in OBJ_Node, OBJ_SubNet, and OBJ_BlendSticky.

virtual OP_ERROR OP_Node::setNamedInput ( const OP_ConnectorId input_name,
OP_Node op,
const OP_ConnectorId output_name = nullptr 
)
virtual

New input functions that use names instead of indices.

Reimplemented in VOP_Node, OBJ_Node, DOP_Node, VOP_Snippet, OBJ_SubNet, VOP_Collect, VOP_SubnetOutput, VOP_VariableInput, SHOP_Output, VOP_Null, VOP_SubnetBase, and OBJ_BlendSticky.

virtual OP_ERROR OP_Node::setNamedInputReference ( const OP_ConnectorId input_name,
const char *  label,
int  ,
const OP_ConnectorId output_name = nullptr 
)
virtual
void OP_Node::setNewParent ( OP_Network new_parent)
protected
void OP_Node::setNodeBeingDeleted ( int  beingdeleted)
void OP_Node::setNodeShape ( const UT_StringHolder shape)

Accessors for this node's flag indicating if it should use its operator's default color instead of its local color.

int8 OP_Node::setOutputForView ( int8  output)
virtual bool OP_Node::setPickable ( bool  on_off)
inlinevirtual

Reimplemented in OBJ_Node.

Definition at line 1297 of file OP_Node.h.

bool OP_Node::setPicked ( bool  on_off,
bool  propagate_parent_event = true 
)
overridevirtual

Implements OP_NetworkBoxItem.

void OP_Node::setProxyRefNode ( bool  f)
inline

Definition at line 759 of file OP_Node.h.

void OP_Node::setRenameConflict ( )
inline

Definition at line 2485 of file OP_Node.h.

bool OP_Node::setRender ( bool  on_off)
void OP_Node::setRunningCreateScript ( int  onoff)
bool OP_Node::setSaveBypass ( bool  on_off)
bool OP_Node::setSaveData ( bool  on_off)
void OP_Node::setSoftLock ( bool  on_off)
inline

Definition at line 1211 of file OP_Node.h.

bool OP_Node::setTemplate ( bool  on_off)
virtual void OP_Node::setUniqueId ( int  id)
protectedvirtual

Reimplemented in SOP_Node.

bool OP_Node::setUnload ( bool  on_off)
virtual void OP_Node::setupConnectorsAfterLoad ( )
protectedvirtual

Sets up the inputs and outputs after all nodes have been loading from file (in case it needs its children to determine inputs/oututs).

Reimplemented in VOP_SubnetBase, and VOP_SubnetScript.

void OP_Node::setUserData ( const UT_StringRef key,
const UT_StringHolder data,
bool  save_undo 
)
virtual bool OP_Node::setVisible ( bool  onoff)
virtual

Reimplemented in OBJ_Node.

bool OP_Node::setXray ( bool  on_off)
void OP_Node::setXY ( fpreal  x,
fpreal  y 
)
overridevirtual

Node position/scale is used by the UI.

Implements OP_NetworkBoxItem.

bool OP_Node::shouldDelaySyncOTL ( ) const

Determines if this node should do delayed syncing or not.

void OP_Node::spareParmRemoved ( const char *  parmname)
overridevirtual

Implements PRM_ParmOwner.

static void OP_Node::startBulkNotifications ( const OP_NodeList changed,
OP_Node caller = nullptr 
)
static
void OP_Node::startCookTimer ( const OP_Context context)
protected
void OP_Node::stealDependents ( OP_Node other)
protected
void OP_Node::stopCookTimer ( const OP_Context context)
protected
virtual bool OP_Node::syncContents ( UT_IStream is)
protectedvirtual

Reimplemented in OP_Network.

void OP_Node::syncDelayedOTL ( )
inline

Verifies this node has been synchronized in case it was delayed.

Definition at line 2015 of file OP_Node.h.

void OP_Node::syncNodeVersion ( const char *  old_version,
const char *  current_version,
bool *  node_deleted 
)
overridevirtual

Sync the node assuming that it is currently at old_version to the current_version. By default, this will call the corresponding OTL_SYNCNODEVERSION section if it exists.

Reimplemented from OP_Parameters.

Reimplemented in SOP_Edit, SOP_UVFlatten, SOP_UVLayout, SOP_Cache, SOP_AttribComp, SOP_BlendShapes2, and SOP_PolyExtrude2.

void OP_Node::syncNodeVersionIfNeeded ( bool *  node_deleted,
const char *  from_version = nullptr,
bool  update_node_version = false 
)

After the nodes parameter list is loaded, syncNodeVersionIfNeeded() is called to perform any necessary upgrades if the version number of the loaded node (taken from user data) is different from the node type's version number (getOperator()->getVersion()). Use the from_version parameter to override the node current version. If needed, this will call syncNodeVersion(). After synching, the node's version user data will be set to the current version if update_node_version is true.

void OP_Node::takeActivateFlag ( uchar  flag,
bool  enable = true,
bool  send_flag_event = true 
)
void OP_Node::takeDeactivateFlag ( uchar  flag)
inline

Definition at line 1256 of file OP_Node.h.

bool OP_Node::takeIsActiveFlag ( uchar  flag) const
UT_TaskState& OP_Node::taskState ( )
inline

Definition at line 1062 of file OP_Node.h.

const UT_TaskState& OP_Node::taskState ( ) const
inline

Definition at line 1063 of file OP_Node.h.

virtual int OP_Node::testDragDrop ( DD_Source src)
virtual

Reimplemented in SOP_Node, and OBJ_Node.

void OP_Node::touchBundleParm ( const char *  name)
void OP_Node::touchBundleParm ( int  parm_index)
bool OP_Node::traverseChildren ( bool(*)(OP_Node &, void *)  callback,
void data,
bool  recurse_into_subnets 
)

Traverses children of this node, calling 'callback' on all children. If callback returns true, the traversal stops at that node.

OP_ConnectorInputIter OP_Node::traverseConnectedInputs ( OP_ConnectorInputIter prev_iter)
bool OP_Node::traverseInputs ( bool(*)(OP_Node &, void *)  callback,
void data,
TraverseOptions  opts,
OP_InterestType  extra_interest_mask = OP_INTEREST_ALL 
)

traverseInputs calls 'callback' on this node and all its inputs. If callback returns true for any node, it will stop and return true, otherwise it will return false;

Parameters
callbackCallback function
dataUser data passed to the callback function
optsA set of flags to configure the traversal: TRAVERSE_INTO_SUBNETS If input is a subnet, we continue traversing from its display node. TRAVERSE_REF_INPUTS Follow inputs marked as reference inputs TRAVERSE_ONLY_USED_INPUTS Follow only inputs used in the last cook TRAVERSE_PASSTHROUGH_INPUTS Use the getPassThroughNode to traverse through nodes that directly steal their input node's data. TRAVERSE_EXTRA_INPUTS Follow nodes which this node implicitly depends on. TRAVERSE_SIMULATION_INPUTS For nodes that are DOP parents, grab extra inputs from the simulation. TRAVERSE_COOKED_INPUT_INDEX_INPUTS Uses the cookedInputIndex method to traverse "passthrough"-type inputs for nodes that might trigger a cook when calling getPassThroughNode, but where we want to avoid triggering a cook.
extra_interest_maskFor extra inputs, this mask allows one to restrict which of those dependency types follow.
bool OP_Node::traverseInputs ( bool(*)(const OP_Node &, void *)  callback,
void data,
TraverseOptions  opts,
OP_InterestType  extra_interest_mask = OP_INTEREST_ALL 
) const

traverseInputs calls 'callback' on this node and all its inputs. If callback returns true for any node, it will stop and return true, otherwise it will return false;

Parameters
callbackCallback function
dataUser data passed to the callback function
optsA set of flags to configure the traversal: TRAVERSE_INTO_SUBNETS If input is a subnet, we continue traversing from its display node. TRAVERSE_REF_INPUTS Follow inputs marked as reference inputs TRAVERSE_ONLY_USED_INPUTS Follow only inputs used in the last cook TRAVERSE_PASSTHROUGH_INPUTS Use the getPassThroughNode to traverse through nodes that directly steal their input node's data. TRAVERSE_EXTRA_INPUTS Follow nodes which this node implicitly depends on. TRAVERSE_SIMULATION_INPUTS For nodes that are DOP parents, grab extra inputs from the simulation. TRAVERSE_COOKED_INPUT_INDEX_INPUTS Uses the cookedInputIndex method to traverse "passthrough"-type inputs for nodes that might trigger a cook when calling getPassThroughNode, but where we want to avoid triggering a cook.
extra_interest_maskFor extra inputs, this mask allows one to restrict which of those dependency types follow.
OP_ConnectorInputIter OP_Node::traverseInputs ( OP_ConnectorInputIter prev_iter)

Note: Use these carefully, since they assume that no inputs are actually added or removed (or renamed) during the traversal.

const PRM_Parm* OP_Node::traverseRef ( int sub_idx,
fpreal  time,
int  parm_idx,
int  vec_idx 
) const
overridevirtual

Implements PRM_ParmOwner.

void OP_Node::triggerOutputChanged ( )
bool OP_Node::triggerParmCallback ( PRM_Parm parmptr,
fpreal  now,
int  value,
void data,
const UT_Options options = nullptr 
)
overridevirtual

Implements OP_Parameters.

void OP_Node::triggerUIChanged ( OP_UIChangeType  type = OP_UICHANGE_ANY)
void OP_Node::turnOffAllChildExports ( )
virtual void OP_Node::undisplayChannels ( bool  recurse)
virtual

This method will undisplay all the channels belonging to this op. If the recurse flag is set it will recurse through the children (at this level the recurse flag is ignored).

Reimplemented in OP_Network.

virtual bool OP_Node::unloadData ( )
virtual
virtual void OP_Node::unlockInput ( unsigned  idx)
virtual

Reimplemented in SOP_Node, and OBJ_Blend.

virtual void OP_Node::unlockInputs ( )
virtual

Reimplemented in SOP_Node, and OBJ_Blend.

virtual void OP_Node::unmatchOTLDefinition ( )
virtual

Unmatches (unlocks) the node from the current HDA definition.

Reimplemented in VOP_SubnetScript.

virtual void OP_Node::unpinChannels ( bool  recurse)
virtual

This method will unpin all the channels belonging to this op. If the recurse flag is set it will recurse through the children (at this level the recurse flag is ignored).

Reimplemented in OP_Network.

virtual void OP_Node::unscopeChannels ( bool  recurse)
virtual

This method will unscope all the channels belonging to this op. If the recurse flag is set it will recurse through the children (at this level the recurse flag is ignored).

Reimplemented in OP_Network.

static void OP_Node::updateChannelPtrs ( CH_CollectionList parents)
static
virtual int OP_Node::updateDandROpsEqual ( int  = 1)
inlinevirtual

Reimplemented in DOP_Node, OBJ_DopNet, OP_Network, and HDK_Sample::SOP_HDKObject.

Definition at line 811 of file OP_Node.h.

void OP_Node::updateErrorSeverity ( )
protected

Update the error severity of this node.

void OP_Node::updateParmsToMatchCurrentUnits ( )
void OP_Node::updateVersionUserData ( )
const UT_Options& OP_Node::userData ( ) const
inline

Definition at line 2147 of file OP_Node.h.

virtual void OP_Node::userDataChanged ( const UT_StringHolder key)
virtual

Reimplemented in VOP_Node, and COP2_Node.

void OP_Node::userSetSelectableTemplate ( bool  onoff)

The user has set the selectable template flag. If we are making a node into a selectable template, we turn on the template flag as well. If we are turning off selectable template, we leave template alone.

void OP_Node::userSetTemplate ( bool  onoff)

The user has set the template flag. If we are turning on the template flag, we do the same as setTemplate(). If we are turning it off, we also turn off the selectable template (footprint) flag.

virtual bool OP_Node::usesFootprint ( ) const
inlinevirtual

Reimplemented in SOP_Node.

Definition at line 2669 of file OP_Node.h.

bool OP_Node::verifyTemplatesWithParameters ( ) const
int OP_Node::wasBuiltExplicitly ( ) const
inline

Definition at line 2518 of file OP_Node.h.

bool OP_Node::wasInterrupted ( ) const
inline

Definition at line 2479 of file OP_Node.h.

int OP_Node::whichInputIs ( const OP_Node who) const

Returns the index of the first connection from node "who" to this node, or -1 if "who" is not an input.

int OP_Node::whichInputIs ( const OP_IndirectInput who) const

Returns the index of the first connection of an indirect input.

int OP_Node::whichInputIs ( const OP_IndirectInput whoi,
int  cnt 
) const
int OP_Node::whichInputIs ( const OP_Node source_node,
int  counter 
) const
OP_ConnectorId OP_Node::whichNamedInputIs ( const OP_Node who) const

Returns the name of the first connection from node "who" to this node, or an empty string if "who" is not an input.

OP_ConnectorId OP_Node::whichNamedInputIs ( const OP_IndirectInput who) const

Returns the index of the first connection of an indirect input.

int OP_Node::whichOutputIs ( const OP_Node target_node,
int  input_on_target_node 
) const
int OP_Node::whichOutputIsFollowingIndirect ( const OP_Node target_node,
int  input_on_target_node 
) const
virtual int OP_Node::whichOutputNode ( ) const
virtual

Reimplemented in DOP_SubNetOutput.

virtual bool OP_Node::willAutoconvertInputType ( int  input_idx)
virtual

This is overriden in VOPs. It returns true if the input at input_idx will need and can perform autoconversion of its input type to the type it needs. If autoconversion is not needed, or is impossible, this will return false.

Reimplemented in VOP_Node.

virtual bool OP_Node::willAutoconvertNamedInputType ( const OP_ConnectorId input_name)
virtual

Reimplemented in VOP_Node.

void OP_Node::writeAllChannels ( std::ostream &  os,
const char *  name,
bool  frames,
bool  dochblock,
bool  dospareparms 
)
void OP_Node::writeChannel ( CH_Channel channel,
std::ostream &  os,
const char *  name,
bool  frames 
)

Friends And Related Function Documentation

Definition at line 4014 of file OP_Node.h.

friend class OP_Channels
friend

Definition at line 3999 of file OP_Node.h.

friend class OP_DataMicroNode
friend

Definition at line 4000 of file OP_Node.h.

friend class OP_EventMicroNode
friend

Definition at line 4001 of file OP_Node.h.

friend class OP_Group
friend

Definition at line 4002 of file OP_Node.h.

friend class OP_IndirectInput
friend

Definition at line 4003 of file OP_Node.h.

friend class OP_Input
friend

Definition at line 4004 of file OP_Node.h.

friend class op_MicroNodeDirtied
friend

Definition at line 4013 of file OP_Node.h.

friend class OP_Network
friend

Definition at line 4005 of file OP_Node.h.

friend class OP_ParmMicroNode
friend

Definition at line 4006 of file OP_Node.h.

friend class OP_UndoCreate
friend

Definition at line 4007 of file OP_Node.h.

friend class OP_UndoDelete
friend

Definition at line 4008 of file OP_Node.h.

friend class OP_UndoInput
friend

Definition at line 4009 of file OP_Node.h.

friend class OP_UndoSpareParm
friend

Definition at line 4010 of file OP_Node.h.

friend class OP_UndoUserData
friend

Definition at line 4011 of file OP_Node.h.

Member Data Documentation

uint32 OP_Node::myCompHash
protected

Definition at line 3678 of file OP_Node.h.

UT_TokenString OP_Node::myHashCode
protected

Definition at line 3640 of file OP_Node.h.

fpreal OP_Node::myHashTime
protected

Definition at line 3644 of file OP_Node.h.

OP_VERSION OP_Node::myHashVersion
protected

Definition at line 3643 of file OP_Node.h.

int OP_Node::myLastGroupMask
protected

Definition at line 3642 of file OP_Node.h.

UT_TokenString OP_Node::myParmHashCode
protected

Definition at line 3641 of file OP_Node.h.

fpreal OP_Node::myParmHashTime
protected

Definition at line 3647 of file OP_Node.h.

OP_VERSION OP_Node::myParmHashVersion
protected

Definition at line 3646 of file OP_Node.h.

int OP_Node::myParmLastGroupMask
protected

Definition at line 3645 of file OP_Node.h.

int OP_Node::mySyncDepth
protected

Definition at line 3650 of file OP_Node.h.

OP_ERROR OP_Node::mySyncErrorLevel
protected

Definition at line 3649 of file OP_Node.h.

UT_String OP_Node::mySyncErrors
protected

Definition at line 3648 of file OP_Node.h.

PRM_Name OP_Node::theVexClearParmName
static

Definition at line 2753 of file OP_Node.h.

PRM_Name OP_Node::theVexCWDName
static

Definition at line 2754 of file OP_Node.h.

PRM_Name OP_Node::theVexNodePathParmName
static

Definition at line 2752 of file OP_Node.h.

PRM_Name OP_Node::theVexScriptParmName
static

Definition at line 2751 of file OP_Node.h.

PRM_ChoiceList OP_Node::theVexSrcParmMenu
static

Definition at line 2749 of file OP_Node.h.

PRM_Name OP_Node::theVexSrcParmName
static

Definition at line 2750 of file OP_Node.h.


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