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 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 evalAsGeometriesAtFrame;)
93 SWIGOUT(%newobject evalAsImageLayers;)
96 SWIGOUT(%newobject evalAsImageLayersAtFrame;)
99 SWIGOUT(%newobject evalAsNanoVDBs;)
102 SWIGOUT(%newobject evalAsNanoVDBsAtFrame;)
105 virtual std::vector<std::map<std::string, std::string> >
106 evalAsJSONMaps() = 0;
107 virtual std::vector<std::map<std::string, std::string> >
108 evalAsJSONMapsAtFrame(
double frame) = 0;
111 virtual void lock(
bool on) = 0;
112 virtual void lock(
const std::vector<bool> &bool_values) = 0;
113 virtual void setAutoscope(
const std::vector<bool> &bool_values) = 0;
115 virtual bool isSpare() = 0;
117 virtual bool isTimeDependent() = 0;
119 virtual bool isMultiParmInstance() = 0;
120 virtual bool isMultiParmParent() = 0;
121 SWIGOUT(%newobject parentMultiParm;)
122 virtual HOM_Parm *parentMultiParm() = 0;
123 virtual std::vector<int> multiParmInstanceIndices() = 0;
125 virtual int multiParmInstancesPerItem() = 0;
126 virtual int multiParmInstancesCount() = 0;
127 virtual int multiParmStartOffset() = 0;
129 virtual std::vector<HOM_ElemPtr<HOM_ParmTuple> > multiParmInstances() = 0;
131 virtual std::vector<std::string> containingFolders() = 0;
132 virtual std::vector<int> containingFolderIndices() = 0;
133 virtual std::vector<HOM_ElemPtr<HOM_ParmTuple> >
134 containingFolderSetParmTuples() = 0;
136 virtual void setKeyframe(
const std::vector<HOM_BaseKeyframe *> &keyframes) = 0;
137 virtual void deleteKeyframeAtFrame(
double frame) = 0;
138 virtual void deleteAllKeyframes() = 0;
140 SWIGOUT(%newobject __getitem__;)
142 virtual int __len__() = 0;
143 virtual bool __bool__() = 0;
145 SWIGOUT(%newobject createClip;)
149 bool apply_immediately,
150 bool current_value_only=
false,
151 bool create_locked=
false,
152 bool set_value_to_default=
false) = 0;
154 virtual void appendClip(
HOM_Node &chop_node,
155 bool apply_immediately,
156 bool current_value_only=
false,
157 bool create_locked=
false,
158 bool set_value_to_default=
false) = 0;
163 bool use_blosc_compression =
true,
164 double sample_rate = 0) = 0;
169 bool blosc_compressed =
true,
170 double sample_rate = 0,
173 virtual void _saveClip(std::string file_name,
176 double sample_rate = 0) = 0;
179 virtual void _loadClip(std::string file_name,
180 double sample_rate = 0,
183 virtual void copyToParmClipboard() = 0;
188 virtual std::string asCode(
bool brief=
false,
bool save_values=
true,
189 bool save_keyframes=
true,
190 bool save_keys_in_frames=
false,
191 bool save_flag_values=
true,
192 bool save_aliases=
true,
193 const char *function_name=NULL) = 0;
200 virtual int parmDataTypeEnumId() = 0;
208 virtual int dataParmTypeEnumId() = 0;
210 virtual std::string
help() = 0;
211 virtual std::string helpUrl() = 0;
213 virtual bool isDisabled() = 0;
215 virtual void disable(
bool on) = 0;
217 virtual bool isHidden() = 0;
219 virtual void hide(
bool on) = 0;
221 virtual bool isConstrained() = 0;
223 virtual bool isShowingExpression() = 0;
224 virtual void showExpression(
bool value) = 0;
229 %warnfilter(321)
eval;
230 InterpreterObject
eval()
232 return HOMevalParmTuple(*
self);
235 InterpreterObject evalAtFrame(
double frame)
237 return HOMevalParmTupleAtFrame(*
self, frame);
240 InterpreterObject evalAtTime(
double time)
242 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)
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)