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

#include <SOP_Node.h>

Inherits OP_Network.

Inherited by HDK_Sample::SOP_ArrayAttrib, HDK_Sample::SOP_BlindData, HDK_Sample::SOP_BouncyAgent, HDK_Sample::SOP_CopRaster, HDK_Sample::SOP_CopyPacked, HDK_Sample::SOP_CopyToPointsHDK, HDK_Sample::SOP_CPPWave, HDK_Sample::SOP_CustomBrush, HDK_Sample::SOP_CustomVop, HDK_Sample::SOP_DetailAttrib, HDK_Sample::SOP_DualStar, HDK_Sample::SOP_EuclidBase, HDK_Sample::SOP_Flatten, HDK_Sample::SOP_GroupRename, HDK_Sample::SOP_HDKObject, HDK_Sample::SOP_IKSample, HDK_Sample::SOP_NURBS, HDK_Sample::SOP_OrientAlongCurve, HDK_Sample::SOP_PointWave, HDK_Sample::SOP_PrimVOP, HDK_Sample::SOP_SParticle, HDK_Sample::SOP_SplitPointsHDK, HDK_Sample::SOP_Star, HDK_Sample::SOP_Surface, HDK_Sample::SOP_SweepHDK, HDK_Sample::SOP_Tetra, HDK_Sample::SOP_TimeCompare, HDK_Sample::SOP_VolumeProject, HDK_Sample::SOP_WindingNumber, SOP_AttribComp, SOP_BlendShapes, SOP_BlendShapes2, SOP_BlockBegin, SOP_BlockEnd, SOP_Cache, SOP_CaptureAttribPack, SOP_CaptureAttribUnpack, SOP_CaptureBase, SOP_CaptureOverride, SOP_CaptureRegion, SOP_Circle, SOP_CopyToPoints2, SOP_Curve, SOP_Each, SOP_ForEach, SOP_GDT, SOP_HOM, SOP_Lattice, SOP_MDD, SOP_Muscle, SOP_PointCaptureCore, SOP_PolyBridge, SOP_PolyExtrude2, SOP_PolyKnit, SOP_PolySplit2, SOP_Reverse, SOP_ShapeDiff, SOP_Stroke, SOP_Triangulate2D2, SOP_Triangulate2D3, SOP_UVFlatten, SOP_UVFlatten2, SOP_UVFlatten3, SOP_UVFuse, SOP_UVLayout, SOP_UVLayout2, SOP_UVLayout3, SOP_UVPelt, SOP_UVPelt2, SOP_Visibility, and SOP_Watershed.

Classes

class  AttribTupleIndexArg
 

Public Types

enum  GuideType { GuideType::VIEWPORT, GuideType::STATE }
 
enum  GroupSelectAsOrdered { GroupSelectAsOrdered::AUTO, GroupSelectAsOrdered::FORCE_UNORDERED, GroupSelectAsOrdered::FORCE_ORDERED }
 
typedef GOP_Manager::GroupCreator GroupCreator
 Typedef to help make use of GroupCreator less verbose. More...
 
- Public Types inherited from OP_Node
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
 
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
}
 

Public Member Functions

const char * getChildType () const override
 
const char * getOpType () const override
 
OP_OpTypeId getChildTypeID () const override
 
OP_OpTypeId getOpTypeID () const override
 
const SOP_NodeFlagsgetFlags () const
 
int isCookingRender () const override
 
void opChanged (OP_EventType reason, void *data=0) override
 
SOP_NodegetOutputSop (int outputidx, bool fallback_to_display_render=true)
 
const CH_LocalVariableresolveVariable (const char *name) override
 
const CH_LocalVariableresolveExtraVariableForSyntaxHighlight (const char *name) override
 
void setVariableOrder (int detail, int prim, int pt, int vtx)
 
int getVariableOrder (int level) const
 
int getVariablePrecedence (int var) const
 
bool usesFootprint () const override
 
void setVisualizeCallback (sopVisualizeCallback *callback, void *data)
 
bool addOrMoveVisualizerToOutput (int outputidx) override
 Moves visualizer into our output list. More...
 
bool setupLocalVars ()
 
void resetLocalVarRefs ()
 
void setCurGdh (int index, const GU_DetailHandle &gdh)
 
void clearCurGdh (int index)
 
const GU_DetailHandlegetCurGdh (int index)
 
void setCurPoint (int index, GA_Offset ptoff)
 
void clearCurPoint (int index)
 
void setCurVertex (int index, GA_Offset ptoff)
 
void clearCurVertex (int index)
 
void setCurPrim (int index, GA_Offset primoff)
 
void clearCurPrim (int index)
 
void setCurVertexNum (int index, exint vtxnum)
 
void clearCurVertexNum (int index)
 
bool getVariableValueFP (fpreal &val, int index)
 
bool evalVariableValue (fpreal &val, int index, int thread) override
 
bool evalVariableValue (UT_String &value, int index, int thread) override
 
void addGenericVariable (const char *varname, GEO_Standard_Attributes attr, const AttribTupleIndexArg &tuple_idx, GA_StorageClass storage=GA_STORECLASS_REAL, GA_Defaults const &defaults=GA_Defaults(0.0f))
 
void addGenericVariable (const char *varname, const char *attribname, const AttribTupleIndexArg &tuple_idx, GA_StorageClass storage=GA_STORECLASS_REAL, GA_Defaults const &defaults=GA_Defaults(0.0f))
 
void addGenericVariable (const char *varname, int varidx, SOP_LocalVarFunc callback, GA_Defaults const &defaults=GA_Defaults(0.0f))
 
void addGenericVariable (const GU_Detail *gdp, int gdpidx, const char *varname, const char *attribname, const AttribTupleIndexArg &tuple_idx, GA_StorageClass storage=GA_STORECLASS_REAL, GA_Defaults const &defaults=GA_Defaults(0.0f))
 
void addGenericVariable (int gpdidx, const char *varname, int varidx, SOP_LocalVarFunc callback, GA_Defaults const &defaults=GA_Defaults(0.0f))
 
void addSpecificVariable (const GU_Detail *gdp, int gdpidx, const char *varname, const char *attribname, const AttribTupleIndexArg &tuple_idx, GA_StorageClass storage, GA_AttributeOwner dictionary, GA_Defaults const &defaults=GA_Defaults(0.0f))
 
void addSpecificVariable (int gpidx, const char *varname, int varidx, GA_AttributeOwner dictionary, SOP_LocalVarFunc callback, GA_Defaults const &defaults=GA_Defaults(0.0f))
 
void addCustomVariable (const char *attr, const char *varname)
 
void cacheVarPtBox (int gpdidx)
 
void cacheVarPrimBox (int gpdidx)
 
fpreal varCallbackT (sopVarInfo *varinfo)
 
fpreal varCallbackPT (sopVarInfo *varinfo)
 
fpreal varCallbackPR (sopVarInfo *varinfo)
 
fpreal varCallbackVTX (sopVarInfo *varinfo)
 
fpreal varCallbackNPT (sopVarInfo *varinfo)
 
fpreal varCallbackNPR (sopVarInfo *varinfo)
 
fpreal varCallbackNVTX (sopVarInfo *varinfo)
 
fpreal varCallbackCE (sopVarInfo *varinfo)
 
fpreal varCallbackMIN (sopVarInfo *varinfo)
 
fpreal varCallbackMAX (sopVarInfo *varinfo)
 
fpreal varCallbackSIZE (sopVarInfo *varinfo)
 
fpreal varCallbackLIFE (sopVarInfo *varinfo)
 
fpreal varCallbackAGE (sopVarInfo *varinfo)
 
fpreal varCallbackBB (sopVarInfo *varinfo)
 
fpreal varCallbackWEIGHT (sopVarInfo *varinfo)
 
const GU_DetailHandlecurGdh (int index) const
 
int curVertexNum (int index) const
 
const GU_DetailcurGdp (int index) const
 
GA_Offset curVertex (int local_var_gdp_index) const
 
GA_Offset curPoint (int index) const
 
const GEO_PrimitivecurPrim (int index) const
 
GA_Offset curPrimOff (int index) const
 
UT_BoundingBox curPointBBox (int index)
 
UT_BoundingBox curPrimBBox (int index)
 
void setPivotParmToGroupCentroid (OP_Context &context)
 
void buildNamedPrims (int thesourcenum, PRM_Name *thechoicenames, int themenusize, const PRM_Parm *parm, bool globvectors, bool numberedvolumes)
 
void buildInputGroups (int thesourcenum, PRM_Name *thechoicenames, int themenusize, unsigned type, int start, bool includeselection, const PRM_Parm *parm)
 
int buildInputEdgeGroups (int sourcenum, PRM_Name *choicenames, int menusize, bool addprim, int start, const PRM_Parm *parm)
 
int buildInputBreakpointGroups (int sourcenum, PRM_Name *choicenames, int menusize, bool addprim, int start, const PRM_Parm *parm)
 
OP_LockTypes setModelLock (OP_LockTypes lock_type, void *modeler=nullptr, bool allow_softlock_promotion=false, UT_Undo *undo=nullptr) override
 
OP_DataType getCookedDataType () const override
 
voidgetCookedData (const OP_Context &ctx) override
 
bool getBoundingBox (UT_BoundingBox &box, OP_Context &ctx) override
 
const GU_DetailgetCookedGeo (OP_Context &, int forced=0)
 
GU_DetailHandle getCookedGeoHandle (OP_Context &, int forced=0)
 
GU_DetailHandle cookOutput (OP_Context &context, int outputidx, SOP_Node *interests)
 
const SOP_GuidegetCookedGuide1 () const
 
const SOP_GuidegetCookedGuide2 () const
 
GU_DetailHandle getCookedViewGeoHandle (OP_Context &, int forced=0, SOP_Node **target_sop=nullptr)
 
const GU_DetailgetLastGeo () const
 
const GU_DetailgetInputLastGeo (int input, fpreal time) const
 
OP_ERROR cookGuide1 (OP_Context &context)
 
OP_ERROR cookGuide2 (OP_Context &context)
 
virtual int getNumGuides ()
 
virtual GuideType getGuideType (int guide_idx)
 
virtual bool isGuideTimeDep (int guide_idx) const
 
GU_DetailHandle cookGuide (int guide_idx, OP_Context &context)
 
virtual GOP_GuideListType getGuideListType () const
 
OP_ERROR lockInput (unsigned idx, OP_Context &context) override
 
void unlockInput (unsigned idx) override
 
OP_ERROR lockInputs (OP_Context &context) override
 
void unlockInputs () override
 
bool forceValidGroupName (UT_String &name, UT_ErrorSeverity severity)
 
bool forceValidGroupPrefix (UT_String &prefix, UT_ErrorSeverity severity)
 
void expandGroupMask (const char *pattern, UT_String &outNames, GA_GroupType type, const GU_Detail *pgdp)
 
void expandGroupMask (const char *pattern, UT_String &outNames, GA_GroupType type)
 
const GA_PrimitiveGroupparsePrimitiveGroups (const char *pattern, const GroupCreator &creator, bool allow_numeric=true, bool ordered=false, bool strict=false, GA_Index offset=GA_Index(0))
 
const GA_PrimitiveGroupparsePrimitiveGroups (const char *pattern, GU_Detail *pgdp, int allow_numeric=1, int ordered=1, bool strict=false, int offset=0)
 
const GA_PrimitiveGroupparsePrimitiveGroups (const char *pattern)
 
GA_PrimitiveGroupparsePrimitiveGroupsCopy (const char *pattern, const GroupCreator &creator, bool allow_numeric=true, bool ordered=false, bool strict=false)
 
GA_PrimitiveGroupparsePrimitiveGroupsCopy (const char *pattern, GU_Detail *pgdp, int allow_numeric=1, int ordered=1, bool strict=false)
 
GA_PrimitiveGroupparsePrimitiveGroupsCopy (const char *pattern)
 
const GA_PointGroupparsePointGroups (const char *pattern, const GroupCreator &creator, bool allow_numeric=true, bool ordered=false, bool strict=false, GA_Index offset=GA_Index(0))
 
const GA_PointGroupparsePointGroups (const char *pattern, GU_Detail *pgdp, int allow_numeric=1, int ordered=1, bool strict=false, int offset=0)
 
const GA_PointGroupparsePointGroups (const char *pattern)
 
GA_PointGroupparsePointGroupsCopy (const char *pattern, const GroupCreator &creator, bool allow_numeric=true, bool ordered=false, bool strict=false)
 
GA_PointGroupparsePointGroupsCopy (const char *pattern, GU_Detail *pgdp, int allow_numeric=1, int ordered=1, bool strict=false)
 
GA_PointGroupparsePointGroupsCopy (const char *pattern)
 
const GA_EdgeGroupparseEdgeGroups (const char *pattern, const GU_Detail *pgdp, bool strict=true, GA_Index prim_offset=GA_Index(0), GA_Index point_offset=GA_Index(0))
 
const GA_EdgeGroupparseEdgeGroups (const char *pattern)
 
GA_EdgeGroupparseEdgeGroupsCopy (const char *pattern, const GU_Detail *pgdp)
 
GA_EdgeGroupparseEdgeGroupsCopy (const char *pattern)
 
const GA_BreakpointGroupparseBreakpointGroups (const char *pattern, const GU_Detail *pgdp, bool strict=true, GA_Index offset=GA_Index(0))
 
const GA_BreakpointGroupparseBreakpointGroups (const char *pattern)
 
GA_BreakpointGroupparseBreakpointGroupsCopy (const char *pattern, const GU_Detail *pgdp)
 
GA_BreakpointGroupparseBreakpointGroupsCopy (const char *pattern)
 
const GA_VertexGroupparseVertexGroups (const char *pattern, const GU_Detail *pgdp, bool strict=true, GA_Index offset=GA_Index(0))
 
const GA_VertexGroupparseVertexGroups (const char *pattern)
 
GA_VertexGroupparseVertexGroupsCopy (const char *pattern, const GU_Detail *pgdp)
 
GA_VertexGroupparseVertexGroupsCopy (const char *pattern)
 
const GA_GroupparseAllGroups (const char *pattern, const GroupCreator &creator, bool allow_numeric=true, bool ordered=false, GA_GroupMaskType mask=GA_GMASK_FULL_MASK, GA_GroupType bestguess=GA_GROUP_PRIMITIVE)
 
const GA_GroupparseAllGroups (const char *pattern, GU_Detail *pgdp, int allow_numeric=1, int ordered=1, GA_GroupMaskType mask=GA_GMASK_FULL_MASK)
 
const GA_GroupparseAllGroups (const char *pattern)
 
GA_GroupparseAllGroupsCopy (const char *pattern, const GroupCreator &creator, bool allow_numeric=true, bool ordered=false, GA_GroupMaskType mask=GA_GMASK_FULL_MASK, GA_GroupType bestguess=GA_GROUP_PRIMITIVE)
 
GA_GroupparseAllGroupsCopy (const char *pattern, GU_Detail *pgdp, int allow_numeric=1, int ordered=1, GA_GroupMaskType mask=GA_GMASK_FULL_MASK)
 
GA_GroupparseAllGroupsCopy (const char *pattern)
 
int destroyAdhocGroup (const GA_Group *group)
 
void destroyAdhocGroups ()
 
void destroyAdhocGroups (const GU_Detail *g)
 
void updateUserSelectionOnDetail ()
 
void setNodeSelectionSet (GU_SelectionSetHandle selection_set)
 
GU_SelectionSetHandle nodeSelectionSet () const
 
void clearNodeSelectionSet ()
 
void copyCookedSelectionToUserSelection (OP_Context *context=0)
 
void select (GU_SelectionType stype)
 
void select (GA_GroupType gtype=GA_GROUP_PRIMITIVE)
 
void select (GU_SelectionHandle selection, bool add_to_sel=false)
 
void select (const GA_Group &group, bool use_gtype=true, bool add_to_sel=false)
 
void select (const GEO_Primitive &prim, bool sel_prim=true, bool add_to_sel=false)
 
void selectPrimitive (GA_Offset primoff, bool prim_sel=true, bool add_to_sel=false)
 
void selectPoint (GA_Offset ptoff, bool point_sel=true, bool add_to_sel=false)
 
void selectFrom (const GEO_Primitive &prim, bool sel_prim=true, bool add_to_sel=false)
 
void selectPointsFrom (GA_Offset ptoff, bool point_sel=true, bool add_to_sel=false)
 
void select (const GA_Range &range, bool use_rtype=true, bool add_to_sel=false)
 
void selectInputGroup (const GA_Group *group, GA_GroupType grouptype)
 
