12 #ifndef __LOP_Node_h__
13 #define __LOP_Node_h__
44 #define LOP_DEBUG_FLAG 'D'
150 static void initializeExpressions();
155 static LOP_Node *getLopNodeFromLopOrNetworkPath(
const char *
path,
156 bool default_to_stage =
true);
172 bool getNestedDebug()
const;
186 LOP_Node *getOutputLop(
int outputidx)
const;
198 bool use_last_cook_context_options =
false,
212 bool use_last_cook_context_options =
false,
216 bool isMostRecentStageLock()
const;
220 bool hasLayerColorIndex(
int &clridx)
const;
235 static bool getSimplifiedCollection(
OP_Node *node,
240 static bool getSimplifiedCollection(
OP_Node *node,
247 static bool getPathsFromPattern(
LOP_Node &lop,
250 bool allow_missing_explicit_prims =
false,
257 bool isPrimitiveEditable(
261 bool ignoreeditableflag,
266 int layerCount()
const;
272 bool add_to_existing =
false);
274 bool add_to_existing =
false);
276 bool add_to_existing =
false);
278 bool add_to_existing =
false);
280 bool add_to_existing =
false);
281 void setLastModifiedPrimsWithPathExpression(
284 bool add_to_existing =
false);
285 void clearLastModifiedPrims();
293 virtual bool hasLargeActiveLayer()
const;
299 virtual bool getResolverContextAssetPath(
UT_String &assetpath);
300 virtual bool getResolverContextStrings(
317 const char *
name)
override;
322 {
return myLastCookActivation; }
350 virtual int getNumGuides()
const;
351 virtual const char *getGuideColorName(
int idx)
const;
370 bool get_inverse_xform,
375 virtual void handleParmEvaluatedForParmSet(
PRM_Parm *parm);
380 virtual bool supportMultipleOutputsAsContextOption()
const;
407 bool copy_data_handle =
false,
408 bool add_extra_input =
true,
415 bool require_input =
false,
416 bool copy_data_handle =
false,
423 bool require_input =
false,
435 bool add_extra_input);
457 LOP_Node *getNodeForSubnetOutput(
int outidx);
464 bool allow_empty_strings =
false);
467 void setClearCheckpointsOnInputChange(
bool clear);
471 void removeAllCheckpoints();
479 int &copied_input)
override;
489 static void getRampAttributeNamesForParmSet(
494 void getAttributeParmSet(
OP_Node *node,
504 bool applySchemaFromParmSet(
511 bool setAttributeFromParmSet(
520 int stackdepth)
const;
559 bool onlyTimeDep =
true);
561 bool checkForDifferingTCPS(
bool emitWarning =
true);
565 std::set<fpreal64> myTCPSEntries;
581 void setDebugDirtyRecursive(
582 void *change_data,
bool top_level);
583 void resetDataHandle();
588 bool myLastCookActivation;
589 bool myHasActivationParameter;
590 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)
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