10 #define __HOM_Parm_h__
49 virtual bool operator<(
HOM_Parm *parm) = 0;
51 virtual int __hash__() = 0;
58 SWIGOUT(%warnfilter(321) tuple;)
61 SWIGOUT(%newobject parmTemplate;)
64 virtual std::string
name() = 0;
65 virtual std::string
path() = 0;
66 virtual std::string description() = 0;
67 virtual int componentIndex() = 0;
69 virtual std::vector<std::string> menuContents() = 0;
70 virtual std::vector<std::string> menuLabels() = 0;
71 virtual std::vector<std::string> menuItems() = 0;
72 virtual bool isDynamicMenu() = 0;
75 virtual void pressButton(std::map<std::string, hboost::any>
const & arguments=std::map<std::string, hboost::any>()) = 0;
78 bool follow_parm_reference=
true,
79 bool clear_channel=
true) = 0;
81 virtual void _set(
double float_value,
82 bool follow_parm_reference=
true) = 0;
83 virtual void _setPending(
double float_value) = 0;
84 virtual void _set(
int64 int_value,
85 bool follow_parm_reference=
true) = 0;
86 virtual void _setPending(
int64 int_value) = 0;
88 bool follow_parm_reference=
true) = 0;
91 bool follow_parm_reference=
true) = 0;
94 bool follow_parm_reference=
true) = 0;
97 bool follow_parm_reference=
true) = 0;
100 bool follow_parm_reference=
true) = 0;
103 bool follow_parm_reference=
true) = 0;
105 virtual void _set(
const std::map<std::string, std::string> &map,
106 bool follow_parm_reference=
true) = 0;
107 virtual void _setPending(
const std::map<std::string, std::string> &map) = 0;
108 virtual void _set(
HOM_Ramp *ramp_value,
109 bool follow_parm_reference=
true) = 0;
110 virtual void _setPending(
HOM_Ramp *ramp_value) = 0;
114 bool follow_parm_reference=
true) = 0;
116 virtual void _setNone() = 0;
117 virtual void _setNonePending() = 0;
120 virtual void setFromParmDefaults(
HOM_Parm &
src) = 0;
122 virtual void overwriteDefaults() = 0;
123 virtual void revertToDefaults() = 0;
124 virtual void revertToAndRestorePermanentDefaults() = 0;
125 virtual void revertToRampDefaults() = 0;
126 virtual bool hasTemporaryDefaults() = 0;
128 virtual bool isAtDefault(
bool compare_temporary_defaults=
true,
129 bool compare_expressions=
true) = 0;
130 virtual bool isAtRampDefault() = 0;
132 virtual double rangeMin() = 0;
133 virtual double rangeMax() = 0;
134 virtual void setRange(
double min,
double max) = 0;
135 virtual void setRangeToDefault() = 0;
136 virtual bool isRangeAtDefault() = 0;
138 virtual void setDefaultRange(
double min,
double max) = 0;
139 virtual void clearDefaultRange() = 0;
141 SWIGOUT(%kwargs setExpression;)
142 virtual void setExpression(
const char *expression,
144 bool replace_expression=
true) = 0;
145 virtual std::string expression() = 0;
149 virtual std::string rawValue() = 0;
151 virtual bool isShowingExpression() = 0;
152 virtual void showExpression(
bool value) = 0;
155 virtual void setKeyframes(
const std::vector<HOM_BaseKeyframe *> &keyframes) = 0;
157 virtual std::vector<HOM_ElemPtr<HOM_BaseKeyframe> > keyframes() = 0;
159 virtual std::vector<HOM_ElemPtr<HOM_BaseKeyframe> >
160 keyframesInRange(
double start_frame,
double end_frame) = 0;
162 virtual std::vector<HOM_ElemPtr<HOM_BaseKeyframe> > keyframesBefore(
double frame) = 0;
163 virtual std::vector<HOM_ElemPtr<HOM_BaseKeyframe> > keyframesAfter(
double frame) = 0;
165 virtual double evalAsFloat() = 0;
166 virtual double evalAsFloatAtFrame(
double frame) = 0;
167 virtual int64 evalAsInt() = 0;
168 virtual int64 evalAsIntAtFrame(
double frame) = 0;
169 virtual std::string evalAsString() = 0;
170 virtual std::string evalAsStringAtFrame(
double frame) = 0;
171 SWIGOUT(%newobject evalAsGeometry;)
173 SWIGOUT(%newobject evalAsGeometryAtFrame;)
174 virtual HOM_Geometry *evalAsGeometryAtFrame(
double frame) = 0;
175 SWIGOUT(%newobject evalAsImageLayer;)
177 SWIGOUT(%newobject evalAsImageLayerAtFrame;)
178 virtual HOM_ImageLayer *evalAsImageLayerAtFrame(
double frame) = 0;
179 SWIGOUT(%newobject evalAsNanoVDB;)
181 SWIGOUT(%newobject evalAsNanoVDBAtFrame;)
182 virtual HOM_NanoVDB *evalAsNanoVDBAtFrame(
double frame) = 0;
183 SWIGOUT(%newobject evalAsDetachedAttrib;)
185 SWIGOUT(%newobject evalAsDetachedAttribAtFrame;)
187 SWIGOUT(%newobject evalAsCopCable;)
189 SWIGOUT(%newobject evalAsCopCableAtFrame;)
190 virtual HOM_CopCable *evalAsCopCableAtFrame(
double frame) = 0;
191 virtual std::map<std::string, std::string> evalAsJSONMap() = 0;
192 virtual std::map<std::string, std::string>
193 evalAsJSONMapAtFrame(
double frame) = 0;
194 SWIGOUT(%newobject evalAsRamp;)
196 SWIGOUT(%newobject evalAsRampAtFrame;)
197 virtual HOM_Ramp *evalAsRampAtFrame(
double frame) = 0;
198 SWIGOUT(%newobject evalAsNode;)
200 SWIGOUT(%newobject evalAsNodeAtFrame;)
201 virtual HOM_Node *evalAsNodeAtFrame(
double frame) = 0;
202 virtual std::vector<HOM_ElemPtr<HOM_Node> > evalAsNodes() = 0;
203 virtual std::vector<HOM_ElemPtr<HOM_Node> > evalAsNodesAtFrame(
double frame) = 0;
204 virtual std::string evalAsNodePath() = 0;
205 virtual std::string evalAsNodePathAtFrame(
double frame) = 0;
206 virtual std::vector<std::string> evalAsNodePaths() = 0;
207 virtual std::vector<std::string> evalAsNodePathsAtFrame(
double frame) = 0;
209 virtual std::string unexpandedString() = 0;
211 virtual void deleteKeyframeAtFrame(
double frame) = 0;
213 virtual void deleteAllKeyframes() = 0;
216 SWIGOUT(%newobject getReferencedParm;)
217 virtual HOM_Parm *getReferencedParm() = 0;
219 virtual std::vector<HOM_ElemPtr<HOM_Parm> > parmsReferencingThis() = 0;
221 virtual bool isLocked() = 0;
222 virtual void lock(
bool on) = 0;
224 virtual bool isAutoscoped() = 0;
225 virtual void setAutoscope(
bool on) = 0;
227 virtual bool isScoped() = 0;
228 virtual void setScope(
bool on) = 0;
230 virtual bool isAutoSelected() = 0;
231 virtual void setAutoSelect(
bool on) = 0;
233 virtual bool isSelected() = 0;
234 virtual void setSelect(
bool on) = 0;
236 virtual std::string alias() = 0;
237 virtual void setAlias(
const char *alias_name) = 0;
239 virtual bool isSpare() = 0;
241 virtual bool isTimeDependent() = 0;
243 virtual bool isMultiParmInstance() = 0;
244 virtual bool isMultiParmParent() = 0;
245 SWIGOUT(%newobject parentMultiParm;)
246 virtual HOM_Parm *parentMultiParm() = 0;
247 virtual std::vector<int> multiParmInstanceIndices() = 0;
249 virtual int multiParmInstancesPerItem() = 0;
250 virtual int multiParmInstancesCount() = 0;
251 virtual int multiParmStartOffset() = 0;
253 virtual std::vector<HOM_ElemPtr<HOM_Parm> > multiParmInstances() = 0;
255 virtual void insertMultiParmInstance(
int inst_index) = 0;
257 virtual void removeMultiParmInstance(
int inst_index) = 0;
259 virtual void moveMultiParmInstances(
const std::vector<int> &moves) = 0;
260 virtual void moveUpMultiParmInstance(
int inst_index) = 0;
261 virtual void moveDownMultiParmInstance(
int inst_index) = 0;
263 virtual std::vector<std::string> containingFolders() = 0;
264 virtual std::vector<int> containingFolderIndices() = 0;
265 virtual std::vector<HOM_ElemPtr<HOM_ParmTuple> >
266 containingFolderSetParmTuples() = 0;
269 virtual std::string asCode(
271 bool save_values =
true,
272 bool save_keyframes =
true,
273 bool save_keys_in_frames=
false,
274 bool save_flag_values=
true,
275 bool save_aliases=
true,
276 const char *function_name = NULL) = 0;
283 virtual int parmDataTypeEnumId() = 0;
291 virtual int dataParmTypeEnumId() = 0;
293 SWIGOUT(%newobject createClip;)
297 bool apply_immediately,
298 bool current_value_only=
false,
299 bool create_locked=
false,
300 bool set_value_to_default=
false) = 0;
302 virtual void appendClip(
HOM_Node &chop_node,
303 bool apply_immediately,
304 bool current_value_only=
false,
305 bool create_locked=
false,
306 bool set_value_to_default=
false) = 0;
311 bool use_blosc_compression =
true,
312 double sample_rate = 0) = 0;
317 bool blosc_compressed =
true,
318 double sample_rate = 0,
321 virtual void _saveClip(std::string file_name,
324 double sample_rate = 0) = 0;
327 virtual void _loadClip(std::string file_name,
328 double sample_rate = 0,
331 SWIGOUT(%newobject overrideTrack;)
333 virtual bool isOverrideTrackActive() = 0;
335 virtual void copyToParmClipboard() = 0;
337 virtual bool isDisabled() = 0;
339 virtual void disable(
bool on) = 0;
341 virtual bool isHidden() = 0;
343 virtual void hide(
bool on) = 0;
345 virtual bool isVisible() = 0;
347 virtual bool isConstrained() = 0;
349 virtual bool isPending() = 0;
351 virtual HOM_EnumValue &keyframeExtrapolation(
bool before ) = 0;
353 virtual void setKeyframeExtrapolation(
bool before,
HOM_EnumValue &e ) = 0;
355 SWIGOUT(%kwargs keyframesRefit;)
356 virtual void keyframesRefit(
357 bool refit,
double refit_tol,
bool refit_preserve_extrema,
358 bool refit_bezier,
bool resample,
double resample_rate,
double resample_tol,
359 bool range,
double range_start,
double range_end,
HOM_EnumValue &bake_chop,
const char *expression=
"",
360 bool refit_smooth=
false) = 0;
362 SWIGOUT(%newobject uiBackgroundColor;)
363 virtual HOM_Color *uiBackgroundColor() = 0;
365 virtual void _moveKeyframes(
const std::vector<int> &keyframe_ids,
366 const std::vector<double> &time_offsets,
367 const std::vector<double> &value_offsets) = 0;
369 virtual void _deleteKeyframes(
const std::vector<int> &keyframe_ids) = 0;
371 virtual void _moveAllKeyframes(
double time_offset,
double value_offset)=0;
376 %warnfilter(321)
eval;
377 InterpreterObject
eval()
379 return HOMevalParm(*
self);
382 InterpreterObject evalAtFrame(
double frame)
384 return HOMevalParmAtFrame(*
self, frame);
387 InterpreterObject evalAtTime(
double time)
389 return HOMevalParmAtFrame(*
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
GLsizei const GLchar *const * path
string __repr__(VtArray< T > const &self)
ImageBuf OIIO_API min(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
PUGI__FN xpath_string string_value(const xpath_node &na, xpath_allocator *alloc)
GLenum GLuint GLint GLint layer
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.
char * lock(exint offset=0, exint reserve_bytes=0)
#define HOM_MIN_NEGATIVE_DOUBLE
HUSD_API bool eval(VtValue &val, T &ret_val)
GLuint const GLchar * name
HOM_Parm(const HOM_Parm &parm)
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)
ImageBuf OIIO_API resample(const ImageBuf &src, bool interpolate=true, 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.