void selectInputGroup (const GA_Group *group, int grouptype)
 
void clearSelection ()
 
void clearSelection (GU_SelectionType stype)
 
void clearSelection (GA_GroupType gtype)
 
bool destroySelection ()
 
bool selectionEnabled () const
 
bool hasCookedSelection () const
 
bool copyTempSelections (OP_Context &context, SOP_Node *src)
 
virtual void resetSimulation ()
 
int getNetOverviewColor (UT_Color &color) override
 
void addInstanceReference (SOP_Node *node)
 
void clearInstanceReference (SOP_Node *node)
 
void makeInstanceOf (SOP_Node *node, OP_Context &context, int inputidx)
 
void makeInstanceOf (GU_ConstDetailHandle gdh)
 
virtual void makePreserveRequest ()
 
virtual void setVisualization (bool)
 
virtual void setForceCapture (bool)
 
void getNodeSpecificInfoText (OP_Context &context, OP_NodeInfoParms &iparms) override
 
void fillInfoTreeNodeSpecific (UT_InfoTree &tree, const OP_NodeInfoTreeParms &parms) override
 Fill in tree with this SOP's details. More...
 
void fillInfoTreeForGeometry (UT_InfoTree &branch, const OP_NodeInfoTreeParms &parms)
 Helper class that puts our geometry info into a branch. More...
 
virtual SOP_ObjectAppearancePtr getObjectAppearance ()
 
fpreal getW () const override
 Absolute Width. More...
 
fpreal getH () const override
 Absolute Height. More...
 
virtual const SOP_NodeVerbcookVerb () const
 
void addError (int code, const char *msg=0)
 
void addMessage (SOP_ErrorCodes code, const char *msg=0)
 
void addWarning (SOP_ErrorCodes code, const char *msg=0)
 
void addFatal (SOP_ErrorCodes code, const char *msg=0)
 
void addSystemError (const char *msg=0)
 
void addCommonError (UT_CommonErrorCode what, const char *msg=0)
 
void addCommonWarning (UT_CommonErrorCode what, const char *msg=0)
 
int fillAttribNameMenu (PRM_Name *menu_entries, int max_menu_size, GA_AttributeOwner dictionary, int input_index, bool(*approve)(const GA_Attribute *, void *)=NULL, void *approve_data=NULL, bool decode_tokens=false)
 
void getVectorAttribs (const char *attrib_names, UT_Array< GA_Attribute * > &vertex_attribs, UT_Array< GA_Attribute * > &point_attribs, UT_Array< GA_Attribute * > &prim_attribs)
 
virtual void unloadDataHack ()
 Do not use this function! Using it will likely cause crashes. More...
 
bool unloadData () override
 
void clearVerbCache ()
 Clears the node verb cache and parms. More...
 
int64 getMemoryUsage (bool inclusive) const override
 
virtual int64 getLoadedMemoryUsage () const
 
bool isLoaded () const override
 Returns whether this node currently has cooked data or not. More...
 
bool shouldUnload () const
 Returns if the sop cache manager will allow unloading. More...
 
bool isSelectionOwnerType () const overridefinal
 
void setUsesSOPLocalVar ()
 
UT_AttributeEvaluatorcreateAttributeEvaluator (const char *name) override
 
void getAttributeEvaluatorNames (UT_StringArray &names) override
 
bool hasTransformTracks () const override
 
bool evaluateTransformTracks (OP_Context &context, OP_EvaluateTransformTracksArgs &args) override
 
bool evaluateTransformTracksTargets (OP_Context &context, OP_NodeList &nodes, OP_Node *caller) override
 
- Public Member Functions inherited from OP_Network
int getNchildren () const override
 
OP_NodegetChild (const char *name=0, int *hint=0) const override
 
OP_NodegetChild (int index) const override
 
virtual int getChildIndex (const OP_Node *) const
 
int isNetwork () const override
 
int getDandROpsEqual () override
 
int updateDandROpsEqual (int check_inputs=1) override
 
virtual void moveChildIndex (int srcindex, int dstindex)
 
int getTemplateOps (UT_ValArray< OP_Node * > &list)
 
int getOpsByName (const char *op_name, UT_Array< OP_Node * > &list) const
 
OP_NodepeekCurrentNodePtr ()
 
void stashCurrentNodePtr (const OP_Node *child)
 
OP_NodegetStashedCurrentNodePtr () const
 
virtual OP_NodegetCurrentNodePtr ()
 
virtual OP_NodegetDisplayNodePtr ()
 
virtual OP_NodegetRenderNodePtr ()
 
virtual CHOP_NodegetAudioNodePtr ()
 
virtual const UT_ValArray
< OP_Node * > & 
getOutputNodePtrs () const
 
virtual void childDeleted (OP_Node *)
 
virtual void childFlagChange (OP_Node *)
 
fpreal getChildrenScale () const
 
void setChildrenScale (fpreal scale)
 
virtual OP_OperatorFiltergetOperatorFilter ()
 
void getNetworkScopeStack (UT_StringArray &scope_stack)
 
bool isOperatorAllowedAsChild (OP_Operator *op)
 Returns true if the given op can be created as a child of this network. More...
 
virtual bool isOperatorAllowedInTabMenu (OP_Operator *op)
 Returns true if the given op can show up in the Tab menu. More...
 
bool isOperatorCreateAllowed (OP_Operator *op)
 Returns true if the given op can show up in the Tab menu. More...
 
bool isToolAllowed (const UT_StringHolder &tool_name, const UT_StringArray &submenus)
 Returns true if the given tool can appear in the Tab menu for this net. More...
 
OP_NodecreateNode (const char *type, const char *name=0, int notify=1, int explicitly=1, int loadcontents=1, int *aliasedScriptedOp=0, char *matIconFilename=0, bool exact_type=false)
 
OP_NodecreateNodeOfExactType (const char *type, const char *name=0)
 Convenience method for requesting en exact type. More...
 
OP_NetworkcreateProxyRefNode (const char *path) override
 
void getPotentialChildErrorNodes (OP_NodeList &nodes) const override
 
OP_NodecopyNode (const OP_Node *srcnode, const char *toname=NULL, bool reference_parameters=false)
 
bool copyItems (const OP_NetworkBoxItemList &srcitems, OP_NetworkBoxItemList &destitems, bool reference_parameters, bool relative_references, bool connect_outputs_to_multi_inputs)
 
void copyPickedItems (const OP_Network *srcnet, OP_ItemTypeMask item_type_mask, OP_Group *newnodes=nullptr, const OP_FixNameParms *fix_name_parms=nullptr)
 
OP_NetworkBoxcopyNetworkBox (OP_NetworkBox *srcnetbox, OP_NetworkBoxSaveType save_type, OP_NodeList *nodes=NULL, const char *toname=NULL, bool reference_parameters=false)
 
OP_PostItcopyPostItNote (OP_PostIt *src_note, const char *toname=0)
 
void copyPickedNodes (const OP_Network *srcnet, OP_Group *newnodes=0, const OP_FixNameParms *fix_name_parms=0)
 
virtual bool movePickedNodes (OP_Network *src_net, OP_NodeList *src_nodes_ptr=NULL, OP_NodeList *dest_nodes_ptr=NULL)
 
int destroyNode (OP_Node *node)
 
int destroyNodes (const OP_NodeList &nodes)
 
virtual int renameNode (OP_Node *node, const char *name, OP_RenameAction action=OP_RENAME_NORMAL)
 
OP_NetworkfindOrCreateMotionEffectsNetwork (bool create=true)
 
OP_NodedeleteImplicitAncestors (OP_Node &node, const char *state=0, OP_Node *keep_node=0, bool included=true)
 
OP_NodegetImplicitAncestors (OP_NodeList &implicit_nodes, OP_NodeList &border_nodes, OP_Node &node, const char *state=0, OP_Node *keep_node=0, bool included=true)
 
int getAllCollections (UT_ValArray< CH_Collection * > &list, int hide=0)
 
void uniqueNodeName (UT_String &name, UT_StringSet *fakeChildren=0)
 
virtual int isInvalidName (const char *name)
 
OP_ERROR savePickedItems (std::ostream &os, const OP_SaveFlags &flags, OP_ItemTypeMask item_type, OP_NetworkBoxSaveType save_type=OP_NETWORKBOX_SAVE_ALL_CONTENTS)
 
OP_ERROR saveAllItems (std::ostream &os, const OP_SaveFlags &flags, OP_ItemTypeMask item_type)
 
OP_ERROR saveSingle (std::ostream &os, OP_Node *op, const OP_SaveFlags &flags, const UT_String &name_override=UT_String())
 
OP_ERROR saveSingle (std::ostream &os, OP_Node *op, const OP_SaveFlags &flags, const OP_SaveFlags &childflags, std::set< int > *renaming_exclude_ids=NULL, const UT_String &name_override=UT_String())
 
OP_ERROR saveSingleNetworkBox (std::ostream &os, OP_NetworkBox &netbox, const OP_SaveFlags &flags, OP_NetworkBoxSaveType save_type, OP_NodeList *nodes=NULL)
 
OP_ERROR saveSinglePostIt (std::ostream &os, OP_PostIt &pnote, const OP_SaveFlags &flags)
 Save a single post it note. More...
 
OP_ERROR saveSingleDot (std::ostream &os, OP_Dot &dot, const OP_SaveFlags &flags)
 Save a single dot. More...
 
OP_ERROR saveOpList (std::ostream &os, const UT_Array< OP_Node * > &op_list, const OP_SaveFlags &save_flags, int *nsaved=NULL)
 
OP_ERROR saveItemList (std::ostream &os, const OP_NetworkBoxItemList &items, const OP_SaveFlags &save_flags)
 
const char * getClipboardFile (const char *file_prefix=0)
 
int saveToClipboard (int all, OP_TileType type=OP_TILE_NODE, int grouplist=0, OP_ItemTypeMask item_type=OP_ITEMTYPE_NODE, const char *file_prefix=0)
 
int loadFromClipboard (fpreal x=0, fpreal y=0, bool turn_off_display=false, const char *file_prefix=0)
 
bool loadNetwork (UT_IStream &is, int merge=0, const char *pattern=NULL, int overwrite=0, const OP_FixNameParms *fix_name_parms=NULL, UT_StringArray *src_names=NULL, UT_StringArray *dest_names=NULL)
 
bool loadIntoNetwork (UT_IStream &is, OP_OverwriteAction overwrite=OP_NO_OVERWRITE, bool merge=false, const char *pattern=NULL, const OP_FixNameParms *fix_name_parms=NULL, UT_StringArray *src_names=NULL, UT_StringArray *dest_names=NULL)
 
bool pasteNetworkForMove (UT_IStream &is, UT_StringArray &src_names, UT_StringArray &dest_names)
 
bool opShouldHandleChange (OP_EventType reason) override
 
void clearUnreferencedInputs () override
 
int getLoadCollisions (UT_IStream &is, OP_NodeList &node_list, UT_ValArray< OP_NetworkBox * > &netbox_list, UT_ValArray< OP_PostIt * > &pnote_list, const char *pattern="*")
 
void simulateNameCollisions (UT_StringArray &names)
 
const UT_ValArray< OP_Node * > * getSortedList ()
 
OP_NodegetAnyOutputOf (OP_Node *op) const
 
OP_NodegetAnyOP () const
 
char * findUniqueGroupName (const char *basename=0)
 
OP_GroupfindGroup (const char *name) const
 
OP_GroupcreateGroup (const char *name=0)
 
int destroyGroup (const char *name)
 
int destroyGroup (OP_Group *group)
 
int getNgroups () const
 
OP_GroupgetGroup (int index) const
 
int getGroups (UT_ValArray< OP_Group * > &list, int internal=0)
 
int getMemberships (const OP_Node *node, UT_ValArray< OP_Group * > &list, int internal=0)
 
char * findUniqueNetworkBoxName (const char *base=NULL)
 
char * findUniquePostItNoteName (const char *base=NULL)
 
char * findUniqueDotName (const char *base=NULL)
 
OP_NetworkBoxcreateNetworkBox (const char *name, OP_NetworkBoxItemList *items=NULL)
 
int getNnetworkBoxes () const
 
OP_NetworkBoxfindNetworkBox (const char *const_path) override
 
OP_NetworkBoxgetNetworkBox (int index) const
 
OP_NetworkBoxgetNetworkBox (const char *name) const
 
OP_PostItcreatePostItNote (const char *name)
 Pass in NULL as the name if you'd like a default name. More...
 
int getNpostItNotes () const
 
OP_PostItfindPostItNote (const char *const_path) override
 
OP_PostItgetPostItNote (int index) const
 
OP_PostItgetPostItNote (const char *name) const
 
OP_DotListgetDotList ()
 
int getNdots () const
 
OP_DotfindDot (const char *const_path) override
 
OP_DotgetDot (int index) const
 
OP_DotgetDot (const char *name) const
 
unsigned int nPicked (OP_ItemTypeMask item_type_mask, bool include_hidden_nodes) const
 
void getPickedItems (OP_ItemTypeMask item_type_mask, OP_NetworkBoxItemList &picked, bool include_hidden=false, bool recurse_picked_netboxes=false) const
 
void getAllItems (OP_ItemTypeMask item_type_mask, OP_NetworkBoxItemList &items) const
 Return all items that match the type mask. More...
 
bool destroyItem (OP_NetworkBoxItem *item)
 Returns true if the item was successfully deleted. More...
 
int destroyItems (const OP_NetworkBoxItemList &items)
 Returns the number of successfully deleted items. More...
 
OP_NetworkBoxItemfindItem (const char *const_path, OP_ItemTypeMask item_type=OP_ITEMTYPE_ALL) override
 
OP_NetworkBoxItemgetItem (const char *name, OP_ItemTypeMask item_type=OP_ITEMTYPE_ALL)
 
bool isSubNode (const OP_Node *node) const
 
void clearSelection (OP_TileType t, int grouplist)
 
void setAllPickFlags (OP_ItemTypeMask item_type, int value)
 
void pickRequest (OP_NetworkBoxItem *item, int shift)
 
void pickRequest (int shift)
 
void addPicked (const OP_Group *group)
 
void subPicked (const OP_Group *group)
 
OP_OperatorTablegetOperatorTable () const
 
virtual const char * getScriptDirectory ()
 
void clearUndoFlags () override
 
bool wantsParentInputs () const
 
int getNparentInputs () const
 
OP_SubnetIndirectInputfindParentInput (const char *const_path) override
 
OP_SubnetIndirectInputgetParentInput (int index) const
 
OP_SubnetIndirectInputgetParentInput (const char *name) const
 
int getIndirectString (OP_IndirectInput *, UT_String &)
 
OP_IndirectInputresolveIndirectString (const char *)
 
void getAllConnectedChildren (int input_index, UT_Array< OP_Node * > &nodes, bool expandSubnets=true) const
 
void getAllConnectedChildrenNamed (const OP_ConnectorId &input_name, UT_Array< OP_Node * > &nodes, bool expandSubnets=true) const
 
virtual void setViewSetting (const char *)
 
virtual const char * getViewSetting () const
 
void dumpDependencies (std::ostream &os) override
 
void changeParmTemplate (PRM_Template *new_template) override
 
int getNumChildManagers (OP_OpTypeId type) const
 
void addChildManager (OP_OpTypeId type)
 
void removeChildManager (OP_OpTypeId type)
 
bool getSaveWithVopnets () override
 
void runDelScript () override
 
void clearDelScripts (int pickedOnly)
 
void unscopeChannels (bool recurse) override
 
void undisplayChannels (bool recurse) override
 
void unpinChannels (bool recurse) override
 
void globNetworkBoxes (const char *pat, UT_String *expand, UT_ValArray< OP_NetworkBox * > *list=0, OP_GlobContext *context=0, const char *prefix=" ") override
 
void globPostIts (const char *pat, UT_String *expand, UT_ValArray< OP_PostIt * > *list=0, OP_GlobContext *context=0, const char *prefix=" ") override
 
int getRepresentativeNodeId (OP_Node *changed_child, int current_rep_id)
 
bool changeChildNodeType (OP_Node *child, const char *newtype, bool keepname, bool keepparms, bool keepcontents, bool quiet, int *newChildId=NULL)
 
bool getIsSubNodeEditable (const OP_Node *subnode) const
 
bool hasAnyEditableSubNodes () const
 
const UT_SortedSet< int > & getEditableSubNodes () const
 
bool getMessageSubNodes (OP_NodeList &list) const
 
void getActiveOperatorsDefinedByOTL (UT_Set< OP_Operator * > &active_operators) const override
 
