12 #ifndef __LOP_Node_h__
13 #define __LOP_Node_h__
44 #define LOP_DEBUG_FLAG 'D'
46 #define LOP_USDSHADEUNIGRAPHPROVIDER_TYPE "usdshade"
154 static void initializeExpressions();
159 static LOP_Node *getLopNodeFromLopOrNetworkPath(
const char *
path,
160 bool default_to_stage =
true);
176 bool getNestedDebug()
const;
190 LOP_Node *getOutputLop(
int outputidx)
const;
202 bool use_last_cook_context_options =
false,
216 bool use_last_cook_context_options =
false,
220 bool isMostRecentStageLock()
const;
224 bool hasLayerColorIndex(
int &clridx)
const;
239 static bool getSimplifiedCollection(
OP_Node *node,
244 static bool getSimplifiedCollection(
OP_Node *node,
251 static bool getPathsFromPattern(
LOP_Node &lop,
254 bool allow_missing_explicit_prims =
false,
261 bool isPrimitiveEditable(
265 bool ignoreeditableflag,
270 int layerCount()
const;
276 bool add_to_existing =
false);
278 bool add_to_existing =
false);
280 bool add_to_existing =
false);
282 bool add_to_existing =
false);
284 bool add_to_existing =
false);
285 void setLastModifiedPrimsWithPathExpression(
288 bool add_to_existing =
false);
289 void clearLastModifiedPrims();
297 virtual bool hasLargeActiveLayer()
const;
303 virtual bool getResolverContextAssetPath(
UT_String &assetpath);
304 virtual bool getResolverContextStrings(
321 const char *
name)
override;
326 {
return myLastCookActivation; }
354 virtual int getNumGuides()
const;
355 virtual const char *getGuideColorName(
int idx)
const;
374 bool get_inverse_xform,
379 virtual void handleParmEvaluatedForParmSet(
PRM_Parm *parm);
384 virtual bool supportMultipleOutputsAsContextOption()
const;
411 bool copy_data_handle =
false,
412 bool add_extra_input =
true,
419 bool require_input =
false,
420 bool copy_data_handle =
false,
427 bool require_input =
false,
439 bool add_extra_input);
461 LOP_Node *getNodeForSubnetOutput(
int outidx);
468 bool allow_empty_strings =
false);
471 void setClearCheckpointsOnInputChange(
bool clear);
476 void removeAllCheckpoints();
485 int &copied_input)
override;
495 static void getRampAttributeNamesForParmSet(
500 void getAttributeParmSet(
OP_Node *node,
511 bool updateStringForOpReference(
fpreal t,
519 bool applySchemaFromParmSet(
526 bool setAttributeFromParmSet(
535 int stackdepth)
const;
574 bool only_time_dep =
true);
576 bool checkForDifferingTCPS(
bool emit_warning =
true);
580 std::set<fpreal64> myTCPSEntries;
596 void setDebugDirtyRecursive(
597 void *change_data,
bool top_level);
598 void resetDataHandle();
603 bool myLastCookActivation;
604 bool myHasActivationParameter;
605 bool myHasShotActivationParameter;
virtual int saveCookedData(std::ostream &os, OP_Context &, int binary=0)=0
int myEvaluatingInputNameIndex
fpreal getH() const override
Node position/scale is used by the UI.
virtual bool getUseBypassLook(const OP_EditorContext &ctx) const
fpreal getW() const override
Node position/scale is used by the UI.
UT_StringHolder myCollectionExpansionRule
UT_SharedPtr< HUSD_LoadMasks > HUSD_LoadMasksPtr
UT_StringHolder myPrimPath
virtual UT_AttributeEvaluator * createAttributeEvaluator(const char *name)
HUSD_MakeNewPathFunc myMakeNewPathFn
void addMessage(int code, const char *msg=0)
HUSD_XformStyle myValueXformStyle
virtual void getAttributeEvaluatorNames(UT_StringArray &names)
#define SYS_VISIBILITY_EXPORT
virtual void setFlag(char tag, int8 val)
HUSD_XformEntry myXformEntry
UT_StringHolder myReplacementIdentifier
UT_StringHolder myRampBasisAttrName
const GLuint GLenum const void * binary
GLsizei const GLchar *const * path
UT_StringHolder myValueType
UT_StringHolder myCreateNewSublayerName
bool myReplaceSublayersOnly
HUSD_PrimTraversalDemands
virtual OP_ERROR cookMe(OP_Context &context)=0
virtual void childFlagChange(OP_Node *)
UT_StringHolder myRampPosAttrName
void opChanged(OP_EventType reason, void *data=nullptr) override
UT_StringHolder myControl
virtual const char * inputLabel(OP_InputIdx idx) const
UT_StringHolder myCollectionIcon
bool myCollectionUsePathExpr
virtual bool showConvexHull() const
virtual OP_Node * getCurrentNodePtr()
UT_StringMap< UT_UniquePtr< UT_AttributeEvaluator > > myEvaluators
bool myCollectionAllowInstanceProxies
UT_Array< LOP_AttributeParmSet > LOP_AttributeParms
virtual bool getCameraInfo(const UT_StringRef &camid, const OP_Context &context, DEP_MicroNode *depnode, UT_StringHolder &foundcamid, UT_CameraParms &camparms)
SYS_VISIBILITY_EXPORT void newLopOperator(OP_OperatorTable *table)
void addWarning(int code, const char *msg=0)
PRM_MultiType myMultiParmType
GLuint const GLchar * name
virtual OP_DataType getCookedDataType() const =0
GLenum GLenum GLsizei void * table
virtual OP_OpTypeId getOpTypeID() const
UT_StringHolder myConnection
DifferingTimeCodesPerSecChecker(LOP_Node *lop)
UT_Function< UT_StringHolder(const UT_StringRef &oldpath)> HUSD_MakeNewPathFunc
UT_StringHolder myRampCountAttrName
virtual int contextOptionsStackEffect(int input) const
virtual const char * getChildType() const
static const char * theChildTableName
UT_StringHolder myAttrName
**Note that the tasks the is the thread number *for the or if it s being executed by a non pool thread(this *can happen in cases where the whole pool is occupied and the calling *thread contributes to running the work load).**Thread pool.Have fun
virtual const char * getFileExtension(int binary) const =0
GA_API const UT_StringHolder parms
void addSystemError(const char *msg=0)
Parameters for OP_Node::fillInfoTree()/OP_Node::fillInfoTreeNodeSpecific()
virtual void fillInfoTreeNodeSpecific(UT_InfoTree &tree, const OP_NodeInfoTreeParms &parms)
UT_StringHolder myCollectionParmPrefix
UT_StringHolder myCollectionIncludePattern
UT_SharedPtr< HUSD_LockedStage > HUSD_LockedStagePtr
Utility class for containing a color ramp.
int myCreateNewSublayerIndex
virtual const char * getOpType() const
UT_StringHolder myApiSchema
UT_StringHolder myInterpolation
UT_StringHolder myValueStr
virtual OP_OpTypeId getChildTypeID() const =0
virtual int getRelativeTransform(OP_Node &to, UT_Matrix4 &xform, OP_Context &context)
UT_StringHolder myXformParmPrefix
virtual bool evalVariableValue(UT_String &val, int index, int thread)
virtual bool getWorldTransformFromData(const UT_StringRef &id, const OP_Context &context, bool get_inverse_xform, DEP_MicroNode *depnode, UT_DMatrix4 &xform)
void addError(int code, const char *msg=0)
UT_StringHolder myCollectionName
virtual bool getDebug() const
virtual const char * outputLabel(OP_OutputIdx idx) const
UT_StringHolder myCollectionExcludePattern
virtual OP_ERROR bypassMe(OP_Context &context, int &copied_input)=0
UT_LockedRawPtr< UT_ErrorManager, OP_Lock > getLockedErrorManager()
fpreal64 myValueFloat[16]
virtual OP_Node * getDisplayNodePtr()
PRM_MultiType
This type enum defines the different types of multi (dynamic) parameters.
virtual void clearCache()
virtual void onCreated()
Overriden in VOPs.
virtual bool setDebug(bool on_off)
bool lastCookActivationState() const
virtual void deleteCookedData()=0