HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SOP_AttribInterpolate.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_AttribInterpolateEnums
22 {
23  enum class Totype
24  {
25  POINTS = 0,
26  VERTICES,
27  PRIMS,
28  DETAIL
29  };
30  enum class Interpby
31  {
32  PRIMUVW = 0,
36  };
37  enum class Computenumberstype
38  {
39  NUMBERTYPEPOINT = 0,
41  };
42 }
43 
44 
46 {
47 public:
48  static int version() { return 1; }
49 
51  {
52  myTotype = 0;
53  myInterpby = 0;
54  myNumberattrib = "sourceprim"_sh;
55  myWeightsattrib = "sourceprimuv"_sh;
56  myPointattribs = "*"_sh;
57  myVertattribs = ""_sh;
58  myPrimattribs = ""_sh;
59  myDetailattribs = ""_sh;
60  myComputeweights = false;
61  myComputenumberstype = 1;
62  myComputednumbersattrib = "sourcevtxnums"_sh;
63  myComputedweightsattrib = "sourcevtxweights"_sh;
64  myGroup = ""_sh;
65 
66  }
67 
68  explicit SOP_AttribInterpolateParms(const SOP_AttribInterpolateParms &) = default;
69 
71 
73  {
74  if (myTotype != src.myTotype) return false;
75  if (myInterpby != src.myInterpby) return false;
76  if (myNumberattrib != src.myNumberattrib) return false;
77  if (myWeightsattrib != src.myWeightsattrib) return false;
78  if (myPointattribs != src.myPointattribs) return false;
79  if (myVertattribs != src.myVertattribs) return false;
80  if (myPrimattribs != src.myPrimattribs) return false;
81  if (myDetailattribs != src.myDetailattribs) return false;
82  if (myComputeweights != src.myComputeweights) return false;
83  if (myComputenumberstype != src.myComputenumberstype) return false;
84  if (myComputednumbersattrib != src.myComputednumbersattrib) return false;
85  if (myComputedweightsattrib != src.myComputedweightsattrib) return false;
86  if (myGroup != src.myGroup) return false;
87 
88  return true;
89  }
93 
94 
95 
96  void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)
97  {
98  if (true)
99  OP_Utils::evalOpParm(myTotype, node, "totype", time, 0);
100  else myTotype = 0;
101  if (true)
102  OP_Utils::evalOpParm(myInterpby, node, "interpby", time, 0);
103  else myInterpby = 0;
104  if (true)
105  OP_Utils::evalOpParm(myNumberattrib, node, "numberattrib", time, 0);
106  else myNumberattrib = "sourceprim"_sh;
107  if (true)
108  OP_Utils::evalOpParm(myWeightsattrib, node, "weightsattrib", time, 0);
109  else myWeightsattrib = "sourceprimuv"_sh;
110  if (true && ( (!(((int64(getInterpby())==3)))) ) )
111  OP_Utils::evalOpParm(myPointattribs, node, "pointattribs", time, 0);
112  else myPointattribs = "*"_sh;
113  if (true && ( (!(((int64(getInterpby())==3))||((int64(getInterpby())==1)))) ) )
114  OP_Utils::evalOpParm(myVertattribs, node, "vertattribs", time, 0);
115  else myVertattribs = ""_sh;
116  if (true && ( (!(((int64(getInterpby())==1)))) ) )
117  OP_Utils::evalOpParm(myPrimattribs, node, "primattribs", time, 0);
118  else myPrimattribs = ""_sh;
119  if (true)
120  OP_Utils::evalOpParm(myDetailattribs, node, "detailattribs", time, 0);
121  else myDetailattribs = ""_sh;
122  if (true && ( (!(((int64(getInterpby())!=0)))) ) )
123  OP_Utils::evalOpParm(myComputeweights, node, "computeweights", time, 0);
124  else myComputeweights = false;
125  if (true && ( (!(((int64(getInterpby())!=0))||((getComputeweights()==0)))) ) )
126  OP_Utils::evalOpParm(myComputenumberstype, node, "computenumberstype", time, 0);
127  else myComputenumberstype = 1;
128  if (true && ( (!(((int64(getInterpby())!=0))||((getComputeweights()==0)))) ) )
129  OP_Utils::evalOpParm(myComputednumbersattrib, node, "computednumbersattrib", time, 0);
130  else myComputednumbersattrib = "sourcevtxnums"_sh;
131  if (true && ( (!(((int64(getInterpby())!=0))||((getComputeweights()==0)))) ) )
132  OP_Utils::evalOpParm(myComputedweightsattrib, node, "computedweightsattrib", time, 0);
133  else myComputedweightsattrib = "sourcevtxweights"_sh;
134  if (true && ( (!(((int64(getTotype())==3)))) ) )
135  OP_Utils::evalOpParm(myGroup, node, "group", time, 0);
136  else myGroup = ""_sh;
137 
138  }
139 
140 
141  virtual void loadFromOpSubclass(const LoadParms &loadparms)
142  {
143  buildFromOp(loadparms.node(), loadparms.context().getTime(), loadparms.depnode());
144  }
145 
146 
147  virtual void copyFrom(const SOP_NodeParms *src)
148  {
149  *this = *((const SOP_AttribInterpolateParms *)src);
150  }
151 
152  template <typename T>
153  void
154  doGetParmValue(exint idx, T &value) const
155  {
156  switch (idx)
157  {
158  case 0:
159  coerceValue(value, myTotype);
160  break;
161  case 1:
162  coerceValue(value, myInterpby);
163  break;
164  case 2:
165  coerceValue(value, myNumberattrib);
166  break;
167  case 3:
168  coerceValue(value, myWeightsattrib);
169  break;
170  case 4:
171  coerceValue(value, myPointattribs);
172  break;
173  case 5:
174  coerceValue(value, myVertattribs);
175  break;
176  case 6:
177  coerceValue(value, myPrimattribs);
178  break;
179  case 7:
180  coerceValue(value, myDetailattribs);
181  break;
182  case 8:
183  coerceValue(value, myComputeweights);
184  break;
185  case 9:
186  coerceValue(value, myComputenumberstype);
187  break;
188  case 10:
189  coerceValue(value, myComputednumbersattrib);
190  break;
191  case 11:
192  coerceValue(value, myComputedweightsattrib);
193  break;
194  case 12:
195  coerceValue(value, myGroup);
196  break;
197 
198  }
199  }
200 
201  void getParmValue(exint idx, exint &value) const
202  { doGetParmValue(idx, value); }
203  void getParmValue(exint idx, fpreal &value) const
204  { doGetParmValue(idx, value); }
206  { doGetParmValue(idx, value); }
208  { doGetParmValue(idx, value); }
210  { doGetParmValue(idx, value); }
212  { doGetParmValue(idx, value); }
214  { doGetParmValue(idx, value); }
216  { doGetParmValue(idx, value); }
218  { doGetParmValue(idx, value); }
220  { doGetParmValue(idx, value); }
222  { doGetParmValue(idx, value); }
223 
224  template <typename T>
225  void
226  doSetParmValue(exint idx, const T &value)
227  {
228  switch (idx)
229  {
230  case 0:
231  coerceValue(myTotype, value);
232  break;
233  case 1:
234  coerceValue(myInterpby, value);
235  break;
236  case 2:
237  coerceValue(myNumberattrib, value);
238  break;
239  case 3:
240  coerceValue(myWeightsattrib, value);
241  break;
242  case 4:
243  coerceValue(myPointattribs, value);
244  break;
245  case 5:
246  coerceValue(myVertattribs, value);
247  break;
248  case 6:
249  coerceValue(myPrimattribs, value);
250  break;
251  case 7:
252  coerceValue(myDetailattribs, value);
253  break;
254  case 8:
255  coerceValue(myComputeweights, value);
256  break;
257  case 9:
258  coerceValue(myComputenumberstype, value);
259  break;
260  case 10:
261  coerceValue(myComputednumbersattrib, value);
262  break;
263  case 11:
264  coerceValue(myComputedweightsattrib, value);
265  break;
266  case 12:
267  coerceValue(myGroup, value);
268  break;
269 
270  }
271  }
272 
273  void setParmValue(exint idx, const exint &value)
274  { doSetParmValue(idx, value); }
275  void setParmValue(exint idx, const fpreal &value)
276  { doSetParmValue(idx, value); }
277  void setParmValue(exint idx, const UT_Vector2D &value)
278  { doSetParmValue(idx, value); }
279  void setParmValue(exint idx, const UT_Vector3D &value)
280  { doSetParmValue(idx, value); }
281  void setParmValue(exint idx, const UT_Vector4D &value)
282  { doSetParmValue(idx, value); }
283  void setParmValue(exint idx, const UT_Matrix2D &value)
284  { doSetParmValue(idx, value); }
285  void setParmValue(exint idx, const UT_Matrix3D &value)
286  { doSetParmValue(idx, value); }
287  void setParmValue(exint idx, const UT_Matrix4D &value)
288  { doSetParmValue(idx, value); }
290  { doSetParmValue(idx, value); }
292  { doSetParmValue(idx, value); }
294  { doSetParmValue(idx, value); }
295 
296  virtual exint getNumParms() const
297  {
298  return 13;
299  }
300 
301  virtual const char *getParmName(exint fieldnum) const
302  {
303  switch (fieldnum)
304  {
305  case 0:
306  return "totype";
307  case 1:
308  return "interpby";
309  case 2:
310  return "numberattrib";
311  case 3:
312  return "weightsattrib";
313  case 4:
314  return "pointattribs";
315  case 5:
316  return "vertattribs";
317  case 6:
318  return "primattribs";
319  case 7:
320  return "detailattribs";
321  case 8:
322  return "computeweights";
323  case 9:
324  return "computenumberstype";
325  case 10:
326  return "computednumbersattrib";
327  case 11:
328  return "computedweightsattrib";
329  case 12:
330  return "group";
331 
332  }
333  return 0;
334  }
335 
336  virtual ParmType getParmType(exint fieldnum) const
337  {
338  switch (fieldnum)
339  {
340  case 0:
341  return PARM_INTEGER;
342  case 1:
343  return PARM_INTEGER;
344  case 2:
345  return PARM_STRING;
346  case 3:
347  return PARM_STRING;
348  case 4:
349  return PARM_STRING;
350  case 5:
351  return PARM_STRING;
352  case 6:
353  return PARM_STRING;
354  case 7:
355  return PARM_STRING;
356  case 8:
357  return PARM_INTEGER;
358  case 9:
359  return PARM_INTEGER;
360  case 10:
361  return PARM_STRING;
362  case 11:
363  return PARM_STRING;
364  case 12:
365  return PARM_STRING;
366 
367  }
368  return PARM_UNSUPPORTED;
369  }
370 
371  // Boiler plate to load individual types.
372  static void loadData(UT_IStream &is, int64 &v)
373  { is.bread(&v, 1); }
374  static void loadData(UT_IStream &is, bool &v)
375  { int64 iv; is.bread(&iv, 1); v = iv; }
376  static void loadData(UT_IStream &is, fpreal64 &v)
377  { is.bread<fpreal64>(&v, 1); }
378  static void loadData(UT_IStream &is, UT_Vector2D &v)
379  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
380  static void loadData(UT_IStream &is, UT_Vector3D &v)
381  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
382  is.bread<fpreal64>(&v.z(), 1); }
383  static void loadData(UT_IStream &is, UT_Vector4D &v)
384  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
385  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
386  static void loadData(UT_IStream &is, UT_Matrix2D &v)
387  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
388  static void loadData(UT_IStream &is, UT_Matrix3D &v)
389  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
390  static void loadData(UT_IStream &is, UT_Matrix4D &v)
391  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
392  static void loadData(UT_IStream &is, UT_Vector2I &v)
393  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
394  static void loadData(UT_IStream &is, UT_Vector3I &v)
395  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
396  is.bread<int64>(&v.z(), 1); }
397  static void loadData(UT_IStream &is, UT_Vector4I &v)
398  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
399  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
401  { is.bread(v); }
403  { UT_StringHolder rampdata;
404  loadData(is, rampdata);
405  if (rampdata.isstring())
406  {
407  v.reset(new UT_Ramp());
408  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
409  v->load(istr);
410  }
411  else v.reset();
412  }
415  loadData(is, data);
416  if (data.isstring())
417  {
418  // Find the data type.
419  char *colon = UT_StringWrap(data).findChar(':');
420  if (colon)
421  {
422  int typelen = colon - data.buffer();
424  type.strncpy(data.buffer(), typelen);
425  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
426 
427  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
428  }
429  }
430  else v.reset();
431  }
432 
433  static void saveData(std::ostream &os, int64 v)
434  { UTwrite(os, &v); }
435  static void saveData(std::ostream &os, bool v)
436  { int64 iv = v; UTwrite(os, &iv); }
437  static void saveData(std::ostream &os, fpreal64 v)
438  { UTwrite<fpreal64>(os, &v); }
439  static void saveData(std::ostream &os, UT_Vector2D v)
440  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
441  static void saveData(std::ostream &os, UT_Vector3D v)
442  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
443  UTwrite<fpreal64>(os, &v.z()); }
444  static void saveData(std::ostream &os, UT_Vector4D v)
445  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
446  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
447  static void saveData(std::ostream &os, UT_Matrix2D v)
449  static void saveData(std::ostream &os, UT_Matrix3D v)
451  static void saveData(std::ostream &os, UT_Matrix4D v)
453  static void saveData(std::ostream &os, UT_StringHolder s)
454  { UT_StringWrap(s).saveBinary(os); }
455  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
456  { UT_StringHolder result;
457  UT_OStringStream ostr;
458  if (s) s->save(ostr);
459  result = ostr.str();
460  saveData(os, result);
461  }
462  static void saveData(std::ostream &os, PRM_DataItemHandle s)
463  { UT_StringHolder result;
464  UT_OStringStream ostr;
465  if (s)
466  {
467  ostr << s->getDataTypeToken();
468  ostr << ":";
469  s->saveBinary(ostr);
470  }
471  result = ostr.str();
472  saveData(os, result);
473  }
474 
475 
476  void save(std::ostream &os) const
477  {
478  int32 v = version();
479  UTwrite(os, &v);
480  saveData(os, myTotype);
481  saveData(os, myInterpby);
482  saveData(os, myNumberattrib);
483  saveData(os, myWeightsattrib);
484  saveData(os, myPointattribs);
485  saveData(os, myVertattribs);
486  saveData(os, myPrimattribs);
487  saveData(os, myDetailattribs);
488  saveData(os, myComputeweights);
489  saveData(os, myComputenumberstype);
490  saveData(os, myComputednumbersattrib);
491  saveData(os, myComputedweightsattrib);
492  saveData(os, myGroup);
493 
494  }
495 
496  bool load(UT_IStream &is)
497  {
498  int32 v;
499  is.bread(&v, 1);
500  if (version() != v)
501  {
502  // Fail incompatible versions
503  return false;
504  }
505  loadData(is, myTotype);
506  loadData(is, myInterpby);
507  loadData(is, myNumberattrib);
508  loadData(is, myWeightsattrib);
509  loadData(is, myPointattribs);
510  loadData(is, myVertattribs);
511  loadData(is, myPrimattribs);
512  loadData(is, myDetailattribs);
513  loadData(is, myComputeweights);
514  loadData(is, myComputenumberstype);
515  loadData(is, myComputednumbersattrib);
516  loadData(is, myComputedweightsattrib);
517  loadData(is, myGroup);
518 
519  return true;
520  }
521 
522  Totype getTotype() const { return Totype(myTotype); }
523  void setTotype(Totype val) { myTotype = int64(val); }
524  Totype opTotype(const SOP_NodeVerb::CookParms &cookparms) const
525  {
526  SOP_Node *thissop = cookparms.getNode();
527  if (!thissop) return getTotype();
528  int64 result;
529  OP_Utils::evalOpParm(result, thissop, "totype", cookparms.getCookTime(), 0);
530  return Totype(result);
531  }
532  Interpby getInterpby() const { return Interpby(myInterpby); }
533  void setInterpby(Interpby val) { myInterpby = int64(val); }
535  {
536  SOP_Node *thissop = cookparms.getNode();
537  if (!thissop) return getInterpby();
538  int64 result;
539  OP_Utils::evalOpParm(result, thissop, "interpby", cookparms.getCookTime(), 0);
540  return Interpby(result);
541  }
542  const UT_StringHolder & getNumberattrib() const { return myNumberattrib; }
543  void setNumberattrib(const UT_StringHolder & val) { myNumberattrib = val; }
545  {
546  SOP_Node *thissop = cookparms.getNode();
547  if (!thissop) return getNumberattrib();
548  UT_StringHolder result;
549  OP_Utils::evalOpParm(result, thissop, "numberattrib", cookparms.getCookTime(), 0);
550  return result;
551  }
552  const UT_StringHolder & getWeightsattrib() const { return myWeightsattrib; }
553  void setWeightsattrib(const UT_StringHolder & val) { myWeightsattrib = val; }
555  {
556  SOP_Node *thissop = cookparms.getNode();
557  if (!thissop) return getWeightsattrib();
558  UT_StringHolder result;
559  OP_Utils::evalOpParm(result, thissop, "weightsattrib", cookparms.getCookTime(), 0);
560  return result;
561  }
562  const UT_StringHolder & getPointattribs() const { return myPointattribs; }
563  void setPointattribs(const UT_StringHolder & val) { myPointattribs = val; }
565  {
566  SOP_Node *thissop = cookparms.getNode();
567  if (!thissop) return getPointattribs();
568  UT_StringHolder result;
569  OP_Utils::evalOpParm(result, thissop, "pointattribs", cookparms.getCookTime(), 0);
570  return result;
571  }
572  const UT_StringHolder & getVertattribs() const { return myVertattribs; }
573  void setVertattribs(const UT_StringHolder & val) { myVertattribs = val; }
575  {
576  SOP_Node *thissop = cookparms.getNode();
577  if (!thissop) return getVertattribs();
578  UT_StringHolder result;
579  OP_Utils::evalOpParm(result, thissop, "vertattribs", cookparms.getCookTime(), 0);
580  return result;
581  }
582  const UT_StringHolder & getPrimattribs() const { return myPrimattribs; }
583  void setPrimattribs(const UT_StringHolder & val) { myPrimattribs = val; }
585  {
586  SOP_Node *thissop = cookparms.getNode();
587  if (!thissop) return getPrimattribs();
588  UT_StringHolder result;
589  OP_Utils::evalOpParm(result, thissop, "primattribs", cookparms.getCookTime(), 0);
590  return result;
591  }
592  const UT_StringHolder & getDetailattribs() const { return myDetailattribs; }
593  void setDetailattribs(const UT_StringHolder & val) { myDetailattribs = val; }
595  {
596  SOP_Node *thissop = cookparms.getNode();
597  if (!thissop) return getDetailattribs();
598  UT_StringHolder result;
599  OP_Utils::evalOpParm(result, thissop, "detailattribs", cookparms.getCookTime(), 0);
600  return result;
601  }
602  bool getComputeweights() const { return myComputeweights; }
603  void setComputeweights(bool val) { myComputeweights = val; }
604  bool opComputeweights(const SOP_NodeVerb::CookParms &cookparms) const
605  {
606  SOP_Node *thissop = cookparms.getNode();
607  if (!thissop) return getComputeweights();
608  bool result;
609  OP_Utils::evalOpParm(result, thissop, "computeweights", cookparms.getCookTime(), 0);
610  return result;
611  }
612  Computenumberstype getComputenumberstype() const { return Computenumberstype(myComputenumberstype); }
613  void setComputenumberstype(Computenumberstype val) { myComputenumberstype = int64(val); }
615  {
616  SOP_Node *thissop = cookparms.getNode();
617  if (!thissop) return getComputenumberstype();
618  int64 result;
619  OP_Utils::evalOpParm(result, thissop, "computenumberstype", cookparms.getCookTime(), 0);
620  return Computenumberstype(result);
621  }
622  const UT_StringHolder & getComputednumbersattrib() const { return myComputednumbersattrib; }
623  void setComputednumbersattrib(const UT_StringHolder & val) { myComputednumbersattrib = val; }
625  {
626  SOP_Node *thissop = cookparms.getNode();
627  if (!thissop) return getComputednumbersattrib();
628  UT_StringHolder result;
629  OP_Utils::evalOpParm(result, thissop, "computednumbersattrib", cookparms.getCookTime(), 0);
630  return result;
631  }
632  const UT_StringHolder & getComputedweightsattrib() const { return myComputedweightsattrib; }
633  void setComputedweightsattrib(const UT_StringHolder & val) { myComputedweightsattrib = val; }
635  {
636  SOP_Node *thissop = cookparms.getNode();
637  if (!thissop) return getComputedweightsattrib();
638  UT_StringHolder result;
639  OP_Utils::evalOpParm(result, thissop, "computedweightsattrib", cookparms.getCookTime(), 0);
640  return result;
641  }
642  const UT_StringHolder & getGroup() const { return myGroup; }
643  void setGroup(const UT_StringHolder & val) { myGroup = val; }
645  {
646  SOP_Node *thissop = cookparms.getNode();
647  if (!thissop) return getGroup();
648  UT_StringHolder result;
649  OP_Utils::evalOpParm(result, thissop, "group", cookparms.getCookTime(), 0);
650  return result;
651  }
652 
653 private:
654  int64 myTotype;
655  int64 myInterpby;
656  UT_StringHolder myNumberattrib;
657  UT_StringHolder myWeightsattrib;
658  UT_StringHolder myPointattribs;
659  UT_StringHolder myVertattribs;
660  UT_StringHolder myPrimattribs;
661  UT_StringHolder myDetailattribs;
662  bool myComputeweights;
663  int64 myComputenumberstype;
664  UT_StringHolder myComputednumbersattrib;
665  UT_StringHolder myComputedweightsattrib;
666  UT_StringHolder myGroup;
667 
668 };
void setComputedweightsattrib(const UT_StringHolder &val)
void doSetParmValue(exint idx, const T &value)
void setPrimattribs(const UT_StringHolder &val)
void setParmValue(exint idx, const UT_SharedPtr< UT_Ramp > &value)
SOP_Node * getNode() const
Definition: SOP_NodeVerb.h:492
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
T & z(void)
Definition: UT_Vector4.h:372
static void saveData(std::ostream &os, UT_StringHolder s)
UT_StringHolder opComputednumbersattrib(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3I &v)
void getParmValue(exint idx, UT_StringHolder &value) const
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector2I &v)
void setWeightsattrib(const UT_StringHolder &val)
exint bread(int32 *buffer, exint asize=1)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
static void loadData(UT_IStream &is, UT_StringHolder &v)
fpreal getTime() const
Definition: OP_Context.h:34
const GLdouble * v
Definition: glcorearb.h:836
void setParmValue(exint idx, const UT_Matrix4D &value)
static void saveData(std::ostream &os, UT_Vector4D v)
UT_StringHolder opPrimattribs(const SOP_NodeVerb::CookParms &cookparms) const
void getParmValue(exint idx, exint &value) const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
const UT_StringHolder & getNumberattrib() const
void setParmValue(exint idx, const PRM_DataItemHandle &value)
void setParmValue(exint idx, const UT_Vector4D &value)
static void saveData(std::ostream &os, fpreal64 v)
T & x(void)
Definition: UT_Vector2.h:284
const UT_StringHolder & getGroup() const
bool opComputeweights(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opNumberattrib(const SOP_NodeVerb::CookParms &cookparms) const
An output stream object that owns its own string buffer storage.
static void saveData(std::ostream &os, int64 v)
void getParmValue(exint idx, UT_Matrix4D &value) const
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
void setParmValue(exint idx, const UT_Matrix3D &value)
Totype opTotype(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, fpreal64 &v)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
static void loadData(UT_IStream &is, UT_Vector4D &v)
void setParmValue(exint idx, const fpreal &value)
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
void setComputednumbersattrib(const UT_StringHolder &val)
void getParmValue(exint idx, PRM_DataItemHandle &value) const
void getParmValue(exint idx, fpreal &value) const
void setParmValue(exint idx, const exint &value)
void setParmValue(exint idx, const UT_Vector2D &value)
void save(std::ostream &os) const
SYS_FORCE_INLINE T & z(void)
Definition: UT_Vector3.h:585
void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)
long long int64
Definition: SYS_Types.h:106
static void loadData(UT_IStream &is, UT_Vector3D &v)
static void saveData(std::ostream &os, UT_Matrix3D v)
void doGetParmValue(exint idx, T &value) const
void setParmValue(exint idx, const UT_StringHolder &value)
static void loadData(UT_IStream &is, UT_Matrix4D &v)
virtual const char * getParmName(exint fieldnum) const
exint length() const
char * findChar(int c) const
Find first occurrance of character. Returns NULL upon failure.
Definition: UT_String.h:550
void getParmValue(exint idx, UT_Vector3D &value) const
UT_StringHolder opPointattribs(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE const char * buffer() const
int64 exint
Definition: SYS_Types.h:115
const UT_StringHolder & getPrimattribs() const
static void saveData(std::ostream &os, UT_Matrix2D v)
const OP_Node * node() const
Definition: SOP_NodeVerb.h:104
void getParmValue(exint idx, UT_Vector4D &value) const
double fpreal64
Definition: SYS_Types.h:191
virtual void loadFromOpSubclass(const LoadParms &loadparms)
static void saveData(std::ostream &os, UT_Matrix4D v)
void getParmValue(exint idx, UT_Matrix3D &value) const
UT_StringHolder opWeightsattrib(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector4I &v)
void setPointattribs(const UT_StringHolder &val)
const UT_StringHolder & getComputednumbersattrib() const
const UT_StringHolder & getWeightsattrib() const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
static void loadData(UT_IStream &is, UT_Vector2D &v)
static void saveData(std::ostream &os, UT_Vector3D v)
GLboolean * data
Definition: glcorearb.h:130
const UT_StringHolder & getComputedweightsattrib() const
int int32
Definition: SYS_Types.h:34
void getParmValue(exint idx, UT_Matrix2D &value) const
static void loadData(UT_IStream &is, int64 &v)
T & y(void)
Definition: UT_Vector4.h:370
const UT_StringHolder & getVertattribs() const
void setVertattribs(const UT_StringHolder &val)
void saveBinary(std::ostream &os) const
Save string to binary stream.
Definition: UT_String.h:294
DEP_MicroNode * depnode() const
Definition: SOP_NodeVerb.h:111
Computenumberstype getComputenumberstype() const
static void saveData(std::ostream &os, UT_Vector2D v)
UT_StringHolder opComputedweightsattrib(const SOP_NodeVerb::CookParms &cookparms) const
virtual void copyFrom(const SOP_NodeParms *src)
const UT_StringHolder & getDetailattribs() 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)
Computenumberstype opComputenumberstype(const SOP_NodeVerb::CookParms &cookparms) const
void getParmValue(exint idx, UT_SharedPtr< UT_Ramp > &value) const
static void loadData(UT_IStream &is, bool &v)
void setParmValue(exint idx, const UT_Vector3D &value)
void getParmValue(exint idx, UT_Vector2D &value) const
Utility class for containing a color ramp.
Definition: UT_Ramp.h:84
virtual ParmType getParmType(exint fieldnum) const
void setParmValue(exint idx, const UT_Matrix2D &value)
Interpby opInterpby(const SOP_NodeVerb::CookParms &cookparms) const
GLuint GLfloat * val
Definition: glcorearb.h:1607
#define SOP_API
Definition: SOP_API.h:10
UT_StringHolder opDetailattribs(const SOP_NodeVerb::CookParms &cookparms) const
const char * buffer() const
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glcorearb.h:107
fpreal getCookTime() const
Definition: SOP_NodeVerb.h:499
T & x(void)
Definition: UT_Vector4.h:368
const UT_StringHolder & getPointattribs() const
UT_StringHolder opVertattribs(const SOP_NodeVerb::CookParms &cookparms) const
T & y(void)
Definition: UT_Vector2.h:286
GLboolean r
Definition: glcorearb.h:1221
T & w(void)
Definition: UT_Vector4.h:374
void setDetailattribs(const UT_StringHolder &val)
const OP_Context & context() const
Definition: SOP_NodeVerb.h:109
void setNumberattrib(const UT_StringHolder &val)
static void saveData(std::ostream &os, bool v)
SYS_FORCE_INLINE bool isstring() const
void setGroup(const UT_StringHolder &val)
bool operator==(const SOP_AttribInterpolateParms &src) const
void setComputenumberstype(Computenumberstype val)
GLenum src
Definition: glcorearb.h:1792