HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros 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 
106  };
107 
109  {
111 
112  buf.strcat("[ ");
113  for (int i = 0; i < list.entries(); i++)
114  {
115  if (i)
116  buf.strcat(", ");
117  buf.strcat("( ");
118  buf.append("");
119  buf.appendSprintf("%s", (list(i).enable) ? "true" : "false");
120  buf.append(", ");
121  { UT_String tmp; tmp = UT_StringWrap(list(i).groupname).makeQuotedString('"'); buf.strcat(tmp); }
122  buf.append(", ");
123  buf.appendSprintf("%d", (int) list(i).grouptype);
124  buf.append(", ");
125  buf.appendSprintf("%d", (int) list(i).mergeop);
126  buf.append(", ");
127  buf.appendSprintf("%d", (int) list(i).method);
128  buf.append(", ");
129  buf.appendSprintf("%d", (int) list(i).start);
130  buf.append(", ");
131  buf.appendSprintf("%d", (int) list(i).end);
132  buf.append(", ");
133  buf.appendSprintf("%d", (int) list(i).length);
134  buf.append(", ");
135  buf.appendSprintf("%d", (int) list(i).partition);
136  buf.append(", ");
137  buf.appendSprintf("%d", (int) list(i).numpartition);
138  buf.append(", ");
139  buf.appendSprintf("%s", (list(i).invert) ? "true" : "false");
140  buf.append(", ");
141  buf.appendSprintf("%d", (int) list(i).selectamount);
142  buf.append(", ");
143  buf.appendSprintf("%d", (int) list(i).selecttotal);
144  buf.append(", ");
145  buf.appendSprintf("%d", (int) list(i).selectoffset);
146 
147  buf.strcat(" )");
148  }
149  buf.strcat(" ]");
150 
151  UT_StringHolder result = buf;
152  return result;
153  }
154 
156  {
157 
158  }
159 
160  explicit SOP_GroupRangeParms(const SOP_GroupRangeParms &) = default;
161 
162  virtual ~SOP_GroupRangeParms() {}
163 
164  bool operator==(const SOP_GroupRangeParms &src) const
165  {
166  if (myNumrange != src.myNumrange) return false;
167 
168  return true;
169  }
173 
174 
175 
176  void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)
177  {
178  if (true)
179  {
180  int64 length;
181  OP_Utils::evalOpParm(length, node, "numrange", time, 0);
182  myNumrange.entries(length);
183  for (exint i = 0; i < length; i++)
184  {
185  int parmidx = i+1;
186  auto && _curentry = myNumrange(i);
187  (void) _curentry;
188  if (true)
189  OP_Utils::evalOpParmInst(myNumrange(i).enable, node, "enable#", &parmidx, time, 0);
190  else myNumrange(i).enable = false;
191  if (true && ( (!(((_curentry.enable==0)))) ) )
192  OP_Utils::evalOpParmInst(myNumrange(i).groupname, node, "groupname#", &parmidx, time, 0);
193  else myNumrange(i).groupname = "group#"_sh;
194  if (true)
195  OP_Utils::evalOpParmInst(myNumrange(i).grouptype, node, "grouptype#", &parmidx, time, 0);
196  else myNumrange(i).grouptype = 1;
197  if (true)
198  OP_Utils::evalOpParmInst(myNumrange(i).mergeop, node, "mergeop#", &parmidx, time, 0);
199  else myNumrange(i).mergeop = 0;
200  if (true)
201  OP_Utils::evalOpParmInst(myNumrange(i).method, node, "method#", &parmidx, time, 0);
202  else myNumrange(i).method = 1;
203  if (true && ( (!(((_curentry.method==3)))) ) )
204  OP_Utils::evalOpParmInst(myNumrange(i).start, node, "start#", &parmidx, time, 0);
205  else myNumrange(i).start = 0;
206  if (true && ( (!(((_curentry.method!=0)&&(_curentry.method!=1)))) ) )
207  OP_Utils::evalOpParmInst(myNumrange(i).end, node, "end#", &parmidx, time, 0);
208  else myNumrange(i).end = 0;
209  if (true && ( (!(((_curentry.method!=2)))) ) )
210  OP_Utils::evalOpParmInst(myNumrange(i).length, node, "length#", &parmidx, time, 0);
211  else myNumrange(i).length = 1;
212  if (true && ( (!(((_curentry.method!=3)))) ) )
213  OP_Utils::evalOpParmInst(myNumrange(i).partition, node, "partition#", &parmidx, time, 0);
214  else myNumrange(i).partition = 0;
215  if (true && ( (!(((_curentry.method!=3)))) ) )
216  OP_Utils::evalOpParmInst(myNumrange(i).numpartition, node, "numpartition#", &parmidx, time, 0);
217  else myNumrange(i).numpartition = 1;
218  if (true)
219  OP_Utils::evalOpParmInst(myNumrange(i).invert, node, "invert#", &parmidx, time, 0);
220  else myNumrange(i).invert = false;
221  if (true)
222  OP_Utils::evalOpParmInst(myNumrange(i).selectamount, node, "selectamount#", &parmidx, time, 0);
223  else myNumrange(i).selectamount = 1;
224  if (true)
225  OP_Utils::evalOpParmInst(myNumrange(i).selecttotal, node, "selecttotal#", &parmidx, time, 0);
226  else myNumrange(i).selecttotal = 1;
227  if (true)
228  OP_Utils::evalOpParmInst(myNumrange(i).selectoffset, node, "selectoffset#", &parmidx, time, 0);
229  else myNumrange(i).selectoffset = 0;
230 
231  }
232  }
233  else
234  myNumrange.clear();
235 
236  }
237 
238 
239  virtual void loadFromOpSubclass(const LoadParms &loadparms)
240  {
241  buildFromOp(loadparms.node(), loadparms.context().getTime(), loadparms.depnode());
242  }
243 
244 
245  virtual void copyFrom(const SOP_NodeParms *src)
246  {
247  *this = *((const SOP_GroupRangeParms *)src);
248  }
249 
250  template <typename T>
251  void
252  doGetParmValue(exint idx, T &value) const
253  {
254  switch (idx)
255  {
256 
257  }
258  }
259 
260  void getParmValue(exint idx, exint &value) const
261  { doGetParmValue(idx, value); }
262  void getParmValue(exint idx, fpreal &value) const
263  { doGetParmValue(idx, value); }
265  { doGetParmValue(idx, value); }
267  { doGetParmValue(idx, value); }
269  { doGetParmValue(idx, value); }
271  { doGetParmValue(idx, value); }
273  { doGetParmValue(idx, value); }
275  { doGetParmValue(idx, value); }
277  { doGetParmValue(idx, value); }
279  { doGetParmValue(idx, value); }
281  { doGetParmValue(idx, value); }
282 
283  template <typename T>
284  void
285  doSetParmValue(exint idx, const T &value)
286  {
287  switch (idx)
288  {
289 
290  }
291  }
292 
293  void setParmValue(exint idx, const exint &value)
294  { doSetParmValue(idx, value); }
295  void setParmValue(exint idx, const fpreal &value)
296  { doSetParmValue(idx, value); }
297  void setParmValue(exint idx, const UT_Vector2D &value)
298  { doSetParmValue(idx, value); }
299  void setParmValue(exint idx, const UT_Vector3D &value)
300  { doSetParmValue(idx, value); }
301  void setParmValue(exint idx, const UT_Vector4D &value)
302  { doSetParmValue(idx, value); }
303  void setParmValue(exint idx, const UT_Matrix2D &value)
304  { doSetParmValue(idx, value); }
305  void setParmValue(exint idx, const UT_Matrix3D &value)
306  { doSetParmValue(idx, value); }
307  void setParmValue(exint idx, const UT_Matrix4D &value)
308  { doSetParmValue(idx, value); }
310  { doSetParmValue(idx, value); }
312  { doSetParmValue(idx, value); }
314  { doSetParmValue(idx, value); }
315 
316  virtual exint getNumParms() const
317  {
318  return 1;
319  }
320 
321  virtual const char *getParmName(exint fieldnum) const
322  {
323  switch (fieldnum)
324  {
325  case 0:
326  return "numrange";
327 
328  }
329  return 0;
330  }
331 
332  virtual ParmType getParmType(exint fieldnum) const
333  {
334  switch (fieldnum)
335  {
336 
337  }
338  return PARM_UNSUPPORTED;
339  }
340 
341  // Boiler plate to load individual types.
342  static void loadData(UT_IStream &is, int64 &v)
343  { is.bread(&v, 1); }
344  static void loadData(UT_IStream &is, bool &v)
345  { int64 iv; is.bread(&iv, 1); v = iv; }
346  static void loadData(UT_IStream &is, fpreal64 &v)
347  { is.bread<fpreal64>(&v, 1); }
348  static void loadData(UT_IStream &is, UT_Vector2D &v)
349  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
350  static void loadData(UT_IStream &is, UT_Vector3D &v)
351  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
352  is.bread<fpreal64>(&v.z(), 1); }
353  static void loadData(UT_IStream &is, UT_Vector4D &v)
354  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
355  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
356  static void loadData(UT_IStream &is, UT_Matrix2D &v)
357  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
358  static void loadData(UT_IStream &is, UT_Matrix3D &v)
359  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
360  static void loadData(UT_IStream &is, UT_Matrix4D &v)
361  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
362  static void loadData(UT_IStream &is, UT_Vector2I &v)
363  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
364  static void loadData(UT_IStream &is, UT_Vector3I &v)
365  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
366  is.bread<int64>(&v.z(), 1); }
367  static void loadData(UT_IStream &is, UT_Vector4I &v)
368  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
369  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
371  { is.bread(v); }
373  { UT_StringHolder rampdata;
374  loadData(is, rampdata);
375  if (rampdata.isstring())
376  {
377  v.reset(new UT_Ramp());
378  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
379  v->load(istr);
380  }
381  else v.reset();
382  }
385  loadData(is, data);
386  if (data.isstring())
387  {
388  // Find the data type.
389  char *colon = UT_StringWrap(data).findChar(':');
390  if (colon)
391  {
392  int typelen = colon - data.buffer();
394  type.strncpy(data.buffer(), typelen);
395  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
396 
397  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
398  }
399  }
400  else v.reset();
401  }
402 
403  static void saveData(std::ostream &os, int64 v)
404  { UTwrite(os, &v); }
405  static void saveData(std::ostream &os, bool v)
406  { int64 iv = v; UTwrite(os, &iv); }
407  static void saveData(std::ostream &os, fpreal64 v)
408  { UTwrite<fpreal64>(os, &v); }
409  static void saveData(std::ostream &os, UT_Vector2D v)
410  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
411  static void saveData(std::ostream &os, UT_Vector3D v)
412  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
413  UTwrite<fpreal64>(os, &v.z()); }
414  static void saveData(std::ostream &os, UT_Vector4D v)
415  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
416  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
417  static void saveData(std::ostream &os, UT_Matrix2D v)
419  static void saveData(std::ostream &os, UT_Matrix3D v)
421  static void saveData(std::ostream &os, UT_Matrix4D v)
423  static void saveData(std::ostream &os, UT_StringHolder s)
424  { UT_StringWrap(s).saveBinary(os); }
425  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
426  { UT_StringHolder result;
427  UT_OStringStream ostr;
428  if (s) s->save(ostr);
429  result = ostr.str();
430  saveData(os, result);
431  }
432  static void saveData(std::ostream &os, PRM_DataItemHandle s)
433  { UT_StringHolder result;
434  UT_OStringStream ostr;
435  if (s)
436  {
437  ostr << s->getDataTypeToken();
438  ostr << ":";
439  s->saveBinary(ostr);
440  }
441  result = ostr.str();
442  saveData(os, result);
443  }
444 
445 
446  void save(std::ostream &os) const
447  {
448  int32 v = version();
449  UTwrite(os, &v);
450  {
451  int64 length = myNumrange.entries();
452  UTwrite(os, &length);
453  for (exint i = 0; i < length; i++)
454  {
455  saveData(os, myNumrange(i).enable);
456  saveData(os, myNumrange(i).groupname);
457  saveData(os, myNumrange(i).grouptype);
458  saveData(os, myNumrange(i).mergeop);
459  saveData(os, myNumrange(i).method);
460  saveData(os, myNumrange(i).start);
461  saveData(os, myNumrange(i).end);
462  saveData(os, myNumrange(i).length);
463  saveData(os, myNumrange(i).partition);
464  saveData(os, myNumrange(i).numpartition);
465  saveData(os, myNumrange(i).invert);
466  saveData(os, myNumrange(i).selectamount);
467  saveData(os, myNumrange(i).selecttotal);
468  saveData(os, myNumrange(i).selectoffset);
469 
470  }
471  }
472 
473  }
474 
475  bool load(UT_IStream &is)
476  {
477  int32 v;
478  is.bread(&v, 1);
479  if (version() != v)
480  {
481  // Fail incompatible versions
482  return false;
483  }
484  {
485  int64 length;
486  is.read(&length, 1);
487  myNumrange.entries(length);
488  for (exint i = 0; i < length; i++)
489  {
490  loadData(is, myNumrange(i).enable);
491  loadData(is, myNumrange(i).groupname);
492  loadData(is, myNumrange(i).grouptype);
493  loadData(is, myNumrange(i).mergeop);
494  loadData(is, myNumrange(i).method);
495  loadData(is, myNumrange(i).start);
496  loadData(is, myNumrange(i).end);
497  loadData(is, myNumrange(i).length);
498  loadData(is, myNumrange(i).partition);
499  loadData(is, myNumrange(i).numpartition);
500  loadData(is, myNumrange(i).invert);
501  loadData(is, myNumrange(i).selectamount);
502  loadData(is, myNumrange(i).selecttotal);
503  loadData(is, myNumrange(i).selectoffset);
504 
505  }
506  }
507 
508  return true;
509  }
510 
511  const UT_Array<Numrange> &getNumrange() const { return myNumrange; }
512  void setNumrange(const UT_Array<Numrange> &val) { myNumrange = val; }
513  exint opNumrange(const SOP_NodeVerb::CookParms &cookparms) const
514  {
515  SOP_Node *thissop = cookparms.getNode();
516  if (!thissop) return getNumrange().entries();
517  exint result;
518  OP_Utils::evalOpParm(result, thissop, "numrange", cookparms.getCookTime(), 0);
519  return result;
520  }
521  bool opNumrange_enable(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
522  {
523  SOP_Node *thissop = cookparms.getNode();
524  if (!thissop) return (myNumrange(_idx).enable);
525  int _parmidx = _idx + 1;
526  bool result;
527  OP_Utils::evalOpParmInst(result, thissop, "enable#", &_parmidx, cookparms.getCookTime(), 0);
528  return (result);
529  }
531  {
532  SOP_Node *thissop = cookparms.getNode();
533  if (!thissop) return (myNumrange(_idx).groupname);
534  int _parmidx = _idx + 1;
535  UT_StringHolder result;
536  OP_Utils::evalOpParmInst(result, thissop, "groupname#", &_parmidx, cookparms.getCookTime(), 0);
537  return (result);
538  }
540  {
541  SOP_Node *thissop = cookparms.getNode();
542  if (!thissop) return (myNumrange(_idx).grouptype);
543  int _parmidx = _idx + 1;
544  int64 result;
545  OP_Utils::evalOpParmInst(result, thissop, "grouptype#", &_parmidx, cookparms.getCookTime(), 0);
546  return (result);
547  }
549  {
550  SOP_Node *thissop = cookparms.getNode();
551  if (!thissop) return (myNumrange(_idx).mergeop);
552  int _parmidx = _idx + 1;
553  int64 result;
554  OP_Utils::evalOpParmInst(result, thissop, "mergeop#", &_parmidx, cookparms.getCookTime(), 0);
555  return (result);
556  }
557  int64 opNumrange_method(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
558  {
559  SOP_Node *thissop = cookparms.getNode();
560  if (!thissop) return (myNumrange(_idx).method);
561  int _parmidx = _idx + 1;
562  int64 result;
563  OP_Utils::evalOpParmInst(result, thissop, "method#", &_parmidx, cookparms.getCookTime(), 0);
564  return (result);
565  }
566  int64 opNumrange_start(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
567  {
568  SOP_Node *thissop = cookparms.getNode();
569  if (!thissop) return (myNumrange(_idx).start);
570  int _parmidx = _idx + 1;
571  int64 result;
572  OP_Utils::evalOpParmInst(result, thissop, "start#", &_parmidx, cookparms.getCookTime(), 0);
573  return (result);
574  }
575  int64 opNumrange_end(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
576  {
577  SOP_Node *thissop = cookparms.getNode();
578  if (!thissop) return (myNumrange(_idx).end);
579  int _parmidx = _idx + 1;
580  int64 result;
581  OP_Utils::evalOpParmInst(result, thissop, "end#", &_parmidx, cookparms.getCookTime(), 0);
582  return (result);
583  }
584  int64 opNumrange_length(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
585  {
586  SOP_Node *thissop = cookparms.getNode();
587  if (!thissop) return (myNumrange(_idx).length);
588  int _parmidx = _idx + 1;
589  int64 result;
590  OP_Utils::evalOpParmInst(result, thissop, "length#", &_parmidx, cookparms.getCookTime(), 0);
591  return (result);
592  }
594  {
595  SOP_Node *thissop = cookparms.getNode();
596  if (!thissop) return (myNumrange(_idx).partition);
597  int _parmidx = _idx + 1;
598  int64 result;
599  OP_Utils::evalOpParmInst(result, thissop, "partition#", &_parmidx, cookparms.getCookTime(), 0);
600  return (result);
601  }
603  {
604  SOP_Node *thissop = cookparms.getNode();
605  if (!thissop) return (myNumrange(_idx).numpartition);
606  int _parmidx = _idx + 1;
607  int64 result;
608  OP_Utils::evalOpParmInst(result, thissop, "numpartition#", &_parmidx, cookparms.getCookTime(), 0);
609  return (result);
610  }
611  bool opNumrange_invert(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
612  {
613  SOP_Node *thissop = cookparms.getNode();
614  if (!thissop) return (myNumrange(_idx).invert);
615  int _parmidx = _idx + 1;
616  bool result;
617  OP_Utils::evalOpParmInst(result, thissop, "invert#", &_parmidx, cookparms.getCookTime(), 0);
618  return (result);
619  }
621  {
622  SOP_Node *thissop = cookparms.getNode();
623  if (!thissop) return (myNumrange(_idx).selectamount);
624  int _parmidx = _idx + 1;
625  int64 result;
626  OP_Utils::evalOpParmInst(result, thissop, "selectamount#", &_parmidx, cookparms.getCookTime(), 0);
627  return (result);
628  }
630  {
631  SOP_Node *thissop = cookparms.getNode();
632  if (!thissop) return (myNumrange(_idx).selecttotal);
633  int _parmidx = _idx + 1;
634  int64 result;
635  OP_Utils::evalOpParmInst(result, thissop, "selecttotal#", &_parmidx, cookparms.getCookTime(), 0);
636  return (result);
637  }
639  {
640  SOP_Node *thissop = cookparms.getNode();
641  if (!thissop) return (myNumrange(_idx).selectoffset);
642  int _parmidx = _idx + 1;
643  int64 result;
644  OP_Utils::evalOpParmInst(result, thissop, "selectoffset#", &_parmidx, cookparms.getCookTime(), 0);
645  return (result);
646  }
647 
648 
649 private:
650  UT_Array<Numrange> myNumrange;
651 
652 };
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:492
static void saveData(std::ostream &os, fpreal64 v)
T & z(void)
Definition: UT_Vector4.h:372
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)
fpreal getTime() const
Definition: OP_Context.h:34
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
T & x(void)
Definition: UT_Vector2.h:284
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:581
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:585
long long int64
Definition: SYS_Types.h:106
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
void append(char character)
SYS_FORCE_INLINE const char * buffer() const
int64 opNumrange_end(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
int64 exint
Definition: SYS_Types.h:115
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:191
exint read(bool *array, exint sz=1)
Definition: UT_IStream.h:280
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:34
T & y(void)
Definition: UT_Vector4.h:370
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)
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)
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:446
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:583
GLsizei const GLfloat * value
Definition: glcorearb.h:823
double fpreal
Definition: SYS_Types.h:269
void strncpy(const char *src, exint maxlen)
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
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)
const char * buffer() const
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:499
void getParmValue(exint idx, UT_Vector2D &value) const
T & x(void)
Definition: UT_Vector4.h:368
T & y(void)
Definition: UT_Vector2.h:286
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)
void strcat(const char *src)
T & w(void)
Definition: UT_Vector4.h:374
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
SYS_FORCE_INLINE bool isstring() const
int64 opNumrange_length(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
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)