10 #define __HOM_Parm_h__
45 virtual bool operator<(
HOM_Parm *parm) = 0;
47 virtual int __hash__() = 0;
54 SWIGOUT(%warnfilter(321) tuple;)
57 SWIGOUT(%newobject parmTemplate;)
63 virtual int componentIndex() = 0;
65 virtual std::vector<std::string> menuLabels() = 0;
66 virtual std::vector<std::string> menuItems() = 0;
69 virtual void pressButton(std::map<std::string, hboost::any>
const & arguments=std::map<std::string, hboost::any>()) = 0;
71 virtual void _set(
double float_value) = 0;
72 virtual void _setPending(
double float_value) = 0;
73 virtual void _set(
int int_value) = 0;
74 virtual void _setPending(
int int_value) = 0;
79 virtual void _set(
const std::map<std::string, std::string> &map) = 0;
80 virtual void _setPending(
const std::map<std::string, std::string> &map) = 0;
81 virtual void _set(
HOM_Ramp *ramp_value) = 0;
82 virtual void _setPending(
HOM_Ramp *ramp_value) = 0;
86 bool follow_parm_reference=
true) = 0;
89 virtual void setFromParmDefaults(
HOM_Parm &
src) = 0;
91 virtual void revertToDefaults() = 0;
92 virtual void revertToAndRestorePermanentDefaults() = 0;
93 virtual bool hasTemporaryDefaults() = 0;
95 virtual bool isAtDefault(
bool compare_temporary_defaults=
true,
96 bool compare_expressions=
true) = 0;
99 virtual void setExpression(
const char *expression,
101 bool replace_expression=
true) = 0;
108 virtual bool isShowingExpression() = 0;
109 virtual void showExpression(
bool value) = 0;
112 virtual void setKeyframes(
const std::vector<HOM_BaseKeyframe *> &keyframes) = 0;
114 virtual std::vector<HOM_ElemPtr<HOM_BaseKeyframe> > keyframes() = 0;
116 virtual std::vector<HOM_ElemPtr<HOM_BaseKeyframe> >
117 keyframesInRange(
double start_frame,
double end_frame) = 0;
119 virtual std::vector<HOM_ElemPtr<HOM_BaseKeyframe> > keyframesBefore(
double frame) = 0;
120 virtual std::vector<HOM_ElemPtr<HOM_BaseKeyframe> > keyframesAfter(
double frame) = 0;
122 virtual double evalAsFloat() = 0;
123 virtual double evalAsFloatAtFrame(
double frame) = 0;
124 virtual int evalAsInt() = 0;
125 virtual int evalAsIntAtFrame(
double frame) = 0;
127 virtual std::string evalAsStringAtFrame(
double frame) = 0;
129 virtual HOM_Geometry *evalAsGeometryAtFrame(
double frame) = 0;
130 virtual std::map<std::string, std::string> evalAsJSONMap() = 0;
131 virtual std::map<std::string, std::string>
132 evalAsJSONMapAtFrame(
double frame) = 0;
133 SWIGOUT(%newobject evalAsRamp;)
135 SWIGOUT(%newobject evalAsRampAtFrame;)
136 virtual HOM_Ramp *evalAsRampAtFrame(
double frame) = 0;
137 SWIGOUT(%newobject evalAsNode;)
139 SWIGOUT(%newobject evalAsNodeAtFrame;)
140 virtual HOM_Node *evalAsNodeAtFrame(
double frame) = 0;
141 virtual std::vector<HOM_ElemPtr<HOM_Node> > evalAsNodes() = 0;
142 virtual std::vector<HOM_ElemPtr<HOM_Node> > evalAsNodesAtFrame(
double frame) = 0;
144 virtual std::string evalAsNodePathAtFrame(
double frame) = 0;
145 virtual std::vector<std::string> evalAsNodePaths() = 0;
146 virtual std::vector<std::string> evalAsNodePathsAtFrame(
double frame) = 0;
150 virtual void deleteKeyframeAtFrame(
double frame) = 0;
152 virtual void deleteAllKeyframes() = 0;
155 SWIGOUT(%newobject getReferencedParm;)
156 virtual HOM_Parm *getReferencedParm() = 0;
158 virtual std::vector<HOM_ElemPtr<HOM_Parm> > parmsReferencingThis() = 0;
160 virtual bool isLocked() = 0;
161 virtual void lock(
bool on) = 0;
163 virtual bool isAutoscoped() = 0;
164 virtual void setAutoscope(
bool on) = 0;
166 virtual bool isScoped() = 0;
167 virtual void setScope(
bool on) = 0;
169 virtual bool isAutoSelected() = 0;
170 virtual void setAutoSelect(
bool on) = 0;
172 virtual bool isSelected() = 0;
173 virtual void setSelect(
bool on) = 0;
176 virtual void setAlias(
const char *alias_name) = 0;
178 virtual bool isSpare() = 0;
180 virtual bool isTimeDependent() = 0;
182 virtual bool isMultiParmInstance() = 0;
183 virtual bool isMultiParmParent() = 0;
184 SWIGOUT(%newobject parentMultiParm;)
185 virtual HOM_Parm *parentMultiParm() = 0;
186 virtual std::vector<int> multiParmInstanceIndices() = 0;
188 virtual int multiParmInstancesPerItem() = 0;
189 virtual int multiParmInstancesCount() = 0;
190 virtual int multiParmStartOffset() = 0;
192 virtual std::vector<HOM_ElemPtr<HOM_Parm> > multiParmInstances() = 0;
194 virtual void insertMultiParmInstance(
int inst_index) = 0;
196 virtual void removeMultiParmInstance(
int inst_index) = 0;
198 virtual std::vector<std::string> containingFolders() = 0;
199 virtual std::vector<int> containingFolderIndices() = 0;
200 virtual std::vector<HOM_ElemPtr<HOM_ParmTuple> >
201 containingFolderSetParmTuples() = 0;
206 bool save_values =
true,
207 bool save_keyframes =
true,
208 bool save_keys_in_frames=
false,
209 bool save_flag_values=
true,
210 bool save_aliases=
true,
211 const char *function_name = NULL) = 0;
217 SWIGOUT(%ignore parmDataTypeEnumId;)
218 virtual int parmDataTypeEnumId() = 0;
225 SWIGOUT(%ignore dataParmTypeEnumId;)
226 virtual int dataParmTypeEnumId() = 0;
228 SWIGOUT(%newobject createClip;)
232 bool apply_immediately,
233 bool current_value_only=
false,
234 bool create_locked=
false,
235 bool set_value_to_default=
false) = 0;
237 virtual void appendClip(
HOM_Node &chop_node,
238 bool apply_immediately,
239 bool current_value_only=
false,
240 bool create_locked=
false,
241 bool set_value_to_default=
false) = 0;
246 bool use_blosc_compression =
true,
247 double sample_rate = 0) = 0;
252 bool blosc_compressed =
true,
253 double sample_rate = 0,
259 double sample_rate = 0) = 0;
263 double sample_rate = 0,
266 SWIGOUT(%newobject overrideTrack;)
268 virtual bool isOverrideTrackActive() = 0;
270 virtual void copyToParmClipboard() = 0;
272 virtual bool isDisabled() = 0;
274 virtual void disable(
bool on) = 0;
276 virtual bool isHidden() = 0;
278 virtual void hide(
bool on) = 0;
280 virtual bool isVisible() = 0;
282 virtual bool isConstrained() = 0;
284 virtual HOM_EnumValue &keyframeExtrapolation(
bool before ) = 0;
286 virtual void setKeyframeExtrapolation(
bool before,
HOM_EnumValue &e ) = 0;
288 virtual void keyframesRefit(
289 bool refit,
double refit_tol,
bool refit_preserve_extrema,
290 bool refit_bezier,
bool resample,
double resample_rate,
double resample_tol,
291 bool range,
double range_start,
double range_end,
HOM_EnumValue &bake_chop,
const char *expression=
"") = 0;
293 SWIGOUT(%newobject uiBackgroundColor;)
294 virtual HOM_Color *uiBackgroundColor() = 0;
296 virtual void _moveKeyframes(
const std::vector<int> &keyframe_ids,
297 const std::vector<double> &time_offsets,
298 const std::vector<double> &value_offsets) = 0;
300 virtual void _deleteKeyframes(
const std::vector<int> &keyframe_ids) = 0;
302 virtual void _moveAllKeyframes(
double time_offset,
double value_offset)=0;
307 %warnfilter(321)
eval;
308 InterpreterObject
eval()
310 return HOMevalParm(*
self);
313 InterpreterObject evalAtFrame(
double frame)
315 return HOMevalParmAtFrame(*
self, frame);
318 InterpreterObject evalAtTime(
double time)
320 return HOMevalParmAtFrame(*
self,
HOM().timeToFrame(time));
#define HOM_DESTRUCT_OBJECT(pointer)
GT_API const UT_StringHolder time
OIIO_API bool rename(string_view from, string_view to, std::string &err)
const GLuint GLenum const void * binary
GLsizei const GLchar *const * path
string __repr__(VtArray< T > const &self)
GLuint const GLchar * name
PUGI__FN xpath_string string_value(const xpath_node &na, xpath_allocator *alloc)
#define HOM_CONSTRUCT_OBJECT(pointer)
GLsizei const GLchar *const * string
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)
HOM_Parm(const HOM_Parm &parm)
GLsizei const GLfloat * value
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.