HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SOP_AttribSwap.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 <SOP/SOP_GraphProxy.h>
8 
9 #include <OP/OP_Utils.h>
10 #include <PRM/PRM_Parm.h>
11 #include <UT/UT_IStream.h>
12 #include <UT/UT_NTStreamUtil.h>
13 #include <UT/UT_Ramp.h>
14 #include <UT/UT_SharedPtr.h>
15 #include <UT/UT_StringHolder.h>
16 #include <UT/UT_StringStream.h>
17 #include <UT/UT_VectorTypes.h>
18 #include <SYS/SYS_Types.h>
19 
20 using namespace UT::Literal;
21 
22 class DEP_MicroNode;
23 namespace SOP_AttribSwapEnums
24 {
25  enum class Method
26  {
27  SWAP = 0,
28  COPY,
29  MOVE
30  };
31  enum class Class
32  {
33  DETAIL = 0,
34  PRIMITIVE,
35  POINT,
36  VERTEX
37  };
38  enum class Typeinfo
39  {
40  SOURCE = 0,
41  DEST
42  };
43 }
44 
45 
47 {
48 public:
49  static int version() { return 1; }
50  struct Numswaps
51  {
52  bool enable;
58 
59 
61  {
62  enable = true;
63  method = 0;
64  _class = 2;
65  srcattribs = ""_sh;
66  dstattribs = ""_sh;
67  typeinfo = 1;
68 
69  }
70 
71  bool operator==(const Numswaps &src) const
72  {
73  if (enable != src.enable) return false;
74  if (method != src.method) return false;
75  if (_class != src._class) return false;
76  if (srcattribs != src.srcattribs) return false;
77  if (dstattribs != src.dstattribs) return false;
78  if (typeinfo != src.typeinfo) return false;
79 
80  return true;
81  }
82  bool operator!=(const Numswaps &src) const
83  {
84  return !operator==(src);
85  }
86 
87  };
88 
90  {
92 
93  buf.strcat("[ ");
94  for (int i = 0; i < list.entries(); i++)
95  {
96  if (i)
97  buf.strcat(", ");
98  buf.strcat("( ");
99  buf.append("");
100  buf.appendSprintf("%s", (list(i).enable) ? "true" : "false");
101  buf.append(", ");
102  buf.appendSprintf("%d", (int) list(i).method);
103  buf.append(", ");
104  buf.appendSprintf("%d", (int) list(i)._class);
105  buf.append(", ");
106  { UT_String tmp; tmp = UT_StringWrap(list(i).srcattribs).makeQuotedString('"'); buf.strcat(tmp); }
107  buf.append(", ");
108  { UT_String tmp; tmp = UT_StringWrap(list(i).dstattribs).makeQuotedString('"'); buf.strcat(tmp); }
109  buf.append(", ");
110  buf.appendSprintf("%d", (int) list(i).typeinfo);
111 
112  buf.strcat(" )");
113  }
114  buf.strcat(" ]");
115 
117  return result;
118  }
119 
121  {
122 
123  }
124 
125  explicit SOP_AttribSwapParms(const SOP_AttribSwapParms &) = default;
126 
127  ~SOP_AttribSwapParms() override {}
128 
129  bool operator==(const SOP_AttribSwapParms &src) const
130  {
131  if (myNumswaps != src.myNumswaps) return false;
132 
133  return true;
134  }
135  bool operator!=(const SOP_AttribSwapParms &src) const
136  {
137  return !operator==(src);
138  }
142 
143 
144 
145  void buildFromOp(const SOP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
146  {
147  if (true)
148  {
149  int64 length = 0;
150  graph->evalOpParm(length, nodeidx, "numswaps", time, 0);
151  myNumswaps.entries(length);
152  for (exint i = 0; i < length; i++)
153  {
154  int parmidx = i+1;
155  auto && _curentry = myNumswaps(i);
156  (void) _curentry;
157  myNumswaps(i).enable = true;
158  if (true)
159  graph->evalOpParmInst(myNumswaps(i).enable, nodeidx, "enable#", &parmidx, time, 0);
160  myNumswaps(i).method = 0;
161  if (true)
162  graph->evalOpParmInst(myNumswaps(i).method, nodeidx, "method#", &parmidx, time, 0);
163  myNumswaps(i)._class = 2;
164  if (true)
165  graph->evalOpParmInst(myNumswaps(i)._class, nodeidx, "class#", &parmidx, time, 0);
166  myNumswaps(i).srcattribs = ""_sh;
167  if (true)
168  graph->evalOpParmInst(myNumswaps(i).srcattribs, nodeidx, "srcattribs#", &parmidx, time, 0);
169  myNumswaps(i).dstattribs = ""_sh;
170  if (true)
171  graph->evalOpParmInst(myNumswaps(i).dstattribs, nodeidx, "dstattribs#", &parmidx, time, 0);
172  myNumswaps(i).typeinfo = 1;
173  if (true)
174  graph->evalOpParmInst(myNumswaps(i).typeinfo, nodeidx, "typeinfo#", &parmidx, time, 0);
175 
176  }
177  }
178  else
179  myNumswaps.clear();
180 
181  }
182 
183 
184  void loadFromOpSubclass(const LoadParms &loadparms) override
185  {
186  buildFromOp(loadparms.graph(), loadparms.nodeIdx(), loadparms.context().getTime(), loadparms.depnode());
187  }
188 
189 
190  void copyFrom(const SOP_NodeParms *src) override
191  {
192  *this = *((const SOP_AttribSwapParms *)src);
193  }
194 
195  template <typename T>
196  void
197  doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
198  {
199  if (idx.size() < 1)
200  return;
201  UT_ASSERT(idx.size() == instance.size()+1);
202  if (idx.size() != instance.size()+1)
203  return;
204  switch (idx[0])
205  {
206  case 0:
207  if (idx.size() == 1)
208  coerceValue(value, myNumswaps.entries());
209  else if (instance[0] < myNumswaps.entries())
210  {
211  auto && _data = myNumswaps(instance[0]);
212  switch (idx[1])
213  {
214  case 0:
215  coerceValue(value, _data.enable);
216  break;
217  case 1:
218  coerceValue(value, _data.method);
219  break;
220  case 2:
221  coerceValue(value, _data._class);
222  break;
223  case 3:
224  coerceValue(value, _data.srcattribs);
225  break;
226  case 4:
227  coerceValue(value, _data.dstattribs);
228  break;
229  case 5:
230  coerceValue(value, _data.typeinfo);
231  break;
232 
233  }
234  }
235  break;
236 
237  }
238  }
239 
240  void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
241  { doGetParmValue(idx, instance, value); }
242  void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
243  { doGetParmValue(idx, instance, value); }
244  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
245  { doGetParmValue(idx, instance, value); }
246  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
247  { doGetParmValue(idx, instance, value); }
248  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
249  { doGetParmValue(idx, instance, value); }
250  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
251  { doGetParmValue(idx, instance, value); }
252  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
253  { doGetParmValue(idx, instance, value); }
254  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
255  { doGetParmValue(idx, instance, value); }
256  void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
257  { doGetParmValue(idx, instance, value); }
258  void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr<UT_Ramp> &value) const override
259  { doGetParmValue(idx, instance, value); }
260  void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
261  { doGetParmValue(idx, instance, value); }
262 
263  template <typename T>
264  void
265  doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
266  {
267  if (idx.size() < 1)
268  return;
269  UT_ASSERT(idx.size() == instance.size()+1);
270  if (idx.size() != instance.size()+1)
271  return;
272  switch (idx[0])
273  {
274  case 0:
275  if (idx.size() == 1)
276  {
277  exint newsize;
278  coerceValue(newsize, value);
279  myNumswaps.setSize(newsize);
280  }
281  else
282  {
283  myNumswaps.setSizeIfNeeded(instance[0]+1);
284  auto && _data = myNumswaps(instance[0]);
285  switch (idx[1])
286  {
287  case 0:
288  coerceValue(_data.enable, value);
289  break;
290  case 1:
291  coerceValue(_data.method, value);
292  break;
293  case 2:
294  coerceValue(_data._class, value);
295  break;
296  case 3:
297  coerceValue(_data.srcattribs, value);
298  break;
299  case 4:
300  coerceValue(_data.dstattribs, value);
301  break;
302  case 5:
303  coerceValue(_data.typeinfo, value);
304  break;
305 
306  }
307  }
308  break;
309 
310  }
311  }
312 
313  void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
314  { doSetParmValue(idx, instance, value); }
315  void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
316  { doSetParmValue(idx, instance, value); }
317  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
318  { doSetParmValue(idx, instance, value); }
319  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
320  { doSetParmValue(idx, instance, value); }
321  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
322  { doSetParmValue(idx, instance, value); }
323  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
324  { doSetParmValue(idx, instance, value); }
325  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
326  { doSetParmValue(idx, instance, value); }
327  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
328  { doSetParmValue(idx, instance, value); }
329  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
330  { doSetParmValue(idx, instance, value); }
331  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr<UT_Ramp> &value) override
332  { doSetParmValue(idx, instance, value); }
333  void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
334  { doSetParmValue(idx, instance, value); }
335 
336  exint getNestNumParms(TempIndex idx) const override
337  {
338  if (idx.size() == 0)
339  return 1;
340  switch (idx[0])
341  {
342  case 0:
343  return 6;
344 
345  }
346  // Invalid
347  return 0;
348  }
349 
350  const char *getNestParmName(TempIndex fieldnum) const override
351  {
352  if (fieldnum.size() < 1)
353  return 0;
354  switch (fieldnum[0])
355  {
356  case 0:
357  if (fieldnum.size() == 1)
358  return "numswaps";
359  switch (fieldnum[1])
360  {
361  case 0:
362  return "enable#";
363  case 1:
364  return "method#";
365  case 2:
366  return "class#";
367  case 3:
368  return "srcattribs#";
369  case 4:
370  return "dstattribs#";
371  case 5:
372  return "typeinfo#";
373 
374  }
375  return 0;
376 
377  }
378  return 0;
379  }
380 
381  ParmType getNestParmType(TempIndex fieldnum) const override
382  {
383  if (fieldnum.size() < 1)
384  return PARM_UNSUPPORTED;
385  switch (fieldnum[0])
386  {
387  case 0:
388  if (fieldnum.size() == 1)
389  return PARM_MULTIPARM;
390  switch (fieldnum[1])
391  {
392  case 0:
393  return PARM_INTEGER;
394  case 1:
395  return PARM_INTEGER;
396  case 2:
397  return PARM_INTEGER;
398  case 3:
399  return PARM_STRING;
400  case 4:
401  return PARM_STRING;
402  case 5:
403  return PARM_INTEGER;
404 
405  }
406  return PARM_UNSUPPORTED;
407 
408  }
409  return PARM_UNSUPPORTED;
410  }
411 
412  // Boiler plate to load individual types.
413  static void loadData(UT_IStream &is, int64 &v)
414  { is.bread(&v, 1); }
415  static void loadData(UT_IStream &is, bool &v)
416  { int64 iv; is.bread(&iv, 1); v = iv; }
417  static void loadData(UT_IStream &is, fpreal64 &v)
418  { is.bread<fpreal64>(&v, 1); }
419  static void loadData(UT_IStream &is, UT_Vector2D &v)
420  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
421  static void loadData(UT_IStream &is, UT_Vector3D &v)
422  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
423  is.bread<fpreal64>(&v.z(), 1); }
424  static void loadData(UT_IStream &is, UT_Vector4D &v)
425  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
426  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
427  static void loadData(UT_IStream &is, UT_Matrix2D &v)
428  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
429  static void loadData(UT_IStream &is, UT_Matrix3D &v)
430  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
431  static void loadData(UT_IStream &is, UT_Matrix4D &v)
432  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
433  static void loadData(UT_IStream &is, UT_Vector2I &v)
434  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
435  static void loadData(UT_IStream &is, UT_Vector3I &v)
436  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
437  is.bread<int64>(&v.z(), 1); }
438  static void loadData(UT_IStream &is, UT_Vector4I &v)
439  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
440  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
442  { is.bread(v); }
444  { UT_StringHolder rampdata;
445  loadData(is, rampdata);
446  if (rampdata.isstring())
447  {
448  v.reset(new UT_Ramp());
449  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
450  v->load(istr);
451  }
452  else v.reset();
453  }
456  loadData(is, data);
457  if (data.isstring())
458  {
459  // Find the data type.
460  const char *colon = UT_StringWrap(data).findChar(':');
461  if (colon)
462  {
463  int typelen = colon - data.buffer();
465  type.strncpy(data.buffer(), typelen);
466  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
467 
468  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
469  }
470  }
471  else v.reset();
472  }
473 
474  static void saveData(std::ostream &os, int64 v)
475  { UTwrite(os, &v); }
476  static void saveData(std::ostream &os, bool v)
477  { int64 iv = v; UTwrite(os, &iv); }
478  static void saveData(std::ostream &os, fpreal64 v)
479  { UTwrite<fpreal64>(os, &v); }
480  static void saveData(std::ostream &os, UT_Vector2D v)
481  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
482  static void saveData(std::ostream &os, UT_Vector3D v)
483  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
484  UTwrite<fpreal64>(os, &v.z()); }
485  static void saveData(std::ostream &os, UT_Vector4D v)
486  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
487  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
488  static void saveData(std::ostream &os, UT_Matrix2D v)
490  static void saveData(std::ostream &os, UT_Matrix3D v)
492  static void saveData(std::ostream &os, UT_Matrix4D v)
494  static void saveData(std::ostream &os, UT_StringHolder s)
495  { UT_StringWrap(s).saveBinary(os); }
496  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
498  UT_OStringStream ostr;
499  if (s) s->save(ostr);
500  result = ostr.str();
501  saveData(os, result);
502  }
503  static void saveData(std::ostream &os, PRM_DataItemHandle s)
505  UT_OStringStream ostr;
506  if (s)
507  {
508  ostr << s->getDataTypeToken();
509  ostr << ":";
510  s->saveBinary(ostr);
511  }
512  result = ostr.str();
513  saveData(os, result);
514  }
515 
516 
517  void save(std::ostream &os) const
518  {
519  int32 v = version();
520  UTwrite(os, &v);
521  {
522  int64 length = myNumswaps.entries();
523  UTwrite(os, &length);
524  for (exint i = 0; i < length; i++)
525  {
526  saveData(os, myNumswaps(i).enable);
527  saveData(os, myNumswaps(i).method);
528  saveData(os, myNumswaps(i)._class);
529  saveData(os, myNumswaps(i).srcattribs);
530  saveData(os, myNumswaps(i).dstattribs);
531  saveData(os, myNumswaps(i).typeinfo);
532 
533  }
534  }
535 
536  }
537 
538  bool load(UT_IStream &is)
539  {
540  int32 v;
541  is.bread(&v, 1);
542  if (version() != v)
543  {
544  // Fail incompatible versions
545  return false;
546  }
547  {
548  int64 length;
549  is.read(&length, 1);
550  myNumswaps.entries(length);
551  for (exint i = 0; i < length; i++)
552  {
553  loadData(is, myNumswaps(i).enable);
554  loadData(is, myNumswaps(i).method);
555  loadData(is, myNumswaps(i)._class);
556  loadData(is, myNumswaps(i).srcattribs);
557  loadData(is, myNumswaps(i).dstattribs);
558  loadData(is, myNumswaps(i).typeinfo);
559 
560  }
561  }
562 
563  return true;
564  }
565 
566  const UT_Array<Numswaps> &getNumswaps() const { return myNumswaps; }
567  void setNumswaps(const UT_Array<Numswaps> &val) { myNumswaps = val; }
568  exint opNumswaps(const SOP_NodeVerb::CookParms &cookparms) const
569  {
570  SOP_Node *thissop = cookparms.getNode();
571  if (!thissop) return getNumswaps().entries();
572  exint result;
573  OP_Utils::evalOpParm(result, thissop, "numswaps", cookparms.getCookTime(), 0);
574  return result;
575  }
576  bool opNumswaps_enable(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
577  {
578  SOP_Node *thissop = cookparms.getNode();
579  if (!thissop) return (myNumswaps(_idx).enable);
580  int _parmidx = _idx + 1;
581  bool result;
582  OP_Utils::evalOpParmInst(result, thissop, "enable#", &_parmidx, cookparms.getCookTime(), 0);
583  return (result);
584  }
585  int64 opNumswaps_method(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
586  {
587  SOP_Node *thissop = cookparms.getNode();
588  if (!thissop) return (myNumswaps(_idx).method);
589  int _parmidx = _idx + 1;
590  int64 result;
591  OP_Utils::evalOpParmInst(result, thissop, "method#", &_parmidx, cookparms.getCookTime(), 0);
592  return (result);
593  }
594  int64 opNumswaps__class(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
595  {
596  SOP_Node *thissop = cookparms.getNode();
597  if (!thissop) return (myNumswaps(_idx)._class);
598  int _parmidx = _idx + 1;
599  int64 result;
600  OP_Utils::evalOpParmInst(result, thissop, "class#", &_parmidx, cookparms.getCookTime(), 0);
601  return (result);
602  }
604  {
605  SOP_Node *thissop = cookparms.getNode();
606  if (!thissop) return (myNumswaps(_idx).srcattribs);
607  int _parmidx = _idx + 1;
609  OP_Utils::evalOpParmInst(result, thissop, "srcattribs#", &_parmidx, cookparms.getCookTime(), 0);
610  return (result);
611  }
613  {
614  SOP_Node *thissop = cookparms.getNode();
615  if (!thissop) return (myNumswaps(_idx).dstattribs);
616  int _parmidx = _idx + 1;
618  OP_Utils::evalOpParmInst(result, thissop, "dstattribs#", &_parmidx, cookparms.getCookTime(), 0);
619  return (result);
620  }
622  {
623  SOP_Node *thissop = cookparms.getNode();
624  if (!thissop) return (myNumswaps(_idx).typeinfo);
625  int _parmidx = _idx + 1;
626  int64 result;
627  OP_Utils::evalOpParmInst(result, thissop, "typeinfo#", &_parmidx, cookparms.getCookTime(), 0);
628  return (result);
629  }
630 
631 
632 private:
633  UT_Array<Numswaps> myNumswaps;
634 
635 };
GLdouble s
Definition: glew.h:1390
static void loadData(UT_IStream &is, UT_Vector3I &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
bool load(UT_IStream &is)
static void saveData(std::ostream &os, bool v)
exint nodeIdx() const
Definition: SOP_NodeVerb.h:114
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
GLenum src
Definition: glew.h:2410
int int32
Definition: SYS_Types.h:39
SOP_Node * getNode() const
Definition: SOP_NodeVerb.h:640
static void saveData(std::ostream &os, int64 v)
int64 opNumswaps__class(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
virtual void evalOpParmInst(int64 &v, NodeIdx node, const char *parmname, int *inst, fpreal time, DEP_MicroNode *depnode) const =0
int64 opNumswaps_typeinfo(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
static void loadData(UT_IStream &is, UT_StringHolder &v)
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
static void saveData(std::ostream &os, UT_Matrix2D v)
fpreal getTime() const
Definition: OP_Context.h:60
GLuint const GLfloat * val
Definition: glew.h:2794
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
UT_StringHolder createString(const UT_Array< Numswaps > &list) const
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const
int64 exint
Definition: SYS_Types.h:125
SYS_FORCE_INLINE const char * buffer() const
static void saveData(std::ostream &os, UT_Matrix4D v)
const SOP_GraphProxy * graph() const
Definition: SOP_NodeVerb.h:113
An output stream object that owns its own string buffer storage.
static void loadData(UT_IStream &is, UT_Matrix3D &v)
const GLdouble * v
Definition: glew.h:1391
bool operator==(const Numswaps &src) const
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
static void loadData(UT_IStream &is, int64 &v)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
void setNumswaps(const UT_Array< Numswaps > &val)
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
double fpreal64
Definition: SYS_Types.h:201
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Definition: Dimensions.h:137
static void loadData(UT_IStream &is, UT_Vector2D &v)
static void saveData(std::ostream &os, PRM_DataItemHandle s)
const UT_Array< Numswaps > & getNumswaps() const
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
bool operator!=(const Numswaps &src) const
SYS_FORCE_INLINE T & y()
Definition: UT_Vector3.h:513
exint length() const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
static void loadData(UT_IStream &is, UT_Vector4D &v)
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
Definition: UT_SharedPtr.h:28
GLint GLenum GLsizei GLint GLsizei const void * data
Definition: glew.h:1379
void buildFromOp(const SOP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
bool opNumswaps_enable(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
exint read(bool *array, exint sz=1)
Definition: UT_IStream.h:284
const char * getNestParmName(TempIndex fieldnum) const override
SYS_FORCE_INLINE T & z()
Definition: UT_Vector3.h:515
void
Definition: png.h:1083
void save(std::ostream &os) const
const GLfloat * c
Definition: glew.h:16296
GLuint GLsizei GLsizei * length
Definition: glew.h:1825
bool operator==(const SOP_AttribSwapParms &src) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
long long int64
Definition: SYS_Types.h:116
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
int64 opNumswaps_method(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
static void loadData(UT_IStream &is, UT_Vector3D &v)
static void loadData(UT_IStream &is, UT_Vector4I &v)
static void loadData(UT_IStream &is, UT_Matrix4D &v)
static void saveData(std::ostream &os, fpreal64 v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
exint getNestNumParms(TempIndex idx) const override
SYS_FORCE_INLINE void strcat(const char *src)
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
void saveBinary(std::ostream &os) const
Save string to binary stream.
Definition: UT_String.h:294
static void saveData(std::ostream &os, UT_Matrix3D v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
GT_API const UT_StringHolder version
DEP_MicroNode * depnode() const
Definition: SOP_NodeVerb.h:121
exint entries() const
Alias of size(). size() is preferred.
Definition: UT_Array.h:460
void copyFrom(const SOP_NodeParms *src) override
ParmType getNestParmType(TempIndex fieldnum) const override
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
bool operator!=(const SOP_AttribSwapParms &src) const
static void saveData(std::ostream &os, UT_Vector4D v)
fpreal64 fpreal
Definition: SYS_Types.h:277
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
Utility class for containing a color ramp.
Definition: UT_Ramp.h:84
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
SYS_FORCE_INLINE void append(char character)
static void saveData(std::ostream &os, UT_StringHolder s)
GLdouble GLdouble GLdouble r
Definition: glew.h:1406
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
void loadFromOpSubclass(const LoadParms &loadparms) override
static void loadData(UT_IStream &is, UT_Vector2I &v)
#define SOP_API
Definition: SOP_API.h:10
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
SYS_FORCE_INLINE T & x()
Definition: UT_Vector3.h:511
fpreal getCookTime() const
Definition: SOP_NodeVerb.h:654
static void saveData(std::ostream &os, UT_Vector2D v)
GLuint64EXT * result
Definition: glew.h:14007
const char * findChar(int c) const
Definition: UT_String.h:1367
#define UT_ASSERT(ZZ)
Definition: UT_Assert.h:135
UT_StringHolder opNumswaps_dstattribs(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
static void saveData(std::ostream &os, UT_Vector3D v)
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
GLenum GLuint GLsizei const GLchar * buf
Definition: glew.h:2580
static void loadData(UT_IStream &is, fpreal64 &v)
UT_StringHolder opNumswaps_srcattribs(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
GLsizei const GLfloat * value
Definition: glew.h:1849
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
GLboolean enable
Definition: glew.h:2745
const OP_Context & context() const
Definition: SOP_NodeVerb.h:119
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
Definition: PRM_Parm.h:89
static void loadData(UT_IStream &is, bool &v)
SYS_FORCE_INLINE bool isstring() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
exint opNumswaps(const SOP_NodeVerb::CookParms &cookparms) const
type
Definition: core.h:528