9 #ifndef __HOM_ParmTuple_h__
10 #define __HOM_ParmTuple_h__
39 virtual int __hash__() = 0;
45 SWIGOUT(%newobject parmTemplate;)
48 virtual std::string
name() = 0;
49 virtual std::string description() = 0;
54 virtual void _set(
const std::vector<double> &float_values) = 0;
55 virtual void setPending(
const std::vector<double> &float_values) = 0;
56 virtual void _set(
const std::vector<std::string> &string_values) = 0;
57 virtual void setPending(
const std::vector<std::string> &string_values) = 0;
58 virtual void _set(
const std::vector<HOM_Ramp *> &ramp_values) = 0;
59 virtual void setPending(
const std::vector<HOM_Ramp *> &ramp_values) = 0;
61 virtual void overwriteDefaults() = 0;
62 virtual void revertToDefaults() = 0;
63 virtual void revertToAndRestorePermanentDefaults() = 0;
66 virtual bool isAtDefault(
bool compare_temporary_defaults=
true,
67 bool compare_expressions=
true) = 0;
68 virtual bool isAtRampDefault() = 0;
70 virtual double rangeMin() = 0;
71 virtual double rangeMax() = 0;
72 virtual void setRange(
double min,
double max) = 0;
73 virtual void setRangeToDefault() = 0;
74 virtual bool isRangeAtDefault() = 0;
76 virtual void setDefaultRange(
double min,
double max) = 0;
77 virtual void clearDefaultRange() = 0;
79 virtual std::vector<double> evalAsFloats() = 0;
81 virtual std::vector<double> evalAsFloatsAtFrame(
double frame) = 0;
83 virtual std::vector<int> evalAsInts() = 0;
85 virtual std::vector<int> evalAsIntsAtFrame(
double frame) = 0;
87 virtual std::vector<std::string> evalAsStrings() = 0;
89 virtual std::vector<std::string> evalAsStringsAtFrame(
double frame) = 0;
91 virtual std::vector<HOM_ElemPtr<HOM_Ramp> > evalAsRamps() = 0;
93 SWIGOUT(%newobject evalAsRampAtFrame;)
96 SWIGOUT(%newobject evalAsGeometries;)
99 SWIGOUT(%newobject evalAsGeometriesAtFrame;)
102 SWIGOUT(%newobject evalAsImageLayers;)
105 SWIGOUT(%newobject evalAsImageLayersAtFrame;)
108 SWIGOUT(%newobject evalAsNanoVDBs;)
111 SWIGOUT(%newobject evalAsNanoVDBsAtFrame;)
114 SWIGOUT(%newobject evalAsDetachedAttribs;)
117 SWIGOUT(%newobject evalAsDetachedAttribsAtFrame;)
120 virtual std::vector<std::map<std::string, std::string> >
121 evalAsJSONMaps() = 0;
122 virtual std::vector<std::map<std::string, std::string> >
123 evalAsJSONMapsAtFrame(
double frame) = 0;
126 virtual void lock(
bool on) = 0;
127 virtual void lock(
const std::vector<bool> &bool_values) = 0;
128 virtual void setAutoscope(
const std::vector<bool> &bool_values) = 0;
130 virtual bool isSpare() = 0;
132 virtual bool isTimeDependent() = 0;
134 virtual bool isMultiParmInstance() = 0;
135 virtual bool isMultiParmParent() = 0;
136 SWIGOUT(%newobject parentMultiParm;)
137 virtual HOM_Parm *parentMultiParm() = 0;
138 virtual std::vector<int> multiParmInstanceIndices() = 0;
140 virtual int multiParmInstancesPerItem() = 0;
141 virtual int multiParmInstancesCount() = 0;
142 virtual int multiParmStartOffset() = 0;
144 virtual std::vector<HOM_ElemPtr<HOM_ParmTuple> > multiParmInstances() = 0;
146 virtual void insertMultiParmInstance(
int inst_index) = 0;
148 virtual void removeMultiParmInstance(
int inst_index) = 0;
150 virtual void moveMultiParmInstances(
const std::vector<int> &moves) = 0;
151 virtual void moveUpMultiParmInstance(
int inst_index) = 0;
152 virtual void moveDownMultiParmInstance(
int inst_index) = 0;
154 virtual std::vector<std::string> containingFolders() = 0;
155 virtual std::vector<int> containingFolderIndices() = 0;
156 virtual std::vector<HOM_ElemPtr<HOM_ParmTuple> >
157 containingFolderSetParmTuples() = 0;
159 virtual void setKeyframe(
const std::vector<HOM_BaseKeyframe *> &keyframes) = 0;
160 virtual void deleteKeyframeAtFrame(
double frame) = 0;
161 virtual void deleteAllKeyframes() = 0;
163 SWIGOUT(%newobject __getitem__;)
165 virtual int __len__() = 0;
166 virtual bool __bool__() = 0;
168 SWIGOUT(%newobject createClip;)
172 bool apply_immediately,
173 bool current_value_only=
false,
174 bool create_locked=
false,
175 bool set_value_to_default=
false) = 0;
177 virtual void appendClip(
HOM_Node &chop_node,
178 bool apply_immediately,
179 bool current_value_only=
false,
180 bool create_locked=
false,
181 bool set_value_to_default=
false) = 0;
186 bool use_blosc_compression =
true,
187 double sample_rate = 0) = 0;
192 bool blosc_compressed =
true,
193 double sample_rate = 0,
196 virtual void _saveClip(std::string file_name,
199 double sample_rate = 0) = 0;
202 virtual void _loadClip(std::string file_name,
203 double sample_rate = 0,
206 virtual void copyToParmClipboard() = 0;
211 virtual std::string asCode(
bool brief=
false,
bool save_values=
true,
212 bool save_keyframes=
true,
213 bool save_keys_in_frames=
false,
214 bool save_flag_values=
true,
215 bool save_aliases=
true,
216 const char *function_name=NULL) = 0;
223 virtual int parmDataTypeEnumId() = 0;
231 virtual int dataParmTypeEnumId() = 0;
233 virtual std::string
help() = 0;
234 virtual std::string helpUrl() = 0;
236 virtual bool isDisabled() = 0;
238 virtual void disable(
bool on) = 0;
240 virtual bool isHidden() = 0;
242 virtual void hide(
bool on) = 0;
244 virtual bool isVisible() = 0;
246 virtual bool isConstrained() = 0;
248 virtual bool isShowingExpression() = 0;
249 virtual void showExpression(
bool value) = 0;
254 %warnfilter(321)
eval;
255 InterpreterObject
eval()
257 return HOMevalParmTuple(*
self);
260 InterpreterObject evalAtFrame(
double frame)
262 return HOMevalParmTupleAtFrame(*
self, frame);
265 InterpreterObject evalAtTime(
double time)
267 return HOMevalParmTupleAtFrame(*
self,
HOM().timeToFrame(time));
#define HOM_DESTRUCT_OBJECT(pointer)
GT_API const UT_StringHolder time
GLsizei const GLfloat * value
const GLuint GLenum const void * binary
string __repr__(VtArray< T > const &self)
ImageBuf OIIO_API min(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
std::string help(const App *app, const Error &e)
Printout the full help string on error (if this fn is set, the old default for CLI11) ...
void ignore(T const &) VULKAN_HPP_NOEXCEPT
#define HOM_CONSTRUCT_OBJECT(pointer)
bool operator!=(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Inequality operator, does exact floating point comparisons.
#define HOM_MIN_NEGATIVE_DOUBLE
HUSD_API bool eval(VtValue &val, T &ret_val)
GLuint const GLchar * name
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
ImageBuf OIIO_API max(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
HOM_API HOM_Module & HOM()
bool operator==(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Equality operator, does exact floating point comparisons.
HOM_ParmTuple(const HOM_ParmTuple &parm_tuple)