12 #ifndef __LOP_Node_h__
13 #define __LOP_Node_h__
41 #define LOP_DEBUG_FLAG 'D'
121 static void initializeExpressions();
126 static LOP_Node *getLopNodeFromLopOrNetworkPath(
const char *
path,
127 bool default_to_stage =
true);
143 bool getNestedDebug()
const;
157 LOP_Node *getOutputLop(
int outputidx)
const;
169 bool use_last_cook_context_options =
false);
182 bool use_last_cook_context_options =
false);
185 bool isMostRecentStageLock()
const;
189 bool hasLayerColorIndex(
int &clridx)
const;
201 static bool getSimplifiedCollection(
OP_Node *node,
206 static bool getSimplifiedCollection(
OP_Node *node,
213 static bool getPathsFromPattern(
LOP_Node &lop,
216 bool allow_missing_explicit_prims =
false);
221 bool isPrimitiveEditable(
225 bool ignoreeditableflag,
230 int layerCount()
const;
240 void clearLastModifiedPrims();
246 virtual bool getResolverContextAssetPath(
UT_String &assetpath);
247 virtual bool getResolverContextStrings(
264 const char *
name)
override;
269 {
return myLastCookActivationState; }
289 const char *
inputLabel(
unsigned idx)
const override;
290 const char *
outputLabel(
unsigned idx)
const override;
297 virtual int getNumGuides()
const;
298 virtual const char *getGuideColorName(
int idx)
const;
328 bool copy_data_handle =
false,
329 bool add_extra_input =
true,
336 bool require_input =
false,
337 bool copy_data_handle =
false,
344 bool require_input =
false,
358 LOP_Node *getNodeForSubnetOutput(
int outidx)
const;
365 bool allow_empty_strings =
false);
368 void setClearCheckpointsOnInputChange(
bool clear);
372 void removeAllCheckpoints();
380 int &copied_input)
override;
390 static void getRampAttributeNamesForParmSet(
395 static void getAttributeParmSet(
OP_Node *node,
405 bool applySchemaFromParmSet(
412 bool setAttributeFromParmSet(
421 int stackdepth)
const;
460 bool onlyTimeDep =
true);
462 bool checkForDifferingTCPS(
bool emitWarning =
true);
466 std::set<fpreal64> myTCPSEntries;
476 void setDebugDirtyRecursive(
477 void *change_data,
bool top_level);
478 void resetDataHandle();
virtual int saveCookedData(std::ostream &os, OP_Context &, int binary=0)=0
LOP_ActivationState lastCookActivationState() const
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_SharedPtr< HUSD_LoadMasks > HUSD_LoadMasksPtr
UT_StringHolder myPrimPath
virtual UT_AttributeEvaluator * createAttributeEvaluator(const char *name)
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 myRampBasisAttrName
const GLuint GLenum const void * binary
GLsizei const GLchar *const * path
virtual const char * inputLabel(unsigned idx) const
UT_StringHolder myValueType
virtual OP_ERROR cookMe(OP_Context &context)=0
virtual void childFlagChange(OP_Node *)
UT_StringHolder myRampPosAttrName
UT_StringHolder myControl
virtual bool showConvexHull() const
virtual OP_Node * getCurrentNodePtr()
UT_StringMap< UT_UniquePtr< UT_AttributeEvaluator > > myEvaluators
void opChanged(OP_EventType reason, void *data=0) override
UT_Array< LOP_AttributeParmSet > LOP_AttributeParms
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_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
void addSystemError(const char *msg=0)
Parameters for OP_Node::fillInfoTree()/OP_Node::fillInfoTreeNodeSpecific()
virtual void fillInfoTreeNodeSpecific(UT_InfoTree &tree, const OP_NodeInfoTreeParms &parms)
virtual const char * outputLabel(unsigned idx) const
UT_SharedPtr< HUSD_LockedStage > HUSD_LockedStagePtr
Utility class for containing a color ramp.
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)
void addError(int code, const char *msg=0)
virtual bool getDebug() const
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)
virtual void deleteCookedData()=0