10 #define __HOM_Parm_h__
48 virtual bool operator<(
HOM_Parm *parm) = 0;
50 virtual int __hash__() = 0;
57 SWIGOUT(%warnfilter(321) tuple;)
60 SWIGOUT(%newobject parmTemplate;)
63 virtual std::string
name() = 0;
64 virtual std::string
path() = 0;
65 virtual std::string description() = 0;
66 virtual int componentIndex() = 0;
68 virtual std::vector<std::string> menuContents() = 0;
69 virtual std::vector<std::string> menuLabels() = 0;
70 virtual std::vector<std::string> menuItems() = 0;
71 virtual bool isDynamicMenu() = 0;
74 virtual void pressButton(std::map<std::string, hboost::any>
const & arguments=std::map<std::string, hboost::any>()) = 0;
77 bool follow_parm_reference=
true) = 0;
79 virtual void _set(
double float_value) = 0;
80 virtual void _setPending(
double float_value) = 0;
81 virtual void _set(
int64 int_value) = 0;
82 virtual void _setPending(
int64 int_value) = 0;
91 virtual void _set(
const std::map<std::string, std::string> &map) = 0;
92 virtual void _setPending(
const std::map<std::string, std::string> &map) = 0;
93 virtual void _set(
HOM_Ramp *ramp_value) = 0;
94 virtual void _setPending(
HOM_Ramp *ramp_value) = 0;
98 bool follow_parm_reference=
true) = 0;
100 virtual void _setNone() = 0;
101 virtual void _setNonePending() = 0;
104 virtual void setFromParmDefaults(
HOM_Parm &
src) = 0;
106 virtual void overwriteDefaults() = 0;
107 virtual void revertToDefaults() = 0;
108 virtual void revertToAndRestorePermanentDefaults() = 0;
109 virtual void revertToRampDefaults() = 0;
110 virtual bool hasTemporaryDefaults() = 0;
112 virtual bool isAtDefault(
bool compare_temporary_defaults=
true,
113 bool compare_expressions=
true) = 0;
114 virtual bool isAtRampDefault() = 0;
116 SWIGOUT(%kwargs setExpression;)
117 virtual void setExpression(
const char *expression,
119 bool replace_expression=
true) = 0;
120 virtual std::string expression() = 0;
124 virtual std::string rawValue() = 0;
126 virtual bool isShowingExpression() = 0;
127 virtual void showExpression(
bool value) = 0;
130 virtual void setKeyframes(
const std::vector<HOM_BaseKeyframe *> &keyframes) = 0;
132 virtual std::vector<HOM_ElemPtr<HOM_BaseKeyframe> > keyframes() = 0;
134 virtual std::vector<HOM_ElemPtr<HOM_BaseKeyframe> >
135 keyframesInRange(
double start_frame,
double end_frame) = 0;
137 virtual std::vector<HOM_ElemPtr<HOM_BaseKeyframe> > keyframesBefore(
double frame) = 0;
138 virtual std::vector<HOM_ElemPtr<HOM_BaseKeyframe> > keyframesAfter(
double frame) = 0;
140 virtual double evalAsFloat() = 0;
141 virtual double evalAsFloatAtFrame(
double frame) = 0;
142 virtual int64 evalAsInt() = 0;
143 virtual int64 evalAsIntAtFrame(
double frame) = 0;
144 virtual std::string evalAsString() = 0;
145 virtual std::string evalAsStringAtFrame(
double frame) = 0;
147 virtual HOM_Geometry *evalAsGeometryAtFrame(
double frame) = 0;
149 virtual HOM_ImageLayer *evalAsImageLayerAtFrame(
double frame) = 0;
151 virtual HOM_NanoVDB *evalAsNanoVDBAtFrame(
double frame) = 0;
152 virtual std::map<std::string, std::string> evalAsJSONMap() = 0;
153 virtual std::map<std::string, std::string>
154 evalAsJSONMapAtFrame(
double frame) = 0;
155 SWIGOUT(%newobject evalAsRamp;)
157 SWIGOUT(%newobject evalAsRampAtFrame;)
158 virtual HOM_Ramp *evalAsRampAtFrame(
double frame) = 0;
159 SWIGOUT(%newobject evalAsNode;)
161 SWIGOUT(%newobject evalAsNodeAtFrame;)
162 virtual HOM_Node *evalAsNodeAtFrame(
double frame) = 0;
163 virtual std::vector<HOM_ElemPtr<HOM_Node> > evalAsNodes() = 0;
164 virtual std::vector<HOM_ElemPtr<HOM_Node> > evalAsNodesAtFrame(
double frame) = 0;
165 virtual std::string evalAsNodePath() = 0;
166 virtual std::string evalAsNodePathAtFrame(
double frame) = 0;
167 virtual std::vector<std::string> evalAsNodePaths() = 0;
168 virtual std::vector<std::string> evalAsNodePathsAtFrame(
double frame) = 0;
170 virtual std::string unexpandedString() = 0;
172 virtual void deleteKeyframeAtFrame(
double frame) = 0;
174 virtual void deleteAllKeyframes() = 0;
177 SWIGOUT(%newobject getReferencedParm;)
178 virtual HOM_Parm *getReferencedParm() = 0;
180 virtual std::vector<HOM_ElemPtr<HOM_Parm> > parmsReferencingThis() = 0;
182 virtual bool isLocked() = 0;
183 virtual void lock(
bool on) = 0;
185 virtual bool isAutoscoped() = 0;
186 virtual void setAutoscope(
bool on) = 0;
188 virtual bool isScoped() = 0;
189 virtual void setScope(
bool on) = 0;
191 virtual bool isAutoSelected() = 0;
192 virtual void setAutoSelect(
bool on) = 0;
194 virtual bool isSelected() = 0;
195 virtual void setSelect(
bool on) = 0;
197 virtual std::string alias() = 0;
198 virtual void setAlias(
const char *alias_name) = 0;
200 virtual bool isSpare() = 0;
202 virtual bool isTimeDependent() = 0;
204 virtual bool isMultiParmInstance() = 0;
205 virtual bool isMultiParmParent() = 0;
206 SWIGOUT(%newobject parentMultiParm;)
207 virtual HOM_Parm *parentMultiParm() = 0;
208 virtual std::vector<int> multiParmInstanceIndices() = 0;
210 virtual int multiParmInstancesPerItem() = 0;
211 virtual int multiParmInstancesCount() = 0;
212 virtual int multiParmStartOffset() = 0;
214 virtual std::vector<HOM_ElemPtr<HOM_Parm> > multiParmInstances() = 0;
216 virtual void insertMultiParmInstance(
int inst_index) = 0;
218 virtual void removeMultiParmInstance(
int inst_index) = 0;
220 virtual void moveMultiParmInstances(
const std::vector<int> &moves) = 0;
221 virtual void moveUpMultiParmInstance(
int inst_index) = 0;
222 virtual void moveDownMultiParmInstance(
int inst_index) = 0;
224 virtual std::vector<std::string> containingFolders() = 0;
225 virtual std::vector<int> containingFolderIndices() = 0;
226 virtual std::vector<HOM_ElemPtr<HOM_ParmTuple> >
227 containingFolderSetParmTuples() = 0;
230 virtual std::string asCode(
232 bool save_values =
true,
233 bool save_keyframes =
true,
234 bool save_keys_in_frames=
false,
235 bool save_flag_values=
true,
236 bool save_aliases=
true,
237 const char *function_name = NULL) = 0;
244 virtual int parmDataTypeEnumId() = 0;
252 virtual int dataParmTypeEnumId() = 0;
254 SWIGOUT(%newobject createClip;)
258 bool apply_immediately,
259 bool current_value_only=
false,
260 bool create_locked=
false,
261 bool set_value_to_default=
false) = 0;
263 virtual void appendClip(
HOM_Node &chop_node,
264 bool apply_immediately,
265 bool current_value_only=
false,
266 bool create_locked=
false,
267 bool set_value_to_default=
false) = 0;
272 bool use_blosc_compression =
true,
273 double sample_rate = 0) = 0;
278 bool blosc_compressed =
true,
279 double sample_rate = 0,
282 virtual void _saveClip(std::string file_name,
285 double sample_rate = 0) = 0;
288 virtual void _loadClip(std::string file_name,
289 double sample_rate = 0,
292 SWIGOUT(%newobject overrideTrack;)
294 virtual bool isOverrideTrackActive() = 0;
296 virtual void copyToParmClipboard() = 0;
298 virtual bool isDisabled() = 0;
300 virtual void disable(
bool on) = 0;
302 virtual bool isHidden() = 0;
304 virtual void hide(
bool on) = 0;
306 virtual bool isVisible() = 0;
308 virtual bool isConstrained() = 0;
310 virtual bool isPending() = 0;
312 virtual HOM_EnumValue &keyframeExtrapolation(
bool before ) = 0;
314 virtual void setKeyframeExtrapolation(
bool before,
HOM_EnumValue &e ) = 0;
316 SWIGOUT(%kwargs keyframesRefit;)
317 virtual void keyframesRefit(
318 bool refit,
double refit_tol,
bool refit_preserve_extrema,
319 bool refit_bezier,
bool resample,
double resample_rate,
double resample_tol,
320 bool range,
double range_start,
double range_end,
HOM_EnumValue &bake_chop,
const char *expression=
"",
321 bool refit_smooth=
false) = 0;
323 SWIGOUT(%newobject uiBackgroundColor;)
324 virtual HOM_Color *uiBackgroundColor() = 0;
326 virtual void _moveKeyframes(
const std::vector<int> &keyframe_ids,
327 const std::vector<double> &time_offsets,
328 const std::vector<double> &value_offsets) = 0;
330 virtual void _deleteKeyframes(
const std::vector<int> &keyframe_ids) = 0;
332 virtual void _moveAllKeyframes(
double time_offset,
double value_offset)=0;
337 %warnfilter(321)
eval;
338 InterpreterObject
eval()
340 return HOMevalParm(*
self);
343 InterpreterObject evalAtFrame(
double frame)
345 return HOMevalParmAtFrame(*
self, frame);
348 InterpreterObject evalAtTime(
double time)
350 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)
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 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.