HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SOP_CaptureAttribPack.proto.h
Go to the documentation of this file.
1 /* Automagically Generated by generate_proto.py
2  * Do not Edit
3  */
4 #pragma once
5 
6 #include <SOP/SOP_API.h>
7 #include <SOP/SOP_NodeVerb.h>
8 #include <SOP/SOP_GraphProxy.h>
9 
10 #include <OP/OP_Utils.h>
11 #include <PRM/PRM_Parm.h>
12 #include <UT/UT_IStream.h>
13 #include <UT/UT_NTStreamUtil.h>
14 #include <UT/UT_Ramp.h>
15 #include <UT/UT_SharedPtr.h>
16 #include <UT/UT_StringHolder.h>
17 #include <UT/UT_StringStream.h>
18 #include <UT/UT_VectorTypes.h>
19 #include <UT/UT_EnvControl.h>
20 #include <SYS/SYS_Types.h>
21 
22 class DEP_MicroNode;
23 namespace SOP_CaptureAttribPackEnums
24 {
25  enum class Class
26  {
27  DETAIL = 0,
28  PRIMITIVE,
29  POINT,
30  VERTEX
31  };
32 
34  getToken(Class enum_value)
35  {
36  using namespace UT::Literal;
37  switch (enum_value) {
38  case Class::DETAIL: return "detail"_sh;
39  case Class::PRIMITIVE: return "primitive"_sh;
40  case Class::POINT: return "point"_sh;
41  case Class::VERTEX: return "vertex"_sh;
42  default: UT_ASSERT(false); return ""_sh;
43  }
44  }
45 
46 }
47 
48 
50 {
51 public:
52  static int version() { return 1; }
53 
55  {
56  myClass = 2;
57  myAttrib = "boneCapture"_UTsh;
58  myPrefix = ""_UTsh;
59  mySecondaryPrefix = "secondary"_UTsh;
60  myPackProperties = true;
61  myPackData = true;
62  myDeleteArrayAttributes = true;
63 
64  }
65 
66  explicit SOP_CaptureAttribPackParms(const SOP_CaptureAttribPackParms &) = default;
69  SOP_CaptureAttribPackParms &operator=(SOP_CaptureAttribPackParms &&) noexcept = default;
70 
72 
74  {
75  if (myClass != src.myClass) return false;
76  if (myAttrib != src.myAttrib) return false;
77  if (myPrefix != src.myPrefix) return false;
78  if (mySecondaryPrefix != src.mySecondaryPrefix) return false;
79  if (myPackProperties != src.myPackProperties) return false;
80  if (myPackData != src.myPackData) return false;
81  if (myDeleteArrayAttributes != src.myDeleteArrayAttributes) return false;
82 
83  return true;
84  }
86  {
87  return !operator==(src);
88  }
90 
91 
92 
93  void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
94  {
95  myClass = 2;
96  if (true)
97  graph->evalOpParm(myClass, nodeidx, "class", time, 0);
98  myAttrib = "boneCapture"_UTsh;
99  if (true)
100  graph->evalOpParm(myAttrib, nodeidx, "attrib", time, 0);
101  myPrefix = ""_UTsh;
102  if (true)
103  graph->evalOpParm(myPrefix, nodeidx, "prefix", time, 0);
104  mySecondaryPrefix = "secondary"_UTsh;
105  if (true)
106  graph->evalOpParm(mySecondaryPrefix, nodeidx, "secondaryprefix", time, 0);
107  myPackProperties = true;
108  if (true)
109  graph->evalOpParm(myPackProperties, nodeidx, "packproperties", time, 0);
110  myPackData = true;
111  if (true)
112  graph->evalOpParm(myPackData, nodeidx, "packdata", time, 0);
113  myDeleteArrayAttributes = true;
114  if (true)
115  graph->evalOpParm(myDeleteArrayAttributes, nodeidx, "deletecapture", time, 0);
116 
117  }
118 
119 
120  void loadFromOpSubclass(const LoadParms &loadparms) override
121  {
122  buildFromOp(loadparms.graph(), loadparms.nodeIdx(), loadparms.context().getTime(), loadparms.depnode());
123  }
124 
125 
126  void copyFrom(const OP_NodeParms *src) override
127  {
128  *this = *((const SOP_CaptureAttribPackParms *)src);
129  }
130 
131  template <typename T>
132  void
133  doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
134  {
135  if (idx.size() < 1)
136  return;
137  UT_ASSERT(idx.size() == instance.size()+1);
138  if (idx.size() != instance.size()+1)
139  return;
140  switch (idx[0])
141  {
142  case 0:
143  coerceValue(value, myClass);
144  break;
145  case 1:
146  coerceValue(value, myAttrib);
147  break;
148  case 2:
149  coerceValue(value, myPrefix);
150  break;
151  case 3:
152  coerceValue(value, mySecondaryPrefix);
153  break;
154  case 4:
155  coerceValue(value, myPackProperties);
156  break;
157  case 5:
158  coerceValue(value, myPackData);
159  break;
160  case 6:
161  coerceValue(value, myDeleteArrayAttributes);
162  break;
163 
164  }
165  }
166 
167  bool isParmColorRamp(exint idx) const override
168  {
169  switch (idx)
170  {
171 
172  }
173  return false;
174  }
175 
176  void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
177  { doGetParmValue(idx, instance, value); }
178  void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
179  { doGetParmValue(idx, instance, value); }
180  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
181  { doGetParmValue(idx, instance, value); }
182  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
183  { doGetParmValue(idx, instance, value); }
184  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
185  { doGetParmValue(idx, instance, value); }
186  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
187  { doGetParmValue(idx, instance, value); }
188  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
189  { doGetParmValue(idx, instance, value); }
190  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
191  { doGetParmValue(idx, instance, value); }
192  void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
193  { doGetParmValue(idx, instance, value); }
194  void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr<UT_Ramp> &value) const override
195  { doGetParmValue(idx, instance, value); }
196  void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
197  { doGetParmValue(idx, instance, value); }
198 
199  template <typename T>
200  void
201  doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
202  {
203  if (idx.size() < 1)
204  return;
205  UT_ASSERT(idx.size() == instance.size()+1);
206  if (idx.size() != instance.size()+1)
207  return;
208  switch (idx[0])
209  {
210  case 0:
211  coerceValue(myClass, clampMinValue(0, clampMaxValue(3, value ) ));
212  break;
213  case 1:
214  coerceValue(myAttrib, ( ( value ) ));
215  break;
216  case 2:
217  coerceValue(myPrefix, ( ( value ) ));
218  break;
219  case 3:
220  coerceValue(mySecondaryPrefix, ( ( value ) ));
221  break;
222  case 4:
223  coerceValue(myPackProperties, ( ( value ) ));
224  break;
225  case 5:
226  coerceValue(myPackData, ( ( value ) ));
227  break;
228  case 6:
229  coerceValue(myDeleteArrayAttributes, ( ( value ) ));
230  break;
231 
232  }
233  }
234 
235  void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
236  { doSetParmValue(idx, instance, value); }
237  void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
238  { doSetParmValue(idx, instance, value); }
239  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
240  { doSetParmValue(idx, instance, value); }
241  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
242  { doSetParmValue(idx, instance, value); }
243  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
244  { doSetParmValue(idx, instance, value); }
245  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
246  { doSetParmValue(idx, instance, value); }
247  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
248  { doSetParmValue(idx, instance, value); }
249  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
250  { doSetParmValue(idx, instance, value); }
251  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
252  { doSetParmValue(idx, instance, value); }
253  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr<UT_Ramp> &value) override
254  { doSetParmValue(idx, instance, value); }
255  void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
256  { doSetParmValue(idx, instance, value); }
257 
258  exint getNestNumParms(TempIndex idx) const override
259  {
260  if (idx.size() == 0)
261  return 7;
262  switch (idx[0])
263  {
264 
265  }
266  // Invalid
267  return 0;
268  }
269 
270  const char *getNestParmName(TempIndex fieldnum) const override
271  {
272  if (fieldnum.size() < 1)
273  return 0;
274  switch (fieldnum[0])
275  {
276  case 0:
277  return "class";
278  case 1:
279  return "attrib";
280  case 2:
281  return "prefix";
282  case 3:
283  return "secondaryprefix";
284  case 4:
285  return "packproperties";
286  case 5:
287  return "packdata";
288  case 6:
289  return "deletecapture";
290 
291  }
292  return 0;
293  }
294 
295  ParmType getNestParmType(TempIndex fieldnum) const override
296  {
297  if (fieldnum.size() < 1)
298  return PARM_UNSUPPORTED;
299  switch (fieldnum[0])
300  {
301  case 0:
302  return PARM_INTEGER;
303  case 1:
304  return PARM_STRING;
305  case 2:
306  return PARM_STRING;
307  case 3:
308  return PARM_STRING;
309  case 4:
310  return PARM_INTEGER;
311  case 5:
312  return PARM_INTEGER;
313  case 6:
314  return PARM_INTEGER;
315 
316  }
317  return PARM_UNSUPPORTED;
318  }
319 
320  // Boiler plate to load individual types.
321  static void loadData(UT_IStream &is, int64 &v)
322  { is.bread(&v, 1); }
323  static void loadData(UT_IStream &is, bool &v)
324  { int64 iv; is.bread(&iv, 1); v = iv; }
325  static void loadData(UT_IStream &is, fpreal64 &v)
326  { is.bread<fpreal64>(&v, 1); }
327  static void loadData(UT_IStream &is, UT_Vector2D &v)
328  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
329  static void loadData(UT_IStream &is, UT_Vector3D &v)
330  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
331  is.bread<fpreal64>(&v.z(), 1); }
332  static void loadData(UT_IStream &is, UT_Vector4D &v)
333  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
334  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
335  static void loadData(UT_IStream &is, UT_Matrix2D &v)
336  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
337  static void loadData(UT_IStream &is, UT_Matrix3D &v)
338  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
339  static void loadData(UT_IStream &is, UT_Matrix4D &v)
340  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
341  static void loadData(UT_IStream &is, UT_Vector2I &v)
342  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
343  static void loadData(UT_IStream &is, UT_Vector3I &v)
344  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
345  is.bread<int64>(&v.z(), 1); }
346  static void loadData(UT_IStream &is, UT_Vector4I &v)
347  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
348  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
350  { is.bread(v); }
352  { UT_StringHolder rampdata;
353  loadData(is, rampdata);
354  if (rampdata.isstring())
355  {
356  v.reset(new UT_Ramp());
357  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
358  v->load(istr);
359  }
360  else v.reset();
361  }
364  loadData(is, data);
365  if (data.isstring())
366  {
367  // Find the data type.
368  const char *colon = UT_StringWrap(data).findChar(':');
369  if (colon)
370  {
371  int typelen = colon - data.buffer();
373  type.strncpy(data.buffer(), typelen);
374  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
375 
376  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
377  }
378  }
379  else v.reset();
380  }
381 
382  static void saveData(std::ostream &os, int64 v)
383  { UTwrite(os, &v); }
384  static void saveData(std::ostream &os, bool v)
385  { int64 iv = v; UTwrite(os, &iv); }
386  static void saveData(std::ostream &os, fpreal64 v)
387  { UTwrite<fpreal64>(os, &v); }
388  static void saveData(std::ostream &os, UT_Vector2D v)
389  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
390  static void saveData(std::ostream &os, UT_Vector3D v)
391  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
392  UTwrite<fpreal64>(os, &v.z()); }
393  static void saveData(std::ostream &os, UT_Vector4D v)
394  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
395  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
396  static void saveData(std::ostream &os, UT_Matrix2D v)
398  static void saveData(std::ostream &os, UT_Matrix3D v)
400  static void saveData(std::ostream &os, UT_Matrix4D v)
402  static void saveData(std::ostream &os, UT_StringHolder s)
403  { UT_StringWrap(s).saveBinary(os); }
404  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
406  UT_OStringStream ostr;
407  if (s) s->save(ostr);
408  result = ostr.str();
409  saveData(os, result);
410  }
411  static void saveData(std::ostream &os, PRM_DataItemHandle s)
413  UT_OStringStream ostr;
414  if (s)
415  {
416  ostr << s->getDataTypeToken();
417  ostr << ":";
418  s->saveBinary(ostr);
419  }
420  result = ostr.str();
421  saveData(os, result);
422  }
423 
424 
425  void save(std::ostream &os) const
426  {
427  int32 v = version();
428  UTwrite(os, &v);
429  saveData(os, myClass);
430  saveData(os, myAttrib);
431  saveData(os, myPrefix);
432  saveData(os, mySecondaryPrefix);
433  saveData(os, myPackProperties);
434  saveData(os, myPackData);
435  saveData(os, myDeleteArrayAttributes);
436 
437  }
438 
439  bool load(UT_IStream &is)
440  {
441  int32 v;
442  is.bread(&v, 1);
443  if (version() != v)
444  {
445  // Fail incompatible versions
446  return false;
447  }
448  loadData(is, myClass);
449  loadData(is, myAttrib);
450  loadData(is, myPrefix);
451  loadData(is, mySecondaryPrefix);
452  loadData(is, myPackProperties);
453  loadData(is, myPackData);
454  loadData(is, myDeleteArrayAttributes);
455 
456  return true;
457  }
458 
459  Class getClass() const { return Class(myClass); }
460  void setClass(Class val) { myClass = int64(val); }
461  Class opClass(const SOP_NodeVerb::CookParms &cookparms) const
462  {
463  SOP_Node *thissop = cookparms.getNode();
464  if (!thissop) return getClass();
465  int64 result;
466  OP_Utils::evalOpParm(result, thissop, "class", cookparms.getCookTime(), 0);
467  return Class(result);
468  }
469  const UT_StringHolder & getAttrib() const { return myAttrib; }
470  void setAttrib(const UT_StringHolder & val) { myAttrib = val; }
472  {
473  SOP_Node *thissop = cookparms.getNode();
474  if (!thissop) return getAttrib();
476  OP_Utils::evalOpParm(result, thissop, "attrib", cookparms.getCookTime(), 0);
477  return result;
478  }
479  const UT_StringHolder & getPrefix() const { return myPrefix; }
480  void setPrefix(const UT_StringHolder & val) { myPrefix = val; }
482  {
483  SOP_Node *thissop = cookparms.getNode();
484  if (!thissop) return getPrefix();
486  OP_Utils::evalOpParm(result, thissop, "prefix", cookparms.getCookTime(), 0);
487  return result;
488  }
489  const UT_StringHolder & getSecondaryPrefix() const { return mySecondaryPrefix; }
490  void setSecondaryPrefix(const UT_StringHolder & val) { mySecondaryPrefix = val; }
492  {
493  SOP_Node *thissop = cookparms.getNode();
494  if (!thissop) return getSecondaryPrefix();
496  OP_Utils::evalOpParm(result, thissop, "secondaryprefix", cookparms.getCookTime(), 0);
497  return result;
498  }
499  bool getPackProperties() const { return myPackProperties; }
500  void setPackProperties(bool val) { myPackProperties = val; }
501  bool opPackProperties(const SOP_NodeVerb::CookParms &cookparms) const
502  {
503  SOP_Node *thissop = cookparms.getNode();
504  if (!thissop) return getPackProperties();
505  bool result;
506  OP_Utils::evalOpParm(result, thissop, "packproperties", cookparms.getCookTime(), 0);
507  return result;
508  }
509  bool getPackData() const { return myPackData; }
510  void setPackData(bool val) { myPackData = val; }
511  bool opPackData(const SOP_NodeVerb::CookParms &cookparms) const
512  {
513  SOP_Node *thissop = cookparms.getNode();
514  if (!thissop) return getPackData();
515  bool result;
516  OP_Utils::evalOpParm(result, thissop, "packdata", cookparms.getCookTime(), 0);
517  return result;
518  }
519  bool getDeleteArrayAttributes() const { return myDeleteArrayAttributes; }
520  void setDeleteArrayAttributes(bool val) { myDeleteArrayAttributes = val; }
522  {
523  SOP_Node *thissop = cookparms.getNode();
524  if (!thissop) return getDeleteArrayAttributes();
525  bool result;
526  OP_Utils::evalOpParm(result, thissop, "deletecapture", cookparms.getCookTime(), 0);
527  return result;
528  }
529 
530 private:
531  int64 myClass;
532  UT_StringHolder myAttrib;
533  UT_StringHolder myPrefix;
534  UT_StringHolder mySecondaryPrefix;
535  bool myPackProperties;
536  bool myPackData;
537  bool myDeleteArrayAttributes;
538 
539 };
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
static void loadData(UT_IStream &is, UT_StringHolder &v)
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
int int32
Definition: SYS_Types.h:39
SOP_Node * getNode() const
Definition: SOP_NodeVerb.h:347
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
UT_StringHolder opPrefix(const SOP_NodeVerb::CookParms &cookparms) const
exint bread(int32 *buffer, exint asize=1)
GLboolean * data
Definition: glcorearb.h:131
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
Definition: UT_Vector4.h:493
const GLdouble * v
Definition: glcorearb.h:837
fpreal getTime() const
Definition: OP_Context.h:62
const char * getNestParmName(TempIndex fieldnum) const override
const UT_StringHolder & getAttrib() const
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
static void saveData(std::ostream &os, int64 v)
static void saveData(std::ostream &os, PRM_DataItemHandle s)
Class opClass(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_StringHolder s)
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
const OP_Context & context() const
Definition: OP_NodeParms.h:97
static void saveData(std::ostream &os, UT_Vector3D v)
static void loadData(UT_IStream &is, bool &v)
constexpr SYS_FORCE_INLINE T & z() noexcept
Definition: UT_Vector3.h:667
int64 exint
Definition: SYS_Types.h:125
SYS_FORCE_INLINE const char * buffer() const
GLdouble s
Definition: glad.h:3009
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
An output stream object that owns its own string buffer storage.
**But if you need a result
Definition: thread.h:613
exint nodeIdx() const
Definition: OP_NodeParms.h:95
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
static void loadData(UT_IStream &is, fpreal64 &v)
constexpr SYS_FORCE_INLINE T & x() noexcept
Definition: UT_Vector4.h:491
static void saveData(std::ostream &os, UT_Vector4D v)
double fpreal64
Definition: SYS_Types.h:201
constexpr SYS_FORCE_INLINE T & x() noexcept
Definition: UT_Vector2.h:423
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Definition: Dimensions.h:137
static void saveData(std::ostream &os, UT_Matrix3D v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
static void loadData(UT_IStream &is, UT_Vector2I &v)
void copyFrom(const OP_NodeParms *src) override
static void loadData(UT_IStream &is, UT_Vector3I &v)
void setPrefix(const UT_StringHolder &val)
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
static void saveData(std::ostream &os, UT_Matrix4D v)
bool operator==(const SOP_CaptureAttribPackParms &src) const
bool operator!=(const SOP_CaptureAttribPackParms &src) const
exint length() const
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
Definition: UT_SharedPtr.h:36
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
constexpr SYS_FORCE_INLINE T & z() noexcept
Definition: UT_Vector4.h:495
void loadFromOpSubclass(const LoadParms &loadparms) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
const OP_GraphProxy * graph() const
Definition: OP_NodeParms.h:94
#define SYS_FORCE_INLINE
Definition: SYS_Inline.h:45
static void loadData(UT_IStream &is, UT_Vector2D &v)
bool opPackData(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
void save(std::ostream &os) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
long long int64
Definition: SYS_Types.h:116
void setSecondaryPrefix(const UT_StringHolder &val)
static void loadData(UT_IStream &is, int64 &v)
static void saveData(std::ostream &os, bool v)
static void loadData(UT_IStream &is, UT_Vector4I &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
static void saveData(std::ostream &os, UT_Vector2D v)
UT_StringHolder opSecondaryPrefix(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
bool opDeleteArrayAttributes(const SOP_NodeVerb::CookParms &cookparms) const
exint getNestNumParms(TempIndex idx) const override
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
const UT_StringHolder & getPrefix() const
ParmType getNestParmType(TempIndex fieldnum) const override
void saveBinary(std::ostream &os) const
Save string to binary stream.
Definition: UT_String.h:296
GT_API const UT_StringHolder version
static void saveData(std::ostream &os, fpreal64 v)
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
bool isParmColorRamp(exint idx) const override
const UT_StringHolder & getSecondaryPrefix() const
SYS_FORCE_INLINE UT_StringHolder getToken(Class enum_value)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
fpreal64 fpreal
Definition: SYS_Types.h:277
DEP_MicroNode * depnode() const
Definition: OP_NodeParms.h:99
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
LeafData & operator=(const LeafData &)=delete
void setAttrib(const UT_StringHolder &val)
Utility class for containing a color ramp.
Definition: UT_Ramp.h:92
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
constexpr SYS_FORCE_INLINE T & w() noexcept
Definition: UT_Vector4.h:497
GLuint GLfloat * val
Definition: glcorearb.h:1608
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
#define SOP_API
Definition: SOP_API.h:10
static void loadData(UT_IStream &is, UT_Matrix3D &v)
fpreal getCookTime() const
Definition: SOP_NodeVerb.h:361
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
const char * findChar(int c) const
Definition: UT_String.h:1395
#define UT_ASSERT(ZZ)
Definition: UT_Assert.h:156
Definition: core.h:1131
GLboolean r
Definition: glcorearb.h:1222
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
bool opPackProperties(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3D &v)
constexpr SYS_FORCE_INLINE T & y() noexcept
Definition: UT_Vector3.h:665
static void loadData(UT_IStream &is, UT_Matrix2D &v)
static void saveData(std::ostream &os, UT_Matrix2D v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
UT_StringHolder opAttrib(const SOP_NodeVerb::CookParms &cookparms) const
type
Definition: core.h:1059
static void loadData(UT_IStream &is, UT_Vector4D &v)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
Definition: PRM_Parm.h:97
constexpr SYS_FORCE_INLINE T & y() noexcept
Definition: UT_Vector2.h:425
SYS_FORCE_INLINE bool isstring() const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
GLenum src
Definition: glcorearb.h:1793
constexpr SYS_FORCE_INLINE T & x() noexcept
Definition: UT_Vector3.h:663