OP_SubnetIndirectInputgetNamedParentInput (const OP_ConnectorId &name) const
 
bool getIsClearingContentsOfEditableSubnodes ()
 
void setCachedMimeFile (const char *filename)
 
const char * getCachedMimeFile () const
 
void clearCachedMimeFile ()
 
bool hasCachedMimeFile () const
 
OP_ERROR getErrorSeverity () override
 
void getRawErrors (UT_Array< UT_Error > &errors, bool update) override
 
- Public Member Functions inherited from OP_Node
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...
 
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)
 
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
 
OP_ERROR getChildErrorSeverity ()
 
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 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)
 
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)
 
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
 
SOP_NodegetSOPNode (const char *path, int addextra=0, bool *got_by_flag=nullptr) const
 
COP_Node * getCOPNode (const char *path, int addextra=0) 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
 
int getAllChannels (CH_ChannelList &list, int scoped=0)
 
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
 
void bumpVersionParm ()
 
int cookParmsModified () const
 
virtual int getDataClass () const
 
virtual void getXformOrder (UT_XformOrder &xord, const CH_Channel *chp) const
 
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 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)
 
int getNetworkLock (bool relaxedlockcheck=false, const OP_Node *inputNode=nullptr) const
 
bool setUnload (bool on_off)
 
bool getUnload () const
 
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 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
 
virtual bool buildDefaultCopContext (OP_Context &context, DEP_MicroNode *depnode=nullptr)
 
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)
 
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)
 
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 bool fillInfoTreeChildSpecific (UT_InfoTree &tree, const OP_NodeInfoTreeParms &parms, OP_Node *child)
 
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)
 
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)
 
fpreal getLastCookTime () const
 
void getLastCookTime (UT_String &last_cook_time) const
 Return the last cook time as a formatted string. More...
 
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 UT_RampgetRamp ()
 
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 ensureInputsAndOutputsAreValid ()
 
void connectToInputNode (OP_Node &inputnode, int input_idx, int branch_off=0)
 
virtual int editCallback (CL_Track *track, fpreal t, fpreal newValue)
 
virtual void setMapping (int idx, int type, const char *label=0)
 
virtual int getMapping (int idx, const char *&label) const
 
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
 
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 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 getExtraInputMemoryUsage () const
 
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 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...
 
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)
 
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)
 
const UT_StringHoldergetOriginalOperatorName () const
 
void setOriginalOperatorName (const UT_StringHolder &optype)
 
void getOriginalOperatorTableAndName (UT_WorkBuffer &name) const
 
void getOriginalOperatorTableAndName (UT_String &name) 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
 
COP_Node * findCOPNode (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
 
COP_Node * castToCOPNode () 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...
 
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)
 
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
 
- 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 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 evalStringRaw (UT_StringHolder &val, int pi, int vi, fpreal t) const
 
void evalStringRawT (UT_String &val, int pi, int vi, fpreal t, int thread) const
 
