HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SOP_GroupRange.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 namespace SOP_GroupRangeEnums
22 {
23  enum class Grouptype
24  {
25  POINTS = 0,
26  PRIMS
27  };
28  enum class Mergeop
29  {
30  REPLACE = 0,
31  UNION,
32  INTERSECT,
33  SUBTRACT
34  };
35  enum class Method
36  {
37  ABSOLUTE = 0,
38  RELATIVE,
39  LENGTH,
40  PARTITION
41  };
42 }
43 
44 
46 {
47 public:
48  static int version() { return 1; }
49  struct Numrange
50  {
51  bool enable;
61  bool invert;
65 
66 
68  {
69  enable = false;
70  groupname = "group#"_sh;
71  grouptype = 1;
72  mergeop = 0;
73  method = 1;
74  start = 0;
75  end = 0;
76  length = 1;
77  partition = 0;
78  numpartition = 1;
79  invert = false;
80  selectamount = 1;
81  selecttotal = 1;
82  selectoffset = 0;
83 
84  }
85 
86  bool operator==(const Numrange &src) const
87  {
88  if (enable != src.enable) return false;
89  if (groupname != src.groupname) return false;
90  if (grouptype != src.grouptype) return false;
91  if (mergeop != src.mergeop) return false;
92  if (method != src.method) return false;
93  if (start != src.start) return false;
94  if (end != src.end) return false;
95  if (length != src.length) return false;
96  if (partition != src.partition) return false;
97  if (numpartition != src.numpartition) return false;
98  if (invert != src.invert) return false;
99  if (selectamount != src.selectamount) return false;
100  if (selecttotal != src.selecttotal) return false;
101  if (selectoffset != src.selectoffset) return false;
102 
103  return true;
104  }
105  bool operator!=(const Numrange &src) const
106  {
107  return !operator==(src);
108  }
109 
110  };
111 
113  {
115 
116  buf.strcat("[ ");
117  for (int i = 0; i < list.entries(); i++)
118  {
119  if (i)
120  buf.strcat(", ");
121  buf.strcat("( ");
122  buf.append("");
123  buf.appendSprintf("%s", (list(i).enable) ? "true" : "false");
124  buf.append(", ");
125  { UT_String tmp; tmp = UT_StringWrap(list(i).groupname).makeQuotedString('"'); buf.strcat(tmp); }
126  buf.append(", ");
127  buf.appendSprintf("%d", (int) list(i).grouptype);
128  buf.append(", ");
129  buf.appendSprintf("%d", (int) list(i).mergeop);
130  buf.append(", ");
131  buf.appendSprintf("%d", (int) list(i).method);
132  buf.append(", ");
133  buf.appendSprintf("%d", (int) list(i).start);
134  buf.append(", ");
135  buf.appendSprintf("%d", (int) list(i).end);
136  buf.append(", ");
137  buf.appendSprintf("%d", (int) list(i).length);
138  buf.append(", ");
139  buf.appendSprintf("%d", (int) list(i).partition);
140  buf.append(", ");
141  buf.appendSprintf("%d", (int) list(i).numpartition);
142  buf.append(", ");
143  buf.appendSprintf("%s", (list(i).invert) ? "true" : "false");
144  buf.append(", ");
145  buf.appendSprintf("%d", (int) list(i).selectamount);
146  buf.append(", ");
147  buf.appendSprintf("%d", (int) list(i).selecttotal);
148  buf.append(", ");
149  buf.appendSprintf("%d", (int) list(i).selectoffset);
150 
151  buf.strcat(" )");
152  }
153  buf.strcat(" ]");
154 
155  UT_StringHolder result = buf;
156  return result;
157  }
158 
160  {
161 
162  }
163 
164  explicit SOP_GroupRangeParms(const SOP_GroupRangeParms &) = default;
165 
166  virtual ~SOP_GroupRangeParms() {}
167 
168  bool operator==(const SOP_GroupRangeParms &src) const
169  {
170  if (myNumrange != src.myNumrange) return false;
171 
172  return true;
173  }
174  bool operator!=(const SOP_GroupRangeParms &src) const
175  {
176  return !operator==(src);
177  }
181 
182 
183 
184  void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)
185  {
186  if (true)
187  {
188  int64 length;
189  OP_Utils::evalOpParm(length, node, "numrange", time, 0);
190  myNumrange.entries(length);
191  for (exint i = 0; i < length; i++)
192  {
193  int parmidx = i+1;
194  auto && _curentry = myNumrange(i);
195  (void) _curentry;
196  if (true)
197  OP_Utils::evalOpParmInst(myNumrange(i).enable, node, "enable#", &parmidx, time, 0);
198  else myNumrange(i).enable = false;
199  if (true && ( (!(((_curentry.enable==0)))) ) )
200  OP_Utils::evalOpParmInst(myNumrange(i).groupname, node, "groupname#", &parmidx, time, 0);
201  else myNumrange(i).groupname = "group#"_sh;
202  if (true)
203  OP_Utils::evalOpParmInst(myNumrange(i).grouptype, node, "grouptype#", &parmidx, time, 0);
204  else myNumrange(i).grouptype = 1;
205  if (true)
206  OP_Utils::evalOpParmInst(myNumrange(i).mergeop, node, "mergeop#", &parmidx, time, 0);
207  else myNumrange(i).mergeop = 0;
208  if (true)
209  OP_Utils::evalOpParmInst(myNumrange(i).method, node, "method#", &parmidx, time, 0);
210  else myNumrange(i).method = 1;
211  if (true && ( (!(((_curentry.method==3)))) ) )
212  OP_Utils::evalOpParmInst(myNumrange(i).start, node, "start#", &parmidx, time, 0);
213  else myNumrange(i).start = 0;
214  if (true && ( (!(((_curentry.method!=0)&&(_curentry.method!=1)))) ) )
215  OP_Utils::evalOpParmInst(myNumrange(i).end, node, "end#", &parmidx, time, 0);
216  else myNumrange(i).end = 0;
217  if (true && ( (!(((_curentry.method!=2)))) ) )
218  OP_Utils::evalOpParmInst(myNumrange(i).length, node, "length#", &parmidx, time, 0);
219  else myNumrange(i).length = 1;
220  if (true && ( (!(((_curentry.method!=3)))) ) )
221  OP_Utils::evalOpParmInst(myNumrange(i).partition, node, "partition#", &parmidx, time, 0);
222  else myNumrange(i).partition = 0;
223  if (true && ( (!(((_curentry.method!=3)))) ) )
224  OP_Utils::evalOpParmInst(myNumrange(i).numpartition, node, "numpartition#", &parmidx, time, 0);
225  else myNumrange(i).numpartition = 1;
226  if (true)
227  OP_Utils::evalOpParmInst(myNumrange(i).invert, node, "invert#", &parmidx, time, 0);
228  else myNumrange(i).invert = false;
229  if (true)
230  OP_Utils::evalOpParmInst(myNumrange(i).selectamount, node, "selectamount#", &parmidx, time, 0);
231  else myNumrange(i).selectamount = 1;
232  if (true)
233  OP_Utils::evalOpParmInst(myNumrange(i).selecttotal, node, "selecttotal#", &parmidx, time, 0);
234  else myNumrange(i).selecttotal = 1;
235  if (true)
236  OP_Utils::evalOpParmInst(myNumrange(i).selectoffset, node, "selectoffset#", &parmidx, time, 0);
237  else myNumrange(i).selectoffset = 0;
238 
239  }
240  }
241  else
242  myNumrange.clear();
243 
244  }
245 
246 
247  virtual void loadFromOpSubclass(const LoadParms &loadparms)
248  {
249  buildFromOp(loadparms.node(), loadparms.context().getTime(), loadparms.depnode());
250  }
251 
252 
253  virtual void copyFrom(const SOP_NodeParms *src)
254  {
255  *this = *((const SOP_GroupRangeParms *)src);
256  }
257 
258  template <typename T>
259  void
260  doGetParmValue(exint idx, T &value) const
261  {
262  switch (idx)
263  {
264 
265  }
266  }
267 
268  void getParmValue(exint idx, exint &value) const
269  { doGetParmValue(idx, value); }
270  void getParmValue(exint idx, fpreal &value) const
271  { doGetParmValue(idx, value); }
273  { doGetParmValue(idx, value); }
275  { doGetParmValue(idx, value); }
277  { doGetParmValue(idx, value); }
279  { doGetParmValue(idx, value); }
281  { doGetParmValue(idx, value); }
283  { doGetParmValue(idx, value); }
285  { doGetParmValue(idx, value); }
287  { doGetParmValue(idx, value); }
289  { doGetParmValue(idx, value); }
290 
291  template <typename T>
292  void
293  doSetParmValue(exint idx, const T &value)
294  {
295  switch (idx)
296  {
297 
298  }
299  }
300 
301  void setParmValue(exint idx, const exint &value)
302  { doSetParmValue(idx, value); }
303  void setParmValue(exint idx, const fpreal &value)
304  { doSetParmValue(idx, value); }
305  void setParmValue(exint idx, const UT_Vector2D &value)
306  { doSetParmValue(idx, value); }
307  void setParmValue(exint idx, const UT_Vector3D &value)
308  { doSetParmValue(idx, value); }
309  void setParmValue(exint idx, const UT_Vector4D &value)
310  { doSetParmValue(idx, value); }
311  void setParmValue(exint idx, const UT_Matrix2D &value)
312  { doSetParmValue(idx, value); }
313  void setParmValue(exint idx, const UT_Matrix3D &value)
314  { doSetParmValue(idx, value); }
315  void setParmValue(exint idx, const UT_Matrix4D &value)
316  { doSetParmValue(idx, value); }
318  { doSetParmValue(idx, value); }
320  { doSetParmValue(idx, value); }
322  { doSetParmValue(idx, value); }
323 
324  virtual exint getNumParms() const
325  {
326  return 1;
327  }
328 
329  virtual const char *getParmName(exint fieldnum) const
330  {
331  switch (fieldnum)
332  {
333  case 0:
334  return "numrange";
335 
336  }
337  return 0;
338  }
339 
340  virtual ParmType getParmType(exint fieldnum) const
341  {
342  switch (fieldnum)
343  {
344 
345  }
346  return PARM_UNSUPPORTED;
347  }
348 
349  // Boiler plate to load individual types.
350  static void loadData(UT_IStream &is, int64 &v)
351  { is.bread(&v, 1); }
352  static void loadData(UT_IStream &is, bool &v)
353  { int64 iv; is.bread(&iv, 1); v = iv; }
354  static void loadData(UT_IStream &is, fpreal64 &v)
355  { is.bread<fpreal64>(&v, 1); }
356  static void loadData(UT_IStream &is, UT_Vector2D &v)
357  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
358  static void loadData(UT_IStream &is, UT_Vector3D &v)
359  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
360  is.bread<fpreal64>(&v.z(), 1); }
361  static void loadData(UT_IStream &is, UT_Vector4D &v)
362  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
363  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
364  static void loadData(UT_IStream &is, UT_Matrix2D &v)
365  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
366  static void loadData(UT_IStream &is, UT_Matrix3D &v)
367  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
368  static void loadData(UT_IStream &is, UT_Matrix4D &v)
369  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
370  static void loadData(UT_IStream &is, UT_Vector2I &v)
371  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
372  static void loadData(UT_IStream &is, UT_Vector3I &v)
373  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
374  is.bread<int64>(&v.z(), 1); }
375  static void loadData(UT_IStream &is, UT_Vector4I &v)
376  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
377  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
379  { is.bread(v); }
381  { UT_StringHolder rampdata;
382  loadData(is, rampdata);
383  if (rampdata.isstring())
384  {
385  v.reset(new UT_Ramp());
386  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
387  v->load(istr);
388  }
389  else v.reset();
390  }
393  loadData(is, data);
394  if (data.isstring())
395  {
396  // Find the data type.
397  char *colon = UT_StringWrap(data).findChar(':');
398  if (colon)
399  {
400  int typelen = colon - data.buffer();
402  type.strncpy(data.buffer(), typelen);
403  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
404 
405  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
406  }
407  }
408  else v.reset();
409  }
410 
411  static void saveData(std::ostream &os, int64 v)
412  { UTwrite(os, &v); }
413  static void saveData(std::ostream &os, bool v)
414  { int64 iv = v; UTwrite(os, &iv); }
415  static void saveData(std::ostream &os, fpreal64 v)
416  { UTwrite<fpreal64>(os, &v); }
417  static void saveData(std::ostream &os, UT_Vector2D v)
418  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
419  static void saveData(std::ostream &os, UT_Vector3D v)
420  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
421  UTwrite<fpreal64>(os, &v.z()); }
422  static void saveData(std::ostream &os, UT_Vector4D v)
423  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
424  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
425  static void saveData(std::ostream &os, UT_Matrix2D v)
427  static void saveData(std::ostream &os, UT_Matrix3D v)
429  static void saveData(std::ostream &os, UT_Matrix4D v)
431  static void saveData(std::ostream &os, UT_StringHolder s)
432  { UT_StringWrap(s).saveBinary(os); }
433  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
434  { UT_StringHolder result;
435  UT_OStringStream ostr;
436  if (s) s->save(ostr);
437  result = ostr.str();
438  saveData(os, result);
439  }
440  static void saveData(std::ostream &os, PRM_DataItemHandle s)
441  { UT_StringHolder result;
442  UT_OStringStream ostr;
443  if (s)
444  {
445  ostr << s->getDataTypeToken();
446  ostr << ":";
447  s->saveBinary(ostr);
448  }
449  result = ostr.str();
450  saveData(os, result);
451  }
452 
453 
454  void save(std::ostream &os) const
455  {
456  int32 v = version();
457  UTwrite(os, &v);
458  {
459  int64 length = myNumrange.entries();
460  UTwrite(os, &length);
461  for (exint i = 0; i < length; i++)
462  {
463  saveData(os, myNumrange(i).enable);
464  saveData(os, myNumrange(i).groupname);
465  saveData(os, myNumrange(i).grouptype);
466  saveData(os, myNumrange(i).mergeop);
467  saveData(os, myNumrange(i).method);
468  saveData(os, myNumrange(i).start);
469  saveData(os, myNumrange(i).end);
470  saveData(os, myNumrange(i).length);
471  saveData(os, myNumrange(i).partition);
472  saveData(os, myNumrange(i).numpartition);
473  saveData(os, myNumrange(i).invert);
474  saveData(os, myNumrange(i).selectamount);
475  saveData(os, myNumrange(i).selecttotal);
476  saveData(os, myNumrange(i).selectoffset);
477 
478  }
479  }
480 
481  }
482 
483  bool load(UT_IStream &is)
484  {
485  int32 v;
486  is.bread(&v, 1);
487  if (version() != v)
488  {
489  // Fail incompatible versions
490  return false;
491  }
492  {
493  int64 length;
494  is.read(&length, 1);
495  myNumrange.entries(length);
496  for (exint i = 0; i < length; i++)
497  {
498  loadData(is, myNumrange(i).enable);
499  loadData(is, myNumrange(i).groupname);
500  loadData(is, myNumrange(i).grouptype);
501  loadData(is, myNumrange(i).mergeop);
502  loadData(is, myNumrange(i).method);
503  loadData(is, myNumrange(i).start);
504  loadData(is, myNumrange(i).end);
505  loadData(is, myNumrange(i).length);
506  loadData(is, myNumrange(i).partition);
507  loadData(is, myNumrange(i).numpartition);
508  loadData(is, myNumrange(i).invert);
509  loadData(is, myNumrange(i).selectamount);
510  loadData(is, myNumrange(i).selecttotal);
511  loadData(is, myNumrange(i).selectoffset);
512 
513  }
514  }
515 
516  return true;
517  }
518 
519  const UT_Array<Numrange> &getNumrange() const { return myNumrange; }
520  void setNumrange(const UT_Array<Numrange> &val) { myNumrange = val; }
521  exint opNumrange(const SOP_NodeVerb::CookParms &cookparms) const
522  {
523  SOP_Node *thissop = cookparms.getNode();
524  if (!thissop) return getNumrange().entries();
525  exint result;
526  OP_Utils::evalOpParm(result, thissop, "numrange", cookparms.getCookTime(), 0);
527  return result;
528  }
529  bool opNumrange_enable(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
530  {
531  SOP_Node *thissop = cookparms.getNode();
532  if (!thissop) return (myNumrange(_idx).enable);
533  int _parmidx = _idx + 1;
534  bool result;
535  OP_Utils::evalOpParmInst(result, thissop, "enable#", &_parmidx, cookparms.getCookTime(), 0);
536  return (result);
537  }
539  {
540  SOP_Node *thissop = cookparms.getNode();
541  if (!thissop) return (myNumrange(_idx).groupname);
542  int _parmidx = _idx + 1;
543  UT_StringHolder result;
544  OP_Utils::evalOpParmInst(result, thissop, "groupname#", &_parmidx, cookparms.getCookTime(), 0);
545  return (result);
546  }
548  {
549  SOP_Node *thissop = cookparms.getNode();
550  if (!thissop) return (myNumrange(_idx).grouptype);
551  int _parmidx = _idx + 1;
552  int64 result;
553  OP_Utils::evalOpParmInst(result, thissop, "grouptype#", &_parmidx, cookparms.getCookTime(), 0);
554  return (result);
555  }
557  {
558  SOP_Node *thissop = cookparms.getNode();
559  if (!thissop) return (myNumrange(_idx).mergeop);
560  int _parmidx = _idx + 1;
561  int64 result;
562  OP_Utils::evalOpParmInst(result, thissop, "mergeop#", &_parmidx, cookparms.getCookTime(), 0);
563  return (result);
564  }
565  int64 opNumrange_method(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
566  {
567  SOP_Node *thissop = cookparms.getNode();
568  if (!thissop) return (myNumrange(_idx).method);
569  int _parmidx = _idx + 1;
570  int64 result;
571  OP_Utils::evalOpParmInst(result, thissop, "method#", &_parmidx, cookparms.getCookTime(), 0);
572  return (result);
573  }
574  int64 opNumrange_start(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
575  {
576  SOP_Node *thissop = cookparms.getNode();
577  if (!thissop) return (myNumrange(_idx).start);
578  int _parmidx = _idx + 1;
579  int64 result;
580  OP_Utils::evalOpParmInst(result, thissop, "start#", &_parmidx, cookparms.getCookTime(), 0);
581  return (result);
582  }
583  int64 opNumrange_end(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
584  {
585  SOP_Node *thissop = cookparms.getNode();
586  if (!thissop) return (myNumrange(_idx).end);
587  int _parmidx = _idx + 1;
588  int64 result;
589  OP_Utils::evalOpParmInst(result, thissop, "end#", &_parmidx, cookparms.getCookTime(), 0);
590  return (result);
591  }
592  int64 opNumrange_length(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
593  {
594  SOP_Node *thissop = cookparms.getNode();
595  if (!thissop) return (myNumrange(_idx).length);
596  int _parmidx = _idx + 1;
597  int64 result;
598  OP_Utils::evalOpParmInst(result, thissop, "length#", &_parmidx, cookparms.getCookTime(), 0);
599  return (result);
600  }
602  {
603  SOP_Node *thissop = cookparms.getNode();
604  if (!thissop) return (myNumrange(_idx).partition);
605  int _parmidx = _idx + 1;
606  int64 result;
607  OP_Utils::evalOpParmInst(result, thissop, "partition#", &_parmidx, cookparms.getCookTime(), 0);
608  return (result);
609  }
611  {
612  SOP_Node *thissop = cookparms.getNode();
613  if (!thissop) return (myNumrange(_idx).numpartition);
614  int _parmidx = _idx + 1;
615  int64 result;
616  OP_Utils::evalOpParmInst(result, thissop, "numpartition#", &_parmidx, cookparms.getCookTime(), 0);
617  return (result);
618  }
619  bool opNumrange_invert(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
620  {
621  SOP_Node *thissop = cookparms.getNode();
622  if (!thissop) return (myNumrange(_idx).invert);
623  int _parmidx = _idx + 1;
624  bool result;
625  OP_Utils::evalOpParmInst(result, thissop, "invert#", &_parmidx, cookparms.getCookTime(), 0);
626  return (result);
627  }
629  {
630  SOP_Node *thissop = cookparms.getNode();
631  if (!thissop) return (myNumrange(_idx).selectamount);
632  int _parmidx = _idx + 1;
633  int64 result;
634  OP_Utils::evalOpParmInst(result, thissop, "selectamount#", &_parmidx, cookparms.getCookTime(), 0);
635  return (result);
636  }
638  {
639  SOP_Node *thissop = cookparms.getNode();
640  if (!thissop) return (myNumrange(_idx).selecttotal);
641  int _parmidx = _idx + 1;
642  int64 result;
643  OP_Utils::evalOpParmInst(result, thissop, "selecttotal#", &_parmidx, cookparms.getCookTime(), 0);
644  return (result);
645  }
647  {
648  SOP_Node *thissop = cookparms.getNode();
649  if (!thissop) return (myNumrange(_idx).selectoffset);
650  int _parmidx = _idx + 1;
651  int64 result;
652  OP_Utils::evalOpParmInst(result, thissop, "selectoffset#", &_parmidx, cookparms.getCookTime(), 0);
653  return (result);
654  }
655 
656 
657 private:
658  UT_Array<Numrange> myNumrange;
659 
660 };
void setParmValue(exint idx, const UT_Matrix3D &value)
static void loadData(UT_IStream &is, UT_Vector3I &v)
static void saveData(std::ostream &os, bool v)
SOP_Node * getNode() const
Definition: SOP_NodeVerb.h:494
static void saveData(std::ostream &os, fpreal64 v)
T & z(void)
Definition: UT_Vector4.h:379
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
static void saveData(std::ostream &os, int64 v)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
static void loadData(UT_IStream &is, UT_Vector2I &v)
GLboolean invert
Definition: glcorearb.h:548
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
fpreal getTime() const
Definition: OP_Context.h:60
const GLdouble * v
Definition: glcorearb.h:836
UT_StringHolder createString(const UT_Array< Numrange > &list) const
GLuint start
Definition: glcorearb.h:474
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
bool operator==(const SOP_GroupRangeParms &src) const
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const
virtual ParmType getParmType(exint fieldnum) const
SYS_FORCE_INLINE const char * buffer() const
T & x(void)
Definition: UT_Vector2.h:285
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.
SYS_FORCE_INLINE T & x(void)
Definition: UT_Vector3.h:498
static void saveData(std::ostream &os, UT_StringHolder s)
void setParmValue(exint idx, const UT_Matrix2D &value)
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
void getParmValue(exint idx, UT_Matrix4D &value) const
png_uint_32 i
Definition: png.h:2877
void getParmValue(exint idx, UT_Matrix3D &value) const
bool opNumrange_invert(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
int64 opNumrange_selectoffset(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
void setParmValue(exint idx, const exint &value)
void setParmValue(exint idx, const UT_Vector4D &value)
void save(std::ostream &os) const
virtual void copyFrom(const SOP_NodeParms *src)
void setParmValue(exint idx, const UT_Vector3D &value)
static void loadData(UT_IStream &is, bool &v)
virtual exint getNumParms() const
SYS_FORCE_INLINE T & z(void)
Definition: UT_Vector3.h:502
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Definition: Dimensions.h:137
long long int64
Definition: SYS_Types.h:107
void setParmValue(exint idx, const fpreal &value)
void partition(const PointArray &points, const math::Transform &xform, const Index bucketLog2Dim, hboost::scoped_array< PointIndexType > &pointIndices, hboost::scoped_array< PointIndexType > &pageOffsets, PointIndexType &pageCount, hboost::scoped_array< VoxelOffsetType > &voxelOffsets, bool recordVoxelOffsets, bool cellCenteredTransform)
static void loadData(UT_IStream &is, UT_Vector4D &v)
int64 opNumrange_selecttotal(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
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
Definition: UT_SharedPtr.h:28
bool operator!=(const Numrange &src) const
int64 opNumrange_end(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
int64 exint
Definition: SYS_Types.h:116
virtual void loadFromOpSubclass(const LoadParms &loadparms)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
static void loadData(UT_IStream &is, UT_Matrix4D &v)
void setParmValue(exint idx, const UT_SharedPtr< UT_Ramp > &value)
static void saveData(std::ostream &os, UT_Matrix3D v)
const OP_Node * node() const
Definition: SOP_NodeVerb.h:104
bool opNumrange_enable(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
int64 opNumrange_method(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
double fpreal64
Definition: SYS_Types.h:192
exint read(bool *array, exint sz=1)
Definition: UT_IStream.h:284
GLuint GLuint end
Definition: glcorearb.h:474
void setParmValue(exint idx, const UT_StringHolder &value)
int method
Definition: png.h:1924
static void saveData(std::ostream &os, UT_Matrix4D v)
int64 opNumrange_mergeop(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
void getParmValue(exint idx, UT_Vector4D &value) const
int64 opNumrange_partition(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
static void saveData(std::ostream &os, UT_Matrix2D v)
const UT_Array< Numrange > & getNumrange() const
int64 opNumrange_grouptype(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
GLboolean * data
Definition: glcorearb.h:130
int int32
Definition: SYS_Types.h:35
T & y(void)
Definition: UT_Vector4.h:377
int64 opNumrange_numpartition(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
static void loadData(UT_IStream &is, int64 &v)
static void saveData(std::ostream &os, UT_Vector4D v)
SYS_FORCE_INLINE void strcat(const char *src)
static void loadData(UT_IStream &is, fpreal64 &v)
void saveBinary(std::ostream &os) const
Save string to binary stream.
Definition: UT_String.h:294
void getParmValue(exint idx, exint &value) const
static void loadData(UT_IStream &is, UT_StringHolder &v)
GT_API const UT_StringHolder version
DEP_MicroNode * depnode() const
Definition: SOP_NodeVerb.h:111
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
void getParmValue(exint idx, PRM_DataItemHandle &value) const
virtual const char * getParmName(exint fieldnum) 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
static void saveData(std::ostream &os, UT_Vector2D v)
void getParmValue(exint idx, UT_StringHolder &value) const
void getParmValue(exint idx, UT_Vector3D &value) const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
int64 opNumrange_selectamount(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
Utility class for containing a color ramp.
Definition: UT_Ramp.h:84
void doGetParmValue(exint idx, T &value) const
SYS_FORCE_INLINE void append(char character)
void setNumrange(const UT_Array< Numrange > &val)
static void loadData(UT_IStream &is, UT_Vector2D &v)
GLuint GLfloat * val
Definition: glcorearb.h:1607
#define SOP_API
Definition: SOP_API.h:10
static void saveData(std::ostream &os, UT_Vector3D v)
UT_StringHolder opNumrange_groupname(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glcorearb.h:107
fpreal getCookTime() const
Definition: SOP_NodeVerb.h:501
void getParmValue(exint idx, UT_Vector2D &value) const
T & x(void)
Definition: UT_Vector4.h:375
T & y(void)
Definition: UT_Vector2.h:287
void getParmValue(exint idx, fpreal &value) const
void getParmValue(exint idx, UT_Matrix2D &value) const
GLboolean r
Definition: glcorearb.h:1221
void setParmValue(exint idx, const UT_Matrix4D &value)
bool operator==(const Numrange &src) const
void doSetParmValue(exint idx, const T &value)
T & w(void)
Definition: UT_Vector4.h:381
void setParmValue(exint idx, const PRM_DataItemHandle &value)
exint opNumrange(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector4I &v)
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
bool load(UT_IStream &is)
void getParmValue(exint idx, UT_SharedPtr< UT_Ramp > &value) const
void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)
const OP_Context & context() const
Definition: SOP_NodeVerb.h:109
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
Definition: PRM_Parm.h:88
SYS_FORCE_INLINE bool isstring() const
int64 opNumrange_length(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
static void saveData(std::ostream &os, PRM_DataItemHandle s)
bool operator!=(const SOP_GroupRangeParms &src) const
int64 opNumrange_start(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
GLuint GLsizei GLsizei * length
Definition: glcorearb.h:794
GLenum src
Definition: glcorearb.h:1792
static void loadData(UT_IStream &is, UT_Vector3D &v)
void setParmValue(exint idx, const UT_Vector2D &value)