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)
138 bool updateParmsAndSpareParmsFlags();
143 bool relative_references =
true);
153 const char *relative_path = NULL);
156 void animate(
unsigned idx);
157 void animate(
const char *
name);
158 void deAnimate(
unsigned idx);
159 void deAnimate(
const char *
name);
163 int destroyChannel(
const char *
name);
165 bool isObsoleteChannel(
const char *
name)
const;
167 void takeActivateParm(
uint idx,
bool enable=
true);
168 void takeActivateParm(
const char *
name,
bool enable=
true);
171 { takeActivateParm(idx,
false); }
173 { takeActivateParm(name,
false); }
175 { takeActivateParm(parm,
false); }
177 bool takeIsActiveParm(
uint idx);
178 bool takeIsActiveParm(
const char *
name);
179 bool takeIsActiveParm(
const PRM_Parm *parm);
189 {
return getChanState(t,
false); }
210 virtual
float getVariableValue(
int index,
int thread);
212 int getNumParms()
const
213 {
return myParmList->getEntries(); }
215 {
return myParmList->getParmIndex(name); }
224 const PRM_Parm *
p = myParmList->getParmPtr(i);
230 PRM_Parm *
p = myParmList->getParmPtr(name);
236 const PRM_Parm *
p = myParmList->getParmPtr(name);
241 {
return myParmList->getParmPtr(name) != 0; }
243 {
return myParmList->getParmPtr(name); }
245 {
return myParmList->getParmPtr(name); }
246 PRM_Parm *getParmPtrInst(
const char *
name,
const int *inst,
248 const PRM_Parm *getParmPtrInst(
const char *
name,
const int *inst,
249 int nestlevel = 1)
const;
260 {
return myChangingSpareParms; }
263 void deleteAllSpareParms();
278 const char *old_version,
279 const char *current_version,
285 virtual bool getParameterOrProperty(
290 bool create_missing_multiparms,
292 virtual bool getParameterOrPropertyByChannel(
310 return const_cast<OP_Parameters*
>(
this)->getParameterOrProperty(
311 name, now, op, parm,
false, obsolete);
318 virtual int findParametersOrProperties(
fpreal now,
328 return followChannelReferencesOneStepT(
329 opt, newop, newparm, newvecidx,
342 followChannelReferencesT(
343 opt, newop, newparm, newvecidx,
353 return followChannelReferencesWithDepsT(
354 opt, newop, newparm, newvecidx,
371 followChannelReferencesT(opt, ref,
SYSgetSTID());
376 static void getValueAsProcessedNodePaths(
fpreal t,
388 bool enableParm(
int pi,
int state,
int v = -1);
389 bool enableParm(
const char *pn,
int state,
int v = -1);
390 bool enableParmInst(
const char *
name,
const int *inst,
391 int state,
int nestlevel = 1,
393 unsigned getEnableState(
int pi,
int v = -1);
394 unsigned getEnableState(
const char *pn,
int v = -1);
395 unsigned getEnableStateInst(
const char *
name,
const int *inst,
396 int nestlevel = 1,
int v = -1);
398 bool setVisibleState(
int pi,
bool state,
int v = -1);
399 bool setVisibleState(
const char *pn,
bool state,
int v = -1);
400 bool setVisibleStateInst(
const char *
name,
const int *inst,
401 int state,
int nestlevel = 1,
404 bool getVisibleState(
int pi,
int v = -1);
405 bool getVisibleState(
const char *pn,
int v = -1);
429 {
return evalIntT(pn, pi, vi, t,
SYSgetSTID()); }
433 {
return evalIntT(parm, vi, t,
SYSgetSTID()); }
438 {
return evalFloatT(pi, vi, t,
SYSgetSTID()); }
442 {
return evalFloatT(pn, vi, t,
SYSgetSTID()); }
447 {
return evalFloatT(pn, pi, vi, t,
SYSgetSTID()); }
451 {
return evalFloatT(parm, vi, t,
SYSgetSTID()); }
457 {
return evalFloatsT(pi, v, t,
SYSgetSTID()); }
462 {
return evalFloatsT(pn, v, t,
SYSgetSTID()); }
467 {
return evalFloatsT(pn, pi, v, t,
SYSgetSTID()); }
471 {
return evalFloatsT(parm, v, t,
SYSgetSTID()); }
480 {
return evalFloatsT(pi, v, t,
SYSgetSTID()); }
485 {
return evalFloatsT(pn, v, t,
SYSgetSTID()); }
490 {
return evalFloatsT(pn, pi, v, t,
SYSgetSTID()); }
495 {
return evalFloatsT(parm, v, t,
SYSgetSTID()); }
499 int nestlevel = 1)
const;
506 {
return evalStringT(val, pi, vi, t,
SYSgetSTID()); }
509 {
return evalStringT(val, pi, vi, t,
SYSgetSTID()); }
517 {
return evalStringT(val, pn, vi, t,
SYSgetSTID()); }
521 {
return evalStringT(val, pn, vi, t,
SYSgetSTID()); }
531 return evalStringT(val, pn, pi, vi, t,
535 const char *pn,
int *
pi,
538 return evalStringT(val, pn, pi, vi, t,
550 return evalStringT(val, parm, vi, t,
556 return evalStringT(val, parm, vi, t,
568 return evalStringRawT(val, pi, vi, t,
577 return evalStringRawT(val, pn, vi, t,
586 return evalStringRawT(val, pn, pi, vi, t,
595 return evalStringRawT(val, parm, vi, t,
602 {
return evalDataT(pi, vi, t,
SYSgetSTID()); }
606 {
return evalDataT(pn, vi, t,
SYSgetSTID()); }
611 {
return evalDataT(pn, pi, vi, t,
SYSgetSTID()); }
615 {
return evalDataT(parm, vi, t,
SYSgetSTID()); }
623 {
return evalJSONMapT(
630 {
return evalJSONMapT(
661 return evalJSONMapRawT(
670 return evalJSONMapRawT(
680 return evalJSONMapRawT(
691 return evalJSONMapRawT(
709 const int *inst,
int vi,
710 fpreal t,
int nestlevel = 1)
const
712 return evalIntInstT(name, inst, vi, t,
716 const int *inst,
int vi,
718 int nestlevel = 1)
const;
720 const int *inst,
int vi,
721 fpreal t,
int nestlevel = 1)
const
723 return evalFloatInstT(name, inst, vi, t,
727 const int *inst,
int vi,
729 int nestlevel = 1)
const;
733 int nestlevel = 1)
const
735 return evalFloatsInstT(name, inst, v, t,
741 int nestlevel = 1)
const;
745 int nestlevel = 1)
const
747 return evalStringInstT(name, inst, val, vi,
753 int nestlevel = 1)
const
755 return evalStringInstT(name, inst, val, vi,
761 int thread,
int nestlevel = 1)
const;
765 int thread,
int nestlevel = 1)
const;
769 int nestlevel = 1)
const
771 return evalStringInstRawT(name, inst, val, vi,
778 int nestlevel = 1)
const;
780 const int *inst,
int vi,
781 fpreal t,
int nestlevel = 1)
const
783 return evalDataInstT(name, inst, vi, t,
787 const int *inst,
int vi,
789 int nestlevel = 1)
const;
808 return evalParameterOrPropertyT(parm_name,
812 bool evalParameterOrPropertyT(
const UT_StringRef &parm_name,
824 return evalParameterOrPropertyT(parm_name,
828 bool evalParameterOrPropertyT(
const UT_StringRef &parm_name,
839 return evalParameterOrPropertyT(parm_name,
843 bool evalParameterOrPropertyT(
const UT_StringRef &parm_name,
856 return evalParameterOrPropertyRawT(parm_name,
860 bool evalParameterOrPropertyRawT(
874 return evalParameterOrPropertyExprT(parm_name,
878 bool evalParameterOrPropertyExprT(
892 return evalVectorPropertyT(parm_name,
908 return evalVectorPropertyT(parm_name,
935 void setInt(
const char *parmname,
int &parmi,
int vectori,
fpreal t,
937 void setFloat(
int parmi,
int vectori,
fpreal t,
940 void setFloat(
const char *parmname,
int vectori,
fpreal t,
943 void setFloat(
const char *parmname,
int &parmi,
int vectori,
948 int parmi,
int vectori,
952 const char *parmname,
int vectori,
fpreal t);
955 const char *parmname,
956 int &parmi,
int vectori,
fpreal t);
957 void setData(
int parmi,
int vectori,
fpreal t,
959 void setData(
const char *parmname,
int vectori,
fpreal t,
961 void setData(
const char *parmname,
int &parmi,
int vectori,
fpreal t,
986 bool propagate=
true);
989 bool propagate=
true);
993 bool propagate=
true);
994 void setChRefFloat(
const char *pn,
int vi,
fpreal t,
998 bool propagate=
true);
1005 bool propagate=
true);
1012 bool propagate=
true)
1014 setChRefString(val, meaning, pi, vi, t,
1015 add_key, propagate);
1023 bool propagate=
true);
1030 bool propagate=
true)
1032 setChRefString(val, meaning, pn, vi, t,
1033 add_key, propagate);
1058 bool setParameterOrProperty(
const char *parm_name,
1063 bool propagate=
true);
1064 bool setParameterOrProperty(
const char *parm_name,
1069 bool propagate=
true);
1070 bool setParameterOrProperty(
const char *parm_name,
1075 bool propagate=
true);
1076 bool setParameterOrProperty(
const char *parm_name,
1082 bool propagate=
true);
1094 void setIntInst(
exint value,
const char *parmname,
1095 const int *inst,
int vectori,
fpreal t,
1097 void setFloatInst(
fpreal value,
const char *parmname,
1098 const int *inst,
int vectori,
fpreal t,
1102 const char *parmname,
1103 const int *inst,
int vectori,
fpreal t,
1106 const char *parmname,
const int *inst,
1107 int vectori,
fpreal t,
int nestlevel = 1);
1121 void setSilentInt(
int parmi,
int vectori,
fpreal t,
1123 void setSilentInt(
const char *parmname,
int vectori,
1125 void setSilentInt(
const char *parmname,
int &parmi,
1128 void setSilentFloat(
int parmi,
int vectori,
fpreal t,
1131 void setSilentFloat(
const char *parmname,
int vectori,
1134 void setSilentFloat(
const char *parmname,
1135 int &parmi,
int vectori,
1141 int parmi,
int vectori,
fpreal t);
1144 const char *parmname,
int vectori,
fpreal t);
1147 const char *parmname,
1148 int &parmi,
int vectori,
fpreal t);
1149 void setSilentData(
int parmi,
int vectori,
fpreal t,
1151 void setSilentData(
const char *parmname,
int vectori,
1153 void setSilentData(
const char *parmname,
1154 int &parmi,
int vectori,
fpreal t,
1157 void setSilentIntInst(
exint value,
const char *parmname,
1158 const int *inst,
int vectori,
1160 void setSilentFloatInst(
fpreal value,
const char *parmname,
1161 const int *inst,
int vectori,
1165 const char *parmname,
1166 const int *inst,
int vectori,
1169 const char *parmname,
const int *inst,
1170 int vectori,
fpreal t,
int nestlevel = 1);
1177 int vi,
fpreal t,
int nest_level = 1)
const;
1185 bool create_channels=
false);
1194 void insertMultiParmItem(
const char *pn,
int i);
1195 void removeMultiParmItem(
const char *pn,
int i);
1203 UT_Ramp &ramp,
bool *time_dep = NULL,
1215 bool convertObsAnimatedToStringExpression(
1217 const char *pn,
int vi,
fpreal t,
1232 const char *channel_name = 0);
1234 virtual int findString(
const char *str,
bool fullword,
1235 bool usewildcards)
const;
1236 virtual int changeString(
const char *from,
const char *to,
1250 bool isParmDirty(
int idx,
fpreal t);
1251 bool isParmDirty(
const char *
n,
fpreal t);
1252 bool isParmDirtyInst(
const char *
name,
const int *inst,
1255 void clearParmCache();
1260 bool isParmTimeDependent(
int idx,
int comp = -1)
const;
1265 bool isParmTimeDependent(
const char *
name,
1266 int comp = -1)
const;
1273 ensureErrorsAreUpdatedSubclass();
1276 stealGlobalErrors();
1277 return myErrorManager.getErrorMessages(messages,
1286 return myErrorManager.findError(type, code);
1292 return myErrorManager.removeError(idx);
1298 myErrorManager.pruneDuplicates();
1313 myErrorManager.addError(
"OP", code,
m);
1318 myErrorManager.addWarning(
"OP",code,
m);
1323 myErrorManager.addDeadlockError();
1329 int code,
const char *
m,
1335 myErrorManager.addGeneric(type, code, m, sev);
1343 myErrorManager.clearAndDestroyErrors();
1350 myErrorManager.clearAndDestroyErrors();
1353 virtual OP_ERROR getErrorSeverity();
1358 return myErrorManager.hasDeadlockError();
1363 ensureErrorsAreUpdatedSubclass();
1368 stealGlobalErrors();
1375 myErrorManager.updateSeverity(
1378 return myErrorManager.getSeverity();
1382 ensureErrorsAreUpdatedSubclass();
1387 stealGlobalErrors();
1394 myErrorManager.updateSeverity(
1397 return myErrorManager.getSeverity();
1400 bool borrow_only =
false);
1403 {
return myIsGettingSaveError; }
1406 void addChannelError(
const char *
type,
int code,
1407 const char *msg = 0);
1411 virtual void saveParmsForUndo(
bool scopedOnly =
false,
1413 void saveSingleParmForUndo(
PRM_Parm *parm);
1418 virtual void clearUndoFlags();
1419 virtual void setAnyUndoFlag();
1422 int canAccess(
unsigned mask)
const;
1423 bool canAccess(
unsigned mask,
const PRM_Parm *parm)
const;
1426 void updateUserMask();
1428 bool canModifyFromUI(
const PRM_Parm *parm,
int vi)
const;
1433 virtual int reloadNewFiles(
fpreal time_now);
1437 void parmChanged(
int parm_index );
1438 void parmExprChanged(
int parm_index);
1441 void operatorDeleted();
1444 void saveParmCommand(std::ostream &os,
int values = 0,
1445 int defaultstoo = 1,
1446 bool spareparms =
true)
const;
1447 int loadParmCommand(
int argc,
const char *
const argv[],
1448 int docallbacks,
void *
data,
1449 fpreal now,
bool followchrefs,
1451 void commandParmCallback(
void *
data,
fpreal now,
1452 int argc,
char *argv[],
1454 void saveMultiParmInstanceCommand(
1457 bool spareparms)
const;
1469 { myTakeReferences += dir; }
1471 {
return myTakeReferences; }
1479 void createChannelGroupsFromFolders(
CH_Group &parent_group,
1481 bool leaf_channels_only =
false,
1482 bool only_unlocked =
true);
1488 bool follow_layer_overrides=
true,
1489 bool include_animated=
false,
1490 bool follow_channel_refs=
true,
1491 bool include_autoscope=
true
1500 bool getParmIsVisible(
const char *parmname);
1508 const PRM_Template *getSpareParmLayoutTemplates()
const;
1510 int getSpareParmTemplatesId()
const;
1514 int numSpareInputs()
const;
1517 bool hasMultiparmInfo()
const;
1529 static void buildMParmInst(
const PRM_Template *templates,
1533 static bool isMParmInstance(
const char *chname,
1538 static void getLayersFromScopedChannels(
1546 bool propagate=
true);
1550 bool propagate=
true);
1553 const char *parmname,
int &
pi,
int vi,
1557 bool propagate=
true);
1574 bool updateParmDisableConditional(
1579 bool updateParmHideConditional(
1590 bool updateParmDisableIfInactive(
PRM_Parm &parm,
1591 bool disable =
true);
1597 virtual
unsigned disableParms();
1602 virtual
bool updateParmsFlags() {
return false; }
1606 void saveMultiParmForUndo(
int index);
1608 void stealGlobalErrors();
1616 myErrorManager, myErrorManagerLock);
1619 virtual void permissionError(
const char *chname = 0);
1627 int err = ev_GetErrNo(thread);
1630 evaluationError(parm, err, thread);
1634 void resetParmEventHandler();
1636 int *allocIndirect(
int size=64);
1655 static bool isReservedOpName(
const char *
name);
1657 virtual int rename(
const char *newname);
1658 virtual bool createSpareParameterFromChannel(
const char *chname);
1659 virtual bool createSpareParametersFromChannels(
1669 bool compiled,
int selected);
1670 OP_ERROR saveParmChannels(
int parm_index, std::ostream &os,
1671 int binary,
bool compiled);
1715 virtual void updateSpareParmTemplates(
1717 bool leavedefaultsunchanged) = 0;
1725 void evaluationError(
const PRM_Parm *parm,
int err,
1730 void setFullInt(
int parmi,
int vectori,
fpreal t,
1732 void setFullInt(
const char *parmname,
int vectori,
fpreal t,
1734 void setFullInt(
const char *parmname,
int &parmi,
1740 void setFullFloat(
const char *pn,
int vi,
fpreal t,
1743 void setFullFloat(
const char *pn,
int &
pi,
int vi,
1753 int vi,
fpreal t,
bool propagate);
1760 void setFullData(
int pi,
int vi,
fpreal t,
1762 void setFullData(
const char *pn,
int vi,
fpreal t,
1764 void setFullData(
const char *pn,
int &
pi,
int vi,
fpreal t,
1767 void setFullIntInst(
exint value,
const char *parmname,
1768 const int *inst,
int vectori,
fpreal t,
1769 int nestlevel,
bool propagate);
1771 const int *inst,
int vi,
fpreal t,
1772 int nestlevel,
bool propagate);
1776 const int *inst,
int vi,
fpreal t,
1777 int nestlevel,
bool propagate);
1779 const char *
name,
const int *inst,
1780 int vi,
fpreal t,
int nestlevel,
1799 bool determineParmVisibility(
const char *parmname,
1806 static void addLayerFromScopedChannels(
1811 mutable OP_Lock myErrorManagerLock;
1816 uint myTakeReferences;
1818 unsigned myUndoAllParmSavedFlag:1,
1819 myUndoScopedSavedFlag:1,
1821 myIsGettingSaveError:1;
1826 bool myChangingSpareParms;
1831 friend class OP_UndoParm;
1832 friend class OP_UndoSpareParm;
OP_API void OPtakeAutoActivateChannel(CH_Channel *chp)
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__)
GLuint const GLchar * name
virtual int64 getMemoryUsage(bool inclusive) const
virtual void checkChannelDependencies(CH_Channel *, CH_CHANGE_TYPE)
const UT_String & getName() 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
int getAnyUndoPending() const
IMF_EXPORT IMATH_NAMESPACE::V3f direction(const IMATH_NAMESPACE::Box2i &dataWindow, const IMATH_NAMESPACE::V2f &pixelPosition)
GLuint const GLfloat * val
OIIO_API bool rename(string_view from, string_view to, std::string &err)
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
GLint GLsizei const GLuint64 * values
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
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
GLsizei GLsizei GLchar * source
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
void opLocalDeadlockError()
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
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)
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
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 opLocalError(int code, const char *m=0)
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)
GLint GLenum GLsizei GLint GLsizei const void * data
void evalString(UT_String &val, int pi, int vi, fpreal t) const
const GLuint GLenum const void * binary
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
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)
bool hasParm(const char *name) const
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
*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 CH_ExprLanguage getExprLanguage() const =0
virtual void buildOpDependencies()
bool myIncludeOnlyNonIntKeys
bool getIsChangingSpareParms() const
GLuint GLuint GLsizei GLenum type
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()
GLsizei const GLchar *const * path
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()
PRM_Parm & getParm(const char *name)
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
bool myFollowCHOPLayerOverrides
virtual void resolveObsoleteParms(PRM_ParmList *)
bool getParameterOrPropertyConst(const UT_StringRef &name, fpreal now, OP_Node *&op, PRM_Parm *&parm, PRM_ParmList *obsolete) const
void evalString(UT_StringHolder &val, const char *pn, int *pi, int vi, fpreal t) const
Utility class for containing a color ramp.
void evalJSONMap(UT_JSONValueMap &val, const UT_StringRef &pn, int vi, fpreal t) const
const PRM_Parm & getParm(const char *name) 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)
void evalString(UT_String &val, const char *pn, int *pi, int vi, fpreal t) const
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.
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
constexpr T pi()
Pi constant taken from Boost to match old behaviour.
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.
OP_Operator * getOperator() const
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
int getParmIndex(const char *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
GLsizei const GLfloat * value
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
int getTakeReferences() const
static void followChannelReferences(const OP_FollowChanRefsOptions &opt, CH_ChannelRef &ref)
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