9 #ifndef __HOM_ParmTuple_h__
10 #define __HOM_ParmTuple_h__
39 virtual int __hash__() = 0;
45 SWIGOUT(%newobject parmTemplate;)
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 std::vector<double> evalAsFloats() = 0;
72 virtual std::vector<double> evalAsFloatsAtFrame(
double frame) = 0;
74 virtual std::vector<int> evalAsInts() = 0;
76 virtual std::vector<int> evalAsIntsAtFrame(
double frame) = 0;
78 virtual std::vector<std::string> evalAsStrings() = 0;
80 virtual std::vector<std::string> evalAsStringsAtFrame(
double frame) = 0;
82 virtual std::vector<HOM_ElemPtr<HOM_Ramp> > evalAsRamps() = 0;
84 SWIGOUT(%newobject evalAsRampAtFrame;)
87 SWIGOUT(%newobject evalAsGeometries;)
90 SWIGOUT(%newobject evalAsGeometryAtFrame;)
93 virtual std::vector<std::map<std::string, std::string> >
95 virtual std::vector<std::map<std::string, std::string> >
96 evalAsJSONMapsAtFrame(
double frame) = 0;
99 virtual void lock(
bool on) = 0;
100 virtual void lock(
const std::vector<bool> &bool_values) = 0;
101 virtual void setAutoscope(
const std::vector<bool> &bool_values) = 0;
103 virtual bool isSpare() = 0;
105 virtual bool isTimeDependent() = 0;
107 virtual bool isMultiParmInstance() = 0;
108 virtual bool isMultiParmParent() = 0;
109 SWIGOUT(%newobject parentMultiParm;)
110 virtual HOM_Parm *parentMultiParm() = 0;
111 virtual std::vector<int> multiParmInstanceIndices() = 0;
113 virtual int multiParmInstancesPerItem() = 0;
114 virtual int multiParmInstancesCount() = 0;
115 virtual int multiParmStartOffset() = 0;
117 virtual std::vector<HOM_ElemPtr<HOM_ParmTuple> > multiParmInstances() = 0;
119 virtual std::vector<std::string> containingFolders() = 0;
120 virtual std::vector<int> containingFolderIndices() = 0;
121 virtual std::vector<HOM_ElemPtr<HOM_ParmTuple> >
122 containingFolderSetParmTuples() = 0;
124 virtual void setKeyframe(
const std::vector<HOM_BaseKeyframe *> &keyframes) = 0;
125 virtual void deleteKeyframeAtFrame(
double frame) = 0;
126 virtual void deleteAllKeyframes() = 0;
128 SWIGOUT(%newobject __getitem__;)
130 virtual int __len__() = 0;
131 virtual bool __bool__() = 0;
133 SWIGOUT(%newobject createClip;)
137 bool apply_immediately,
138 bool current_value_only=
false,
139 bool create_locked=
false,
140 bool set_value_to_default=
false) = 0;
142 virtual void appendClip(
HOM_Node &chop_node,
143 bool apply_immediately,
144 bool current_value_only=
false,
145 bool create_locked=
false,
146 bool set_value_to_default=
false) = 0;
151 bool use_blosc_compression =
true,
152 double sample_rate = 0) = 0;
157 bool blosc_compressed =
true,
158 double sample_rate = 0,
164 double sample_rate = 0) = 0;
168 double sample_rate = 0,
171 virtual void copyToParmClipboard() = 0;
176 virtual std::string asCode(
bool brief=
false,
bool save_values=
true,
177 bool save_keyframes=
true,
178 bool save_keys_in_frames=
false,
179 bool save_flag_values=
true,
180 bool save_aliases=
true,
181 const char *function_name=NULL) = 0;
188 virtual int parmDataTypeEnumId() = 0;
196 virtual int dataParmTypeEnumId() = 0;
201 virtual bool isDisabled() = 0;
203 virtual void disable(
bool on) = 0;
205 virtual bool isHidden() = 0;
207 virtual void hide(
bool on) = 0;
209 virtual bool isConstrained() = 0;
211 virtual bool isShowingExpression() = 0;
212 virtual void showExpression(
bool value) = 0;
217 %warnfilter(321)
eval;
218 InterpreterObject
eval()
220 return HOMevalParmTuple(*
self);
223 InterpreterObject evalAtFrame(
double frame)
225 return HOMevalParmTupleAtFrame(*
self, frame);
228 InterpreterObject evalAtTime(
double time)
230 return HOMevalParmTupleAtFrame(*
self,
HOM().timeToFrame(time));
#define HOM_DESTRUCT_OBJECT(pointer)
GT_API const UT_StringHolder time
GLsizei const GLchar *const * string
const GLuint GLenum const void * binary
string __repr__(VtArray< T > const &self)
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)
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)