13 #ifndef __OP_Parameters_h__
14 #define __OP_Parameters_h__
91 bool exclude_constant,
bool include_only_nonint_keys,
92 bool scoped_related_layers,
94 myAllowNonChannels(allow_nonchannels),
95 myExcludeAnimated(exclude_animated),
96 myExcludeConstant(exclude_constant),
97 myIncludeOnlyNonIntKeys(include_only_nonint_keys),
98 myScopedRelatedLayers(scoped_related_layers),
99 myScopeType( scope_type )
116 , myFollowCHOPLayerOverrides(true)
117 , myFollowReferences(true)
118 , myStopAtEditabledHDA(false)
119 , myFollowedParmMicroNodes(nullptr)
134 bool include_animated,
bool follow_channel_refs,
bool include_autoscope )
137 , myIncludeAnimated(include_animated)
138 , myIncludeAutoScope(include_autoscope)
140 myOpt.myFollowCHOPLayerOverrides = follow_layer_overrides;
141 myOpt.myFollowReferences = follow_channel_refs;
144 myOpt2.myFollowCHOPLayerOverrides =
false;
145 myOpt2.myFollowReferences =
true;
146 myOpt2.myStopAtEditabledHDA =
true;
170 bool updateParmsAndSpareParmsFlags();
175 bool relative_references =
true);
185 const char *relative_path = NULL);
188 void animate(
unsigned idx);
189 void animate(
const char *
name);
190 void deAnimate(
unsigned idx);
191 void deAnimate(
const char *
name);
195 int destroyChannel(
const char *
name);
197 bool isObsoleteChannel(
const char *
name)
const;
199 void takeActivateParm(
uint idx,
bool enable=
true);
200 void takeActivateParm(
const char *
name,
bool enable=
true);
201 void takeActivateParm(
PRM_Parm *parm,
bool enable=
true);
203 { takeActivateParm(idx,
false); }
205 { takeActivateParm(name,
false); }
207 { takeActivateParm(parm,
false); }
209 bool takeIsActiveParm(
uint idx);
210 bool takeIsActiveParm(
const char *
name);
211 bool takeIsActiveParm(
const PRM_Parm *parm);
221 {
return getChanState(t,
false); }
242 virtual
float getVariableValue(
int index,
int thread);
244 int getNumParms()
const
245 {
return myParmList->getEntries(); }
247 {
return myParmList->getParmIndex(name); }
250 PRM_Parm *p = myParmList->getParmPtr(i);
256 const PRM_Parm *p = myParmList->getParmPtr(i);
262 PRM_Parm *p = myParmList->getParmPtr(name);
268 const PRM_Parm *p = myParmList->getParmPtr(name);
273 {
return myParmList->getParmPtr(name) != 0; }
275 {
return myParmList->getParmPtr(name); }
277 {
return myParmList->getParmPtr(name); }
278 PRM_Parm *getParmPtrInst(
const char *
name,
const int *inst,
280 const PRM_Parm *getParmPtrInst(
const char *
name,
const int *inst,
281 int nestlevel = 1)
const;
292 {
return myChangingSpareParms; }
295 void deleteAllSpareParms();
311 const char *old_version,
312 const char *current_version,
318 virtual bool getParameterOrProperty(
323 bool create_missing_multiparms,
325 virtual bool getParameterOrPropertyByChannel(
343 return const_cast<OP_Parameters*
>(
this)->getParameterOrProperty(
344 name, now, op, parm,
false, obsolete);
351 virtual int findParametersOrProperties(
fpreal now,
361 return followChannelReferencesOneStepT(
362 opt, newop, newparm, newvecidx,
375 followChannelReferencesT(
376 opt, newop, newparm, newvecidx,
386 return followChannelReferencesWithDepsT(
387 opt, newop, newparm, newvecidx,
404 followChannelReferencesT(opt, ref,
SYSgetSTID());
409 static void getValueAsProcessedNodePaths(
fpreal t,
414 static void getValueAsProcessedNodePaths(
fpreal t,
426 bool enableParm(
int pi,
int state,
int v = -1);
427 bool enableParm(
const char *pn,
int state,
int v = -1);
428 bool enableParmInst(
const char *
name,
const int *inst,
429 int state,
int nestlevel = 1,
431 unsigned getEnableState(
int pi,
int v = -1);
432 unsigned getEnableState(
const char *pn,
int v = -1);
433 unsigned getEnableStateInst(
const char *
name,
const int *inst,
434 int nestlevel = 1,
int v = -1);
436 bool setVisibleState(
int pi,
bool state,
int v = -1);
437 bool setVisibleState(
const char *pn,
bool state,
int v = -1);
438 bool setVisibleStateInst(
const char *
name,
const int *inst,
439 int state,
int nestlevel = 1,
442 bool getVisibleState(
int pi,
int v = -1);
443 bool getVisibleState(
const char *pn,
int v = -1);
467 {
return evalIntT(pn, pi, vi, t,
SYSgetSTID()); }
471 {
return evalIntT(parm, vi, t,
SYSgetSTID()); }
476 {
return evalFloatT(pi, vi, t,
SYSgetSTID()); }
480 {
return evalFloatT(pn, vi, t,
SYSgetSTID()); }
485 {
return evalFloatT(pn, pi, vi, t,
SYSgetSTID()); }
489 {
return evalFloatT(parm, vi, t,
SYSgetSTID()); }
495 {
return evalFloatsT(pi, v, t,
SYSgetSTID()); }
500 {
return evalFloatsT(pn, v, t,
SYSgetSTID()); }
505 {
return evalFloatsT(pn, pi, v, t,
SYSgetSTID()); }
509 {
return evalFloatsT(parm, v, t,
SYSgetSTID()); }
518 {
return evalFloatsT(pi, v, t,
SYSgetSTID()); }
523 {
return evalFloatsT(pn, v, t,
SYSgetSTID()); }
528 {
return evalFloatsT(pn, pi, v, t,
SYSgetSTID()); }
533 {
return evalFloatsT(parm, v, t,
SYSgetSTID()); }
537 int nestlevel = 1)
const;
544 {
return evalStringT(val, pi, vi, t,
SYSgetSTID()); }
547 {
return evalStringT(val, pi, vi, t,
SYSgetSTID()); }
555 {
return evalStringT(val, pn, vi, t,
SYSgetSTID()); }
559 {
return evalStringT(val, pn, vi, t,
SYSgetSTID()); }
570 return evalStringT(val, pn, pi, vi, t,
577 return evalStringT(val, pn, pi, vi, t,
589 return evalStringT(val, parm, vi, t,
595 return evalStringT(val, parm, vi, t,
607 return evalStringRawT(val, pi, vi, t,
613 return evalStringRawT(val, pi, vi, t,
624 return evalStringRawT(val, pn, vi, t,
631 return evalStringRawT(val, pn, vi, t,
643 return evalStringRawT(val, pn, pi, vi, t,
649 return evalStringRawT(val, pn, pi, vi, t,
661 return evalStringRawT(val, parm, vi, t,
667 return evalStringRawT(val, parm, vi, t,
676 {
return evalDataT(pi, vi, t,
SYSgetSTID()); }
680 {
return evalDataT(pn, vi, t,
SYSgetSTID()); }
685 {
return evalDataT(pn, pi, vi, t,
SYSgetSTID()); }
689 {
return evalDataT(parm, vi, t,
SYSgetSTID()); }
697 {
return evalJSONMapT(
704 {
return evalJSONMapT(
735 return evalJSONMapRawT(
744 return evalJSONMapRawT(
754 return evalJSONMapRawT(
765 return evalJSONMapRawT(
783 const int *inst,
int vi,
784 fpreal t,
int nestlevel = 1)
const
786 return evalIntInstT(name, inst, vi, t,
790 const int *inst,
int vi,
792 int nestlevel = 1)
const;
794 const int *inst,
int vi,
795 fpreal t,
int nestlevel = 1)
const
797 return evalFloatInstT(name, inst, vi, t,
801 const int *inst,
int vi,
803 int nestlevel = 1)
const;
807 int nestlevel = 1)
const
809 return evalFloatsInstT(name, inst, v, t,
815 int nestlevel = 1)
const;
819 int nestlevel = 1)
const
821 return evalStringInstT(name, inst, val, vi,
827 int nestlevel = 1)
const
829 return evalStringInstT(name, inst, val, vi,
835 int thread,
int nestlevel = 1)
const;
839 int thread,
int nestlevel = 1)
const;
843 int nestlevel = 1)
const
845 return evalStringInstRawT(name, inst, val, vi,
851 int nestlevel = 1)
const
853 return evalStringInstRawT(name, inst, val, vi,
860 int nestlevel = 1)
const;
865 int nestlevel = 1)
const;
867 const int *inst,
int vi,
868 fpreal t,
int nestlevel = 1)
const
870 return evalDataInstT(name, inst, vi, t,
874 const int *inst,
int vi,
876 int nestlevel = 1)
const;
895 return evalParameterOrPropertyT(parm_name,
899 bool evalParameterOrPropertyT(
const UT_StringRef &parm_name,
911 return evalParameterOrPropertyT(parm_name,
915 bool evalParameterOrPropertyT(
const UT_StringRef &parm_name,
926 return evalParameterOrPropertyT(parm_name,
930 bool evalParameterOrPropertyT(
const UT_StringRef &parm_name,
943 return evalParameterOrPropertyRawT(parm_name,
947 bool evalParameterOrPropertyRawT(
961 return evalParameterOrPropertyExprT(parm_name,
965 bool evalParameterOrPropertyExprT(
979 return evalVectorPropertyT(parm_name,
995 return evalVectorPropertyT(parm_name,
1022 void setInt(
const char *parmname,
int &parmi,
int vectori,
fpreal t,
1024 void setFloat(
int parmi,
int vectori,
fpreal t,
1027 void setFloat(
const char *parmname,
int vectori,
fpreal t,
1030 void setFloat(
const char *parmname,
int &parmi,
int vectori,
1035 int parmi,
int vectori,
1039 const char *parmname,
int vectori,
fpreal t);
1042 const char *parmname,
1043 int &parmi,
int vectori,
fpreal t);
1044 void setData(
int parmi,
int vectori,
fpreal t,
1046 void setData(
const char *parmname,
int vectori,
fpreal t,
1048 void setData(
const char *parmname,
int &parmi,
int vectori,
fpreal t,
1073 bool propagate=
true);
1076 bool propagate=
true);
1080 bool propagate=
true);
1081 void setChRefFloat(
const char *pn,
int vi,
fpreal t,
1085 bool propagate=
true);
1092 bool propagate=
true);
1099 bool propagate=
true)
1101 setChRefString(val, meaning, pi, vi, t,
1102 add_key, propagate);
1110 bool propagate=
true);
1117 bool propagate=
true)
1119 setChRefString(val, meaning, pn, vi, t,
1120 add_key, propagate);
1126 bool propagate=
true);
1128 void setChRefData(
const char *pn,
int vi,
fpreal t,
1132 bool propagate=
true);
1157 bool setParameterOrProperty(
const char *parm_name,
1162 bool propagate=
true);
1163 bool setParameterOrProperty(
const char *parm_name,
1168 bool propagate=
true);
1169 bool setParameterOrProperty(
const char *parm_name,
1174 bool propagate=
true);
1175 bool setParameterOrProperty(
const char *parm_name,
1181 bool propagate=
true);
1193 void setIntInst(
exint value,
const char *parmname,
1194 const int *inst,
int vectori,
fpreal t,
1196 void setFloatInst(
fpreal value,
const char *parmname,
1197 const int *inst,
int vectori,
fpreal t,
1201 const char *parmname,
1202 const int *inst,
int vectori,
fpreal t,
1205 const char *parmname,
const int *inst,
1206 int vectori,
fpreal t,
int nestlevel = 1);
1220 void setSilentInt(
int parmi,
int vectori,
fpreal t,
1222 void setSilentInt(
const char *parmname,
int vectori,
1224 void setSilentInt(
const char *parmname,
int &parmi,
1227 void setSilentFloat(
int parmi,
int vectori,
fpreal t,
1230 void setSilentFloat(
const char *parmname,
int vectori,
1233 void setSilentFloat(
const char *parmname,
1234 int &parmi,
int vectori,
1240 int parmi,
int vectori,
fpreal t);
1243 const char *parmname,
int vectori,
fpreal t);
1246 const char *parmname,
1247 int &parmi,
int vectori,
fpreal t);
1248 void setSilentData(
int parmi,
int vectori,
fpreal t,
1250 void setSilentData(
const char *parmname,
int vectori,
1252 void setSilentData(
const char *parmname,
1253 int &parmi,
int vectori,
fpreal t,
1256 void setSilentIntInst(
exint value,
const char *parmname,
1257 const int *inst,
int vectori,
1259 void setSilentFloatInst(
fpreal value,
const char *parmname,
1260 const int *inst,
int vectori,
1264 const char *parmname,
1265 const int *inst,
int vectori,
1268 const char *parmname,
const int *inst,
1269 int vectori,
fpreal t,
int nestlevel = 1);
1276 int vi,
fpreal t,
int nest_level = 1)
const;
1284 bool create_channels=
false);
1293 void insertMultiParmItem(
const char *pn,
int i);
1294 void removeMultiParmItem(
const char *pn,
int i);
1302 UT_Ramp &ramp,
bool *time_dep = NULL,
1314 bool convertObsAnimatedToStringExpression(
1316 const char *pn,
int vi,
fpreal t,
1331 const char *channel_name = 0);
1333 virtual int findString(
const char *str,
bool fullword,
1334 bool usewildcards)
const;
1335 virtual int changeString(
const char *from,
const char *to,
1349 bool isParmDirty(
int idx,
fpreal t);
1350 bool isParmDirty(
const char *
n,
fpreal t);
1351 bool isParmDirtyInst(
const char *
name,
const int *inst,
1353 void cacheParmValues(
const OP_Context &context);
1354 void clearParmCache();
1359 bool isParmTimeDependent(
int idx,
int comp = -1)
const;
1364 bool isParmTimeDependent(
const char *
name,
1365 int comp = -1)
const;
1372 ensureErrorsAreUpdatedSubclass();
1375 stealGlobalErrors();
1376 return myErrorManager.getErrorMessages(messages,
1385 return myErrorManager.findError(type, code);
1391 return myErrorManager.removeError(idx);
1397 myErrorManager.pruneDuplicates();
1412 myErrorManager.addError(
"OP", code, m);
1417 myErrorManager.addWarning(
"OP",code,m);
1422 myErrorManager.addDeadlockError();
1428 int code,
const char *m,
1434 myErrorManager.addGeneric(type, code, m, sev);
1442 myErrorManager.clearAndDestroyErrors();
1449 myErrorManager.clearAndDestroyErrors();
1452 virtual OP_ERROR getErrorSeverity();
1454 exint getErrorVersion();
1459 return myErrorManager.hasDeadlockError();
1464 ensureErrorsAreUpdatedSubclass();
1469 stealGlobalErrors();
1476 myErrorManager.updateSeverity(
1479 return myErrorManager.getSeverity();
1485 ensureErrorsAreUpdatedSubclass();
1490 stealGlobalErrors();
1497 myErrorManager.updateSeverity(
1500 return myErrorManager.getSeverity();
1505 bool borrow_only =
false);
1508 {
return myIsGettingSaveError; }
1511 void addChannelError(
const char *
type,
int code,
1512 const char *msg = 0);
1516 virtual void saveParmsForUndo(
bool scopedOnly =
false,
1518 void saveSingleParmForUndo(
PRM_Parm *parm);
1523 virtual void clearUndoFlags();
1524 virtual void setAnyUndoFlag();
1527 int canAccess(
unsigned mask)
const;
1528 bool canAccess(
unsigned mask,
const PRM_Parm *parm)
const;
1531 void updateUserMask();
1533 bool canModifyFromUI(
const PRM_Parm *parm,
int vi)
const;
1538 virtual int reloadNewFiles(
fpreal time_now);
1542 void parmChanged(
int parm_index );
1543 void parmExprChanged(
int parm_index);
1546 void operatorDeleted();
1549 void saveParmCommand(std::ostream &os,
int values = 0,
1550 int defaultstoo = 1,
1551 bool spareparms =
true)
const;
1552 int loadParmCommand(
int argc,
const char *
const argv[],
1553 int docallbacks,
void *
data,
1554 fpreal now,
bool followchrefs,
1556 void commandParmCallback(
void *
data,
fpreal now,
1557 int argc,
char *argv[],
1559 void saveMultiParmInstanceCommand(
1562 bool spareparms)
const;
1574 { myTakeReferences += dir; }
1576 {
return myTakeReferences; }
1584 void createChannelGroupsFromFolders(
CH_Group &parent_group,
1586 bool leaf_channels_only =
false,
1587 bool only_unlocked =
true);
1591 bool getAutoScopedChannel(
PRM_Parm *parm,
int vector_index,
1598 bool follow_layer_overrides=
true,
1599 bool include_animated=
false,
1600 bool follow_channel_refs=
true,
1601 bool include_autoscope=
true
1615 bool getParmIsVisible(
const char *parmname);
1623 const PRM_Template *getSpareParmLayoutTemplates()
const;
1625 int getSpareParmTemplatesId()
const;
1629 int numSpareInputs()
const;
1632 bool hasMultiparmInfo()
const;
1644 static void buildMParmInst(
const PRM_Template *templates,
1648 static bool isMParmInstance(
const char *chname,
1653 static void getLayersFromScopedChannels(
1661 bool propagate=
true);
1665 bool propagate=
true);
1668 const char *parmname,
int &
pi,
int vi,
1672 bool propagate=
true);
1675 bool propagate=
true);
1682 PRM_Parm * getParmActivationControl(
1695 bool updateParmDisableConditional(
1700 bool updateParmHideConditional(
1711 bool updateParmDisableIfInactive(
PRM_Parm &parm,
1712 bool disable =
true);
1718 virtual
unsigned disableParms();
1723 virtual
bool updateParmsFlags() {
return false; }
1727 void saveMultiParmForUndo(
int index);
1729 void stealGlobalErrors();
1737 myErrorManager, myErrorManagerLock);
1740 virtual void permissionError(
const char *chname = 0);
1748 int err = ev_GetErrNo(thread);
1751 evaluationError(parm, err, thread);
1755 void resetParmEventHandler();
1757 int *allocIndirect(
int size=64);
1776 static bool isReservedOpName(
const char *
name);
1778 virtual int rename(
const char *newname);
1779 virtual bool createSpareParameterFromChannel(
const char *chname);
1780 virtual bool createSpareParametersFromChannels(
1790 bool compiled,
bool selected,
1791 bool pending_state);
1792 OP_ERROR saveParmChannels(
int parm_index, std::ostream &os,
1793 int binary,
bool compiled);
1837 virtual void updateSpareParmTemplates(
1839 bool leavedefaultsunchanged) = 0;
1847 void evaluationError(
const PRM_Parm *parm,
int err,
1852 void setFullInt(
int parmi,
int vectori,
fpreal t,
1854 void setFullInt(
const char *parmname,
int vectori,
fpreal t,
1856 void setFullInt(
const char *parmname,
int &parmi,
1862 void setFullFloat(
const char *pn,
int vi,
fpreal t,
1865 void setFullFloat(
const char *pn,
int &
pi,
int vi,
1875 int vi,
fpreal t,
bool propagate);
1882 void setFullData(
int pi,
int vi,
fpreal t,
1884 void setFullData(
const char *pn,
int vi,
fpreal t,
1886 void setFullData(
const char *pn,
int &
pi,
int vi,
fpreal t,
1889 void setFullIntInst(
exint value,
const char *parmname,
1890 const int *inst,
int vectori,
fpreal t,
1891 int nestlevel,
bool propagate);
1893 const int *inst,
int vi,
fpreal t,
1894 int nestlevel,
bool propagate);
1898 const int *inst,
int vi,
fpreal t,
1899 int nestlevel,
bool propagate);
1901 const char *
name,
const int *inst,
1902 int vi,
fpreal t,
int nestlevel,
1921 bool determineParmVisibility(
const char *parmname,
1928 static void addLayerFromScopedChannels(
1933 mutable OP_Lock myErrorManagerLock;
1938 uint myTakeReferences;
1940 unsigned myUndoAllParmSavedFlag:1,
1941 myUndoScopedSavedFlag:1,
1943 myIsGettingSaveError:1;
1948 bool myChangingSpareParms;
1953 friend class OP_UndoParm;
1954 friend class OP_UndoSpareParm;
OP_API void OPtakeAutoActivateChannel(CH_Channel *chp)
SYS_FORCE_INLINE OP_Operator * getOperator() const
PRM_Parm & getParm(const UT_StringRef &name)
UT_ErrorSeverity getSeverity()
void evalFloats(const UT_StringRef &pn, int *pi, fpreal64 *v, fpreal t) const
GT_API const UT_StringHolder selection
void evalJSONMapRaw(UT_JSONValueMap &val, int pi, int vi, fpreal t) const
OP_ScopeOptions(bool allow_nonchannels, bool exclude_animated, bool exclude_constant, bool include_only_nonint_keys, bool scoped_related_layers, OP_ScopeType scope_type)
UT_JSONValueMap stores a map/dictionary of UT_JSONValue objects.
void takeDeactivateParm(PRM_Parm *parm)
bool evalParameterOrPropertyRaw(const UT_StringRef &parm_name, int vec_index, fpreal now, UT_String &value, PRM_Parm **parmptr=NULL) const
#define SYS_DEPRECATED(__V__)
virtual int64 getMemoryUsage(bool inclusive) const
virtual void checkChannelDependencies(CH_Channel *, CH_CHANGE_TYPE)
void evalString(UT_StringHolder &val, const UT_StringRef &pn, int *pi, int vi, fpreal t) const
bool evalVectorProperty(const UT_StringRef &parm_name, fpreal now, fpreal *values, int vec_size, PRM_Parm **parmptr=NULL) const
fpreal evalFloat(const UT_StringRef &pn, int *pi, int vi, fpreal t) const
void opWarning(int code, const char *m=0) const
void evalFloats(int pi, fpreal32 *v, fpreal t) const
OP_GetAutoScopedOptions(fpreal t, bool follow_layer_overrides, bool include_animated, bool follow_channel_refs, bool include_autoscope)
int getAnyUndoPending() const
IMF_EXPORT IMATH_NAMESPACE::V3f direction(const IMATH_NAMESPACE::Box2i &dataWindow, const IMATH_NAMESPACE::V2f &pixelPosition)
OP_Channels * getChannels() const
UT_API UT_ErrorSeverity UTaddFatal(const char *type, int code, const char *msg=0, const UT_SourceLocation *loc=0)
void evalJSONMap(UT_JSONValueMap &val, const PRM_Parm *parm, int vi, fpreal t) const
const GLuint GLenum const void * binary
GLsizei const GLchar *const * path
PRM_DataItemHandle evalData(const UT_StringRef &pn, int vi, fpreal t) const
void evalStringInst(const UT_StringRef &name, const int *inst, UT_StringHolder &val, int vi, fpreal t, int nestlevel=1) const
void evalString(UT_String &val, const UT_StringRef &pn, int *pi, int vi, fpreal t) const
bool evalVectorProperty(const UT_StringRef &parm_name, fpreal now, int *values, int vec_size, PRM_Parm **parmptr=NULL) const
virtual bool preUpdateParmsFlags()
fpreal evalFloat(int pi, int vi, fpreal t) const
void evalFloatsInst(const UT_StringRef &name, const int *inst, fpreal64 *v, fpreal t, int nestlevel=1) const
virtual bool getHasTakeData() const
SYS_FORCE_INLINE bool checkExpressionError(const PRM_Parm *parm, int thread) const
UT_API UT_ErrorManager * UTgetErrorManager()
void evalJSONMap(UT_JSONValueMap &val, const UT_StringRef &pn, int *pi, int vi, fpreal t) const
void evalJSONMapRaw(UT_JSONValueMap &val, const PRM_Parm *parm, int vi, fpreal t) const
DEP_MicroNodeList * myFollowedParmMicroNodes
**But if you need a result
void opLocalDeadlockError()
int getParmIndex(const UT_StringRef &name) const
void appendError(const char *type, int code, const char *m, UT_ErrorSeverity sev)
exint evalInt(const UT_StringRef &pn, int vi, fpreal t) const
void evalJSONMapRaw(UT_JSONValueMap &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
UT_API UT_ErrorSeverity UTaddMessage(const char *type, int code, const char *msg=0, const UT_SourceLocation *loc=0)
bool isGettingSaveError() const
void takeDeactivateParm(const char *name)
void clearErrors(OP_Context &context)
UT_Set< OP_Node * > myUpdated
void bumpTakeReference(int dir)
virtual void takeAutoActivateParm(PRM_Parm *)=0
void clearDuplicateErrors()
virtual OP_ERROR error(OP_Context &context)
fpreal evalFloat(const UT_StringRef &pn, int vi, fpreal t) const
exint evalInt(const PRM_Parm *parm, int vi, fpreal t) const
PRM_DataItemHandle evalData(const PRM_Parm *parm, int vi, fpreal t) const
PRM_Parm & getParm(int i)
virtual bool savePresetContents(std::ostream &os)=0
OP_FollowChanRefsOptions myOpt2
OP_FollowChanRefsOptions myOpt
void evalStringRaw(UT_StringHolder &val, const UT_StringRef &pn, int vi, fpreal t) const
bool evalParameterOrProperty(const UT_StringRef &parm_name, int vec_index, fpreal now, UT_String &value, PRM_Parm **parmptr=NULL) const
fpreal evalFloat(const PRM_Parm *parm, int vi, fpreal t) const
void evalStringInstRaw(const UT_StringRef &name, const int *inst, UT_StringHolder &val, int vi, fpreal t, int nestlevel=1) const
void opLocalError(int code, const char *m=0)
const PRM_Parm & getParm(const UT_StringRef &name) const
void evalJSONMapRaw(UT_JSONValueMap &val, const UT_StringRef &pn, int vi, fpreal t) const
void evalString(UT_String &val, const PRM_Parm *parm, int vi, fpreal t) const
static bool followChannelReferencesWithDeps(const OP_FollowChanRefsOptions &opt, OP_Node *&newop, PRM_Parm *&newparm, int &newvecidx, CH_Channel *chp)
void evalString(UT_String &val, const UT_StringRef &pn, int vi, fpreal t) const
PRM_Parm * getParmPtr(const UT_StringRef &name)
void evalString(UT_String &val, int pi, int vi, fpreal t) const
void evalFloats(int pi, fpreal64 *v, fpreal t) const
const PRM_Parm & getParm(int i) const
PRM_DataItemHandle evalDataInst(const UT_StringRef &name, const int *inst, int vi, fpreal t, int nestlevel=1) const
bool myScopedRelatedLayers
void evalJSONMap(UT_JSONValueMap &val, int pi, int vi, fpreal t) const
GLsizei GLsizei GLchar * source
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 evalString(UT_StringHolder &val, int pi, int vi, fpreal t) const
virtual void resolveAndDeleteObsoleteParmList(PRM_ParmList *&obsolete_parms)=0
bool hasDeadlockError() const
bool myStopAtEditabledHDA
fpreal evalFloatInst(const UT_StringRef &name, const int *inst, int vi, fpreal t, int nestlevel=1) const
virtual CH_ExprLanguage getExprLanguage() const =0
GLuint const GLchar * name
virtual void buildOpDependencies()
bool myIncludeOnlyNonIntKeys
bool getIsChangingSpareParms() const
PRM_DataItemHandle evalData(int pi, int vi, fpreal t) const
void evalFloats(const PRM_Parm *parm, fpreal32 *v, fpreal t) const
virtual void addOrRemoveMultiparmInstance()=0
void evalStringRaw(UT_String &val, int pi, int vi, fpreal t) const
int findError(const char *type, int code) const
OP_FollowChanRefsOptions(fpreal t)
PRM_ChanState isAtKey(fpreal t) const
void evalStringInstRaw(const UT_StringRef &name, const int *inst, UT_String &val, int vi, fpreal t, int nestlevel=1) const
virtual void ensureErrorsAreUpdatedSubclass()
static void followChannelReferences(const OP_FollowChanRefsOptions &opt, OP_Node *&newop, PRM_Parm *&newparm, int &newvecidx)
virtual void ensureSpareParmsAreUpdatedSubclass()
void evalStringRaw(UT_String &val, const PRM_Parm *parm, int vi, fpreal t) const
exint evalInt(const UT_StringRef &pn, int *pi, int vi, fpreal t) const
void clearAndDestroyErrors()
**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
A map of string to various well defined value types.
void evalStringInst(const UT_StringRef &name, const int *inst, UT_String &val, int vi, fpreal t, int nestlevel=1) const
void opLocalWarning(int code, const char *m=0)
void evalString(UT_StringHolder &val, const UT_StringRef &pn, int vi, fpreal t) const
SIM_API const UT_StringHolder force
GLenum GLsizei GLsizei GLint * values
bool myFollowCHOPLayerOverrides
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
__hostdev__ constexpr T pi()
Pi constant taken from Boost to match old behaviour.
virtual void resolveObsoleteParms(PRM_ParmList *)
bool getParameterOrPropertyConst(const UT_StringRef &name, fpreal now, OP_Node *&op, PRM_Parm *&parm, PRM_ParmList *obsolete) const
Utility class for containing a color ramp.
void evalJSONMap(UT_JSONValueMap &val, const UT_StringRef &pn, int vi, fpreal t) const
bool evalParameterOrProperty(const UT_StringRef &parm_name, int vec_index, fpreal now, int &value, PRM_Parm **parmptr=NULL) const
OP_API void OPsaveChannelForUndo(CH_Channel *chp)
OP_API PRM_Parm * OPgetParameterFromChannel(CH_Channel *chp, int *vecidx)
void evalStringRaw(UT_String &val, const UT_StringRef &pn, int *pi, int vi, fpreal t) const
void evalFloats(const PRM_Parm *parm, fpreal64 *v, fpreal t) const
UT_API UT_ErrorSeverity UTaddWarning(const char *type, int code, const char *msg=0, const UT_SourceLocation *loc=0)
virtual bool loadPresetContents(const char *token, UT_IStream &is)=0
virtual void initMultiparmInstance(UT_ValArray< PRM_Parm * > &p)=0
bool evalParameterOrPropertyExpr(const UT_StringRef &parm_name, int vec_index, fpreal now, UT_String &value, PRM_Parm **parmptr=NULL) const
void opMessage(int code, const char *m=0) const
A global error manager scope.
SYS_FORCE_INLINE const UT_String & getName() const
const OP_Stat & getStat() const
static bool followChannelReferencesOneStep(const OP_FollowChanRefsOptions &opt, OP_Node *&newop, PRM_Parm *&newparm, int &newvecidx)
PRM_DataItemHandle evalData(const UT_StringRef &pn, int *pi, int vi, fpreal t) const
void evalStringRaw(UT_StringHolder &val, const PRM_Parm *parm, int vi, fpreal t) const
**If you just want to fire and args
void takeDeactivateParm(uint idx)
int getErrorMessages(UT_String &messages, UT_ErrorSeverity severity=UT_ERROR_NONE)
exint evalInt(int pi, int vi, fpreal t) const
OP_API void OPsaveChannelsForUndo(const CH_ChannelList &channels)
exint evalIntInst(const UT_StringRef &name, const int *inst, int vi, fpreal t, int nestlevel=1) const
virtual void syncNodeVersion(const char *old_version, const char *current_version, bool *node_deleted)
virtual void doGetFullPath(UT_WorkBuffer &buf) const =0
Compute the full path of the node.
void opError(int code, const char *m=0) const
void evalFloats(const UT_StringRef &pn, fpreal64 *v, fpreal t) const
const PRM_Parm * getParmPtr(const UT_StringRef &name) const
void evalFloats(const UT_StringRef &pn, fpreal32 *v, fpreal t) const
bool evalParameterOrProperty(const UT_StringRef &parm_name, int vec_index, fpreal now, fpreal &values, PRM_Parm **parmptr=NULL) const
bool hasError(OP_Context &context)
void evalString(UT_StringHolder &val, const PRM_Parm *parm, int vi, fpreal t) const
UT_LockedRawPtr< UT_ErrorManager, OP_Lock > getLockedErrorManager()
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
void evalStringRaw(UT_StringHolder &val, int pi, int vi, fpreal t) const
int getTakeReferences() const
static void followChannelReferences(const OP_FollowChanRefsOptions &opt, CH_ChannelRef &ref)
bool hasParm(const UT_StringRef &name) const
void evalStringRaw(UT_String &val, const UT_StringRef &pn, int vi, fpreal t) const
UT_API UT_ErrorSeverity UTaddError(const char *type, int code, const char *msg=0, const UT_SourceLocation *loc=0)
void opFatal(int code, const char *m=0) const
ImageBuf OIIO_API channels(const ImageBuf &src, int nchannels, cspan< int > channelorder, cspan< float > channelvalues={}, cspan< std::string > newchannelnames={}, bool shuffle_channel_names=false, int nthreads=0)
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)
virtual PRM_ParmList * createObsoleteParmList()=0
void evalFloats(const UT_StringRef &pn, int *pi, fpreal32 *v, fpreal t) const