HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SOP_BlendShapes.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_NodeVerb.h>
7 #include <OP/OP_Utils.h>
8 #include <PRM/PRM_Parm.h>
9 #include <UT/UT_IStream.h>
10 #include <UT/UT_NTStreamUtil.h>
11 #include <UT/UT_Ramp.h>
12 #include <UT/UT_SharedPtr.h>
13 #include <UT/UT_StringHolder.h>
14 #include <UT/UT_StringStream.h>
15 #include <UT/UT_VectorTypes.h>
16 #include <SYS/SYS_Types.h>
17 
18 using namespace UT::Literal;
19 
20 class DEP_MicroNode;
21 
23 {
24 public:
25  static int version() { return 1; }
26  struct Nblends
27  {
29 
30 
32  {
33  blend = 0;
34 
35  }
36 
37  bool operator==(const Nblends &src) const
38  {
39  if (blend != src.blend) return false;
40 
41  return true;
42  }
43 
44  };
45 
47  {
49 
50  buf.strcat("[ ");
51  for (int i = 0; i < list.entries(); i++)
52  {
53  if (i)
54  buf.strcat(", ");
55  buf.strcat("( ");
56  buf.append("");
57  buf.appendSprintf("%f", (list(i).blend));
58 
59  buf.strcat(" )");
60  }
61  buf.strcat(" ]");
62 
63  UT_StringHolder result = buf;
64  return result;
65  }
66 
68  {
69  myGroup = ""_sh;
70  mySelectionIdx = 0;
71  myDiff = false;
72  myDoPos = false;
73  myDoClr = false;
74  myDoNml = false;
75  myDoUVW = false;
76  myDoVoxel = false;
77  myDoSlerp = false;
78  myPtIDAttr = ""_sh;
79  myPrimIDAttr = ""_sh;
80  myMorph = false;
81 
82  }
83 
84  explicit SOP_BlendShapesParms(const SOP_BlendShapesParms &) = default;
85 
86  virtual ~SOP_BlendShapesParms() {}
87 
88  bool operator==(const SOP_BlendShapesParms &src) const
89  {
90  if (myGroup != src.myGroup) return false;
91  if (mySelectionIdx != src.mySelectionIdx) return false;
92  if (myDiff != src.myDiff) return false;
93  if (myDoPos != src.myDoPos) return false;
94  if (myDoClr != src.myDoClr) return false;
95  if (myDoNml != src.myDoNml) return false;
96  if (myDoUVW != src.myDoUVW) return false;
97  if (myDoVoxel != src.myDoVoxel) return false;
98  if (myDoSlerp != src.myDoSlerp) return false;
99  if (myPtIDAttr != src.myPtIDAttr) return false;
100  if (myPrimIDAttr != src.myPrimIDAttr) return false;
101  if (myMorph != src.myMorph) return false;
102  if (myNblends != src.myNblends) return false;
103 
104  return true;
105  }
106 
107 
108 
109  void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)
110  {
111  if (true)
112  OP_Utils::evalOpParm(myGroup, node, "group", time, 0);
113  else myGroup = ""_sh;
114  if (true)
115  OP_Utils::evalOpParm(mySelectionIdx, node, "selectionidx", time, 0);
116  else mySelectionIdx = 0;
117  if (true)
118  OP_Utils::evalOpParm(myDiff, node, "diff", time, 0);
119  else myDiff = false;
120  if (true)
121  OP_Utils::evalOpParm(myDoPos, node, "dopos", time, 0);
122  else myDoPos = false;
123  if (true)
124  OP_Utils::evalOpParm(myDoClr, node, "doclr", time, 0);
125  else myDoClr = false;
126  if (true)
127  OP_Utils::evalOpParm(myDoNml, node, "donml", time, 0);
128  else myDoNml = false;
129  if (true)
130  OP_Utils::evalOpParm(myDoUVW, node, "douvw", time, 0);
131  else myDoUVW = false;
132  if (true)
133  OP_Utils::evalOpParm(myDoVoxel, node, "dovoxel", time, 0);
134  else myDoVoxel = false;
135  if (true)
136  OP_Utils::evalOpParm(myDoSlerp, node, "doslerp", time, 0);
137  else myDoSlerp = false;
138  if (true)
139  OP_Utils::evalOpParm(myPtIDAttr, node, "ptidattr", time, 0);
140  else myPtIDAttr = ""_sh;
141  if (true)
142  OP_Utils::evalOpParm(myPrimIDAttr, node, "primidattr", time, 0);
143  else myPrimIDAttr = ""_sh;
144  if (true)
145  OP_Utils::evalOpParm(myMorph, node, "morph", time, 0);
146  else myMorph = false;
147  if (true)
148  {
149  int64 length;
150  OP_Utils::evalOpParm(length, node, "nblends", time, 0);
151  myNblends.entries(length);
152  for (exint i = 0; i < length; i++)
153  {
154  int parmidx = i+0;
155  auto && _curentry = myNblends(i);
156  (void) _curentry;
157  if (true)
158  OP_Utils::evalOpParmInst(myNblends(i).blend, node, "blend#", &parmidx, time, 0);
159  else myNblends(i).blend = 0;
160 
161  }
162  }
163  else
164  myNblends.clear();
165 
166  }
167 
168 
169  virtual void loadFromOpSubclass(const LoadParms &loadparms)
170  {
171  buildFromOp(loadparms.node(), loadparms.context().getTime(), loadparms.depnode());
172  }
173 
174 
175  virtual void copyFrom(const SOP_NodeParms *src)
176  {
177  *this = *((const SOP_BlendShapesParms *)src);
178  }
179 
180  template <typename T>
181  void
182  doGetParmValue(exint idx, T &value) const
183  {
184  switch (idx)
185  {
186  case 0:
187  coerceValue(value, myGroup);
188  break;
189  case 1:
190  coerceValue(value, mySelectionIdx);
191  break;
192  case 2:
193  coerceValue(value, myDiff);
194  break;
195  case 3:
196  coerceValue(value, myDoPos);
197  break;
198  case 4:
199  coerceValue(value, myDoClr);
200  break;
201  case 5:
202  coerceValue(value, myDoNml);
203  break;
204  case 6:
205  coerceValue(value, myDoUVW);
206  break;
207  case 7:
208  coerceValue(value, myDoVoxel);
209  break;
210  case 8:
211  coerceValue(value, myDoSlerp);
212  break;
213  case 9:
214  coerceValue(value, myPtIDAttr);
215  break;
216  case 10:
217  coerceValue(value, myPrimIDAttr);
218  break;
219  case 11:
220  coerceValue(value, myMorph);
221  break;
222 
223  }
224  }
225 
226  void getParmValue(exint idx, exint &value) const
227  { doGetParmValue(idx, value); }
228  void getParmValue(exint idx, fpreal &value) const
229  { doGetParmValue(idx, value); }
231  { doGetParmValue(idx, value); }
233  { doGetParmValue(idx, value); }
235  { doGetParmValue(idx, value); }
237  { doGetParmValue(idx, value); }
239  { doGetParmValue(idx, value); }
241  { doGetParmValue(idx, value); }
243  { doGetParmValue(idx, value); }
245  { doGetParmValue(idx, value); }
247  { doGetParmValue(idx, value); }
248 
249  template <typename T>
250  void
251  doSetParmValue(exint idx, const T &value)
252  {
253  switch (idx)
254  {
255  case 0:
256  coerceValue(myGroup, value);
257  break;
258  case 1:
259  coerceValue(mySelectionIdx, value);
260  break;
261  case 2:
262  coerceValue(myDiff, value);
263  break;
264  case 3:
265  coerceValue(myDoPos, value);
266  break;
267  case 4:
268  coerceValue(myDoClr, value);
269  break;
270  case 5:
271  coerceValue(myDoNml, value);
272  break;
273  case 6:
274  coerceValue(myDoUVW, value);
275  break;
276  case 7:
277  coerceValue(myDoVoxel, value);
278  break;
279  case 8:
280  coerceValue(myDoSlerp, value);
281  break;
282  case 9:
283  coerceValue(myPtIDAttr, value);
284  break;
285  case 10:
286  coerceValue(myPrimIDAttr, value);
287  break;
288  case 11:
289  coerceValue(myMorph, value);
290  break;
291 
292  }
293  }
294 
295  void setParmValue(exint idx, const exint &value)
296  { doSetParmValue(idx, value); }
297  void setParmValue(exint idx, const fpreal &value)
298  { doSetParmValue(idx, value); }
299  void setParmValue(exint idx, const UT_Vector2D &value)
300  { doSetParmValue(idx, value); }
301  void setParmValue(exint idx, const UT_Vector3D &value)
302  { doSetParmValue(idx, value); }
303  void setParmValue(exint idx, const UT_Vector4D &value)
304  { doSetParmValue(idx, value); }
305  void setParmValue(exint idx, const UT_Matrix2D &value)
306  { doSetParmValue(idx, value); }
307  void setParmValue(exint idx, const UT_Matrix3D &value)
308  { doSetParmValue(idx, value); }
309  void setParmValue(exint idx, const UT_Matrix4D &value)
310  { doSetParmValue(idx, value); }
312  { doSetParmValue(idx, value); }
314  { doSetParmValue(idx, value); }
316  { doSetParmValue(idx, value); }
317 
318  virtual exint getNumParms() const
319  {
320  return 13;
321  }
322 
323  virtual const char *getParmName(exint fieldnum) const
324  {
325  switch (fieldnum)
326  {
327  case 0:
328  return "group";
329  case 1:
330  return "selectionidx";
331  case 2:
332  return "diff";
333  case 3:
334  return "dopos";
335  case 4:
336  return "doclr";
337  case 5:
338  return "donml";
339  case 6:
340  return "douvw";
341  case 7:
342  return "dovoxel";
343  case 8:
344  return "doslerp";
345  case 9:
346  return "ptidattr";
347  case 10:
348  return "primidattr";
349  case 11:
350  return "morph";
351  case 12:
352  return "nblends";
353 
354  }
355  return 0;
356  }
357 
358  virtual ParmType getParmType(exint fieldnum) const
359  {
360  switch (fieldnum)
361  {
362  case 0:
363  return PARM_STRING;
364  case 1:
365  return PARM_INTEGER;
366  case 2:
367  return PARM_INTEGER;
368  case 3:
369  return PARM_INTEGER;
370  case 4:
371  return PARM_INTEGER;
372  case 5:
373  return PARM_INTEGER;
374  case 6:
375  return PARM_INTEGER;
376  case 7:
377  return PARM_INTEGER;
378  case 8:
379  return PARM_INTEGER;
380  case 9:
381  return PARM_STRING;
382  case 10:
383  return PARM_STRING;
384  case 11:
385  return PARM_INTEGER;
386 
387  }
388  return PARM_UNSUPPORTED;
389  }
390 
391  // Boiler plate to load individual types.
392  static void loadData(UT_IStream &is, int64 &v)
393  { is.bread(&v, 1); }
394  static void loadData(UT_IStream &is, bool &v)
395  { int64 iv; is.bread(&iv, 1); v = iv; }
396  static void loadData(UT_IStream &is, fpreal64 &v)
397  { is.bread<fpreal64>(&v, 1); }
398  static void loadData(UT_IStream &is, UT_Vector2D &v)
399  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
400  static void loadData(UT_IStream &is, UT_Vector3D &v)
401  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
402  is.bread<fpreal64>(&v.z(), 1); }
403  static void loadData(UT_IStream &is, UT_Vector4D &v)
404  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
405  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
406  static void loadData(UT_IStream &is, UT_Matrix2D &v)
407  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
408  static void loadData(UT_IStream &is, UT_Matrix3D &v)
409  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
410  static void loadData(UT_IStream &is, UT_Matrix4D &v)
411  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
412  static void loadData(UT_IStream &is, UT_Vector2I &v)
413  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
414  static void loadData(UT_IStream &is, UT_Vector3I &v)
415  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
416  is.bread<int64>(&v.z(), 1); }
417  static void loadData(UT_IStream &is, UT_Vector4I &v)
418  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
419  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
421  { is.bread(v); }
423  { UT_StringHolder rampdata;
424  loadData(is, rampdata);
425  if (rampdata.isstring())
426  {
427  v.reset(new UT_Ramp());
428  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
429  v->load(istr);
430  }
431  else v.reset();
432  }
435  loadData(is, data);
436  if (data.isstring())
437  {
438  // Find the data type.
439  char *colon = UT_StringWrap(data).findChar(':');
440  if (colon)
441  {
442  int typelen = colon - data.buffer();
444  type.strncpy(data.buffer(), typelen);
445  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
446 
447  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
448  }
449  }
450  else v.reset();
451  }
452 
453  static void saveData(std::ostream &os, int64 v)
454  { UTwrite(os, &v); }
455  static void saveData(std::ostream &os, bool v)
456  { int64 iv = v; UTwrite(os, &iv); }
457  static void saveData(std::ostream &os, fpreal64 v)
458  { UTwrite<fpreal64>(os, &v); }
459  static void saveData(std::ostream &os, UT_Vector2D v)
460  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
461  static void saveData(std::ostream &os, UT_Vector3D v)
462  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
463  UTwrite<fpreal64>(os, &v.z()); }
464  static void saveData(std::ostream &os, UT_Vector4D v)
465  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
466  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
467  static void saveData(std::ostream &os, UT_Matrix2D v)
469  static void saveData(std::ostream &os, UT_Matrix3D v)
471  static void saveData(std::ostream &os, UT_Matrix4D v)
473  static void saveData(std::ostream &os, UT_StringHolder s)
474  { UT_StringWrap(s).saveBinary(os); }
475  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
476  { UT_StringHolder result;
477  UT_OStringStream ostr;
478  if (s) s->save(ostr);
479  result = ostr.str();
480  saveData(os, result);
481  }
482  static void saveData(std::ostream &os, PRM_DataItemHandle s)
483  { UT_StringHolder result;
484  UT_OStringStream ostr;
485  if (s)
486  {
487  ostr << s->getDataTypeToken();
488  ostr << ":";
489  s->saveBinary(ostr);
490  }
491  result = ostr.str();
492  saveData(os, result);
493  }
494 
495 
496  void save(std::ostream &os) const
497  {
498  int32 v = version();
499  UTwrite(os, &v);
500  saveData(os, myGroup);
501  saveData(os, mySelectionIdx);
502  saveData(os, myDiff);
503  saveData(os, myDoPos);
504  saveData(os, myDoClr);
505  saveData(os, myDoNml);
506  saveData(os, myDoUVW);
507  saveData(os, myDoVoxel);
508  saveData(os, myDoSlerp);
509  saveData(os, myPtIDAttr);
510  saveData(os, myPrimIDAttr);
511  saveData(os, myMorph);
512  {
513  int64 length = myNblends.entries();
514  UTwrite(os, &length);
515  for (exint i = 0; i < length; i++)
516  {
517  saveData(os, myNblends(i).blend);
518 
519  }
520  }
521 
522  }
523 
524  bool load(UT_IStream &is)
525  {
526  int32 v;
527  is.bread(&v, 1);
528  if (version() != v)
529  {
530  // Fail incompatible versions
531  return false;
532  }
533  loadData(is, myGroup);
534  loadData(is, mySelectionIdx);
535  loadData(is, myDiff);
536  loadData(is, myDoPos);
537  loadData(is, myDoClr);
538  loadData(is, myDoNml);
539  loadData(is, myDoUVW);
540  loadData(is, myDoVoxel);
541  loadData(is, myDoSlerp);
542  loadData(is, myPtIDAttr);
543  loadData(is, myPrimIDAttr);
544  loadData(is, myMorph);
545  {
546  int64 length;
547  is.read(&length, 1);
548  myNblends.entries(length);
549  for (exint i = 0; i < length; i++)
550  {
551  loadData(is, myNblends(i).blend);
552 
553  }
554  }
555 
556  return true;
557  }
558 
559  const UT_StringHolder & getGroup() const { return myGroup; }
560  void setGroup(const UT_StringHolder & val) { myGroup = val; }
562  {
563  SOP_Node *thissop = cookparms.getNode();
564  if (!thissop) return getGroup();
565  UT_StringHolder result;
566  OP_Utils::evalOpParm(result, thissop, "group", cookparms.getCookTime(), 0);
567  return result;
568  }
569  int64 getSelectionIdx() const { return mySelectionIdx; }
570  void setSelectionIdx(int64 val) { mySelectionIdx = val; }
572  {
573  SOP_Node *thissop = cookparms.getNode();
574  if (!thissop) return getSelectionIdx();
575  int64 result;
576  OP_Utils::evalOpParm(result, thissop, "selectionidx", cookparms.getCookTime(), 0);
577  return result;
578  }
579  bool getDiff() const { return myDiff; }
580  void setDiff(bool val) { myDiff = val; }
581  bool opDiff(const SOP_NodeVerb::CookParms &cookparms) const
582  {
583  SOP_Node *thissop = cookparms.getNode();
584  if (!thissop) return getDiff();
585  bool result;
586  OP_Utils::evalOpParm(result, thissop, "diff", cookparms.getCookTime(), 0);
587  return result;
588  }
589  bool getDoPos() const { return myDoPos; }
590  void setDoPos(bool val) { myDoPos = val; }
591  bool opDoPos(const SOP_NodeVerb::CookParms &cookparms) const
592  {
593  SOP_Node *thissop = cookparms.getNode();
594  if (!thissop) return getDoPos();
595  bool result;
596  OP_Utils::evalOpParm(result, thissop, "dopos", cookparms.getCookTime(), 0);
597  return result;
598  }
599  bool getDoClr() const { return myDoClr; }
600  void setDoClr(bool val) { myDoClr = val; }
601  bool opDoClr(const SOP_NodeVerb::CookParms &cookparms) const
602  {
603  SOP_Node *thissop = cookparms.getNode();
604  if (!thissop) return getDoClr();
605  bool result;
606  OP_Utils::evalOpParm(result, thissop, "doclr", cookparms.getCookTime(), 0);
607  return result;
608  }
609  bool getDoNml() const { return myDoNml; }
610  void setDoNml(bool val) { myDoNml = val; }
611  bool opDoNml(const SOP_NodeVerb::CookParms &cookparms) const
612  {
613  SOP_Node *thissop = cookparms.getNode();
614  if (!thissop) return getDoNml();
615  bool result;
616  OP_Utils::evalOpParm(result, thissop, "donml", cookparms.getCookTime(), 0);
617  return result;
618  }
619  bool getDoUVW() const { return myDoUVW; }
620  void setDoUVW(bool val) { myDoUVW = val; }
621  bool opDoUVW(const SOP_NodeVerb::CookParms &cookparms) const
622  {
623  SOP_Node *thissop = cookparms.getNode();
624  if (!thissop) return getDoUVW();
625  bool result;
626  OP_Utils::evalOpParm(result, thissop, "douvw", cookparms.getCookTime(), 0);
627  return result;
628  }
629  bool getDoVoxel() const { return myDoVoxel; }
630  void setDoVoxel(bool val) { myDoVoxel = val; }
631  bool opDoVoxel(const SOP_NodeVerb::CookParms &cookparms) const
632  {
633  SOP_Node *thissop = cookparms.getNode();
634  if (!thissop) return getDoVoxel();
635  bool result;
636  OP_Utils::evalOpParm(result, thissop, "dovoxel", cookparms.getCookTime(), 0);
637  return result;
638  }
639  bool getDoSlerp() const { return myDoSlerp; }
640  void setDoSlerp(bool val) { myDoSlerp = val; }
641  bool opDoSlerp(const SOP_NodeVerb::CookParms &cookparms) const
642  {
643  SOP_Node *thissop = cookparms.getNode();
644  if (!thissop) return getDoSlerp();
645  bool result;
646  OP_Utils::evalOpParm(result, thissop, "doslerp", cookparms.getCookTime(), 0);
647  return result;
648  }
649  const UT_StringHolder & getPtIDAttr() const { return myPtIDAttr; }
650  void setPtIDAttr(const UT_StringHolder & val) { myPtIDAttr = val; }
652  {
653  SOP_Node *thissop = cookparms.getNode();
654  if (!thissop) return getPtIDAttr();
655  UT_StringHolder result;
656  OP_Utils::evalOpParm(result, thissop, "ptidattr", cookparms.getCookTime(), 0);
657  return result;
658  }
659  const UT_StringHolder & getPrimIDAttr() const { return myPrimIDAttr; }
660  void setPrimIDAttr(const UT_StringHolder & val) { myPrimIDAttr = val; }
662  {
663  SOP_Node *thissop = cookparms.getNode();
664  if (!thissop) return getPrimIDAttr();
665  UT_StringHolder result;
666  OP_Utils::evalOpParm(result, thissop, "primidattr", cookparms.getCookTime(), 0);
667  return result;
668  }
669  bool getMorph() const { return myMorph; }
670  void setMorph(bool val) { myMorph = val; }
671  bool opMorph(const SOP_NodeVerb::CookParms &cookparms) const
672  {
673  SOP_Node *thissop = cookparms.getNode();
674  if (!thissop) return getMorph();
675  bool result;
676  OP_Utils::evalOpParm(result, thissop, "morph", cookparms.getCookTime(), 0);
677  return result;
678  }
679  const UT_Array<Nblends> &getNblends() const { return myNblends; }
680  void setNblends(const UT_Array<Nblends> &val) { myNblends = val; }
681  exint opNblends(const SOP_NodeVerb::CookParms &cookparms) const
682  {
683  SOP_Node *thissop = cookparms.getNode();
684  if (!thissop) return getNblends().entries();
685  exint result;
686  OP_Utils::evalOpParm(result, thissop, "nblends", cookparms.getCookTime(), 0);
687  return result;
688  }
690  {
691  SOP_Node *thissop = cookparms.getNode();
692  if (!thissop) return (myNblends(_idx).blend);
693  int _parmidx = _idx + 0;
694  fpreal64 result;
695  OP_Utils::evalOpParmInst(result, thissop, "blend#", &_parmidx, cookparms.getCookTime(), 0);
696  return (result);
697  }
698 
699 
700 private:
701  UT_StringHolder myGroup;
702  int64 mySelectionIdx;
703  bool myDiff;
704  bool myDoPos;
705  bool myDoClr;
706  bool myDoNml;
707  bool myDoUVW;
708  bool myDoVoxel;
709  bool myDoSlerp;
710  UT_StringHolder myPtIDAttr;
711  UT_StringHolder myPrimIDAttr;
712  bool myMorph;
713  UT_Array<Nblends> myNblends;
714 
715 };
void doSetParmValue(exint idx, const T &value)
void setGroup(const UT_StringHolder &val)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
void setParmValue(exint idx, const UT_Vector2D &value)
void setSelectionIdx(int64 val)
static void loadData(UT_IStream &is, bool &v)
SOP_Node * getNode() const
Definition: SOP_NodeVerb.h:492
T & z(void)
Definition: UT_Vector4.h:372
void setNblends(const UT_Array< Nblends > &val)
void setParmValue(exint idx, const UT_SharedPtr< UT_Ramp > &value)
bool load(UT_IStream &is)
void setParmValue(exint idx, const UT_StringHolder &value)
void doGetParmValue(exint idx, T &value) const
exint opNblends(const SOP_NodeVerb::CookParms &cookparms) const
exint bread(int32 *buffer, exint asize=1)
fpreal getTime() const
Definition: OP_Context.h:34
const GLdouble * v
Definition: glcorearb.h:836
static void loadData(UT_IStream &is, UT_Vector3D &v)
static void saveData(std::ostream &os, int64 v)
UT_StringHolder createString(const UT_Array< Nblends > &list) const
void getParmValue(exint idx, UT_Matrix3D &value) const
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
void getParmValue(exint idx, UT_StringHolder &value) const
const UT_StringHolder & getPtIDAttr() const
void setParmValue(exint idx, const fpreal &value)
static void saveData(std::ostream &os, UT_Matrix2D v)
T & x(void)
Definition: UT_Vector2.h:284
fpreal64 opNblends_blend(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
int64 opSelectionIdx(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
An output stream object that owns its own string buffer storage.
const UT_WorkBuffer & str() const
Returns a read-only reference to the underlying UT_WorkBuffer.
bool operator==(const Nblends &src) const
SYS_FORCE_INLINE T & x(void)
Definition: UT_Vector3.h:581
void getParmValue(exint idx, UT_Matrix4D &value) const
bool opDoVoxel(const SOP_NodeVerb::CookParms &cookparms) const
void getParmValue(exint idx, UT_Vector4D &value) const
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
png_uint_32 i
Definition: png.h:2877
void setParmValue(exint idx, const UT_Matrix2D &value)
static void saveData(std::ostream &os, UT_Matrix4D v)
static void saveData(std::ostream &os, UT_Vector3D v)
static void saveData(std::ostream &os, UT_Vector2D v)
bool opDoSlerp(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector2I &v)
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE T & z(void)
Definition: UT_Vector3.h:585
long long int64
Definition: SYS_Types.h:100
virtual ParmType getParmType(exint fieldnum) const
UT_StringHolder opPtIDAttr(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector4D &v)
exint length() const
char * findChar(int c) const
Find first occurrance of character. Returns NULL upon failure.
Definition: UT_String.h:550
void append(char character)
static void loadData(UT_IStream &is, UT_Vector4I &v)
SYS_FORCE_INLINE const char * buffer() const
bool opMorph(const SOP_NodeVerb::CookParms &cookparms) const
int64 exint
Definition: SYS_Types.h:109
const OP_Node * node() const
Definition: SOP_NodeVerb.h:104
double fpreal64
Definition: SYS_Types.h:185
exint read(bool *array, exint sz=1)
Definition: UT_IStream.h:280
static void loadData(UT_IStream &is, UT_Matrix2D &v)
static void saveData(std::ostream &os, bool v)
virtual void copyFrom(const SOP_NodeParms *src)
const UT_StringHolder & getPrimIDAttr() const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
GLboolean * data
Definition: glcorearb.h:130
static void saveData(std::ostream &os, UT_StringHolder s)
void getParmValue(exint idx, fpreal &value) const
static void saveData(std::ostream &os, fpreal64 v)
int int32
Definition: SYS_Types.h:28
T & y(void)
Definition: UT_Vector4.h:370
virtual exint getNumParms() const
void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)
static void loadData(UT_IStream &is, UT_StringHolder &v)
static void loadData(UT_IStream &is, UT_Vector2D &v)
static void loadData(UT_IStream &is, int64 &v)
void getParmValue(exint idx, UT_Vector2D &value) const
static void saveData(std::ostream &os, UT_Vector4D v)
bool opDoPos(const SOP_NodeVerb::CookParms &cookparms) const
void saveBinary(std::ostream &os) const
Save string to binary stream.
Definition: UT_String.h:294
DEP_MicroNode * depnode() const
Definition: SOP_NodeVerb.h:111
void setParmValue(exint idx, const UT_Matrix4D &value)
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glcorearb.h:2539
exint entries() const
Alias of size(). size() is preferred.
Definition: UT_Array.h:446
bool opDoClr(const SOP_NodeVerb::CookParms &cookparms) const
bool opDoUVW(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const SOP_BlendShapesParms &src) const
static void loadData(UT_IStream &is, fpreal64 &v)
SYS_FORCE_INLINE T & y(void)
Definition: UT_Vector3.h:583
GLsizei const GLfloat * value
Definition: glcorearb.h:823
double fpreal
Definition: SYS_Types.h:263
static void saveData(std::ostream &os, UT_Matrix3D v)
void strncpy(const char *src, exint maxlen)
void getParmValue(exint idx, exint &value) const
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
void setParmValue(exint idx, const UT_Vector3D &value)
virtual const char * getParmName(exint fieldnum) const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
void getParmValue(exint idx, PRM_DataItemHandle &value) const
Utility class for containing a color ramp.
Definition: UT_Ramp.h:84
static void loadData(UT_IStream &is, UT_Vector3I &v)
void save(std::ostream &os) const
GLuint GLfloat * val
Definition: glcorearb.h:1607
#define SOP_API
Definition: SOP_API.h:10
bool opDoNml(const SOP_NodeVerb::CookParms &cookparms) const
void setParmValue(exint idx, const UT_Matrix3D &value)
const char * buffer() const
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glcorearb.h:107
fpreal getCookTime() const
Definition: SOP_NodeVerb.h:499
T & x(void)
Definition: UT_Vector4.h:368
virtual void loadFromOpSubclass(const LoadParms &loadparms)
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
void getParmValue(exint idx, UT_Vector3D &value) const
T & y(void)
Definition: UT_Vector2.h:286
GLboolean r
Definition: glcorearb.h:1221
void getParmValue(exint idx, UT_Matrix2D &value) const
void strcat(const char *src)
T & w(void)
Definition: UT_Vector4.h:374
void setParmValue(exint idx, const PRM_DataItemHandle &value)
void setPrimIDAttr(const UT_StringHolder &val)
const UT_StringHolder & getGroup() const
bool opDiff(const SOP_NodeVerb::CookParms &cookparms) const
void setParmValue(exint idx, const exint &value)
void setPtIDAttr(const UT_StringHolder &val)
const UT_Array< Nblends > & getNblends() const
const OP_Context & context() const
Definition: SOP_NodeVerb.h:109
void setParmValue(exint idx, const UT_Vector4D &value)
SYS_FORCE_INLINE bool isstring() const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
UT_StringHolder opPrimIDAttr(const SOP_NodeVerb::CookParms &cookparms) const
GLuint GLsizei GLsizei * length
Definition: glcorearb.h:794
GLenum src
Definition: glcorearb.h:1792
void getParmValue(exint idx, UT_SharedPtr< UT_Ramp > &value) const