void evalStringRawT (UT_StringHolder &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 evalStringRaw (UT_StringHolder &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 evalStringRawT (UT_StringHolder &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 evalStringRaw (UT_StringHolder &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 evalStringRawT (UT_StringHolder &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 evalStringRaw (UT_StringHolder &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
 
void evalStringRawT (UT_StringHolder &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)
 
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)
 
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
 
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 evalStringInstRaw (const UT_StringRef &name, const int *inst, UT_StringHolder &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
 
void evalStringInstRawT (const UT_StringRef &name, const int *inst, UT_StringHolder &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 void setCaptureOverrideFlag (bool flag)
 
static bool getCaptureOverrideFlag ()
 
static int addCustomVariableCallback (const char *attr, const char *varname, void *data)
 
static void buildGroupsFromSop (SOP_Node *src_sop, const PRM_Parm *parm, const PRM_SpareData *spare, unsigned type, int start, PRM_Name *menuEntries, int thelistsize, bool include_name_attrib=true)
 
static int buildEdgeGroupsFromSop (SOP_Node *src_sop, const PRM_Parm *parm, const PRM_SpareData *spare, bool addprim, int start, PRM_Name *menuEntries, int thelistsize)
 
static int buildBreakpointGroupsFromSop (SOP_Node *src_sop, const PRM_Parm *parm, const PRM_SpareData *spare, bool addprim, int start, PRM_Name *menuEntries, int thelistsize)
 
static void buildOperatorTable (OP_OperatorTable &table)
 
static void initializeExpressions ()
 
static bool forceValidGroupName (UT_String &name, UT_ErrorManager *error, UT_ErrorSeverity severity)
 
static PRM_SpareDatasparedataFirstInput ()
 
static PRM_SpareDatasparedataSecondInput ()
 
static PRM_SpareDatasparedataThirdInput ()
 
static PRM_SpareDatasparedataFourthInput ()
 
static PRM_SpareDatasparedataSecondElseFirstInput ()
 
static PRM_SpareDatagetGroupSelectButton (GA_GroupType group_type, const char *group_type_parm=NULL, int input_index=0, PRM_SpareData *merge_spare_data=NULL, const char *assoc_groups=NULL, GroupSelectAsOrdered ordered=GroupSelectAsOrdered::AUTO, const char *use_name_attr=nullptr, const char *select_script=nullptr)
 
static PRM_SpareDatagetGroupSelectButton (GA_GroupMaskType group_mask, const char *group_type_parm=NULL, int input_index=0, PRM_SpareData *merge_spare_data=NULL, const char *assoc_groups=NULL, GroupSelectAsOrdered ordered=GroupSelectAsOrdered::AUTO, const char *use_name_attr=nullptr, const char *select_script=nullptr)
 
static void removeMenuDuplicates (PRM_Name *menuEntries, int size)
 utility method for pruning the duplicate entries in a sorted menu More...
 
static void getVectorAttribs (GU_Detail *gdp, const char *attrib_names, UT_Array< GA_Attribute * > &vertex_attribs, UT_Array< GA_Attribute * > &point_attribs, UT_Array< GA_Attribute * > &prim_attribs)
 
static void getVectorAttribs (const GA_AttributeDict &dict, const char *attrib_string, UT_Array< GA_Attribute * > &attribs, UT_String &bad_attribs)
 parses the vector attrib parameter and fills attribs array More...
 
static int invokeForEachGroupMatchingMask (const GU_Detail *gdp, const char *pattern, GA_GroupType grpType, const UT_Function< void(const GA_Group *)> &operation, bool maintainorder)
 
static void invokeForSubdivisionOfPrimitiveGroup (const UT_Function< void(const GA_Group *)> &operation, const GA_PrimitiveGroup *group, int optype, int opstep, const char *oplabel, const GU_Detail *gdp)
 
static void compactIndexPair (GA_Attribute *attrib)
 
static GU_DetailprepNewDetail (GU_Detail *gdp)
 
static void markDetailDirty (GU_Detail *dirtygdp, bool bumpalldataid)
 
static GA_GroupType getGAGroupType (PRM_GroupType prmgrouptype, GA_GroupType guess=GA_GROUP_INVALID)
 
static GA_GroupType getGAGroupType (PRM_UVGroupType prmuvgrouptype, GA_GroupType guess=GA_GROUP_INVALID)
 
static GA_GroupType getGAGroupType (GU_SelectionType guseltype)
 
static GA_GroupType getGAGroupType (GA_AttributeOwner owner)
 
static GA_GroupType getGAGroupType (const char *possiblename, GA_GroupType guess=GA_GROUP_INVALID)
 
static PRM_GroupType getPRMGroupType (GA_GroupType gagrouptype)
 
static PRM_UVGroupType getPRMUVGroupType (GA_GroupType gagrouptype)
 
static GU_SelectionType getGUSelType (GA_GroupType gagrouptype, GU_SelectionType guess=GU_SPrimitive)
 
static GA_AttributeOwner getGroupAttribOwner (GA_GroupType gagrouptype, GA_AttributeOwner guess=GA_ATTRIB_INVALID)
 
static const char * getGroupTypeName (GA_GroupType gagrouptype, const char *guess="guess")
 
- Static Public Member Functions inherited from OP_Network
static const char * getScriptFromTable (const char *table)
 
static const char * getOpTypeFromTable (const char *table)
 
static bool canDestroyNode (OP_Node *node)
 Returns true if it is safe at this time to destroy this node. More...
 
static void fixName (const char *name, const OP_FixNameParms &fix_name_parms, UT_String &fixed_name)
 
static bool isOpWritten (UT_IStream &is)
 
static OP_OperatorTablegetOperatorTable (const UT_StringRef &op_type, const char *script_path=0)
 
static void saveOTLBackupInformation (std::ostream &os, const OP_OperatorList &fallbackops, const OP_OperatorList &dummyops)
 
static void saveFallbacksPathsFor (std::ostream &os, UT_Set< OP_Operator * > otloptable)
 
static bool warnDeprecatedOpsOnLoad ()
 
static void setWarnDeprecatedOpsOnLoad (bool enable)
 
static int syncContentsLevel ()
 
- Static Public Member Functions inherited from OP_Node
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_SpareData theFirstInput
 
static PRM_SpareData theSecondInput
 
static PRM_SpareData theThirdInput
 
static PRM_SpareData theFourthInput
 
static PRM_SpareData theSecondElseFirstInput
 
static PRM_ChoiceList allGroupMenu
 
static PRM_ChoiceList groupMenu
 
static PRM_ChoiceList primGroupMenu
 
static PRM_ChoiceList pointGroupMenu
 
static PRM_ChoiceList edgeGroupMenu
 
static PRM_ChoiceList edgePointGroupMenu
 
static PRM_ChoiceList breakpointGroupMenu
 
static PRM_ChoiceList primNamedGroupMenu
 
static PRM_ChoiceList pointNamedGroupMenu
 
static PRM_ChoiceList edgeNamedGroupMenu
 
static PRM_ChoiceList vertexNamedGroupMenu
 
static PRM_ChoiceList allGroupReplaceMenu
 
static PRM_ChoiceList groupReplaceMenu
 
static PRM_ChoiceList primGroupReplaceMenu
 
static PRM_ChoiceList pointGroupReplaceMenu
 
static PRM_ChoiceList edgeGroupReplaceMenu
 
static PRM_ChoiceList edgePointGroupReplaceMenu
 
static PRM_ChoiceList breakpointGroupReplaceMenu
 
static PRM_ChoiceList primNamedGroupReplaceMenu
 
static PRM_ChoiceList pointNamedGroupReplaceMenu
 
static PRM_ChoiceList edgeNamedGroupReplaceMenu
 
static PRM_ChoiceList vertexNamedGroupReplaceMenu
 
static PRM_ChoiceList groupNameMenu
 
static PRM_ChoiceList namedPrimsMenu
 
static PRM_ChoiceList namedPrimsGlobMenu
 
static PRM_ChoiceList namedVolumesMenu
 
static PRM_ChoiceList namedVolumesGlobMenu
 
static PRM_ChoiceList allAttribMenu
 
static PRM_ChoiceList detailAttribMenu
 
static PRM_ChoiceList primAttribMenu
 
static PRM_ChoiceList pointAttribMenu
 
static PRM_ChoiceList vertexAttribMenu
 
static PRM_ChoiceList allAttribReplaceMenu
 
static PRM_ChoiceList detailAttribReplaceMenu
 
static PRM_ChoiceList primAttribReplaceMenu
 
static PRM_ChoiceList pointAttribReplaceMenu
 
static PRM_ChoiceList vertexAttribReplaceMenu
 
static PRM_ChoiceList allTextureCoordMenu
 
static PRM_ChoiceList vertexTextureCoordMenu
 
- Static Public Attributes inherited from OP_Node
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 Types

typedef void(SOP_Node::* GroupOperation )(const GA_Group *, void *)
 

Protected Member Functions

 SOP_Node (OP_Network *parent, const char *name, OP_Operator *entry)
 
 ~SOP_Node () override
 
void setUniqueId (int id) override
 
void clearUniqueId () override
 
int removeAdhocGroup (const GA_Group *group)
 
void removeAdhocGroups ()
 
OP_ERROR cookMe (OP_Context &context) override
 
OP_ERROR bypassMe (OP_Context &context, int &copied_input) override
 
virtual OP_ERROR cookMySop (OP_Context &context)=0
 
OP_ERROR cookMyselfAsVerb (OP_Context &context)
 
virtual GU_DetailHandle cookMySopOutput (OP_Context &context, int outputidx, SOP_Node *interests)
 
virtual OP_ERROR cookMyGuide1 (OP_Context &context)
 
virtual OP_ERROR cookMyGuide2 (OP_Context &context)
 
virtual GU_DetailHandle cookMyGuide (int guide_idx, OP_Context &context)
 
OP_ERROR pubCookInputGroups (OP_Context &context, int alone=0) override
 
void notifyGroupParmListeners (int parm_index, int group_type_index, const GU_Detail *pgdp, const GA_Group *group)
 
OP_ERROR cookInputPrimitiveGroups (OP_Context &context, const GA_PrimitiveGroup *&group, bool alone=false, bool do_selection=true, int parm_index=0, int group_type_index=-1, bool allow_reference=true, bool ordered=false, bool detached=true, int input_index=0)
 
OP_ERROR cookInputPrimitiveGroups (OP_Context &context, const GA_PrimitiveGroup *&group, bool alone, bool do_selection, int parm_index, int group_type_index, bool allow_reference, bool ordered, const GroupCreator &creator)
 
virtual OP_ERROR cookInputPrimitiveGroups (OP_Context &context, const GA_PrimitiveGroup *&group, GU_DetailGroupPair &detail_group_pair, int alone=0, bool do_selection=true, int input_index=0, int parm_index=0, int group_type_index=-1, bool allow_reference=true, bool fetchgdp=true, GU_Detail *pgdp=NULL)
 
OP_ERROR cookInputPointGroups (OP_Context &context, const GA_PointGroup *&group, bool alone=false, bool do_selection=true, int parm_index=0, int group_type_index=-1, bool allow_reference=true, bool ordered=false, bool detached=true, int input_index=0)
 See cookInputPrimitiveGroups. More...
 
OP_ERROR cookInputPointGroups (OP_Context &context, const GA_PointGroup *&group, bool alone, bool do_selection, int parm_index, int group_type_index, bool allow_reference, bool ordered, const GroupCreator &creator)
 
virtual OP_ERROR cookInputPointGroups (OP_Context &context, const GA_PointGroup *&group, GU_DetailGroupPair &detail_group_pair, int alone=0, bool do_selection=true, int input_index=0, int parm_index=0, int group_type_index=-1, bool allow_reference=true, bool fetchgdp=true, GU_Detail *pgdp=NULL)
 
OP_ERROR cookInputEdgeGroups (OP_Context &context, const GA_EdgeGroup *&group, bool alone=false, bool do_selection=true, int parm_index=0, int group_type_index=-1, bool allow_reference=true, int input_index=0)
 See cookInputPrimitiveGroups. More...
 
OP_ERROR cookInputEdgeGroups (OP_Context &context, const GA_EdgeGroup *&group, bool alone, bool do_selection, int parm_index, int group_type_index, bool allow_reference, const GU_Detail *pgdp)
 
virtual OP_ERROR cookInputEdgeGroups (OP_Context &context, const GA_EdgeGroup *&group, GU_DetailGroupPair &detail_group_pair, int alone=0, bool do_selection=true, int input_index=0, int parm_index=0, int group_type_index=-1, bool allow_reference=false, bool fetchgdp=true, GU_Detail *pgdp=NULL)
 
OP_ERROR cookInputAllGroups (OP_Context &context, const GA_Group *&group, bool alone=false, bool do_selection=true, int parm_index=0, int group_type_index=-1, GA_GroupType grouptype=GA_GROUP_INVALID, bool allow_reference=true, bool is_default_prim=true, bool ordered=false, bool detached=true, int input_index=0)
 
OP_ERROR cookInputAllGroups (OP_Context &context, const GA_Group *&group, bool alone, bool do_selection, int parm_index, int group_type_index, GA_GroupType grouptype, bool allow_reference, bool is_default_prim, bool ordered, const GroupCreator &creator)
 
virtual OP_ERROR cookInputAllGroups (OP_Context &context, const GA_Group *&group, GU_DetailGroupPair &detail_group_pair, int alone=0, bool do_selection=true, int input_index=0, int parm_index=0, int group_type_index=-1, bool allow_reference=false, bool is_default_prim=true, bool fetchgdp=true, GU_Detail *pgdp=NULL)
 
const GA_GroupparseInputGroup (const UT_String &groupname, GA_GroupType grouptype, const GroupCreator &creator, bool allow_reference, bool is_default_prim, bool ordered=false)
 
const GA_GroupparseInputGroup (const UT_String &groupname, int grouptype, GU_Detail *gdp, bool allow_reference, bool is_default_prim)
 
void buildLocalVarNames (UT_StringArray &out_vars) override
 
void inputConnectChanged (int which_input) override
 
const GU_DetailinputGeo (int index, OP_Context &)
 
const GU_DetailinputGeo (int index) const
 
GU_DetailHandle inputGeoHandle (int index) const
 
void pickPrimitivesUsingPathAttribute (const GU_Detail &gdp, const GA_Range &srcrange, const char *stringparm, fpreal t, const char *path_attrib="path", bool use_packed_names=true)
 
void pickPrimitivesUsingPathAttribute (const char *stringparm, fpreal t, int input_number=0, const char *path_attrib="path", bool use_packed_names=true)
 
int parseGroups (const char *pattern, GU_Detail *gdp, const GA_PrimitiveGroup *&prim, const GA_PointGroup *&points, bool strict=false)
 WARNING: The groups returned are const and should not be modified. More...
 
int parseGroupsCopy (const char *pattern, GU_Detail *gdp, GA_PrimitiveGroup *&prim, GA_PointGroup *&points, GA_EdgeGroup *&edges, int unify, bool strict=false, GA_GroupType numeric_type=GA_GROUP_PRIMITIVE)
 
int acceptDragDrop (DD_Source &src, const char *l) override
 Drag-n-drop receiver functions. More...
 
int testDragDrop (DD_Source &src) override
 
void getDragDropChoice (DD_Source &src, DD_ChoiceList &choices) override
 
int forEachGroupMatchingMask (const char *pattern, GroupOperation operation, void *data, GA_GroupType grpType, const GEO_Detail *pgdp=nullptr, bool maintainorder=false)
 Perform an operation on each group matching the specified mask. More...
 
void subdividePrimitiveGroup (GroupOperation operation, const GA_PrimitiveGroup *group, void *data, int optype, int opstep, const char *oplabel, const GU_Detail *gdp=0)
 
void subdivideMixPrimitiveGroup (GroupOperation operation, const GA_PrimitiveGroup *group, void *data, int optype, int opstep, const char *oplabel, GU_Detail *gdp=0)
 
void subdividePointGroup (GroupOperation operation, const GA_PointGroup *group, void *data, int optype, int opstep, const char *oplabel, GU_Detail *gdp=0)
 
GA_PrimitiveGroupcreateAdhocPrimGroup (GU_Detail &geo, const char *p="adhoc")
 
GA_PointGroupcreateAdhocPointGroup (GU_Detail &geo, const char *p="adhoc")
 
GA_EdgeGroupcreateAdhocEdgeGroup (GU_Detail &geo, const char *p="adhoc")
 
GA_VertexGroupcreateAdhocVertexGroup (GU_Detail &geo, const char *p="adhoc")
 
GA_PrimitiveGroupcreateAdhocPrimGroup (const GEO_Detail &geo)
 
GA_PointGroupcreateAdhocPointGroup (const GEO_Detail &geo)
 
GA_EdgeGroupcreateAdhocEdgeGroup (const GEO_Detail &geo)
 
GA_VertexGroupcreateAdhocVertexGroup (const GEO_Detail &geo)
 
GA_BreakpointGroupcreateAdhocBreakpointGroup (const GEO_Detail &geo)
 
void clearInstance (int duplicate=0)
 
bool hasInstances ()
 True if another SOP has an instance of our geometry. More...
 
int countInstances ()
 Counts the number SOPs that are descended instances of our geometry. More...
 
void clearAllInstances ()
 Clears SOPs with descended instances of our geometry. More...
 
virtual bool shouldResetGeoToEmpty () const
 
OP_ERROR duplicateSource (unsigned index, OP_Context &context, GU_Detail *gdp, bool clean=true)
 
OP_ERROR duplicateSource (unsigned index, OP_Context &context)
 
OP_ERROR duplicatePointSource (unsigned index, OP_Context &ctx, GU_Detail *gdp, bool clean=true, bool wattrib=true, bool *fully=0)
 
OP_ERROR duplicatePointSource (unsigned index, OP_Context &ctx)
 
bool copyPointPosFromSource (unsigned input_i, OP_Context &ctx)
 
OP_ERROR duplicateChangedSource (unsigned idx, OP_Context &ctx, int *changed=0, bool force=false)
 Only duplicates the source if the source has changed since the last call to this method. More...
 
OP_ERROR duplicateSourceGroup (const GU_Detail *src_gdp, const GA_PrimitiveGroup *primgroup, GU_Detail *dest_gdp=0)
 Only duplicates primitives in primgroup from src_gdp to dest_gdp. More...
 
void resetChangedSourceFlags ()
 
void resetChangedSourceFlags (int which_input)
 
OP_ERROR checkChangedSourceFlags (unsigned idx, OP_Context &ctx, int *changed)
 Checks if a duplication will occur on the next call to duplicateChangedSource(). More...
 
bool useInputSource (unsigned idx, bool &changed, bool force)
 Mark the given input as used for cooking by this node. More...
 
void deleteCookedData () override
 
int deleteNodeData (void *) override
 
void convertPivotAboutGroupCentroid (PRM_Parm &grppivot_parm, int pivot_parm_idx, const UT_Vector3 *centroid=0)
 Methods for dealing with group centroid. More...
 
void convertPivotAboutGroupCentroid (PRM_Parm &grppivot_parm, const char *pivot_parm_name, const UT_Vector3 *centroid=0)
 
virtual bool getGroupCentroid (OP_Context &, UT_Vector3 &)
 
OP_ERROR save (std::ostream &os, const OP_SaveFlags &flags, const char *pathPrefix, const UT_String &name_override=UT_String()) override
 
bool load (UT_IStream &is, const char *extension, const char *path=0) override
 
void refreshGdp ()
 
- Protected Member Functions inherited from OP_Network
 OP_Network (OP_Network *parent, const char *name, OP_Operator *op)
 
 ~OP_Network () override
 
void clearAndDestroyNodes ()
 
int propagateModification (OP_Node *by_whom, OP_EventType reason, int parm_index, OP_PropagateData &prop_data) override
 
void buildOpDependencies () override
 
void notifyRenameDependents (const UT_String &full_from, OP_NodeList &cook_nodes) override
 
void notifyRenameReferences (const UT_String &full_from, OP_NodeList &cook_nodes) override
 
void rebuildOpDependents (bool proxy_only) override
 
void cloneFromProxyRefNode (OP_Network *proxy) override
 
OP_NetworkcloneToProxyRefNode () override
 
int hasProxyRefNodes () const override
 
void removeProxyRefNode (OP_Network *proxy)
 
void moveProxyRefNodes (OP_Network *dest) override
 
void moveDependencies (OP_Node *from_node) override
 
virtual void beginLoadingInNetwork ()
 Called upon entering and exiting loadNetwork() method. More...
 
virtual void endLoadingInNetwork ()
 
virtual void finishedLoadingChildOrder ()
 
virtual void finishedLoadingNetwork (bool is_child_call=false)
 
bool syncContents (UT_IStream &is) override
 
virtual void addNode (OP_Node *node, int notify=1, int explicitly=1)
 
OP_NodefindConnectedNode (OP_Node *op) const
 
OP_NodegetPreferredDisplayNodePtr (OP_Node *skipthisnode) const
 
void resetDisplayNodePtr (OP_Node *skipthisnode=0)
 
OP_NodegetPreferredRenderNodePtr (OP_Node *skipthisnode) const
 
void resetRenderNodePtr (OP_Node *skipthisnode=0)
 
OP_NodegetPreferredAudioNodePtr (OP_Node *skipthisnode) const
 
void resetAudioNodePtr (OP_Node *skipthisnode=0)
 
virtual CHOP_Node ** getAudioNodeRef ()
 
void validateStatusNodePtrs (const OP_NodeList &skipnodes)
 
virtual void updateExtraFlagPtrs ()
 
void nodeUnlocked () override
 
bool canDestroyNode () override
 Return true if it is safe at this time to destroy this node. More...
 
virtual void destroySingleNode (OP_Node *node)
 
void modifyAllChildNodeNames (bool renamepickableobjects, const char *prefix, int &id, std::set< int > *renaming_exclude_ids=NULL)
 
void traverseScope (const char *pattern, OP_ScopeOp scope_op, const OP_ScopeOptions &scope_opts) override
 
virtual void getAdditionalUndoNodes (const OP_NodeList &orig_list, OP_NodeList &nodes_for_input_undo)
 
virtual bool getAllowSavingChild (OP_Node *node, const OP_SaveFlags &flags)
 Returns true if the child at node can should be saved, false otherwise. More...
 
- Protected Member Functions inherited from OP_Node
 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...
 
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)
 
void clearInterruptedImpl (bool allow_recook)
 
virtual void doOverridePreCook ()
 
virtual void doOverridePostCook ()
 
int getSourceCount () const
 
virtual int bumpSourceCount (int d)
 
virtual OP_ERROR cookInputGroups (OP_Context &context, int alone=0)
 
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)
 
bool loadParentUneditable (UT_IStream &is, const char *ext="", const char *path=0)
 
virtual void loadStart ()
 
virtual void loadFinished ()
 
void loadContentsSection ()
 
void setMatchesOTLDefinition (int matches)
 Sets the flag idicating if the node is synced (matched) to the HDA. More...
 
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)
 
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)
 
void stealDependents (OP_Node *other)
 
bool hasOpDependents ()
 
void clearOpReferences ()
 
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)
 
void notifyRenameDependents (const UT_String &full_from)
 
void notifyRenameReferences (const UT_String &full_from)
 
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
 
void changeOpDependentUniqueId (int old_id, int new_id)
 
void changeOpReferenceUniqueId (int old_id, int new_id)
 
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 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 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 GA_Range getPickedRangeUsingPathAttribute (const GU_Detail &gdp, const GA_Range &srcrange, const char *pickedstring, const char *path_attrib="path", bool use_packed_names=true)
 
- Static Protected Member Functions inherited from OP_Node
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

GU_DetailHandle myGdpHandle
 
GU_Detailgdp
 
SOP_GuidemyGuide1
 
SOP_GuidemyGuide2
 
SOP_NodeFlags mySopFlags
 
UT_SymbolMap< sopVarInfo * > myLocalVarTable
 Local variable items: More...
 
UT_ValArray< sopVarInfo * > myLocalVarArray
 
int myLocalVarOrder
 
bool myUsesSOPLocalVar
 
GA_Offset myCurVtxOff [2]
 
int myCurVtxNum [2]
 
GA_Offset myCurPtOff [2]
 
GA_Offset myCurPrimOff [2]
 
int myCurBuiltPtBox [2]
 
UT_BoundingBox myCurPtBox [2]
 
int myCurBuiltPrimBox [2]
 
UT_BoundingBox myCurPrimBox [2]
 
int myCurGdpVal
 
int myLocalVarOrderCache
 Cached values so we can tell if we have to rebuild. More...
 
int myCurrentLayerCache
 
UT_Array< sop_attribRefmyAttribCache [2][4]
 
UT_String myVarMapCache [2]
 
int myAttribCacheOffsetGdpId [2]
 
int myAttribCacheOffsetMetaCacheCount [2]
 
unsigned int myAttribCacheTotalDictSize [2]
 
UT_StringMap
< sop_AttributeEvaluator * > 
myAttributeEvaluatorCache
 Stores the @ cache lookups generated JIT. More...
 
SOP_NodeCachemyNodeVerbCache
 
SOP_NodeParmsmyNodeVerbParms
 
- Protected Attributes inherited from OP_Network
OP_NodemyRenderNodePtr
 
OP_NodemyDisplayNodePtr
 
UT_ValArray< OP_Node * > myOutputNodes
 
- Protected Attributes inherited from OP_Node
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 SOP_UndoModel
 
class SOP_CacheManager
 
class SOP_CacheData
 
class sop_AttributeEvaluator
 
class SOP_NodeVerb
 
class SOP_NodeParms
 
class sop_NodeInputs
 

Detailed Description

Member Typedef Documentation

Typedef to help make use of GroupCreator less verbose.

Definition at line 567 of file SOP_Node.h.

typedef void(SOP_Node::* SOP_Node::GroupOperation)(const GA_Group *, void *)
protected

Definition at line 1392 of file SOP_Node.h.

Member Enumeration Documentation

Returns spare data that adds a "group select" button which runs a python script to invoke soputils.selectGroupParm. The group_type should be used if only one group type is supported by the group parm. The group_type_parm value should be used (with group_type set to GA_GROUP_INVALID) if there is a separate menu parameter to specify the group type. The input_index indicates which input of the SOP the group refers to. The merge_spare_data can contain any other PRM_SpareData that you want on the parameter (the most common being "&SOP_Node::theSecondInput" to control the input used by the SOP_Node::primGroupMenu, SOP_Node::pointGroupMenu, or other SOP_Node standard parameter group menus. If the SOP requires or supports multi-stage selection, then it's possible to show previous selections during this picking sessions to assist the user. To do this, a comma-separated list of group types / group parm names can be given with assoc_groups (e.g. "point my_point_group_parm, edge my_edge_group_parm"). If use_name_attr is given, the numbered group will be converted to "@name=group" format. If select_script is given, it will replace the soputils.selectGroupParm(kwargs) line.

Enumerator
AUTO 

AUTO: Use any bound selectors to determine whether the selection should be ordered or not.

FORCE_UNORDERED 

FORCE_UNORDERED: Force an unordered selection.

FORCE_ORDERED 

FORCE_ORDERED: Force an ordered selection.

Definition at line 1255 of file SOP_Node.h.

enum SOP_Node::GuideType
strong
Enumerator
VIEWPORT 
STATE 

Definition at line 511 of file SOP_Node.h.

Constructor & Destructor Documentation

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

Member Function Documentation

int SOP_Node::acceptDragDrop ( DD_Source src,
const char *  l 
)
overrideprotectedvirtual

Drag-n-drop receiver functions.

Reimplemented from OP_Node.

void SOP_Node::addCommonError ( UT_CommonErrorCode  what,
const char *  msg = 0 
)
inline
Examples:
SOP/SOP_CopRaster.C.

Definition at line 1175 of file SOP_Node.h.

void SOP_Node::addCommonWarning ( UT_CommonErrorCode  what,
const char *  msg = 0 
)
inline

Definition at line 1178 of file SOP_Node.h.

void SOP_Node::addCustomVariable ( const char *  attr,
const char *  varname 
)
static int SOP_Node::addCustomVariableCallback ( const char *  attr,
const char *  varname,
void data 
)
static
void SOP_Node::addError ( int  code,
const char *  msg = 0 
)
inline
void SOP_Node::addFatal ( SOP_ErrorCodes  code,
const char *  msg = 0 
)
inline

Definition at line 1170 of file SOP_Node.h.

void SOP_Node::addGenericVariable ( const char *  varname,
GEO_Standard_Attributes  attr,
const AttribTupleIndexArg tuple_idx,
GA_StorageClass  storage = GA_STORECLASS_REAL,
GA_Defaults const &  defaults = GA_Defaults(0.0f) 
)
void SOP_Node::addGenericVariable ( const char *  varname,
const char *  attribname,
const AttribTupleIndexArg tuple_idx,
GA_StorageClass  storage = GA_STORECLASS_REAL,
GA_Defaults const &  defaults = GA_Defaults(0.0f) 
)
void SOP_Node::addGenericVariable ( const char *  varname,
int  varidx,
SOP_LocalVarFunc  callback,
GA_Defaults const &  defaults = GA_Defaults(0.0f) 
)
void SOP_Node::addGenericVariable ( const GU_Detail gdp,
int  gdpidx,
const char *  varname,
const char *  attribname,
const AttribTupleIndexArg tuple_idx,
GA_StorageClass  storage = GA_STORECLASS_REAL,
GA_Defaults const &  defaults = GA_Defaults(0.0f) 
)
void SOP_Node::addGenericVariable ( int  gpdidx,
const char *  varname,
int  varidx,
SOP_LocalVarFunc  callback,
GA_Defaults const &  defaults = GA_Defaults(0.0f) 
)
void SOP_Node::addInstanceReference ( SOP_Node node)
void SOP_Node::addMessage ( SOP_ErrorCodes  code,
const char *  msg = 0 
)
inline

Definition at line 1164 of file SOP_Node.h.

bool SOP_Node::addOrMoveVisualizerToOutput ( int  outputidx)
overridevirtual

Moves visualizer into our output list.

Reimplemented from OP_Node.

void SOP_Node::addSpecificVariable ( const GU_Detail gdp,
int  gdpidx,
const char *  varname,
const char *  attribname,
const AttribTupleIndexArg tuple_idx,
GA_StorageClass  storage,
GA_AttributeOwner  dictionary,
GA_Defaults const &  defaults = GA_Defaults(0.0f) 
)
void SOP_Node::addSpecificVariable ( int  gpidx,
const char *  varname,
int  varidx,
GA_AttributeOwner  dictionary,
SOP_LocalVarFunc  callback,
GA_Defaults const &  defaults = GA_Defaults(0.0f) 
)
void SOP_Node::addSystemError ( const char *  msg = 0)
inline

Definition at line 1173 of file SOP_Node.h.

void SOP_Node::addWarning ( SOP_ErrorCodes  code,
const char *  msg = 0 
)
inline
Examples:
SOP/SOP_DualStar.C, SOP/SOP_HDKObject.C, and SOP/SOP_PrimVOP.C.

Definition at line 1167 of file SOP_Node.h.

static int SOP_Node::buildBreakpointGroupsFromSop ( SOP_Node src_sop,
const PRM_Parm parm,
const PRM_SpareData spare,
bool  addprim,
int  start,
PRM_Name menuEntries,
int  thelistsize 
)
static
static int SOP_Node::buildEdgeGroupsFromSop ( SOP_Node src_sop,
const PRM_Parm parm,
const PRM_SpareData spare,
bool  addprim,
int  start,
PRM_Name menuEntries,
int  thelistsize 
)
static
static void SOP_Node::buildGroupsFromSop ( SOP_Node src_sop,
const PRM_Parm parm,
const PRM_SpareData spare,
unsigned  type,
int  start,
PRM_Name menuEntries,
int  thelistsize,
bool  include_name_attrib = true 
)
static
int SOP_Node::buildInputBreakpointGroups ( int  sourcenum,
PRM_Name choicenames,
int  menusize,
bool  addprim,
int  start,
const PRM_Parm parm 
)
int SOP_Node::buildInputEdgeGroups ( int  sourcenum,
PRM_Name choicenames,
int  menusize,
bool  addprim,
int  start,
const PRM_Parm parm 
)
void SOP_Node::buildInputGroups ( int  thesourcenum,
PRM_Name thechoicenames,
int  themenusize,
unsigned  type,
int  start,
bool  includeselection,
const PRM_Parm parm 
)
void SOP_Node::buildLocalVarNames ( UT_StringArray out_vars)
overrideprotectedvirtual

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

Reimplemented from OP_Node.

void SOP_Node::buildNamedPrims ( int  thesourcenum,
PRM_Name thechoicenames,
int  themenusize,
const PRM_Parm parm,
bool  globvectors,
bool  numberedvolumes 
)
static void SOP_Node::buildOperatorTable ( OP_OperatorTable table)
static
OP_ERROR SOP_Node::bypassMe ( OP_Context context,
int copied_input 
)
overrideprotectedvirtual

Implements OP_Node.

void SOP_Node::cacheVarPrimBox ( int  gpdidx)
void SOP_Node::cacheVarPtBox ( int  gpdidx)
OP_ERROR SOP_Node::checkChangedSourceFlags ( unsigned  idx,
OP_Context ctx,
int changed 
)
protected

Checks if a duplication will occur on the next call to duplicateChangedSource().

Similar to useInputSource() except it doesn't affect the flags. It's used to simply query whether the given input has changed. Returns false if there's errors on the input. Upon return, changed is updated.

void SOP_Node::clearAllInstances ( )
protected

Clears SOPs with descended instances of our geometry.

void SOP_Node::clearCurGdh ( int  index)
void SOP_Node::clearCurPoint ( int  index)
void SOP_Node::clearCurPrim ( int  index)
void SOP_Node::clearCurVertex ( int  index)
void SOP_Node::clearCurVertexNum ( int  index)
void SOP_Node::clearInstance ( int  duplicate = 0)
protected

This is only called when the instance flag is set. The gdp will be modified shortly after this function is called. After the return, the gdp member data should contain an empty (or full) GU_Detail. Setting the duplicate flag will duplicate the current gdp in the new one. This used to require one to derive from it to clear references to myInstanceOp. This is now handled at this level.

void SOP_Node::clearInstanceReference ( SOP_Node node)
void SOP_Node::clearNodeSelectionSet ( )

Clears the override selection. Automatically updates the selection object on the detail.

void SOP_Node::clearSelection ( )
Examples:
SOP/SOP_CopRaster.C.
void SOP_Node::clearSelection ( GU_SelectionType  stype)
void SOP_Node::clearSelection ( GA_GroupType  gtype)

If the cook selection group is not of the given type, create an empty cook selection group of that type. Otherwise, clear the existing cook selection group.

void SOP_Node::clearUniqueId ( )
overrideprotectedvirtual

Reimplemented from OP_Node.

void SOP_Node::clearVerbCache ( )

Clears the node verb cache and parms.

static void SOP_Node::compactIndexPair ( GA_Attribute attrib)
static
void SOP_Node::convertPivotAboutGroupCentroid ( PRM_Parm grppivot_parm,
int  pivot_parm_idx,
const UT_Vector3 centroid = 0 
)
protected

Methods for dealing with group centroid.

void SOP_Node::convertPivotAboutGroupCentroid ( PRM_Parm grppivot_parm,
const char *  pivot_parm_name,
const UT_Vector3 centroid = 0 
)
protected
GU_DetailHandle SOP_Node::cookGuide ( int  guide_idx,
OP_Context context 
)
OP_ERROR SOP_Node::cookGuide1 ( OP_Context context)
OP_ERROR SOP_Node::cookGuide2 ( OP_Context context)
OP_ERROR SOP_Node::cookInputAllGroups ( OP_Context context,
const GA_Group *&  group,
bool  alone = false,
bool  do_selection = true,
int  parm_index = 0,
int  group_type_index = -1,
GA_GroupType  grouptype = GA_GROUP_INVALID,
bool  allow_reference = true,
bool  is_default_prim = true,
bool  ordered = false,
bool  detached = true,
int  input_index = 0 
)
protected

See cookInputPrimitiveGroups. Also, is_default_prim only affects cases when we're not able to guess the type of groups; in those cases, we try again with primitive groups if is_default_prim is true, and point groups otherwise.

OP_ERROR SOP_Node::cookInputAllGroups ( OP_Context context,
const GA_Group *&  group,
bool  alone,
bool  do_selection,
int  parm_index,
int  group_type_index,
GA_GroupType  grouptype,
bool  allow_reference,
bool  is_default_prim,
bool  ordered,
const GroupCreator creator 
)
protected
virtual OP_ERROR SOP_Node::cookInputAllGroups ( OP_Context context,
const GA_Group *&  group,
GU_DetailGroupPair detail_group_pair,
int  alone = 0,
bool  do_selection = true,
int  input_index = 0,
int  parm_index = 0,
int  group_type_index = -1,
bool  allow_reference = false,
bool  is_default_prim = true,
bool  fetchgdp = true,
GU_Detail pgdp = NULL 
)
protectedvirtual
OP_ERROR SOP_Node::cookInputEdgeGroups ( OP_Context context,
const GA_EdgeGroup *&  group,
bool  alone = false,
bool  do_selection = true,
int  parm_index = 0,
int  group_type_index = -1,
bool  allow_reference = true,
int  input_index = 0 
)
protected

See cookInputPrimitiveGroups.

OP_ERROR SOP_Node::cookInputEdgeGroups ( OP_Context context,
const GA_EdgeGroup *&  group,
bool  alone,
bool  do_selection,
int  parm_index,
int  group_type_index,
bool  allow_reference,
const GU_Detail pgdp 
)
protected
virtual OP_ERROR SOP_Node::cookInputEdgeGroups ( OP_Context context,
const GA_EdgeGroup *&  group,
GU_DetailGroupPair detail_group_pair,
int  alone = 0,
bool  do_selection = true,
int  input_index = 0,
int  parm_index = 0,
int  group_type_index = -1,
bool  allow_reference = false,
bool  fetchgdp = true,
GU_Detail pgdp = NULL 
)
protectedvirtual
OP_ERROR SOP_Node::cookInputPointGroups ( OP_Context context,
const GA_PointGroup *&  group,
bool  alone = false,
bool  do_selection = true,
int  parm_index = 0,
int  group_type_index = -1,
bool  allow_reference = true,
bool  ordered = false,
bool  detached = true,
int  input_index = 0 
)
protected

See cookInputPrimitiveGroups.

Examples:
SOP/SOP_CustomBrush.C, SOP/SOP_Flatten.C, SOP/SOP_PointWave.C, and SOP/SOP_TimeCompare.C.
OP_ERROR SOP_Node::cookInputPointGroups ( OP_Context context,
const GA_PointGroup *&  group,
bool  alone,
bool  do_selection,
int  parm_index,
int  group_type_index,
bool  allow_reference,
bool  ordered,
const GroupCreator creator 
)
protected
virtual OP_ERROR SOP_Node::cookInputPointGroups ( OP_Context context,
const GA_PointGroup *&  group,
GU_DetailGroupPair detail_group_pair,
int  alone = 0,
bool  do_selection = true,
int  input_index = 0,
int  parm_index = 0,
int  group_type_index = -1,
bool  allow_reference = true,
bool  fetchgdp = true,
GU_Detail pgdp = NULL 
)
protectedvirtual
OP_ERROR SOP_Node::cookInputPrimitiveGroups ( OP_Context context,
const GA_PrimitiveGroup *&  group,
bool  alone = false,
bool  do_selection = true,
int  parm_index = 0,
int  group_type_index = -1,
bool  allow_reference = true,
bool  ordered = false,
bool  detached = true,
int  input_index = 0 
)
protected

The cookInput.+Groups functions are helper functions that look at your Group Name and Group Type parameters (the offsets for which are passed in parm_index, for Group Name, and group_type_index, for group_type), evaluate them, and then call parse.+Group on that group name. For every method other than cookInputAllGroups, group_type_index is used only to determine whether the parm is dirty. The pointer group is set as a return value. If alone is true, we are cooking for a selector, and can't assume that our gdp is valid (because it might not have been constructed by now). If allow_reference is true, the group returned may not be modified. If fetchgdp is true and alone is true, these new groups will be created on the input_index-th input (because the gdp isn't constructed yet). If fetchgdp is true and alone is false, false, groups will be constructed on the current gdp. If fetchgdp is false, you must supply a gdp to create groups on in the paramerer pgdp.

OP_ERROR SOP_Node::cookInputPrimitiveGroups ( OP_Context context,
const GA_PrimitiveGroup *&  group,
bool  alone,
bool  do_selection,
int  parm_index,
int  group_type_index,
bool  allow_reference,
bool  ordered,
const GroupCreator creator 
)
protected
virtual OP_ERROR SOP_Node::cookInputPrimitiveGroups ( OP_Context context,
const GA_PrimitiveGroup *&  group,
GU_DetailGroupPair detail_group_pair,
int  alone = 0,
bool  do_selection = true,
int  input_index = 0,
int  parm_index = 0,
int  group_type_index = -1,
bool  allow_reference = true,
bool  fetchgdp = true,
GU_Detail pgdp = NULL 
)
protectedvirtual
OP_ERROR SOP_Node::cookMe ( OP_Context context)
overrideprotectedvirtual

Implements OP_Node.

virtual GU_DetailHandle SOP_Node::cookMyGuide ( int  guide_idx,
OP_Context context 
)
inlineprotectedvirtual

Reimplemented in SOP_Edit, SOP_UVFlatten3, and SOP_Watershed.

Definition at line 954 of file SOP_Node.h.

virtual OP_ERROR SOP_Node::cookMyGuide1 ( OP_Context context)
protectedvirtual
virtual OP_ERROR SOP_Node::cookMyGuide2 ( OP_Context context)
protectedvirtual

Reimplemented in SOP_Lattice.

OP_ERROR SOP_Node::cookMyselfAsVerb ( OP_Context context)
protected

This is meant to be called within cookMySop() if all you want to do is invoke the verb returned by cookVerb().

virtual OP_ERROR SOP_Node::cookMySop ( OP_Context context)
protectedpure virtual

Implemented in HDK_Sample::SOP_SweepHDK, SOP_Edit, HDK_Sample::SOP_CopyToPointsHDK, SOP_BrushBase, SOP_CaptureLayerPaint, SOP_BlockEndFor, SOP_CaptureRegion, SOP_Muscle, HDK_Sample::SOP_CopyPacked, HDK_Sample::SOP_OrientAlongCurve, SOP_UVTransform, SOP_Curve, SOP_UVEdit, SOP_CaptureOverride, HDK_Sample::SOP_SplitPointsHDK, HDK_Sample::SOP_HDKObject, HDK_Sample::SOP_PrimVOP, HDK_Sample::SOP_CustomBrush, SOP_UVPelt2, SOP_Stroke, SOP_UVFlatten, HDK_Sample::SOP_CustomVop, SOP_Capture, SOP_Cache, SOP_UVLayout, HDK_Sample::SOP_BouncyAgent, SOP_UVPelt, HDK_Sample::SOP_SParticle, HDK_Sample::SOP_WindingNumber, SOP_MDD, HDK_Sample::SOP_IKSample, HDK_Sample::SOP_Star, SOP_ForEach, HDK_Sample::SOP_Flatten, SOP_Lattice, HDK_Sample::SOP_BrushHairLen, SOP_UVFuse, HDK_Sample::SOP_PointWave, HDK_Sample::SOP_TimeCompare, SOP_AttribComp, SOP_UVFlatten3, HDK_Sample::SOP_DualStar, HDK_Sample::SOP_CopRaster, HDK_Sample::SOP_NURBS, HDK_Sample::SOP_Surface, HDK_Sample::SOP_Tetra, HDK_Sample::SOP_BlindData, HDK_Sample::SOP_CPPWave, HDK_Sample::SOP_GroupRename, SOP_BlendShapes2, SOP_PolyBridge, SOP_PolyExtrude2, SOP_UVFlatten2, HDK_Sample::SOP_VolumeProject, HDK_Sample::SOP_ArrayAttrib, HDK_Sample::SOP_DetailAttrib, SOP_UVLayout2, HDK_Sample::SOP_EuclidBase, SOP_BlendShapes, SOP_Watershed, SOP_BlockBeginFor, SOP_PolyKnit, SOP_PolySplit2, SOP_Triangulate2D2, SOP_Reverse, SOP_BlockBeginCompile, SOP_UVLayout3, SOP_Triangulate2D3, SOP_Visibility, SOP_BlockEndCompile, SOP_ShapeDiff, SOP_Circle, SOP_CopyToPoints2, SOP_HOM, SOP_PointCaptureCore, SOP_Each, SOP_CaptureAttribPack, and SOP_CaptureAttribUnpack.

virtual GU_DetailHandle SOP_Node::cookMySopOutput ( OP_Context context,
int  outputidx,
SOP_Node interests 
)
protectedvirtual

Reimplemented in HDK_Sample::SOP_DualStar.

GU_DetailHandle SOP_Node::cookOutput ( OP_Context context,
int  outputidx,
SOP_Node interests 
)
void SOP_Node::copyCookedSelectionToUserSelection ( OP_Context context = 0)

Copies the cooked selection generated by the SOP to the detail-external user selection. If context is NULL, then the last successful cook, if any, is used.

bool SOP_Node::copyPointPosFromSource ( unsigned  input_i,
OP_Context ctx 
)
protected

This copies all the point positions from the given input gdp into the current one.

Precondition
input_i has already been locked via lockInput
bool SOP_Node::copyTempSelections ( OP_Context context,
SOP_Node src 
)
int SOP_Node::countInstances ( )
protected

Counts the number SOPs that are descended instances of our geometry.

GA_BreakpointGroup* SOP_Node::createAdhocBreakpointGroup ( const GEO_Detail geo)
inlineprotected

Definition at line 1474 of file SOP_Node.h.

GA_EdgeGroup* SOP_Node::createAdhocEdgeGroup ( GU_Detail geo,
const char *  p = "adhoc" 
)
inlineprotected

Definition at line 1451 of file SOP_Node.h.

GA_EdgeGroup* SOP_Node::createAdhocEdgeGroup ( const GEO_Detail geo)
inlineprotected

Definition at line 1466 of file SOP_Node.h.

GA_PointGroup* SOP_Node::createAdhocPointGroup ( GU_Detail geo,
const char *  p = "adhoc" 
)
inlineprotected

Definition at line 1448 of file SOP_Node.h.

GA_PointGroup* SOP_Node::createAdhocPointGroup ( const GEO_Detail geo)
inlineprotected

Definition at line 1462 of file SOP_Node.h.

GA_PrimitiveGroup* SOP_Node::createAdhocPrimGroup ( GU_Detail geo,
const char *  p = "adhoc" 
)
inlineprotected

Create an adhoc (internal) group and add it to the list of adhoc groups. The group will be deleted for you after cooking.

Definition at line 1445 of file SOP_Node.h.

GA_PrimitiveGroup* SOP_Node::createAdhocPrimGroup ( const GEO_Detail geo)
inlineprotected

Definition at line 1457 of file SOP_Node.h.

GA_VertexGroup* SOP_Node::createAdhocVertexGroup ( GU_Detail geo,
const char *  p = "adhoc" 
)
inlineprotected

Definition at line 1454 of file SOP_Node.h.

GA_VertexGroup* SOP_Node::createAdhocVertexGroup ( const GEO_Detail geo)
inlineprotected

Definition at line 1470 of file SOP_Node.h.

UT_AttributeEvaluator* SOP_Node::createAttributeEvaluator ( const char *  name)
overridevirtual

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

Reimplemented from OP_Node.

const GU_DetailHandle& SOP_Node::curGdh ( int  index) const
inline

Definition at line 337 of file SOP_Node.h.

const GU_Detail* SOP_Node::curGdp ( int  index) const
inline

Definition at line 346 of file SOP_Node.h.

GA_Offset SOP_Node::curPoint ( int  index) const
inline

Definition at line 354 of file SOP_Node.h.

UT_BoundingBox SOP_Node::curPointBBox ( int  index)
inline

Definition at line 364 of file SOP_Node.h.

const GEO_Primitive* SOP_Node::curPrim ( int  index) const
inline

Definition at line 357 of file SOP_Node.h.

UT_BoundingBox SOP_Node::curPrimBBox ( int  index)
inline

Definition at line 372 of file SOP_Node.h.

GA_Offset SOP_Node::curPrimOff ( int  index) const
inline

Definition at line 360 of file SOP_Node.h.

GA_Offset SOP_Node::curVertex ( int  local_var_gdp_index) const
inline

Definition at line 349 of file SOP_Node.h.

int SOP_Node::curVertexNum ( int  index) const
inline

Definition at line 343 of file SOP_Node.h.

void SOP_Node::deleteCookedData ( )
overrideprotectedvirtual

Implements OP_Node.

int SOP_Node::deleteNodeData ( void )
overrideprotectedvirtual

Reimplemented from OP_Node.

int SOP_Node::destroyAdhocGroup ( const GA_Group group)
inline

Definition at line 702 of file SOP_Node.h.

void SOP_Node::destroyAdhocGroups ( )
inline

Definition at line 704 of file SOP_Node.h.

void SOP_Node::destroyAdhocGroups ( const GU_Detail g)
inline

Definition at line 706 of file SOP_Node.h.

bool SOP_Node::destroySelection ( )
OP_ERROR SOP_Node::duplicateChangedSource ( unsigned  idx,
OP_Context ctx,
int changed = 0,
bool  force = false 
)
protected

Only duplicates the source if the source has changed since the last call to this method.

Examples:
SOP/SOP_BouncyAgent.C, SOP/SOP_BrushHairLen.C, SOP/SOP_CustomBrush.C, and SOP/SOP_IKSample.C.
OP_ERROR SOP_Node::duplicatePointSource ( unsigned  index,
OP_Context ctx,
GU_Detail gdp,
bool  clean = true,
bool  wattrib = true,
bool *  fully = 0 
)
protected

Only duplicates the source if the source has changed. Otherwise, it copies the points from the source to our gdp. It's meant to be used by most deformer SOPs, which simply transform the points and or the primitives. If wattrib is true, we check if any transforming primitive or vertex attributes are present and if any point attribs exist, and copy those too.

NOTE: Do not use this if you are creating or destroying point attributes.

NOTE: While this takes a gdp to operate on, if it is not the SOP's own gdp, it will just do a duplicateSource.

Examples:
SOP/SOP_PointWave.C.
OP_ERROR SOP_Node::duplicatePointSource ( unsigned  index,
OP_Context ctx 
)
inlineprotected

Definition at line 1530 of file SOP_Node.h.

OP_ERROR SOP_Node::duplicateSource ( unsigned  index,
OP_Context context,
GU_Detail gdp,
bool  clean = true 
)
protected

The duplicate*Source methods take a context parameter but do not use it for anything. The specified input must already be locked. The context used to lock the input is the context used for duplication.

Examples:
SOP/SOP_ArrayAttrib.C, SOP/SOP_BlindData.C, SOP/SOP_BrushHairLen.C, SOP/SOP_CPPWave.C, SOP/SOP_DetailAttrib.C, SOP/SOP_DualStar.C, SOP/SOP_Flatten.C, SOP/SOP_GroupRename.C, SOP/SOP_PrimVOP.C, and SOP/SOP_TimeCompare.C.
OP_ERROR SOP_Node::duplicateSource ( unsigned  index,
OP_Context context 
)
inlineprotected

Definition at line 1509 of file SOP_Node.h.

OP_ERROR SOP_Node::duplicateSourceGroup ( const GU_Detail src_gdp,
const GA_PrimitiveGroup primgroup,
GU_Detail dest_gdp = 0 
)
protected

Only duplicates primitives in primgroup from src_gdp to dest_gdp.

bool SOP_Node::evaluateTransformTracks ( OP_Context context,
OP_EvaluateTransformTracksArgs args 
)
overridevirtual

Reimplemented from OP_Node.

bool SOP_Node::evaluateTransformTracksTargets ( OP_Context context,
OP_NodeList nodes,
OP_Node caller 
)
overridevirtual

Reimplemented from OP_Node.

bool SOP_Node::evalVariableValue ( fpreal val,
int  index,
int  thread 
)
overridevirtual

Reimplemented from OP_Parameters.

Reimplemented in SOP_UVTransform, and HDK_Sample::SOP_PrimVOP.

Examples:
SOP/SOP_PrimVOP.C, and SOP/SOP_PrimVOP.h.
bool SOP_Node::evalVariableValue ( UT_String value,
int  index,
int  thread 
)
overridevirtual

Reimplemented from OP_Parameters.

Reimplemented in SOP_UVTransform, and HDK_Sample::SOP_PrimVOP.

void SOP_Node::expandGroupMask ( const char *  pattern,
UT_String outNames,
GA_GroupType  type,
const GU_Detail pgdp 
)
void SOP_Node::expandGroupMask ( const char *  pattern,
UT_String outNames,
GA_GroupType  type 
)
inline

Definition at line 561 of file SOP_Node.h.

int SOP_Node::fillAttribNameMenu ( PRM_Name menu_entries,
int  max_menu_size,
GA_AttributeOwner  dictionary,
int  input_index,
bool(*)(const GA_Attribute *, void *)  approve = NULL,
void approve_data = NULL,
bool  decode_tokens = false 
)

Method to help fill in the menu entries representing attributes It will iterate though the attributes of the 'dictionary' supplied from the input 'input_index'. The 'approve' filter callback is applied (if present) and if it returns ture for an attribute, this attribute is appended to the 'menu_entries'. If not present, all attributes are appended. The number of entries appended does not exceed 'max_menu_size' (including the terminating sentinel). 'menu_entries' are sorted alphabetically and the function returns the number of entries appended (excluding the terminating sentinel). If decode_tokens is true, the tokens will contain the decoded name of any encoded attribute names (see UT_VarEncode::encodeAttrib). This can be used for parameters that support matching against decoded names rather than the actual attribute names.

void SOP_Node::fillInfoTreeForGeometry ( UT_InfoTree branch,
const OP_NodeInfoTreeParms parms 
)

Helper class that puts our geometry info into a branch.

void SOP_Node::fillInfoTreeNodeSpecific ( UT_InfoTree tree,
const OP_NodeInfoTreeParms parms 
)
overridevirtual

Fill in tree with this SOP's details.

Reimplemented from OP_Node.

bool SOP_Node::forceValidGroupName ( UT_String name,
UT_ErrorSeverity  severity 
)
static bool SOP_Node::forceValidGroupName ( UT_String name,
UT_ErrorManager error,
UT_ErrorSeverity  severity 
)
static
bool SOP_Node::forceValidGroupPrefix ( UT_String prefix,
UT_ErrorSeverity  severity 
)
int SOP_Node::forEachGroupMatchingMask ( const char *  pattern,
GroupOperation  operation,
void data,
GA_GroupType  grpType,
const GEO_Detail pgdp = nullptr,
bool  maintainorder = false 
)
protected

Perform an operation on each group matching the specified mask.

void SOP_Node::getAttributeEvaluatorNames ( UT_StringArray names)
overridevirtual

Reimplemented from OP_Node.

bool SOP_Node::getBoundingBox ( UT_BoundingBox box,
OP_Context ctx 
)
overridevirtual

Reimplemented from OP_Node.

static bool SOP_Node::getCaptureOverrideFlag ( )
inlinestatic

Definition at line 193 of file SOP_Node.h.

const char* SOP_Node::getChildType ( ) const
overridevirtual

Reimplemented from OP_Network.

Reimplemented in HDK_Sample::SOP_CustomVop, and HDK_Sample::SOP_PrimVOP.

OP_OpTypeId SOP_Node::getChildTypeID ( ) const
overridevirtual

Implements OP_Network.

Reimplemented in HDK_Sample::SOP_CustomVop, and HDK_Sample::SOP_PrimVOP.

void* SOP_Node::getCookedData ( const OP_Context ctx)
overridevirtual

Reimplemented from OP_Node.

OP_DataType SOP_Node::getCookedDataType ( ) const
overridevirtual

Implements OP_Node.

const GU_Detail* SOP_Node::getCookedGeo ( OP_Context ,
int  forced = 0 
)
GU_DetailHandle SOP_Node::getCookedGeoHandle ( OP_Context ,
int  forced = 0 
)
const SOP_Guide* SOP_Node::getCookedGuide1 ( ) const
const SOP_Guide* SOP_Node::getCookedGuide2 ( ) const
GU_DetailHandle SOP_Node::getCookedViewGeoHandle ( OP_Context ,
int  forced = 0,
SOP_Node **  target_sop = nullptr 
)
const GU_DetailHandle& SOP_Node::getCurGdh ( int  index)
void SOP_Node::getDragDropChoice ( DD_Source src,
DD_ChoiceList choices 
)
overrideprotectedvirtual

Reimplemented from OP_Node.

const SOP_NodeFlags& SOP_Node::getFlags ( ) const
inline

Definition at line 117 of file SOP_Node.h.

static GA_GroupType SOP_Node::getGAGroupType ( PRM_GroupType  prmgrouptype,
GA_GroupType  guess = GA_GROUP_INVALID 
)
static

Functions to convert between different group type representations. When no group type can be guessed, GA_GROUP_INVALID, PRM_GROUPTYPE_GUESS, PRM_UVGROUPTYPE_GUESS, or GA_ATTRIB_INVALID Will be returned.

static GA_GroupType SOP_Node::getGAGroupType ( PRM_UVGroupType  prmuvgrouptype,
GA_GroupType  guess = GA_GROUP_INVALID 
)
static

Functions to convert between different group type representations. When no group type can be guessed, GA_GROUP_INVALID, PRM_GROUPTYPE_GUESS, PRM_UVGROUPTYPE_GUESS, or GA_ATTRIB_INVALID Will be returned.

static GA_GroupType SOP_Node::getGAGroupType ( GU_SelectionType  guseltype)
static

Functions to convert between different group type representations. When no group type can be guessed, GA_GROUP_INVALID, PRM_GROUPTYPE_GUESS, PRM_UVGROUPTYPE_GUESS, or GA_ATTRIB_INVALID Will be returned.

static GA_GroupType SOP_Node::getGAGroupType ( GA_AttributeOwner  owner)
static

Functions to convert between different group type representations. When no group type can be guessed, GA_GROUP_INVALID, PRM_GROUPTYPE_GUESS, PRM_UVGROUPTYPE_GUESS, or GA_ATTRIB_INVALID Will be returned.

static GA_GroupType SOP_Node::getGAGroupType ( const char *  possiblename,
GA_GroupType  guess = GA_GROUP_INVALID 
)
static

Functions to convert between different group type representations. When no group type can be guessed, GA_GROUP_INVALID, PRM_GROUPTYPE_GUESS, PRM_UVGROUPTYPE_GUESS, or GA_ATTRIB_INVALID Will be returned.

static GA_AttributeOwner SOP_Node::getGroupAttribOwner ( GA_GroupType  gagrouptype,
GA_AttributeOwner  guess = GA_ATTRIB_INVALID 
)
static

Functions to convert between different group type representations. When no group type can be guessed, GA_GROUP_INVALID, PRM_GROUPTYPE_GUESS, PRM_UVGROUPTYPE_GUESS, or GA_ATTRIB_INVALID Will be returned.

virtual bool SOP_Node::getGroupCentroid ( OP_Context ,
UT_Vector3  
)
inlineprotectedvirtual

subclasses override this to return the group centroid if they support it.

Reimplemented in SOP_Edit, SOP_UVEdit, and SOP_UVTransform.

Definition at line 1595 of file SOP_Node.h.

static PRM_SpareData* SOP_Node::getGroupSelectButton ( GA_GroupType  group_type,
const char *  group_type_parm = NULL,
int  input_index = 0,
PRM_SpareData merge_spare_data = NULL,
const char *  assoc_groups = NULL,
GroupSelectAsOrdered  ordered = GroupSelectAsOrdered::AUTO,
const char *  use_name_attr = nullptr,
const char *  select_script = nullptr 
)
static
static PRM_SpareData* SOP_Node::getGroupSelectButton ( GA_GroupMaskType  group_mask,
const char *  group_type_parm = NULL,
int  input_index = 0,
PRM_SpareData merge_spare_data = NULL,
const char *  assoc_groups = NULL,
GroupSelectAsOrdered  ordered = GroupSelectAsOrdered::AUTO,
const char *  use_name_attr = nullptr,
const char *  select_script = nullptr 
)
static
static const char* SOP_Node::getGroupTypeName ( GA_GroupType  gagrouptype,
const char *  guess = "guess" 
)
static

Functions to convert between different group type representations. When no group type can be guessed, GA_GROUP_INVALID, PRM_GROUPTYPE_GUESS, PRM_UVGROUPTYPE_GUESS, or GA_ATTRIB_INVALID Will be returned.

virtual GOP_GuideListType SOP_Node::getGuideListType ( ) const
inlinevirtual

Definition at line 527 of file SOP_Node.h.

virtual GuideType SOP_Node::getGuideType ( int  guide_idx)
inlinevirtual

Reimplemented in SOP_Edit, SOP_UVFlatten3, and SOP_Watershed.

Definition at line 518 of file SOP_Node.h.

static GU_SelectionType SOP_Node::getGUSelType ( GA_GroupType  gagrouptype,
GU_SelectionType  guess = GU_SPrimitive 
)
static

Functions to convert between different group type representations. When no group type can be guessed, GA_GROUP_INVALID, PRM_GROUPTYPE_GUESS, PRM_UVGROUPTYPE_GUESS, or GA_ATTRIB_INVALID Will be returned.

fpreal SOP_Node::getH ( ) const
overridevirtual

Absolute Height.

Reimplemented from OP_Node.

const GU_Detail* SOP_Node::getInputLastGeo ( int  input,
fpreal  time 
) const
const GU_Detail* SOP_Node::getLastGeo ( ) const
virtual int64 SOP_Node::getLoadedMemoryUsage ( ) const
virtual

Returns the amount of memory used by this SOP, that will be unloaded by an unload call. Baseclass defaults to returning the GDP's data.

Reimplemented in SOP_Cache.

int64 SOP_Node::getMemoryUsage ( bool  inclusive) const
overridevirtual

Returns the amount of memory owned by this node, NOT including any cooked geometry.

Reimplemented from OP_Network.

int SOP_Node::getNetOverviewColor ( UT_Color color)
overridevirtual

Reimplemented from OP_Node.

void SOP_Node::getNodeSpecificInfoText ( OP_Context context,
OP_NodeInfoParms iparms 
)
overridevirtual

Reimplemented from OP_Node.

Reimplemented in HDK_Sample::SOP_PrimVOP.

Examples:
SOP/SOP_PrimVOP.C.
virtual int SOP_Node::getNumGuides ( )
inlinevirtual

Reimplemented in SOP_Edit, SOP_UVFlatten3, and SOP_Watershed.

Definition at line 517 of file SOP_Node.h.

virtual SOP_ObjectAppearancePtr SOP_Node::getObjectAppearance ( )
virtual

Return an interface to apply appearance operations. The default behaviour is to return a NULL pointer.

const char* SOP_Node::getOpType ( ) const
overridevirtual

Reimplemented from OP_Node.

OP_OpTypeId SOP_Node::getOpTypeID ( ) const
overridevirtual

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 from OP_Node.

SOP_Node* SOP_Node::getOutputSop ( int  outputidx,
bool  fallback_to_display_render = true 
)
static GA_Range SOP_Node::getPickedRangeUsingPathAttribute ( const GU_Detail gdp,
const GA_Range srcrange,
const char *  pickedstring,
const char *  path_attrib = "path",
bool  use_packed_names = true 
)
staticprotected

Create a GA_Range containing the primitives specified by the values in the pickedstring. The primitives are selected from the srcrange in the given gdp.

static PRM_GroupType SOP_Node::getPRMGroupType ( GA_GroupType  gagrouptype)
static

Functions to convert between different group type representations. When no group type can be guessed, GA_GROUP_INVALID, PRM_GROUPTYPE_GUESS, PRM_UVGROUPTYPE_GUESS, or GA_ATTRIB_INVALID Will be returned.

static PRM_UVGroupType SOP_Node::getPRMUVGroupType ( GA_GroupType  gagrouptype)
static

Functions to convert between different group type representations. When no group type can be guessed, GA_GROUP_INVALID, PRM_GROUPTYPE_GUESS, PRM_UVGROUPTYPE_GUESS, or GA_ATTRIB_INVALID Will be returned.

int SOP_Node::getVariableOrder ( int  level) const
int SOP_Node::getVariablePrecedence ( int  var) const
bool SOP_Node::getVariableValueFP ( fpreal val,
int  index 
)
void SOP_Node::getVectorAttribs ( const char *  attrib_names,
UT_Array< GA_Attribute * > &  vertex_attribs,
UT_Array< GA_Attribute * > &  point_attribs,
UT_Array< GA_Attribute * > &  prim_attribs 
)

Obtains pointers to the vertex, point, and primitive vector attributes. Only vector attributes are considered. NB: it needs access to the gdp, so use it only in the cook methods

static void SOP_Node::getVectorAttribs ( GU_Detail gdp,
const char *  attrib_names,
UT_Array< GA_Attribute * > &  vertex_attribs,
UT_Array< GA_Attribute * > &  point_attribs,
UT_Array< GA_Attribute * > &  prim_attribs 
)
static
static void SOP_Node::getVectorAttribs ( const GA_AttributeDict dict,
const char *  attrib_string,
UT_Array< GA_Attribute * > &  attribs,
UT_String bad_attribs 
)
static

parses the vector attrib parameter and fills attribs array

fpreal SOP_Node::getW ( ) const
overridevirtual

Absolute Width.

Reimplemented from OP_Node.

bool SOP_Node::hasCookedSelection ( ) const
inline

Definition at line 801 of file SOP_Node.h.

bool SOP_Node::hasInstances ( )
protected

True if another SOP has an instance of our geometry.

bool SOP_Node::hasTransformTracks ( ) const
overridevirtual

Reimplemented from OP_Node.

static void SOP_Node::initializeExpressions ( )
static
void SOP_Node::inputConnectChanged ( int  which_input)
overrideprotectedvirtual

Reimplemented from OP_Network.

const GU_Detail* SOP_Node::inputGeo ( int  index,
OP_Context  
)
inlineprotected
const GU_Detail* SOP_Node::inputGeo ( int  index) const
protected
GU_DetailHandle SOP_Node::inputGeoHandle ( int  index) const
protected
static int SOP_Node::invokeForEachGroupMatchingMask ( const GU_Detail gdp,
const char *  pattern,
GA_GroupType  grpType,
const UT_Function< void(const GA_Group *)> &  operation,
bool  maintainorder 
)
static
static void SOP_Node::invokeForSubdivisionOfPrimitiveGroup ( const UT_Function< void(const GA_Group *)> &  operation,
const GA_PrimitiveGroup group,
int  optype,
int  opstep,
const char *  oplabel,
const GU_Detail gdp 
)
static

Take an optional group and subdivide it into smaller groups as input to operation

int SOP_Node::isCookingRender ( ) const
inlineoverridevirtual

Reimplemented from OP_Node.

Definition at line 120 of file SOP_Node.h.

virtual bool SOP_Node::isGuideTimeDep ( int  guide_idx) const
inlinevirtual

Definition at line 520 of file SOP_Node.h.

bool SOP_Node::isLoaded ( ) const
overridevirtual

Returns whether this node currently has cooked data or not.

Reimplemented from OP_Node.

bool SOP_Node::isSelectionOwnerType ( ) const
inlinefinaloverridevirtual

All SOP nodes can be a selection owner. This replaces the previous inheritance from SOP_SelectionOwner.

Reimplemented from OP_Node.

Definition at line 1725 of file SOP_Node.h.

bool SOP_Node::load ( UT_IStream is,
const char *  extension,
const char *  path = 0 
)
overrideprotectedvirtual
OP_ERROR SOP_Node::lockInput ( unsigned  idx,
OP_Context context 
)
overridevirtual

Reimplemented from OP_Node.

OP_ERROR SOP_Node::lockInputs ( OP_Context context)
overridevirtual

Reimplemented from OP_Node.

void SOP_Node::makeInstanceOf ( SOP_Node node,
OP_Context context,
int  inputidx 
)

This makes *this an instance of node. It must be called within a cookMySop. myGdpHandle is assumed to have an active write lock. this->gdp is updated to point to the new gdp. It is assumed that clearInstance() has already been called. The node that you pass in must be cooked prior to instancing! This has occured for free if it was lockInputed. Otherwise, one must use getCookedGeoHandle to cook the SOP.

void SOP_Node::makeInstanceOf ( GU_ConstDetailHandle  gdh)

This makes us shallow copy the given gu_detailhandle. We are marked as a preserve request so with our next cook we will not re-use this gdp. This should be called while cooking - ie, gdp is locked. While you can alter gdp afterwards, it is a bad idea as you will also alter the source.

virtual void SOP_Node::makePreserveRequest ( )
virtual

A hint to this node that it is about to be cooked at an unexpected time so shouldn't reuse the existing GDP. Should not be used without understanding the consequences.

Reimplemented in SOP_Cache.

static void SOP_Node::markDetailDirty ( GU_Detail dirtygdp,
bool  bumpalldataid 
)
static

This method is automatically called at the conclusion of cooking to notify the gdp that it's data has changed. By default, this will call:

GU_SelectionSetHandle SOP_Node::nodeSelectionSet ( ) const
void SOP_Node::notifyGroupParmListeners ( int  parm_index,
int  group_type_index,
const GU_Detail pgdp,
const GA_Group group 
)
protected
Examples:
SOP/SOP_SParticle.C.
void SOP_Node::opChanged ( OP_EventType  reason,
void data = 0 
)
overridevirtual

Reimplemented from OP_Node.

Reimplemented in HDK_Sample::SOP_PrimVOP.

Examples:
SOP/SOP_PrimVOP.C.
const GA_Group* SOP_Node::parseAllGroups ( const char *  pattern,
const GroupCreator creator,
bool  allow_numeric = true,
bool  ordered = false,
GA_GroupMaskType  mask = GA_GMASK_FULL_MASK,
GA_GroupType  bestguess = GA_GROUP_PRIMITIVE 
)
const GA_Group* SOP_Node::parseAllGroups ( const char *  pattern,
GU_Detail pgdp,
int  allow_numeric = 1,
int  ordered = 1,
GA_GroupMaskType  mask = GA_GMASK_FULL_MASK 
)
const GA_Group* SOP_Node::parseAllGroups ( const char *  pattern)
inline

Definition at line 678 of file SOP_Node.h.

GA_Group* SOP_Node::parseAllGroupsCopy ( const char *  pattern,
const GroupCreator creator,
bool  allow_numeric = true,
bool  ordered = false,
GA_GroupMaskType  mask = GA_GMASK_FULL_MASK,
GA_GroupType  bestguess = GA_GROUP_PRIMITIVE 
)
GA_Group* SOP_Node::parseAllGroupsCopy ( const char *  pattern,
GU_Detail pgdp,
int  allow_numeric = 1,
int  ordered = 1,
GA_GroupMaskType  mask = GA_GMASK_FULL_MASK 
)
GA_Group* SOP_Node::parseAllGroupsCopy ( const char *  pattern)
inline

Definition at line 693 of file SOP_Node.h.

const GA_BreakpointGroup* SOP_Node::parseBreakpointGroups ( const char *  pattern,
const GU_Detail pgdp,
bool  strict = true,
GA_Index  offset = GA_Index(0) 
)
const GA_BreakpointGroup* SOP_Node::parseBreakpointGroups ( const char *  pattern)
inline

Definition at line 646 of file SOP_Node.h.

GA_BreakpointGroup* SOP_Node::parseBreakpointGroupsCopy ( const char *  pattern,
const GU_Detail pgdp 
)
GA_BreakpointGroup* SOP_Node::parseBreakpointGroupsCopy ( const char *  pattern)
inline

Definition at line 651 of file SOP_Node.h.

const GA_EdgeGroup* SOP_Node::parseEdgeGroups ( const char *  pattern,
const GU_Detail pgdp,
bool  strict = true,
GA_Index  prim_offset = GA_Index(0),
GA_Index  point_offset = GA_Index(0) 
)
const GA_EdgeGroup* SOP_Node::parseEdgeGroups ( const char *  pattern)
inline

Definition at line 634 of file SOP_Node.h.

GA_EdgeGroup* SOP_Node::parseEdgeGroupsCopy ( const char *  pattern,
const GU_Detail pgdp 
)
GA_EdgeGroup* SOP_Node::parseEdgeGroupsCopy ( const char *  pattern)
inline

Definition at line 639 of file SOP_Node.h.

int SOP_Node::parseGroups ( const char *  pattern,
GU_Detail gdp,
const GA_PrimitiveGroup *&  prim,
const GA_PointGroup *&  points,
bool  strict = false 
)
protected

WARNING: The groups returned are const and should not be modified.

int SOP_Node::parseGroupsCopy ( const char *  pattern,
GU_Detail gdp,
GA_PrimitiveGroup *&  prim,
GA_PointGroup *&  points,
GA_EdgeGroup *&  edges,
int  unify,
bool  strict = false,
GA_GroupType  numeric_type = GA_GROUP_PRIMITIVE 
)
protected
const GA_Group* SOP_Node::parseInputGroup ( const UT_String groupname,
GA_GroupType  grouptype,
const GroupCreator creator,
bool  allow_reference,
bool  is_default_prim,
bool  ordered = false 
)
protected

Parse the input group specified by groupname, of type grouptype, in detail gdp. If allow_reference is true, this group cannot be later modified. If is_default_prim is true, if the group's type cannot be guessed, we'll try with a primitive group; otherwise, we'll try with a point group.

const GA_Group* SOP_Node::parseInputGroup ( const UT_String groupname,
int  grouptype,
GU_Detail gdp,
bool  allow_reference,
bool  is_default_prim 
)
protected
const GA_PointGroup* SOP_Node::parsePointGroups ( const char *  pattern,
const GroupCreator creator,
bool  allow_numeric = true,
bool  ordered = false,
bool  strict = false,
GA_Index  offset = GA_Index(0) 
)
const GA_PointGroup* SOP_Node::parsePointGroups ( const char *  pattern,
GU_Detail pgdp,
int  allow_numeric = 1,
int  ordered = 1,
bool  strict = false,
int  offset = 0 
)
const GA_PointGroup* SOP_Node::parsePointGroups ( const char *  pattern)
inline

Definition at line 612 of file SOP_Node.h.

GA_PointGroup* SOP_Node::parsePointGroupsCopy ( const char *  pattern,
const GroupCreator creator,
bool  allow_numeric = true,
bool  ordered = false,
bool  strict = false 
)
GA_PointGroup* SOP_Node::parsePointGroupsCopy ( const char *  pattern,
GU_Detail pgdp,
int  allow_numeric = 1,
int  ordered = 1,
bool  strict = false 
)
GA_PointGroup* SOP_Node::parsePointGroupsCopy ( const char *  pattern)
inline

Definition at line 626 of file SOP_Node.h.

const GA_PrimitiveGroup* SOP_Node::parsePrimitiveGroups ( const char *  pattern,
const GroupCreator creator,
bool  allow_numeric = true,
bool  ordered = false,
bool  strict = false,
GA_Index  offset = GA_Index(0) 
)
const GA_PrimitiveGroup* SOP_Node::parsePrimitiveGroups ( const char *  pattern,
GU_Detail pgdp,
int  allow_numeric = 1,
int  ordered = 1,
bool  strict = false,
int  offset = 0 
)
const GA_PrimitiveGroup* SOP_Node::parsePrimitiveGroups ( const char *  pattern)
inline

Definition at line 582 of file SOP_Node.h.

GA_PrimitiveGroup* SOP_Node::parsePrimitiveGroupsCopy ( const char *  pattern,
const GroupCreator creator,
bool  allow_numeric = true,
bool  ordered = false,
bool  strict = false 
)
GA_PrimitiveGroup* SOP_Node::parsePrimitiveGroupsCopy ( const char *  pattern,
GU_Detail pgdp,
int  allow_numeric = 1,
int  ordered = 1,
bool  strict = false 
)
GA_PrimitiveGroup* SOP_Node::parsePrimitiveGroupsCopy ( const char *  pattern)
inline

Definition at line 596 of file SOP_Node.h.

const GA_VertexGroup* SOP_Node::parseVertexGroups ( const char *  pattern,
const GU_Detail pgdp,
bool  strict = true,
GA_Index  offset = GA_Index(0) 
)
const GA_VertexGroup* SOP_Node::parseVertexGroups ( const char *  pattern)
inline

Definition at line 658 of file SOP_Node.h.

GA_VertexGroup* SOP_Node::parseVertexGroupsCopy ( const char *  pattern,
const GU_Detail pgdp 
)
GA_VertexGroup* SOP_Node::parseVertexGroupsCopy ( const char *  pattern)
inline

Definition at line 663 of file SOP_Node.h.

void SOP_Node::pickPrimitivesUsingPathAttribute ( const GU_Detail gdp,
const GA_Range srcrange,
const char *  stringparm,
fpreal  t,
const char *  path_attrib = "path",
bool  use_packed_names = true 
)
protected

Open a tree chooser populated by the values from the path_attrib string values so the user can select primitives. The stringparm parameter is evaluated to choose the selected primitives, and the result is written back to the stringparm when the user makes their selection. If the path_attrib doesn't exist, then optionally, packed primitive intrinsic names can be used to populate the tree.

void SOP_Node::pickPrimitivesUsingPathAttribute ( const char *  stringparm,
fpreal  t,
int  input_number = 0,
const char *  path_attrib = "path",
bool  use_packed_names = true 
)
protected

Pick assuming that the range is a full range of primitives. This method gets the primitive range from the specified input_number.

static GU_Detail* SOP_Node::prepNewDetail ( GU_Detail gdp)
static

Convenience method to prepare newly allocated GU_Detail objects to act as the output. Note that this returns the passed in gdp pointer.

OP_ERROR SOP_Node::pubCookInputGroups ( OP_Context context,
int  alone = 0 
)
overrideprotectedvirtual

Reimplemented from OP_Node.

void SOP_Node::refreshGdp ( )
protected
int SOP_Node::removeAdhocGroup ( const GA_Group group)
inlineprotected

Definition at line 926 of file SOP_Node.h.

void SOP_Node::removeAdhocGroups ( )
inlineprotected

Definition at line 928 of file SOP_Node.h.

static void SOP_Node::removeMenuDuplicates ( PRM_Name menuEntries,
int  size 
)
static

utility method for pruning the duplicate entries in a sorted menu

void SOP_Node::resetChangedSourceFlags ( )
protected

Forces duplicateChangedSource() to do the duplication on its next call. Can specify an input index (-1 to reset all)

Examples:
SOP/SOP_CustomBrush.C.
void SOP_Node::resetChangedSourceFlags ( int  which_input)
protected
void SOP_Node::resetLocalVarRefs ( )
Examples:
SOP/SOP_Flatten.C.
virtual void SOP_Node::resetSimulation ( )
inlinevirtual

Definition at line 834 of file SOP_Node.h.

const CH_LocalVariable* SOP_Node::resolveExtraVariableForSyntaxHighlight ( const char *  name)
overridevirtual

Reimplemented from OP_Node.

const CH_LocalVariable* SOP_Node::resolveVariable ( const char *  name)
overridevirtual

Reimplemented from OP_Node.

OP_ERROR SOP_Node::save ( std::ostream &  os,
const OP_SaveFlags flags,
const char *  pathPrefix,
const UT_String name_override = UT_String() 
)
overrideprotectedvirtual
void SOP_Node::select ( GA_GroupType  gtype = GA_GROUP_PRIMITIVE)
void SOP_Node::select ( GU_SelectionHandle  selection,
bool  add_to_sel = false 
)
void SOP_Node::select ( const GA_Group group,
bool  use_gtype = true,
bool  add_to_sel = false 
)
void SOP_Node::select ( const GEO_Primitive prim,
bool  sel_prim = true,
bool  add_to_sel = false 
)
void SOP_Node::select ( const GA_Range range,
bool  use_rtype = true,
bool  add_to_sel = false 
)
void SOP_Node::selectFrom ( const GEO_Primitive prim,
bool  sel_prim = true,
bool  add_to_sel = false 
)
void SOP_Node::selectInputGroup ( const GA_Group group,
GA_GroupType  grouptype 
)
void SOP_Node::selectInputGroup ( const GA_Group group,
int  grouptype 
)
bool SOP_Node::selectionEnabled ( ) const
inline

Definition at line 796 of file SOP_Node.h.

void SOP_Node::selectPoint ( GA_Offset  ptoff,
bool  point_sel = true,
bool  add_to_sel = false 
)
void SOP_Node::selectPointsFrom ( GA_Offset  ptoff,
bool  point_sel = true,
bool  add_to_sel = false 
)
void SOP_Node::selectPrimitive ( GA_Offset  primoff,
bool  prim_sel = true,
bool  add_to_sel = false 
)
static void SOP_Node::setCaptureOverrideFlag ( bool  flag)
inlinestatic

Definition at line 189 of file SOP_Node.h.

void SOP_Node::setCurGdh ( int  index,
const GU_DetailHandle gdh 
)
Examples:
SOP/SOP_Flatten.C.
void SOP_Node::setCurPoint ( int  index,
GA_Offset  ptoff 
)
void SOP_Node::setCurPrim ( int  index,
GA_Offset  primoff 
)
void SOP_Node::setCurVertex ( int  index,
GA_Offset  ptoff 
)
void SOP_Node::setCurVertexNum ( int  index,
exint  vtxnum 
)
virtual void SOP_Node::setForceCapture ( bool  )
inlinevirtual

Reimplemented in SOP_CaptureBase.

Definition at line 864 of file SOP_Node.h.

OP_LockTypes SOP_Node::setModelLock ( OP_LockTypes  lock_type,
void modeler = nullptr,
bool  allow_softlock_promotion = false,
UT_Undo undo = nullptr 
)
overridevirtual

Reimplemented from OP_Node.

void SOP_Node::setNodeSelectionSet ( GU_SelectionSetHandle  selection_set)

Set a specific override selection for this node only. Automatically updates the selection object on the detail.

void SOP_Node::setPivotParmToGroupCentroid ( OP_Context context)
void SOP_Node::setUniqueId ( int  id)
overrideprotectedvirtual

Reimplemented from OP_Node.

bool SOP_Node::setupLocalVars ( )
Examples:
SOP/SOP_Flatten.C.
void SOP_Node::setUsesSOPLocalVar ( )
inline

Definition at line 1766 of file SOP_Node.h.

void SOP_Node::setVariableOrder ( int  detail,
int  prim,
int  pt,
int  vtx 
)
Examples:
SOP/SOP_Flatten.C.
virtual void SOP_Node::setVisualization ( bool  )
inlinevirtual
void SOP_Node::setVisualizeCallback ( sopVisualizeCallback callback,
void data 
)
virtual bool SOP_Node::shouldResetGeoToEmpty ( ) const
inlineprotectedvirtual

In between cooks, the gdp pointer might be reset by the cooking engine (eg. if its gdp was instanced by some other SOP). If this function returns true, then it will be reset to an empty gdp. If this function returns false, then the contents of the old gdp will be duplicated into the new gdp. SOPs performing simulation which rely on the cooked contents of its gdp from the last frame should override this to return false.

Definition at line 1501 of file SOP_Node.h.

bool SOP_Node::shouldUnload ( ) const

Returns if the sop cache manager will allow unloading.

static PRM_SpareData* SOP_Node::sparedataFirstInput ( )
static

Spare data to determine whcih input the group menu is associated with.

static PRM_SpareData* SOP_Node::sparedataFourthInput ( )
static
static PRM_SpareData* SOP_Node::sparedataSecondElseFirstInput ( )
static
static PRM_SpareData* SOP_Node::sparedataSecondInput ( )
static
static PRM_SpareData* SOP_Node::sparedataThirdInput ( )
static
void SOP_Node::subdivideMixPrimitiveGroup ( GroupOperation  operation,
const GA_PrimitiveGroup group,
void data,
int  optype,
int  opstep,
const char *  oplabel,
GU_Detail gdp = 0 
)
protected
void SOP_Node::subdividePointGroup ( GroupOperation  operation,
const GA_PointGroup group,
void data,
int  optype,
int  opstep,
const char *  oplabel,
GU_Detail gdp = 0 
)
protected
void SOP_Node::subdividePrimitiveGroup ( GroupOperation  operation,
const GA_PrimitiveGroup group,
void data,
int  optype,
int  opstep,
const char *  oplabel,
const GU_Detail gdp = 0 
)
protected
int SOP_Node::testDragDrop ( DD_Source src)
overrideprotectedvirtual

Reimplemented from OP_Node.

bool SOP_Node::unloadData ( )
overridevirtual

Unload data for this node, called by unload flag heuristics, etc.

Note
Does not clear verb data by default. To ensure that is also cleared, call clearVerbCache().

Reimplemented from OP_Node.

virtual void SOP_Node::unloadDataHack ( )
virtual

Do not use this function! Using it will likely cause crashes.

Reimplemented in SOP_BrushBase, and SOP_Edit.

void SOP_Node::unlockInput ( unsigned  idx)
overridevirtual

Reimplemented from OP_Node.

void SOP_Node::unlockInputs ( )
overridevirtual

Reimplemented from OP_Node.

void SOP_Node::updateUserSelectionOnDetail ( )

Update the selection object on the detail to match the one for this SOP node.

bool SOP_Node::useInputSource ( unsigned  idx,
bool &  changed,
bool  force 
)
inlineprotected

Mark the given input as used for cooking by this node.

This updates source flags to mark the input as now clean, returning whether the input has changed since the last time this function was called. If force is true, then we treat the input as always dirty. Returns false if the input has errors.

Note
duplicateChangedSource() calls this function.

Definition at line 1573 of file SOP_Node.h.

bool SOP_Node::usesFootprint ( ) const
inlineoverridevirtual

Reimplemented from OP_Node.

Definition at line 163 of file SOP_Node.h.

fpreal SOP_Node::varCallbackAGE ( sopVarInfo varinfo)
fpreal SOP_Node::varCallbackBB ( sopVarInfo varinfo)
fpreal SOP_Node::varCallbackCE ( sopVarInfo varinfo)
fpreal SOP_Node::varCallbackLIFE ( sopVarInfo varinfo)
fpreal SOP_Node::varCallbackMAX ( sopVarInfo varinfo)
fpreal SOP_Node::varCallbackMIN ( sopVarInfo varinfo)
fpreal SOP_Node::varCallbackNPR ( sopVarInfo varinfo)
fpreal SOP_Node::varCallbackNPT ( sopVarInfo varinfo)
fpreal SOP_Node::varCallbackNVTX ( sopVarInfo varinfo)
fpreal SOP_Node::varCallbackPR ( sopVarInfo varinfo)
fpreal SOP_Node::varCallbackPT ( sopVarInfo varinfo)
fpreal SOP_Node::varCallbackSIZE ( sopVarInfo varinfo)
fpreal SOP_Node::varCallbackT ( sopVarInfo varinfo)
fpreal SOP_Node::varCallbackVTX ( sopVarInfo varinfo)
fpreal SOP_Node::varCallbackWEIGHT ( sopVarInfo varinfo)

Friends And Related Function Documentation

friend class sop_AttributeEvaluator
friend

Definition at line 1744 of file SOP_Node.h.

friend class SOP_CacheData
friend

Definition at line 1743 of file SOP_Node.h.

friend class SOP_CacheManager
friend

Definition at line 1742 of file SOP_Node.h.

friend class sop_NodeInputs
friend

Definition at line 1839 of file SOP_Node.h.

friend class SOP_NodeParms
friend

Definition at line 1838 of file SOP_Node.h.

friend class SOP_NodeVerb
friend

Definition at line 1837 of file SOP_Node.h.

friend class SOP_UndoModel
friend

Definition at line 1741 of file SOP_Node.h.

Member Data Documentation

PRM_ChoiceList SOP_Node::allAttribMenu
static

Definition at line 1220 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::allAttribReplaceMenu
static

Definition at line 1226 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::allGroupMenu
static

We want these public as we it is perfectly fine to use them in static parm templates. This occurs, for example, when instancing multiparms.

Definition at line 1190 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::allGroupReplaceMenu
static

Definition at line 1202 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::allTextureCoordMenu
static

Definition at line 1232 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::breakpointGroupMenu
static

Definition at line 1196 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::breakpointGroupReplaceMenu
static

Definition at line 1208 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::detailAttribMenu
static

Definition at line 1221 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::detailAttribReplaceMenu
static

Definition at line 1227 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::edgeGroupMenu
static

Definition at line 1194 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::edgeGroupReplaceMenu
static

Definition at line 1206 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::edgeNamedGroupMenu
static

Definition at line 1199 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::edgeNamedGroupReplaceMenu
static

Definition at line 1211 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::edgePointGroupMenu
static

Definition at line 1195 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::edgePointGroupReplaceMenu
static

Definition at line 1207 of file SOP_Node.h.

GU_Detail* SOP_Node::gdp
protected
PRM_ChoiceList SOP_Node::groupMenu
static
Examples:
SOP/SOP_GroupRename.C.

Definition at line 1191 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::groupNameMenu
static

Definition at line 1214 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::groupReplaceMenu
static

Definition at line 1203 of file SOP_Node.h.

UT_Array<sop_attribRef> SOP_Node::myAttribCache[2][4]
protected

This is all the old attribute information, one for each of the dictionary types... If this (including the order) matches the new attribute data, no offsets will have changed.

Definition at line 1825 of file SOP_Node.h.

int SOP_Node::myAttribCacheOffsetGdpId[2]
protected

Definition at line 1827 of file SOP_Node.h.

int SOP_Node::myAttribCacheOffsetMetaCacheCount[2]
protected

Definition at line 1828 of file SOP_Node.h.

unsigned int SOP_Node::myAttribCacheTotalDictSize[2]
protected

Definition at line 1829 of file SOP_Node.h.

UT_StringMap<sop_AttributeEvaluator *> SOP_Node::myAttributeEvaluatorCache
protected

Stores the @ cache lookups generated JIT.

Definition at line 1831 of file SOP_Node.h.

int SOP_Node::myCurBuiltPrimBox[2]
protected

Definition at line 1814 of file SOP_Node.h.

int SOP_Node::myCurBuiltPtBox[2]
protected

Definition at line 1812 of file SOP_Node.h.

int SOP_Node::myCurGdpVal
protected

Definition at line 1817 of file SOP_Node.h.

UT_BoundingBox SOP_Node::myCurPrimBox[2]
protected

Definition at line 1815 of file SOP_Node.h.

GA_Offset SOP_Node::myCurPrimOff[2]
protected

Definition at line 1811 of file SOP_Node.h.

UT_BoundingBox SOP_Node::myCurPtBox[2]
protected

Definition at line 1813 of file SOP_Node.h.

GA_Offset SOP_Node::myCurPtOff[2]
protected
Examples:
SOP/SOP_Flatten.C.

Definition at line 1810 of file SOP_Node.h.

int SOP_Node::myCurrentLayerCache
protected

Definition at line 1821 of file SOP_Node.h.

int SOP_Node::myCurVtxNum[2]
protected

Definition at line 1809 of file SOP_Node.h.

GA_Offset SOP_Node::myCurVtxOff[2]
protected

Definition at line 1808 of file SOP_Node.h.

GU_DetailHandle SOP_Node::myGdpHandle
protected

The gdp handle provides a indirect reference to the current gdp of this SOP.

Examples:
SOP/SOP_Flatten.C.

Definition at line 1620 of file SOP_Node.h.

SOP_Guide* SOP_Node::myGuide1
protected
Examples:
SOP/SOP_Flatten.C.

Definition at line 1626 of file SOP_Node.h.

SOP_Guide* SOP_Node::myGuide2
protected

Definition at line 1627 of file SOP_Node.h.

UT_ValArray<sopVarInfo *> SOP_Node::myLocalVarArray
protected

Definition at line 1784 of file SOP_Node.h.

int SOP_Node::myLocalVarOrder
protected

Definition at line 1785 of file SOP_Node.h.

int SOP_Node::myLocalVarOrderCache
protected

Cached values so we can tell if we have to rebuild.

Definition at line 1820 of file SOP_Node.h.

UT_SymbolMap<sopVarInfo *> SOP_Node::myLocalVarTable
protected

Local variable items:

Definition at line 1783 of file SOP_Node.h.

SOP_NodeCache* SOP_Node::myNodeVerbCache
protected

Stores the parms & cache for old-style node cooking of verb based nodes.

Definition at line 1835 of file SOP_Node.h.

SOP_NodeParms* SOP_Node::myNodeVerbParms
protected

Definition at line 1836 of file SOP_Node.h.

SOP_NodeFlags SOP_Node::mySopFlags
protected

Definition at line 1628 of file SOP_Node.h.

bool SOP_Node::myUsesSOPLocalVar
protected

Tracks if any expression has triggered a local variable, like $PT, etc. If this is false, it is safe to only evaluate the parm once for all subtypes. The higher level code is expected to clear this flag, evaluate their relevant parms, and then test this flag.

Definition at line 1792 of file SOP_Node.h.

UT_String SOP_Node::myVarMapCache[2]
protected

Definition at line 1826 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::namedPrimsGlobMenu
static

Definition at line 1216 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::namedPrimsMenu
static

Definition at line 1215 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::namedVolumesGlobMenu
static

Definition at line 1218 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::namedVolumesMenu
static

Definition at line 1217 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::pointAttribMenu
static

Definition at line 1223 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::pointAttribReplaceMenu
static

Definition at line 1229 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::pointGroupMenu
static
PRM_ChoiceList SOP_Node::pointGroupReplaceMenu
static

Definition at line 1205 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::pointNamedGroupMenu
static

Definition at line 1198 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::pointNamedGroupReplaceMenu
static

Definition at line 1210 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::primAttribMenu
static

Definition at line 1222 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::primAttribReplaceMenu
static

Definition at line 1228 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::primGroupMenu
static
Examples:
SOP/SOP_BrushHairLen.C.

Definition at line 1192 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::primGroupReplaceMenu
static

Definition at line 1204 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::primNamedGroupMenu
static

Definition at line 1197 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::primNamedGroupReplaceMenu
static

Definition at line 1209 of file SOP_Node.h.

PRM_SpareData SOP_Node::theFirstInput
static

Spare data used to determine which input the group menu is associated with. Because these rely on static initialization, do NOT use, use the sparedata functions instead.

Definition at line 884 of file SOP_Node.h.

PRM_SpareData SOP_Node::theFourthInput
static

Definition at line 887 of file SOP_Node.h.

PRM_SpareData SOP_Node::theSecondElseFirstInput
static

Uses the second input if present, else the first input. FIXME: Support for this has only been added to allAttribsMenu.

Definition at line 890 of file SOP_Node.h.

PRM_SpareData SOP_Node::theSecondInput
static

Definition at line 885 of file SOP_Node.h.

PRM_SpareData SOP_Node::theThirdInput
static

Definition at line 886 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::vertexAttribMenu
static

Definition at line 1224 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::vertexAttribReplaceMenu
static

Definition at line 1230 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::vertexNamedGroupMenu
static

Definition at line 1200 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::vertexNamedGroupReplaceMenu
static

Definition at line 1212 of file SOP_Node.h.

PRM_ChoiceList SOP_Node::vertexTextureCoordMenu
static

Definition at line 1233 of file SOP_Node.h.


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