87 virtual const char *getDataTypeToken()
const = 0;
88 virtual bool saveAscii(std::ostream &os)
const = 0;
89 virtual bool saveBinary(std::ostream &os)
const = 0;
90 virtual int64 getMemoryUsage()
const = 0;
113 virtual const char *getDataTypeToken()
const = 0;
125 static void saveTypedAscii(
138 virtual const char *getDataType()
const = 0;
139 virtual int64 getMemoryUsage()
const = 0;
146 UT_SMALLOBJECT_CLEANPAGES_DEFAULT,
147 UT_SMALLOBJECT_PAGESIZE_DEFAULT,
148 UT_SMALLOBJECT_THREADSAFE_OFF>
162 void adoptOverrides(
PRM_Parm &srcparm);
165 void revertToDefault(
fpreal time,
int index,
bool propagate=
true);
166 void restoreFactoryDefaults();
167 void restoreFactoryDefault(
int index);
170 {
return myDestructiveRevertToDefaultFlag; }
172 { myDestructiveRevertToDefaultFlag =
v; }
175 {
return myRevertInvisibleToDefaultsFlag; }
177 { myRevertInvisibleToDefaultsFlag =
v; }
180 {
return myMakeSpareParmsForUnknownChannelsFlag; }
182 { myMakeSpareParmsForUnknownChannelsFlag =
v; }
185 static bool isStringThatCanExpand(
const char *str);
186 static bool isOrdinalExpression(
const char *str,
188 static bool isOrdinalExpression(
const PRM_Default &dflt,
193 static void convertStringToExprLanguage(
const char *str,
196 static void convertStringFromExprLanguage(
const char *str,
200 static bool getIsAddingOrRemovingMultiParms();
205 static void instanceMultiString(
UT_String &token,
207 bool fill_remaining=
true);
208 static void instanceMultiString(
UT_String &token,
209 const int *indexlist,
int num,
210 bool fill_remaining=
true);
213 bool fill_remaining=
true);
215 const int *indexlist,
int num,
216 bool fill_remaining=
true);
223 int isFactoryDefault()
const;
224 int isFactoryDefault(
int index)
const;
230 int isTrueFactoryDefault(
int index)
const;
231 int isTrueFactoryDefault()
const;
236 int isFactoryDefaultUI(
int index)
const;
237 int isFactoryDefaultUI()
const;
239 void overwriteDefaults(
fpreal time);
240 void overwriteDefault(
fpreal time,
int index);
243 void changeOpRef(
const char *new_fullpath,
const char *old_fullpath,
244 const char *old_cwd,
const char *chan_name,
245 const char *old_chan_name,
246 void (*undo_callback)(
void *),
void *undo_data,
256 bool expand,
int thread)
const;
258 bool expand,
int thread)
const;
265 bool expand,
int thread)
const;
271 void getDefaultValue(
fpreal &
value,
int index)
const;
278 int index,
int thread)
const;
283 int index,
int thread)
const;
285 int index,
int thread)
const;
290 int index,
int thread)
const;
295 bool rmchannel =
false,
bool propagate =
true);
305 bool kill_expr =
false,
int index = 0,
307 bool propagate =
true);
310 bool kill_expr =
false,
int index = 0,
312 bool propagate =
true);
315 bool kill_expr =
false,
int index = 0,
317 bool propagate =
true);
320 bool kill_expr =
false,
int index = 0,
322 bool propagate =
true);
325 bool kill_expr =
false,
int index = 0,
327 bool propagate =
true);
335 bool kill_expr =
false,
337 bool propagate =
true);
339 bool kill_expr =
false,
341 bool propagate =
true);
343 bool kill_expr =
false,
345 bool propagate =
true);
348 bool kill_expr =
false,
350 bool propagate =
true);
357 bool isMultiParm()
const;
364 void insertMultiParmItem(
int index,
bool propagate = 1);
367 void removeMultiParmItem(
int index,
bool propagate = 1);
370 void revertMultiParmItem(
int index);
374 void revertAllMultiParmItems();
378 void assignMultiParmItem(
int from,
int to);
382 void swapMultiParmItem(
int from,
int to);
387 void moveMultiParmItems(
388 const UT_Array<std::pair<int,int>> &moves);
391 int getMultiParmNumItems()
const;
397 int getMultiParmInstancesPerItem()
const;
401 const char* getMultiParmToken(
int p,
int index)
const;
406 int getMultiParmUIEntries()
const;
409 const PRM_Template *getMultiParmTemplate(
int idx)
const;
414 PRM_Parm *getMultiParm(
int idx)
const;
415 int getMultiParmCount()
const;
423 { privateValueChanged(vec_idx, propagate,
425 void sendValueChanged(
int vec_idx,
bool propagate);
426 void indirectChange(
int vec_idx,
bool expr_changed,
427 bool update_multi =
true);
430 int setOverride(
int index,
int data_idx,
const char *
source,
432 const char *getOverride(
int index)
const;
433 int getOverrideDataIndex(
int index)
const;
435 bool getOverrideTrackName(
int index,
UT_String &trackname)
const;
437 int setOverrideDisable(
int index,
int onoff);
438 int getIsOverrideActive(
int index)
const;
449 bool current_value_only =
false,
456 void copyValue(
fpreal t,
int dest_vi,
457 const PRM_Parm &src_parm,
int src_vi,
459 bool current_value_only,
460 bool set_value_to_default =
false,
465 void addChannel(
int index,
bool propagate =
true);
466 void addChannel(
int index,
const char *theexpr,
468 int addChannel(
const char *
name);
469 int addChannel(
const char *
name,
const char *expr,
472 void clearAndDestroyChannels(
bool force =
false);
473 void removeChannel(
int index,
bool propagage =
true);
477 void clearAndDestroyUnrefChannels(
const PRM_Parm &repl_parm);
480 int getChannelCount()
const;
482 void reloadChannelPtrs();
483 int channelPtrModified(
const char *
name);
485 int isTimeDependent()
const;
486 bool isTimeDependent(
int subindex)
const;
487 int isDataDependent(
fpreal gtime)
const;
488 bool isDataDependent(
fpreal gtime,
int subindex)
const;
489 void forceTimeDependent(
int subindex);
491 bool hasContextOptionDeps(
int subindex)
const;
493 bool hasGlobalContextOptionDependency(
int subindex,
495 void forceContextOptionDep(
int subindex,
497 bool set_dependency_on_global,
498 bool node_is_cooking);
503 fpreal getMultiSize()
const;
504 int getMultiStartOffset()
const;
506 bool isRampType()
const;
507 bool isRampTypeColor()
const;
510 {
return getTemplatePtr()->getVectorSize(); }
523 bool isRangeDefault()
const;
526 void setRangeToDefault();
528 void getChannelToken(
UT_String &thestrref,
int index = 0)
const;
529 void getChannelLabel(
UT_String &thestrref,
int index = 0)
const;
531 void getLabel(
UT_String &thestrref)
const;
532 void getHelpText(
UT_String &helptext)
const;
533 void getHelpUrl(
UT_String &helptext)
const;
534 void getHelpTitle(
UT_String &helptext)
const;
537 const char *getLabel()
const;
541 {
return getTemplatePtr()->getTokenRef(); }
545 {
return getTemplatePtr()->getChannelToken(vi); }
549 {
return getTemplatePtr()->getDecodedChannelToken(vi); }
551 void getChannelLabelForUI(
UT_String &thestrref,
int vec_idx)
const;
555 unsigned getTokenHash()
const;
557 bool hasChannelAlias(
int subindex)
const ;
558 void getChannelAlias(
UT_String &stringref,
int subindex)
const;
560 getChannelAlias(
int subindex)
const;
568 bool setChannelAlias(
const char *token_alias,
int subindex);
576 void createInputNotifyValue();
579 bool hasMicroNodes()
const;
582 int isDirty(
int vector_idx=0)
const;
583 int areAllFlagsClean()
const;
584 void clearAllDirtyFlags();
588 bool isSendExtra(
int vi)
const;
589 bool hasAnySendExtraFlags()
const;
591 int findSubIndex(
const char *thechannelname,
bool allow_alias)
const;
601 unsigned getEnableState(
int comp = -1)
const;
602 unsigned getInstanceEnableState(
int comp = -1)
const;
603 int setEnableState(
int thestate,
int comp = -1);
605 bool getActiveTakeFlag()
const;
606 bool getAlwaysTakeFlag()
const;
607 void setActiveTakeFlag(
int onoff);
608 bool getBypassFlag()
const;
609 void setBypassFlag(
bool v);
611 bool getVisibleState(
int comp = -1)
const;
612 bool setVisibleState(
bool f,
int comp = -1);
614 int getExpressionState();
615 void setExpressionState(
int state);
617 void setValueState(
int state);
622 bool isValueEditableByUI(
fpreal time,
int index)
const;
627 bool isExpressionEditableByUI(
fpreal time,
int index)
const;
630 void hardenChanges(
fpreal time,
bool forceflag = 0,
631 const char *patt =
nullptr,
633 void hardenChanges(
fpreal time,
int index,
bool forceflag = 0,
634 const char *patt =
nullptr,
637 void setKey(
fpreal time,
int index);
638 void setKey(
fpreal time,
int index,
const char *
exp,
640 const char *patt =
nullptr,
644 bool accel_ratios =
true);
656 bool isLanguageOldExprOrLiteral(
fpreal time,
int index);
658 int changePending(
int index);
662 void save(std::ostream &os,
int binary,
bool compiled)
const;
668 void saveCommand(std::ostream &os,
int values=0,
int index=-1)
const;
669 int loadCommand(
int argc,
const char *
const argv[],
int index,
675 int findString(
const char *str,
bool fullword,
676 bool usewildcards)
const;
677 int changeString(
const char *from,
const char *to,
bool fullword);
679 bool notifyVarChange(
const char *varname);
681 bool getUndoSavedFlag();
685 void setUndoSavedFlag(
bool f);
687 bool getAutoTakeUndoSavedFlag();
691 void setAutoTakeUndoSavedFlag(
bool f);
693 bool getLockedFlag(
int vec_idx)
const;
694 bool areAllComponentsLocked()
const;
695 void setLockedFlag(
int vec_idx,
bool f);
696 unsigned int getLockedField()
const;
697 bool getAutoScopedFlag(
int vec_idx)
const;
698 void setAutoScopedFlag(
int vec_idx,
bool f);
699 unsigned int getAutoScopedField()
const;
703 int parm_group_mask ,
704 bool add_if_default ,
708 void destroyChildParms();
718 bool isCompatible(
const PRM_Parm &other_parm)
const;
722 bool isOfBasicType(
const PRM_Type &check_type)
const;
727 bool isParmValueEqual(
PRM_Parm &other_parm,
int vec_index,
729 bool isParmValueEqual(
int vec_index,
PRM_Parm &other_parm,
730 int other_index,
fpreal time,
738 int vec_index)
const;
742 void getAllChannelAliases(
UT_String &aliasstring,
743 char sep =
'/')
const;
746 bool isActive(
const int index)
const;
747 void setActive(
const int index,
const bool active);
749 int64 getMemoryUsage(
bool inclusive)
const;
751 bool isSpareParm()
const;
752 void setSpareParm(
bool sp)
const;
755 void setMultiParmOwner(
const PRM_Multi *multiparmowner);
773 bool instance_index=
true)
const;
775 void rebuildParmDependency();
777 bool isRotationParm()
const;
781 void setChannelReference(
fpreal time,
784 const char *ch_name=
nullptr,
786 bool rmchannel=
false);
796 const char *ch_name=
nullptr);
798 static bool isChanRefString(
const char *str,
bool is_expr,
801 bool getHaveCompiledExpressions()
const;
806 void setSaveLabelFlag(
bool f);
809 bool hasChannelCustomColor(
int index)
const;
810 const UT_Color &getChannelCustomColor(
int index)
const;
811 void setChannelCustomColor(
int index,
const UT_Color &
c);
812 void resetChannelCustomColor(
int index);
814 bool getAutoSelectFlag(
int vec_idx)
const;
815 void setAutoSelectFlag(
int vec_idx,
bool f);
816 unsigned int getAutoSelectField()
const;
818 void setTimeDependentMicroNode(
int subindex,
bool timedep)
const;
820 void privateValueChanged(
825 template <
typename DstT,
typename SrcT>
839 static bool myAlwaysHardenFlag;
840 static bool myDestructiveRevertToDefaultFlag;
841 static bool myRevertInvisibleToDefaultsFlag;
842 static bool myMakeSpareParmsForUnknownChannelsFlag;
CE_API bool evaluate(const CE_OSDRefinement &topo, const CE_OSDEvaluator &eval, const cl::Buffer &coarse, const CE_OSDPatchCoords &patch_coords, const CE_FloatArray *refined_data, cl::Buffer &out, cl::Buffer *du, cl::Buffer *dv)
GLsizei GLenum const void * indices
UT_JSONValueMap stores a map/dictionary of UT_JSONValue objects.
bool isDefault(const cgltf_texture_view &tv)
const UT_StringRef & getTokenRef() const
static bool getDestructiveRevertToDefaultFlag()
GT_API const UT_StringHolder time
static bool getMakeSpareParmsForUnknownChannelsFlag()
UT_SharedPtr< PRM_UndoData > PRM_UndoDataHandle
int getVectorSize() const
GLsizei const GLfloat * value
const GLuint GLenum const void * binary
UT_ConcurrentSet< UT_StringHolder > DEP_ContextOptionDeps
UT_Array< std::pair< UT_StringHolder, PRM_UndoDataHandle > > PRM_UndoDataList
GLsizei const GLchar *const * path
virtual bool canSaveAsUnprotectedString() const
ImageBuf OIIO_API min(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
static void setMakeSpareParmsForUnknownChannelsFlag(bool v)
virtual UT_JSONValueMap * getKeyValueDict() const
static bool getRevertInvisibleToDefaultsFlag()
__hostdev__ float getValue(uint32_t i) const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
GLint GLint GLsizei GLint GLenum GLenum type
const UT_StringHolder & getDecodedChannelToken(int vi=0) const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
static void setAlwaysHardenFlag(bool o)
GLsizei GLsizei GLchar * source
#define UT_NON_COPYABLE(CLASS)
Define deleted copy constructor and assignment operator inside a class.
void valueChanged(int vec_idx, bool propagate)
PRM_Callback getCallback()
GLuint const GLchar * name
const UT_StringHolder & getChannelToken(int vi=0) const
static void setRevertInvisibleToDefaultsFlag(bool v)
SYS_FORCE_INLINE UT_StringHolder getToken(Add enum_value)
that also have some descendant prim *whose name begins with which in turn has a child named baz where *the predicate active
static bool getAlwaysHardenFlag()
**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
SIM_API const UT_StringHolder force
GLenum GLsizei GLsizei GLint * values
ImageBuf OIIO_API max(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
PRM_ParmList * getOwner() const
PRM_API size_t UTformatBuffer(char *buffer, size_t buffer_size, const PRM_Parm &v)
that also have some descendant prim *whose name begins with which in turn has a child named baz where *the predicate and *a name There is also one special expression reference
static void setDestructiveRevertToDefaultFlag(bool v)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
PRM_MultiType
This type enum defines the different types of multi (dynamic) parameters.