HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SOP_Attribute.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 Ptrenames
27  {
30 
31 
33  {
34  frompt = ""_sh;
35  topt = ""_sh;
36 
37  }
38 
39  bool operator==(const Ptrenames &src) const
40  {
41  if (frompt != src.frompt) return false;
42  if (topt != src.topt) return false;
43 
44  return true;
45  }
46  bool operator!=(const Ptrenames &src) const
47  {
48  return !operator==(src);
49  }
50 
51  };
52 
54  {
56 
57  buf.strcat("[ ");
58  for (int i = 0; i < list.entries(); i++)
59  {
60  if (i)
61  buf.strcat(", ");
62  buf.strcat("( ");
63  buf.append("");
64  { UT_String tmp; tmp = UT_StringWrap(list(i).frompt).makeQuotedString('"'); buf.strcat(tmp); }
65  buf.append(", ");
66  { UT_String tmp; tmp = UT_StringWrap(list(i).topt).makeQuotedString('"'); buf.strcat(tmp); }
67 
68  buf.strcat(" )");
69  }
70  buf.strcat(" ]");
71 
72  UT_StringHolder result = buf;
73  return result;
74  }
75  struct Vtxrenames
76  {
79 
80 
82  {
83  fromvtx = ""_sh;
84  tovtx = ""_sh;
85 
86  }
87 
88  bool operator==(const Vtxrenames &src) const
89  {
90  if (fromvtx != src.fromvtx) return false;
91  if (tovtx != src.tovtx) return false;
92 
93  return true;
94  }
95  bool operator!=(const Vtxrenames &src) const
96  {
97  return !operator==(src);
98  }
99 
100  };
101 
103  {
105 
106  buf.strcat("[ ");
107  for (int i = 0; i < list.entries(); i++)
108  {
109  if (i)
110  buf.strcat(", ");
111  buf.strcat("( ");
112  buf.append("");
113  { UT_String tmp; tmp = UT_StringWrap(list(i).fromvtx).makeQuotedString('"'); buf.strcat(tmp); }
114  buf.append(", ");
115  { UT_String tmp; tmp = UT_StringWrap(list(i).tovtx).makeQuotedString('"'); buf.strcat(tmp); }
116 
117  buf.strcat(" )");
118  }
119  buf.strcat(" ]");
120 
121  UT_StringHolder result = buf;
122  return result;
123  }
124  struct Primrenames
125  {
128 
129 
131  {
132  frompr = ""_sh;
133  topr = ""_sh;
134 
135  }
136 
137  bool operator==(const Primrenames &src) const
138  {
139  if (frompr != src.frompr) return false;
140  if (topr != src.topr) return false;
141 
142  return true;
143  }
144  bool operator!=(const Primrenames &src) const
145  {
146  return !operator==(src);
147  }
148 
149  };
150 
152  {
154 
155  buf.strcat("[ ");
156  for (int i = 0; i < list.entries(); i++)
157  {
158  if (i)
159  buf.strcat(", ");
160  buf.strcat("( ");
161  buf.append("");
162  { UT_String tmp; tmp = UT_StringWrap(list(i).frompr).makeQuotedString('"'); buf.strcat(tmp); }
163  buf.append(", ");
164  { UT_String tmp; tmp = UT_StringWrap(list(i).topr).makeQuotedString('"'); buf.strcat(tmp); }
165 
166  buf.strcat(" )");
167  }
168  buf.strcat(" ]");
169 
170  UT_StringHolder result = buf;
171  return result;
172  }
174  {
177 
178 
180  {
181  fromdtl = ""_sh;
182  todtl = ""_sh;
183 
184  }
185 
186  bool operator==(const Detailrenames &src) const
187  {
188  if (fromdtl != src.fromdtl) return false;
189  if (todtl != src.todtl) return false;
190 
191  return true;
192  }
193  bool operator!=(const Detailrenames &src) const
194  {
195  return !operator==(src);
196  }
197 
198  };
199 
201  {
203 
204  buf.strcat("[ ");
205  for (int i = 0; i < list.entries(); i++)
206  {
207  if (i)
208  buf.strcat(", ");
209  buf.strcat("( ");
210  buf.append("");
211  { UT_String tmp; tmp = UT_StringWrap(list(i).fromdtl).makeQuotedString('"'); buf.strcat(tmp); }
212  buf.append(", ");
213  { UT_String tmp; tmp = UT_StringWrap(list(i).todtl).makeQuotedString('"'); buf.strcat(tmp); }
214 
215  buf.strcat(" )");
216  }
217  buf.strcat(" ]");
218 
219  UT_StringHolder result = buf;
220  return result;
221  }
223  {
228 
229 
231  {
232  hname = ""_sh;
233  riname = ""_sh;
234  ritype = "vtx_float"_sh;
235  rioff = 0;
236 
237  }
238 
239  bool operator==(const Rmanconversions &src) const
240  {
241  if (hname != src.hname) return false;
242  if (riname != src.riname) return false;
243  if (ritype != src.ritype) return false;
244  if (rioff != src.rioff) return false;
245 
246  return true;
247  }
248  bool operator!=(const Rmanconversions &src) const
249  {
250  return !operator==(src);
251  }
252 
253  };
254 
256  {
258 
259  buf.strcat("[ ");
260  for (int i = 0; i < list.entries(); i++)
261  {
262  if (i)
263  buf.strcat(", ");
264  buf.strcat("( ");
265  buf.append("");
266  { UT_String tmp; tmp = UT_StringWrap(list(i).hname).makeQuotedString('"'); buf.strcat(tmp); }
267  buf.append(", ");
268  { UT_String tmp; tmp = UT_StringWrap(list(i).riname).makeQuotedString('"'); buf.strcat(tmp); }
269  buf.append(", ");
270  { UT_String tmp; tmp = UT_StringWrap(list(i).ritype).makeQuotedString('"'); buf.strcat(tmp); }
271  buf.append(", ");
272  buf.appendSprintf("%d", (int) list(i).rioff);
273 
274  buf.strcat(" )");
275  }
276  buf.strcat(" ]");
277 
278  UT_StringHolder result = buf;
279  return result;
280  }
281 
283  {
284  myPtdel = ""_sh;
285  myPtkeep = "*"_sh;
286  myVtxdel = ""_sh;
287  myVtxkeep = "*"_sh;
288  myPrimdel = ""_sh;
289  myPrimkeep = "*"_sh;
290  myDtldel = ""_sh;
291  myDtlkeep = "*"_sh;
292  myRidefault = false;
293  myUpdatevar = true;
294  myOverwrite = false;
295 
296  }
297 
298  explicit SOP_AttributeParms(const SOP_AttributeParms &) = default;
299 
300  virtual ~SOP_AttributeParms() {}
301 
302  bool operator==(const SOP_AttributeParms &src) const
303  {
304  if (myPtrenames != src.myPtrenames) return false;
305  if (myPtdel != src.myPtdel) return false;
306  if (myPtkeep != src.myPtkeep) return false;
307  if (myVtxrenames != src.myVtxrenames) return false;
308  if (myVtxdel != src.myVtxdel) return false;
309  if (myVtxkeep != src.myVtxkeep) return false;
310  if (myPrimrenames != src.myPrimrenames) return false;
311  if (myPrimdel != src.myPrimdel) return false;
312  if (myPrimkeep != src.myPrimkeep) return false;
313  if (myDetailrenames != src.myDetailrenames) return false;
314  if (myDtldel != src.myDtldel) return false;
315  if (myDtlkeep != src.myDtlkeep) return false;
316  if (myRmanconversions != src.myRmanconversions) return false;
317  if (myRidefault != src.myRidefault) return false;
318  if (myUpdatevar != src.myUpdatevar) return false;
319  if (myOverwrite != src.myOverwrite) return false;
320 
321  return true;
322  }
323  bool operator!=(const SOP_AttributeParms &src) const
324  {
325  return !operator==(src);
326  }
327 
328 
329 
330  void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)
331  {
332  if (true)
333  {
334  int64 length;
335  OP_Utils::evalOpParm(length, node, "ptrenames", time, 0);
336  myPtrenames.entries(length);
337  for (exint i = 0; i < length; i++)
338  {
339  int parmidx = i+0;
340  auto && _curentry = myPtrenames(i);
341  (void) _curentry;
342  if (true)
343  OP_Utils::evalOpParmInst(myPtrenames(i).frompt, node, "frompt#", &parmidx, time, 0);
344  else myPtrenames(i).frompt = ""_sh;
345  if (true)
346  OP_Utils::evalOpParmInst(myPtrenames(i).topt, node, "topt#", &parmidx, time, 0);
347  else myPtrenames(i).topt = ""_sh;
348 
349  }
350  }
351  else
352  myPtrenames.clear();
353  if (true)
354  OP_Utils::evalOpParm(myPtdel, node, "ptdel", time, 0);
355  else myPtdel = ""_sh;
356  if (true)
357  OP_Utils::evalOpParm(myPtkeep, node, "ptkeep", time, 0);
358  else myPtkeep = "*"_sh;
359  if (true)
360  {
361  int64 length;
362  OP_Utils::evalOpParm(length, node, "vtxrenames", time, 0);
363  myVtxrenames.entries(length);
364  for (exint i = 0; i < length; i++)
365  {
366  int parmidx = i+0;
367  auto && _curentry = myVtxrenames(i);
368  (void) _curentry;
369  if (true)
370  OP_Utils::evalOpParmInst(myVtxrenames(i).fromvtx, node, "fromvtx#", &parmidx, time, 0);
371  else myVtxrenames(i).fromvtx = ""_sh;
372  if (true)
373  OP_Utils::evalOpParmInst(myVtxrenames(i).tovtx, node, "tovtx#", &parmidx, time, 0);
374  else myVtxrenames(i).tovtx = ""_sh;
375 
376  }
377  }
378  else
379  myVtxrenames.clear();
380  if (true)
381  OP_Utils::evalOpParm(myVtxdel, node, "vtxdel", time, 0);
382  else myVtxdel = ""_sh;
383  if (true)
384  OP_Utils::evalOpParm(myVtxkeep, node, "vtxkeep", time, 0);
385  else myVtxkeep = "*"_sh;
386  if (true)
387  {
388  int64 length;
389  OP_Utils::evalOpParm(length, node, "primrenames", time, 0);
390  myPrimrenames.entries(length);
391  for (exint i = 0; i < length; i++)
392  {
393  int parmidx = i+0;
394  auto && _curentry = myPrimrenames(i);
395  (void) _curentry;
396  if (true)
397  OP_Utils::evalOpParmInst(myPrimrenames(i).frompr, node, "frompr#", &parmidx, time, 0);
398  else myPrimrenames(i).frompr = ""_sh;
399  if (true)
400  OP_Utils::evalOpParmInst(myPrimrenames(i).topr, node, "topr#", &parmidx, time, 0);
401  else myPrimrenames(i).topr = ""_sh;
402 
403  }
404  }
405  else
406  myPrimrenames.clear();
407  if (true)
408  OP_Utils::evalOpParm(myPrimdel, node, "primdel", time, 0);
409  else myPrimdel = ""_sh;
410  if (true)
411  OP_Utils::evalOpParm(myPrimkeep, node, "primkeep", time, 0);
412  else myPrimkeep = "*"_sh;
413  if (true)
414  {
415  int64 length;
416  OP_Utils::evalOpParm(length, node, "detailrenames", time, 0);
417  myDetailrenames.entries(length);
418  for (exint i = 0; i < length; i++)
419  {
420  int parmidx = i+0;
421  auto && _curentry = myDetailrenames(i);
422  (void) _curentry;
423  if (true)
424  OP_Utils::evalOpParmInst(myDetailrenames(i).fromdtl, node, "fromdtl#", &parmidx, time, 0);
425  else myDetailrenames(i).fromdtl = ""_sh;
426  if (true)
427  OP_Utils::evalOpParmInst(myDetailrenames(i).todtl, node, "todtl#", &parmidx, time, 0);
428  else myDetailrenames(i).todtl = ""_sh;
429 
430  }
431  }
432  else
433  myDetailrenames.clear();
434  if (true)
435  OP_Utils::evalOpParm(myDtldel, node, "dtldel", time, 0);
436  else myDtldel = ""_sh;
437  if (true)
438  OP_Utils::evalOpParm(myDtlkeep, node, "dtlkeep", time, 0);
439  else myDtlkeep = "*"_sh;
440  if (true)
441  {
442  int64 length;
443  OP_Utils::evalOpParm(length, node, "rmanconversions", time, 0);
444  myRmanconversions.entries(length);
445  for (exint i = 0; i < length; i++)
446  {
447  int parmidx = i+0;
448  auto && _curentry = myRmanconversions(i);
449  (void) _curentry;
450  if (true)
451  OP_Utils::evalOpParmInst(myRmanconversions(i).hname, node, "hname#", &parmidx, time, 0);
452  else myRmanconversions(i).hname = ""_sh;
453  if (true)
454  OP_Utils::evalOpParmInst(myRmanconversions(i).riname, node, "riname#", &parmidx, time, 0);
455  else myRmanconversions(i).riname = ""_sh;
456  if (true)
457  OP_Utils::evalOpParmInst(myRmanconversions(i).ritype, node, "ritype#", &parmidx, time, 0);
458  else myRmanconversions(i).ritype = "vtx_float"_sh;
459  if (true)
460  OP_Utils::evalOpParmInst(myRmanconversions(i).rioff, node, "rioff#", &parmidx, time, 0);
461  else myRmanconversions(i).rioff = 0;
462 
463  }
464  }
465  else
466  myRmanconversions.clear();
467  if (true)
468  OP_Utils::evalOpParm(myRidefault, node, "ridefault", time, 0);
469  else myRidefault = false;
470  if (true)
471  OP_Utils::evalOpParm(myUpdatevar, node, "updatevar", time, 0);
472  else myUpdatevar = true;
473  if (true)
474  OP_Utils::evalOpParm(myOverwrite, node, "overwrite", time, 0);
475  else myOverwrite = false;
476 
477  }
478 
479 
480  virtual void loadFromOpSubclass(const LoadParms &loadparms)
481  {
482  buildFromOp(loadparms.node(), loadparms.context().getTime(), loadparms.depnode());
483  }
484 
485 
486  virtual void copyFrom(const SOP_NodeParms *src)
487  {
488  *this = *((const SOP_AttributeParms *)src);
489  }
490 
491  template <typename T>
492  void
493  doGetParmValue(exint idx, T &value) const
494  {
495  switch (idx)
496  {
497  case 1:
498  coerceValue(value, myPtdel);
499  break;
500  case 2:
501  coerceValue(value, myPtkeep);
502  break;
503  case 4:
504  coerceValue(value, myVtxdel);
505  break;
506  case 5:
507  coerceValue(value, myVtxkeep);
508  break;
509  case 7:
510  coerceValue(value, myPrimdel);
511  break;
512  case 8:
513  coerceValue(value, myPrimkeep);
514  break;
515  case 10:
516  coerceValue(value, myDtldel);
517  break;
518  case 11:
519  coerceValue(value, myDtlkeep);
520  break;
521  case 13:
522  coerceValue(value, myRidefault);
523  break;
524  case 14:
525  coerceValue(value, myUpdatevar);
526  break;
527  case 15:
528  coerceValue(value, myOverwrite);
529  break;
530 
531  }
532  }
533 
534  void getParmValue(exint idx, exint &value) const
535  { doGetParmValue(idx, value); }
536  void getParmValue(exint idx, fpreal &value) const
537  { doGetParmValue(idx, value); }
539  { doGetParmValue(idx, value); }
541  { doGetParmValue(idx, value); }
543  { doGetParmValue(idx, value); }
545  { doGetParmValue(idx, value); }
547  { doGetParmValue(idx, value); }
549  { doGetParmValue(idx, value); }
551  { doGetParmValue(idx, value); }
553  { doGetParmValue(idx, value); }
555  { doGetParmValue(idx, value); }
556 
557  template <typename T>
558  void
559  doSetParmValue(exint idx, const T &value)
560  {
561  switch (idx)
562  {
563  case 1:
564  coerceValue(myPtdel, value);
565  break;
566  case 2:
567  coerceValue(myPtkeep, value);
568  break;
569  case 4:
570  coerceValue(myVtxdel, value);
571  break;
572  case 5:
573  coerceValue(myVtxkeep, value);
574  break;
575  case 7:
576  coerceValue(myPrimdel, value);
577  break;
578  case 8:
579  coerceValue(myPrimkeep, value);
580  break;
581  case 10:
582  coerceValue(myDtldel, value);
583  break;
584  case 11:
585  coerceValue(myDtlkeep, value);
586  break;
587  case 13:
588  coerceValue(myRidefault, value);
589  break;
590  case 14:
591  coerceValue(myUpdatevar, value);
592  break;
593  case 15:
594  coerceValue(myOverwrite, value);
595  break;
596 
597  }
598  }
599 
600  void setParmValue(exint idx, const exint &value)
601  { doSetParmValue(idx, value); }
602  void setParmValue(exint idx, const fpreal &value)
603  { doSetParmValue(idx, value); }
604  void setParmValue(exint idx, const UT_Vector2D &value)
605  { doSetParmValue(idx, value); }
606  void setParmValue(exint idx, const UT_Vector3D &value)
607  { doSetParmValue(idx, value); }
608  void setParmValue(exint idx, const UT_Vector4D &value)
609  { doSetParmValue(idx, value); }
610  void setParmValue(exint idx, const UT_Matrix2D &value)
611  { doSetParmValue(idx, value); }
612  void setParmValue(exint idx, const UT_Matrix3D &value)
613  { doSetParmValue(idx, value); }
614  void setParmValue(exint idx, const UT_Matrix4D &value)
615  { doSetParmValue(idx, value); }
617  { doSetParmValue(idx, value); }
619  { doSetParmValue(idx, value); }
621  { doSetParmValue(idx, value); }
622 
623  virtual exint getNumParms() const
624  {
625  return 16;
626  }
627 
628  virtual const char *getParmName(exint fieldnum) const
629  {
630  switch (fieldnum)
631  {
632  case 0:
633  return "ptrenames";
634  case 1:
635  return "ptdel";
636  case 2:
637  return "ptkeep";
638  case 3:
639  return "vtxrenames";
640  case 4:
641  return "vtxdel";
642  case 5:
643  return "vtxkeep";
644  case 6:
645  return "primrenames";
646  case 7:
647  return "primdel";
648  case 8:
649  return "primkeep";
650  case 9:
651  return "detailrenames";
652  case 10:
653  return "dtldel";
654  case 11:
655  return "dtlkeep";
656  case 12:
657  return "rmanconversions";
658  case 13:
659  return "ridefault";
660  case 14:
661  return "updatevar";
662  case 15:
663  return "overwrite";
664 
665  }
666  return 0;
667  }
668 
669  virtual ParmType getParmType(exint fieldnum) const
670  {
671  switch (fieldnum)
672  {
673  case 1:
674  return PARM_STRING;
675  case 2:
676  return PARM_STRING;
677  case 4:
678  return PARM_STRING;
679  case 5:
680  return PARM_STRING;
681  case 7:
682  return PARM_STRING;
683  case 8:
684  return PARM_STRING;
685  case 10:
686  return PARM_STRING;
687  case 11:
688  return PARM_STRING;
689  case 13:
690  return PARM_INTEGER;
691  case 14:
692  return PARM_INTEGER;
693  case 15:
694  return PARM_INTEGER;
695 
696  }
697  return PARM_UNSUPPORTED;
698  }
699 
700  // Boiler plate to load individual types.
701  static void loadData(UT_IStream &is, int64 &v)
702  { is.bread(&v, 1); }
703  static void loadData(UT_IStream &is, bool &v)
704  { int64 iv; is.bread(&iv, 1); v = iv; }
705  static void loadData(UT_IStream &is, fpreal64 &v)
706  { is.bread<fpreal64>(&v, 1); }
707  static void loadData(UT_IStream &is, UT_Vector2D &v)
708  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
709  static void loadData(UT_IStream &is, UT_Vector3D &v)
710  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
711  is.bread<fpreal64>(&v.z(), 1); }
712  static void loadData(UT_IStream &is, UT_Vector4D &v)
713  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
714  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
715  static void loadData(UT_IStream &is, UT_Matrix2D &v)
716  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
717  static void loadData(UT_IStream &is, UT_Matrix3D &v)
718  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
719  static void loadData(UT_IStream &is, UT_Matrix4D &v)
720  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
721  static void loadData(UT_IStream &is, UT_Vector2I &v)
722  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
723  static void loadData(UT_IStream &is, UT_Vector3I &v)
724  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
725  is.bread<int64>(&v.z(), 1); }
726  static void loadData(UT_IStream &is, UT_Vector4I &v)
727  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
728  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
730  { is.bread(v); }
732  { UT_StringHolder rampdata;
733  loadData(is, rampdata);
734  if (rampdata.isstring())
735  {
736  v.reset(new UT_Ramp());
737  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
738  v->load(istr);
739  }
740  else v.reset();
741  }
744  loadData(is, data);
745  if (data.isstring())
746  {
747  // Find the data type.
748  char *colon = UT_StringWrap(data).findChar(':');
749  if (colon)
750  {
751  int typelen = colon - data.buffer();
753  type.strncpy(data.buffer(), typelen);
754  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
755 
756  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
757  }
758  }
759  else v.reset();
760  }
761 
762  static void saveData(std::ostream &os, int64 v)
763  { UTwrite(os, &v); }
764  static void saveData(std::ostream &os, bool v)
765  { int64 iv = v; UTwrite(os, &iv); }
766  static void saveData(std::ostream &os, fpreal64 v)
767  { UTwrite<fpreal64>(os, &v); }
768  static void saveData(std::ostream &os, UT_Vector2D v)
769  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
770  static void saveData(std::ostream &os, UT_Vector3D v)
771  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
772  UTwrite<fpreal64>(os, &v.z()); }
773  static void saveData(std::ostream &os, UT_Vector4D v)
774  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
775  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
776  static void saveData(std::ostream &os, UT_Matrix2D v)
778  static void saveData(std::ostream &os, UT_Matrix3D v)
780  static void saveData(std::ostream &os, UT_Matrix4D v)
782  static void saveData(std::ostream &os, UT_StringHolder s)
783  { UT_StringWrap(s).saveBinary(os); }
784  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
785  { UT_StringHolder result;
786  UT_OStringStream ostr;
787  if (s) s->save(ostr);
788  result = ostr.str();
789  saveData(os, result);
790  }
791  static void saveData(std::ostream &os, PRM_DataItemHandle s)
792  { UT_StringHolder result;
793  UT_OStringStream ostr;
794  if (s)
795  {
796  ostr << s->getDataTypeToken();
797  ostr << ":";
798  s->saveBinary(ostr);
799  }
800  result = ostr.str();
801  saveData(os, result);
802  }
803 
804 
805  void save(std::ostream &os) const
806  {
807  int32 v = version();
808  UTwrite(os, &v);
809  {
810  int64 length = myPtrenames.entries();
811  UTwrite(os, &length);
812  for (exint i = 0; i < length; i++)
813  {
814  saveData(os, myPtrenames(i).frompt);
815  saveData(os, myPtrenames(i).topt);
816 
817  }
818  }
819  saveData(os, myPtdel);
820  saveData(os, myPtkeep);
821  {
822  int64 length = myVtxrenames.entries();
823  UTwrite(os, &length);
824  for (exint i = 0; i < length; i++)
825  {
826  saveData(os, myVtxrenames(i).fromvtx);
827  saveData(os, myVtxrenames(i).tovtx);
828 
829  }
830  }
831  saveData(os, myVtxdel);
832  saveData(os, myVtxkeep);
833  {
834  int64 length = myPrimrenames.entries();
835  UTwrite(os, &length);
836  for (exint i = 0; i < length; i++)
837  {
838  saveData(os, myPrimrenames(i).frompr);
839  saveData(os, myPrimrenames(i).topr);
840 
841  }
842  }
843  saveData(os, myPrimdel);
844  saveData(os, myPrimkeep);
845  {
846  int64 length = myDetailrenames.entries();
847  UTwrite(os, &length);
848  for (exint i = 0; i < length; i++)
849  {
850  saveData(os, myDetailrenames(i).fromdtl);
851  saveData(os, myDetailrenames(i).todtl);
852 
853  }
854  }
855  saveData(os, myDtldel);
856  saveData(os, myDtlkeep);
857  {
858  int64 length = myRmanconversions.entries();
859  UTwrite(os, &length);
860  for (exint i = 0; i < length; i++)
861  {
862  saveData(os, myRmanconversions(i).hname);
863  saveData(os, myRmanconversions(i).riname);
864  saveData(os, myRmanconversions(i).ritype);
865  saveData(os, myRmanconversions(i).rioff);
866 
867  }
868  }
869  saveData(os, myRidefault);
870  saveData(os, myUpdatevar);
871  saveData(os, myOverwrite);
872 
873  }
874 
875  bool load(UT_IStream &is)
876  {
877  int32 v;
878  is.bread(&v, 1);
879  if (version() != v)
880  {
881  // Fail incompatible versions
882  return false;
883  }
884  {
885  int64 length;
886  is.read(&length, 1);
887  myPtrenames.entries(length);
888  for (exint i = 0; i < length; i++)
889  {
890  loadData(is, myPtrenames(i).frompt);
891  loadData(is, myPtrenames(i).topt);
892 
893  }
894  }
895  loadData(is, myPtdel);
896  loadData(is, myPtkeep);
897  {
898  int64 length;
899  is.read(&length, 1);
900  myVtxrenames.entries(length);
901  for (exint i = 0; i < length; i++)
902  {
903  loadData(is, myVtxrenames(i).fromvtx);
904  loadData(is, myVtxrenames(i).tovtx);
905 
906  }
907  }
908  loadData(is, myVtxdel);
909  loadData(is, myVtxkeep);
910  {
911  int64 length;
912  is.read(&length, 1);
913  myPrimrenames.entries(length);
914  for (exint i = 0; i < length; i++)
915  {
916  loadData(is, myPrimrenames(i).frompr);
917  loadData(is, myPrimrenames(i).topr);
918 
919  }
920  }
921  loadData(is, myPrimdel);
922  loadData(is, myPrimkeep);
923  {
924  int64 length;
925  is.read(&length, 1);
926  myDetailrenames.entries(length);
927  for (exint i = 0; i < length; i++)
928  {
929  loadData(is, myDetailrenames(i).fromdtl);
930  loadData(is, myDetailrenames(i).todtl);
931 
932  }
933  }
934  loadData(is, myDtldel);
935  loadData(is, myDtlkeep);
936  {
937  int64 length;
938  is.read(&length, 1);
939  myRmanconversions.entries(length);
940  for (exint i = 0; i < length; i++)
941  {
942  loadData(is, myRmanconversions(i).hname);
943  loadData(is, myRmanconversions(i).riname);
944  loadData(is, myRmanconversions(i).ritype);
945  loadData(is, myRmanconversions(i).rioff);
946 
947  }
948  }
949  loadData(is, myRidefault);
950  loadData(is, myUpdatevar);
951  loadData(is, myOverwrite);
952 
953  return true;
954  }
955 
956  const UT_Array<Ptrenames> &getPtrenames() const { return myPtrenames; }
957  void setPtrenames(const UT_Array<Ptrenames> &val) { myPtrenames = val; }
958  exint opPtrenames(const SOP_NodeVerb::CookParms &cookparms) const
959  {
960  SOP_Node *thissop = cookparms.getNode();
961  if (!thissop) return getPtrenames().entries();
962  exint result;
963  OP_Utils::evalOpParm(result, thissop, "ptrenames", cookparms.getCookTime(), 0);
964  return result;
965  }
967  {
968  SOP_Node *thissop = cookparms.getNode();
969  if (!thissop) return (myPtrenames(_idx).frompt);
970  int _parmidx = _idx + 0;
971  UT_StringHolder result;
972  OP_Utils::evalOpParmInst(result, thissop, "frompt#", &_parmidx, cookparms.getCookTime(), 0);
973  return (result);
974  }
976  {
977  SOP_Node *thissop = cookparms.getNode();
978  if (!thissop) return (myPtrenames(_idx).topt);
979  int _parmidx = _idx + 0;
980  UT_StringHolder result;
981  OP_Utils::evalOpParmInst(result, thissop, "topt#", &_parmidx, cookparms.getCookTime(), 0);
982  return (result);
983  }
984 
985  const UT_StringHolder & getPtdel() const { return myPtdel; }
986  void setPtdel(const UT_StringHolder & val) { myPtdel = val; }
988  {
989  SOP_Node *thissop = cookparms.getNode();
990  if (!thissop) return getPtdel();
991  UT_StringHolder result;
992  OP_Utils::evalOpParm(result, thissop, "ptdel", cookparms.getCookTime(), 0);
993  return result;
994  }
995  const UT_StringHolder & getPtkeep() const { return myPtkeep; }
996  void setPtkeep(const UT_StringHolder & val) { myPtkeep = val; }
998  {
999  SOP_Node *thissop = cookparms.getNode();
1000  if (!thissop) return getPtkeep();
1001  UT_StringHolder result;
1002  OP_Utils::evalOpParm(result, thissop, "ptkeep", cookparms.getCookTime(), 0);
1003  return result;
1004  }
1005  const UT_Array<Vtxrenames> &getVtxrenames() const { return myVtxrenames; }
1006  void setVtxrenames(const UT_Array<Vtxrenames> &val) { myVtxrenames = val; }
1008  {
1009  SOP_Node *thissop = cookparms.getNode();
1010  if (!thissop) return getVtxrenames().entries();
1011  exint result;
1012  OP_Utils::evalOpParm(result, thissop, "vtxrenames", cookparms.getCookTime(), 0);
1013  return result;
1014  }
1016  {
1017  SOP_Node *thissop = cookparms.getNode();
1018  if (!thissop) return (myVtxrenames(_idx).fromvtx);
1019  int _parmidx = _idx + 0;
1020  UT_StringHolder result;
1021  OP_Utils::evalOpParmInst(result, thissop, "fromvtx#", &_parmidx, cookparms.getCookTime(), 0);
1022  return (result);
1023  }
1025  {
1026  SOP_Node *thissop = cookparms.getNode();
1027  if (!thissop) return (myVtxrenames(_idx).tovtx);
1028  int _parmidx = _idx + 0;
1029  UT_StringHolder result;
1030  OP_Utils::evalOpParmInst(result, thissop, "tovtx#", &_parmidx, cookparms.getCookTime(), 0);
1031  return (result);
1032  }
1033 
1034  const UT_StringHolder & getVtxdel() const { return myVtxdel; }
1035  void setVtxdel(const UT_StringHolder & val) { myVtxdel = val; }
1037  {
1038  SOP_Node *thissop = cookparms.getNode();
1039  if (!thissop) return getVtxdel();
1040  UT_StringHolder result;
1041  OP_Utils::evalOpParm(result, thissop, "vtxdel", cookparms.getCookTime(), 0);
1042  return result;
1043  }
1044  const UT_StringHolder & getVtxkeep() const { return myVtxkeep; }
1045  void setVtxkeep(const UT_StringHolder & val) { myVtxkeep = val; }
1047  {
1048  SOP_Node *thissop = cookparms.getNode();
1049  if (!thissop) return getVtxkeep();
1050  UT_StringHolder result;
1051  OP_Utils::evalOpParm(result, thissop, "vtxkeep", cookparms.getCookTime(), 0);
1052  return result;
1053  }
1054  const UT_Array<Primrenames> &getPrimrenames() const { return myPrimrenames; }
1055  void setPrimrenames(const UT_Array<Primrenames> &val) { myPrimrenames = val; }
1057  {
1058  SOP_Node *thissop = cookparms.getNode();
1059  if (!thissop) return getPrimrenames().entries();
1060  exint result;
1061  OP_Utils::evalOpParm(result, thissop, "primrenames", cookparms.getCookTime(), 0);
1062  return result;
1063  }
1065  {
1066  SOP_Node *thissop = cookparms.getNode();
1067  if (!thissop) return (myPrimrenames(_idx).frompr);
1068  int _parmidx = _idx + 0;
1069  UT_StringHolder result;
1070  OP_Utils::evalOpParmInst(result, thissop, "frompr#", &_parmidx, cookparms.getCookTime(), 0);
1071  return (result);
1072  }
1074  {
1075  SOP_Node *thissop = cookparms.getNode();
1076  if (!thissop) return (myPrimrenames(_idx).topr);
1077  int _parmidx = _idx + 0;
1078  UT_StringHolder result;
1079  OP_Utils::evalOpParmInst(result, thissop, "topr#", &_parmidx, cookparms.getCookTime(), 0);
1080  return (result);
1081  }
1082 
1083  const UT_StringHolder & getPrimdel() const { return myPrimdel; }
1084  void setPrimdel(const UT_StringHolder & val) { myPrimdel = val; }
1086  {
1087  SOP_Node *thissop = cookparms.getNode();
1088  if (!thissop) return getPrimdel();
1089  UT_StringHolder result;
1090  OP_Utils::evalOpParm(result, thissop, "primdel", cookparms.getCookTime(), 0);
1091  return result;
1092  }
1093  const UT_StringHolder & getPrimkeep() const { return myPrimkeep; }
1094  void setPrimkeep(const UT_StringHolder & val) { myPrimkeep = val; }
1096  {
1097  SOP_Node *thissop = cookparms.getNode();
1098  if (!thissop) return getPrimkeep();
1099  UT_StringHolder result;
1100  OP_Utils::evalOpParm(result, thissop, "primkeep", cookparms.getCookTime(), 0);
1101  return result;
1102  }
1103  const UT_Array<Detailrenames> &getDetailrenames() const { return myDetailrenames; }
1104  void setDetailrenames(const UT_Array<Detailrenames> &val) { myDetailrenames = val; }
1106  {
1107  SOP_Node *thissop = cookparms.getNode();
1108  if (!thissop) return getDetailrenames().entries();
1109  exint result;
1110  OP_Utils::evalOpParm(result, thissop, "detailrenames", cookparms.getCookTime(), 0);
1111  return result;
1112  }
1114  {
1115  SOP_Node *thissop = cookparms.getNode();
1116  if (!thissop) return (myDetailrenames(_idx).fromdtl);
1117  int _parmidx = _idx + 0;
1118  UT_StringHolder result;
1119  OP_Utils::evalOpParmInst(result, thissop, "fromdtl#", &_parmidx, cookparms.getCookTime(), 0);
1120  return (result);
1121  }
1123  {
1124  SOP_Node *thissop = cookparms.getNode();
1125  if (!thissop) return (myDetailrenames(_idx).todtl);
1126  int _parmidx = _idx + 0;
1127  UT_StringHolder result;
1128  OP_Utils::evalOpParmInst(result, thissop, "todtl#", &_parmidx, cookparms.getCookTime(), 0);
1129  return (result);
1130  }
1131 
1132  const UT_StringHolder & getDtldel() const { return myDtldel; }
1133  void setDtldel(const UT_StringHolder & val) { myDtldel = val; }
1135  {
1136  SOP_Node *thissop = cookparms.getNode();
1137  if (!thissop) return getDtldel();
1138  UT_StringHolder result;
1139  OP_Utils::evalOpParm(result, thissop, "dtldel", cookparms.getCookTime(), 0);
1140  return result;
1141  }
1142  const UT_StringHolder & getDtlkeep() const { return myDtlkeep; }
1143  void setDtlkeep(const UT_StringHolder & val) { myDtlkeep = val; }
1145  {
1146  SOP_Node *thissop = cookparms.getNode();
1147  if (!thissop) return getDtlkeep();
1148  UT_StringHolder result;
1149  OP_Utils::evalOpParm(result, thissop, "dtlkeep", cookparms.getCookTime(), 0);
1150  return result;
1151  }
1152  const UT_Array<Rmanconversions> &getRmanconversions() const { return myRmanconversions; }
1153  void setRmanconversions(const UT_Array<Rmanconversions> &val) { myRmanconversions = val; }
1155  {
1156  SOP_Node *thissop = cookparms.getNode();
1157  if (!thissop) return getRmanconversions().entries();
1158  exint result;
1159  OP_Utils::evalOpParm(result, thissop, "rmanconversions", cookparms.getCookTime(), 0);
1160  return result;
1161  }
1163  {
1164  SOP_Node *thissop = cookparms.getNode();
1165  if (!thissop) return (myRmanconversions(_idx).hname);
1166  int _parmidx = _idx + 0;
1167  UT_StringHolder result;
1168  OP_Utils::evalOpParmInst(result, thissop, "hname#", &_parmidx, cookparms.getCookTime(), 0);
1169  return (result);
1170  }
1172  {
1173  SOP_Node *thissop = cookparms.getNode();
1174  if (!thissop) return (myRmanconversions(_idx).riname);
1175  int _parmidx = _idx + 0;
1176  UT_StringHolder result;
1177  OP_Utils::evalOpParmInst(result, thissop, "riname#", &_parmidx, cookparms.getCookTime(), 0);
1178  return (result);
1179  }
1181  {
1182  SOP_Node *thissop = cookparms.getNode();
1183  if (!thissop) return (myRmanconversions(_idx).ritype);
1184  int _parmidx = _idx + 0;
1185  UT_StringHolder result;
1186  OP_Utils::evalOpParmInst(result, thissop, "ritype#", &_parmidx, cookparms.getCookTime(), 0);
1187  return (result);
1188  }
1190  {
1191  SOP_Node *thissop = cookparms.getNode();
1192  if (!thissop) return (myRmanconversions(_idx).rioff);
1193  int _parmidx = _idx + 0;
1194  int64 result;
1195  OP_Utils::evalOpParmInst(result, thissop, "rioff#", &_parmidx, cookparms.getCookTime(), 0);
1196  return (result);
1197  }
1198 
1199  bool getRidefault() const { return myRidefault; }
1200  void setRidefault(bool val) { myRidefault = val; }
1201  bool opRidefault(const SOP_NodeVerb::CookParms &cookparms) const
1202  {
1203  SOP_Node *thissop = cookparms.getNode();
1204  if (!thissop) return getRidefault();
1205  bool result;
1206  OP_Utils::evalOpParm(result, thissop, "ridefault", cookparms.getCookTime(), 0);
1207  return result;
1208  }
1209  bool getUpdatevar() const { return myUpdatevar; }
1210  void setUpdatevar(bool val) { myUpdatevar = val; }
1211  bool opUpdatevar(const SOP_NodeVerb::CookParms &cookparms) const
1212  {
1213  SOP_Node *thissop = cookparms.getNode();
1214  if (!thissop) return getUpdatevar();
1215  bool result;
1216  OP_Utils::evalOpParm(result, thissop, "updatevar", cookparms.getCookTime(), 0);
1217  return result;
1218  }
1219  bool getOverwrite() const { return myOverwrite; }
1220  void setOverwrite(bool val) { myOverwrite = val; }
1221  bool opOverwrite(const SOP_NodeVerb::CookParms &cookparms) const
1222  {
1223  SOP_Node *thissop = cookparms.getNode();
1224  if (!thissop) return getOverwrite();
1225  bool result;
1226  OP_Utils::evalOpParm(result, thissop, "overwrite", cookparms.getCookTime(), 0);
1227  return result;
1228  }
1229 
1230 private:
1231  UT_Array<Ptrenames> myPtrenames;
1232  UT_StringHolder myPtdel;
1233  UT_StringHolder myPtkeep;
1234  UT_Array<Vtxrenames> myVtxrenames;
1235  UT_StringHolder myVtxdel;
1236  UT_StringHolder myVtxkeep;
1237  UT_Array<Primrenames> myPrimrenames;
1238  UT_StringHolder myPrimdel;
1239  UT_StringHolder myPrimkeep;
1240  UT_Array<Detailrenames> myDetailrenames;
1241  UT_StringHolder myDtldel;
1242  UT_StringHolder myDtlkeep;
1243  UT_Array<Rmanconversions> myRmanconversions;
1244  bool myRidefault;
1245  bool myUpdatevar;
1246  bool myOverwrite;
1247 
1248 };
void getParmValue(exint idx, UT_Vector3D &value) const
void setDetailrenames(const UT_Array< Detailrenames > &val)
exint opRmanconversions(const SOP_NodeVerb::CookParms &cookparms) const
void setPrimrenames(const UT_Array< Primrenames > &val)
void setUpdatevar(bool val)
UT_StringHolder opDtlkeep(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder createString(const UT_Array< Ptrenames > &list) const
void setParmValue(exint idx, const UT_StringHolder &value)
static void loadData(UT_IStream &is, UT_Vector4D &v)
SOP_Node * getNode() const
Definition: SOP_NodeVerb.h:494
const UT_StringHolder & getVtxkeep() const
T & z(void)
Definition: UT_Vector4.h:379
UT_StringHolder opVtxrenames_fromvtx(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
bool operator!=(const SOP_AttributeParms &src) const
void setPtrenames(const UT_Array< Ptrenames > &val)
bool opOverwrite(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opRmanconversions_ritype(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
virtual void loadFromOpSubclass(const LoadParms &loadparms)
virtual const char * getParmName(exint fieldnum) const
UT_StringHolder opVtxrenames_tovtx(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
static void loadData(UT_IStream &is, UT_Vector4I &v)
fpreal getTime() const
Definition: OP_Context.h:60
const GLdouble * v
Definition: glcorearb.h:836
UT_StringHolder createString(const UT_Array< Vtxrenames > &list) const
UT_StringHolder opPtrenames_frompt(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
static void saveData(std::ostream &os, bool v)
UT_StringHolder createString(const UT_Array< Detailrenames > &list) const
static void loadData(UT_IStream &is, UT_Vector2D &v)
static void saveData(std::ostream &os, UT_Vector3D v)
UT_StringHolder opRmanconversions_riname(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const
static void saveData(std::ostream &os, UT_StringHolder s)
void setParmValue(exint idx, const UT_Vector3D &value)
UT_StringHolder opPtdel(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE const char * buffer() const
T & x(void)
Definition: UT_Vector2.h:285
UT_StringHolder opVtxkeep(const SOP_NodeVerb::CookParms &cookparms) const
const UT_Array< Detailrenames > & getDetailrenames() const
bool operator!=(const Primrenames &src) const
bool operator!=(const Rmanconversions &src) const
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.
void getParmValue(exint idx, UT_StringHolder &value) const
SYS_FORCE_INLINE T & x(void)
Definition: UT_Vector3.h:498
static void saveData(std::ostream &os, UT_Matrix4D v)
UT_StringHolder opPrimdel(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getPrimdel() const
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
png_uint_32 i
Definition: png.h:2877
static void loadData(UT_IStream &is, UT_Vector3I &v)
static void loadData(UT_IStream &is, bool &v)
const UT_Array< Primrenames > & getPrimrenames() const
void setParmValue(exint idx, const UT_Matrix4D &value)
void setPtdel(const UT_StringHolder &val)
UT_StringHolder opDetailrenames_fromdtl(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
const UT_Array< Ptrenames > & getPtrenames() const
void doSetParmValue(exint idx, const T &value)
void setPrimkeep(const UT_StringHolder &val)
SYS_FORCE_INLINE T & z(void)
Definition: UT_Vector3.h:502
void setParmValue(exint idx, const UT_Vector2D &value)
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Definition: Dimensions.h:137
long long int64
Definition: SYS_Types.h:107
bool operator!=(const Vtxrenames &src) const
UT_StringHolder opPtrenames_topt(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
UT_StringHolder opPtkeep(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getPtkeep() const
UT_StringHolder opRmanconversions_hname(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
exint length() const
char * findChar(int c) const
Find first occurrance of character. Returns NULL upon failure.
Definition: UT_String.h:550
void doGetParmValue(exint idx, T &value) const
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
Definition: UT_SharedPtr.h:28
static void saveData(std::ostream &os, UT_Vector4D v)
int64 exint
Definition: SYS_Types.h:116
void setParmValue(exint idx, const UT_Matrix3D &value)
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
static void loadData(UT_IStream &is, fpreal64 &v)
const OP_Node * node() const
Definition: SOP_NodeVerb.h:104
UT_StringHolder opDtldel(const SOP_NodeVerb::CookParms &cookparms) const
double fpreal64
Definition: SYS_Types.h:192
bool operator==(const Detailrenames &src) const
exint read(bool *array, exint sz=1)
Definition: UT_IStream.h:284
virtual ParmType getParmType(exint fieldnum) const
UT_StringHolder opPrimrenames_frompr(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
void getParmValue(exint idx, UT_SharedPtr< UT_Ramp > &value) const
const UT_StringHolder & getPrimkeep() const
void setParmValue(exint idx, const PRM_DataItemHandle &value)
void setParmValue(exint idx, const UT_Vector4D &value)
const UT_StringHolder & getDtldel() const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
static void loadData(UT_IStream &is, UT_Vector2I &v)
void save(std::ostream &os) const
UT_StringHolder createString(const UT_Array< Rmanconversions > &list) const
GLboolean * data
Definition: glcorearb.h:130
int int32
Definition: SYS_Types.h:35
UT_StringHolder opVtxdel(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix2D v)
T & y(void)
Definition: UT_Vector4.h:377
void setOverwrite(bool val)
UT_StringHolder opDetailrenames_todtl(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
SYS_FORCE_INLINE void strcat(const char *src)
void saveBinary(std::ostream &os) const
Save string to binary stream.
Definition: UT_String.h:294
exint opPtrenames(const SOP_NodeVerb::CookParms &cookparms) const
GT_API const UT_StringHolder version
const UT_Array< Rmanconversions > & getRmanconversions() const
DEP_MicroNode * depnode() const
Definition: SOP_NodeVerb.h:111
int64 opRmanconversions_rioff(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glcorearb.h:2539
exint entries() const
Alias of size(). size() is preferred.
Definition: UT_Array.h:453
exint opPrimrenames(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix3D v)
static void saveData(std::ostream &os, UT_Vector2D v)
const UT_Array< Vtxrenames > & getVtxrenames() const
UT_StringHolder createString(const UT_Array< Primrenames > &list) const
void getParmValue(exint idx, UT_Matrix2D &value) const
void setParmValue(exint idx, const exint &value)
bool operator==(const SOP_AttributeParms &src) const
SYS_FORCE_INLINE T & y(void)
Definition: UT_Vector3.h:500
GLsizei const GLfloat * value
Definition: glcorearb.h:823
double fpreal
Definition: SYS_Types.h:270
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
void setRidefault(bool val)
static void saveData(std::ostream &os, int64 v)
void getParmValue(exint idx, UT_Matrix4D &value) const
static void loadData(UT_IStream &is, int64 &v)
const UT_StringHolder & getDtlkeep() const
UT_StringHolder opPrimkeep(const SOP_NodeVerb::CookParms &cookparms) const
void getParmValue(exint idx, UT_Vector4D &value) const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
Utility class for containing a color ramp.
Definition: UT_Ramp.h:84
void setVtxkeep(const UT_StringHolder &val)
void getParmValue(exint idx, UT_Matrix3D &value) const
void setVtxrenames(const UT_Array< Vtxrenames > &val)
bool operator==(const Ptrenames &src) const
const UT_StringHolder & getPtdel() const
UT_StringHolder opPrimrenames_topr(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
SYS_FORCE_INLINE void append(char character)
void getParmValue(exint idx, fpreal &value) const
GLuint GLfloat * val
Definition: glcorearb.h:1607
void setParmValue(exint idx, const UT_Matrix2D &value)
bool operator==(const Rmanconversions &src) const
void setParmValue(exint idx, const UT_SharedPtr< UT_Ramp > &value)
#define SOP_API
Definition: SOP_API.h:10
void setPtkeep(const UT_StringHolder &val)
void getParmValue(exint idx, UT_Vector2D &value) const
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glcorearb.h:107
static void loadData(UT_IStream &is, UT_Matrix3D &v)
fpreal getCookTime() const
Definition: SOP_NodeVerb.h:501
const UT_StringHolder & getVtxdel() const
T & x(void)
Definition: UT_Vector4.h:375
exint opDetailrenames(const SOP_NodeVerb::CookParms &cookparms) const
bool opUpdatevar(const SOP_NodeVerb::CookParms &cookparms) const
void setVtxdel(const UT_StringHolder &val)
T & y(void)
Definition: UT_Vector2.h:287
exint opVtxrenames(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
void setPrimdel(const UT_StringHolder &val)
virtual exint getNumParms() const
GLboolean r
Definition: glcorearb.h:1221
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
bool operator!=(const Detailrenames &src) const
bool operator!=(const Ptrenames &src) const
static void loadData(UT_IStream &is, UT_StringHolder &v)
void setDtldel(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_Vector3D &v)
bool operator==(const Primrenames &src) const
T & w(void)
Definition: UT_Vector4.h:381
static void saveData(std::ostream &os, fpreal64 v)
void getParmValue(exint idx, exint &value) const
bool operator==(const Vtxrenames &src) const
bool opRidefault(const SOP_NodeVerb::CookParms &cookparms) const
void setDtlkeep(const UT_StringHolder &val)
void setParmValue(exint idx, const fpreal &value)
bool load(UT_IStream &is)
const OP_Context & context() const
Definition: SOP_NodeVerb.h:109
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
Definition: PRM_Parm.h:88
virtual void copyFrom(const SOP_NodeParms *src)
SYS_FORCE_INLINE bool isstring() const
void setRmanconversions(const UT_Array< Rmanconversions > &val)
static void loadData(UT_IStream &is, UT_Matrix4D &v)
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
void getParmValue(exint idx, PRM_DataItemHandle &value) const
GLuint GLsizei GLsizei * length
Definition: glcorearb.h:794
GLenum src
Definition: glcorearb.h:1792
void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)