HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SOP_SBlend-2.0.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_SBlend_2_0Enums
22 {
23  enum class VoxelBlend
24  {
25  NONE = 0,
26  BYGRIDINDEX,
27  BYVOXELPOS,
28  ADVECTED
29  };
30  enum class Interp
31  {
32  LINEAR = 0,
33  CUBIC,
34  SUBD
35  };
36 }
37 
38 
40 {
41 public:
42  static int version() { return 1; }
43 
45  {
46  myBlend = 0;
47  myAttribs = "*"_sh;
48  myPtIDAttr = "id"_sh;
49  myPrimIDAttr = "name"_sh;
50  myVoxelBlend = 0;
51  myAdvectionDT = 0.0416667;
52  myVelocityField = "vel"_sh;
53  myDoSlerp = false;
54  myInterp = 0;
55  myUseVForPInterp = false;
56  myTimeStep = 0;
57 
58  }
59 
60  explicit SOP_SBlend_2_0Parms(const SOP_SBlend_2_0Parms &) = default;
61 
62  virtual ~SOP_SBlend_2_0Parms() {}
63 
64  bool operator==(const SOP_SBlend_2_0Parms &src) const
65  {
66  if (myBlend != src.myBlend) return false;
67  if (myAttribs != src.myAttribs) return false;
68  if (myPtIDAttr != src.myPtIDAttr) return false;
69  if (myPrimIDAttr != src.myPrimIDAttr) return false;
70  if (myVoxelBlend != src.myVoxelBlend) return false;
71  if (myAdvectionDT != src.myAdvectionDT) return false;
72  if (myVelocityField != src.myVelocityField) return false;
73  if (myDoSlerp != src.myDoSlerp) return false;
74  if (myInterp != src.myInterp) return false;
75  if (myUseVForPInterp != src.myUseVForPInterp) return false;
76  if (myTimeStep != src.myTimeStep) return false;
77 
78  return true;
79  }
80  bool operator!=(const SOP_SBlend_2_0Parms &src) const
81  {
82  return !operator==(src);
83  }
86 
87 
88 
89  void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)
90  {
91  if (true)
92  OP_Utils::evalOpParm(myBlend, node, "blend", time, 0);
93  else myBlend = 0;
94  if (true)
95  OP_Utils::evalOpParm(myAttribs, node, "attribs", time, 0);
96  else myAttribs = "*"_sh;
97  if (true)
98  OP_Utils::evalOpParm(myPtIDAttr, node, "ptidattr", time, 0);
99  else myPtIDAttr = "id"_sh;
100  if (true)
101  OP_Utils::evalOpParm(myPrimIDAttr, node, "primidattr", time, 0);
102  else myPrimIDAttr = "name"_sh;
103  if (true)
104  OP_Utils::evalOpParm(myVoxelBlend, node, "voxelblend", time, 0);
105  else myVoxelBlend = 0;
106  if (true && ( (!(((int64(getVoxelBlend())!=3)))) ) )
107  OP_Utils::evalOpParm(myAdvectionDT, node, "adt", time, 0);
108  else myAdvectionDT = 0.0416667;
109  if (true && ( (!(((int64(getVoxelBlend())!=3)))) ) )
110  OP_Utils::evalOpParm(myVelocityField, node, "velocity", time, 0);
111  else myVelocityField = "vel"_sh;
112  if (true)
113  OP_Utils::evalOpParm(myDoSlerp, node, "doslerp", time, 0);
114  else myDoSlerp = false;
115  if (true)
116  OP_Utils::evalOpParm(myInterp, node, "interp", time, 0);
117  else myInterp = 0;
118  if (true && ( (!(((int64(getInterp())!=0)))) ) )
119  OP_Utils::evalOpParm(myUseVForPInterp, node, "usevforpinterp", time, 0);
120  else myUseVForPInterp = false;
121  if (true && ( (!(((getUseVForPInterp()==0)&&(int64(getVoxelBlend())!=3)))) ) )
122  OP_Utils::evalOpParm(myTimeStep, node, "timestep", time, 0);
123  else myTimeStep = 0;
124 
125  }
126 
127 
128  virtual void loadFromOpSubclass(const LoadParms &loadparms)
129  {
130  buildFromOp(loadparms.node(), loadparms.context().getTime(), loadparms.depnode());
131  }
132 
133 
134  virtual void copyFrom(const SOP_NodeParms *src)
135  {
136  *this = *((const SOP_SBlend_2_0Parms *)src);
137  }
138 
139  template <typename T>
140  void
141  doGetParmValue(exint idx, T &value) const
142  {
143  switch (idx)
144  {
145  case 0:
146  coerceValue(value, myBlend);
147  break;
148  case 1:
149  coerceValue(value, myAttribs);
150  break;
151  case 2:
152  coerceValue(value, myPtIDAttr);
153  break;
154  case 3:
155  coerceValue(value, myPrimIDAttr);
156  break;
157  case 4:
158  coerceValue(value, myVoxelBlend);
159  break;
160  case 5:
161  coerceValue(value, myAdvectionDT);
162  break;
163  case 6:
164  coerceValue(value, myVelocityField);
165  break;
166  case 7:
167  coerceValue(value, myDoSlerp);
168  break;
169  case 8:
170  coerceValue(value, myInterp);
171  break;
172  case 9:
173  coerceValue(value, myUseVForPInterp);
174  break;
175  case 10:
176  coerceValue(value, myTimeStep);
177  break;
178 
179  }
180  }
181 
182  void getParmValue(exint idx, exint &value) const
183  { doGetParmValue(idx, value); }
184  void getParmValue(exint idx, fpreal &value) const
185  { doGetParmValue(idx, value); }
187  { doGetParmValue(idx, value); }
189  { doGetParmValue(idx, value); }
191  { doGetParmValue(idx, value); }
193  { doGetParmValue(idx, value); }
195  { doGetParmValue(idx, value); }
197  { doGetParmValue(idx, value); }
199  { doGetParmValue(idx, value); }
201  { doGetParmValue(idx, value); }
203  { doGetParmValue(idx, value); }
204 
205  template <typename T>
206  void
207  doSetParmValue(exint idx, const T &value)
208  {
209  switch (idx)
210  {
211  case 0:
212  coerceValue(myBlend, value);
213  break;
214  case 1:
215  coerceValue(myAttribs, value);
216  break;
217  case 2:
218  coerceValue(myPtIDAttr, value);
219  break;
220  case 3:
221  coerceValue(myPrimIDAttr, value);
222  break;
223  case 4:
224  coerceValue(myVoxelBlend, value);
225  break;
226  case 5:
227  coerceValue(myAdvectionDT, value);
228  break;
229  case 6:
230  coerceValue(myVelocityField, value);
231  break;
232  case 7:
233  coerceValue(myDoSlerp, value);
234  break;
235  case 8:
236  coerceValue(myInterp, value);
237  break;
238  case 9:
239  coerceValue(myUseVForPInterp, value);
240  break;
241  case 10:
242  coerceValue(myTimeStep, value);
243  break;
244 
245  }
246  }
247 
248  void setParmValue(exint idx, const exint &value)
249  { doSetParmValue(idx, value); }
250  void setParmValue(exint idx, const fpreal &value)
251  { doSetParmValue(idx, value); }
252  void setParmValue(exint idx, const UT_Vector2D &value)
253  { doSetParmValue(idx, value); }
254  void setParmValue(exint idx, const UT_Vector3D &value)
255  { doSetParmValue(idx, value); }
256  void setParmValue(exint idx, const UT_Vector4D &value)
257  { doSetParmValue(idx, value); }
258  void setParmValue(exint idx, const UT_Matrix2D &value)
259  { doSetParmValue(idx, value); }
260  void setParmValue(exint idx, const UT_Matrix3D &value)
261  { doSetParmValue(idx, value); }
262  void setParmValue(exint idx, const UT_Matrix4D &value)
263  { doSetParmValue(idx, value); }
265  { doSetParmValue(idx, value); }
267  { doSetParmValue(idx, value); }
269  { doSetParmValue(idx, value); }
270 
271  virtual exint getNumParms() const
272  {
273  return 11;
274  }
275 
276  virtual const char *getParmName(exint fieldnum) const
277  {
278  switch (fieldnum)
279  {
280  case 0:
281  return "blend";
282  case 1:
283  return "attribs";
284  case 2:
285  return "ptidattr";
286  case 3:
287  return "primidattr";
288  case 4:
289  return "voxelblend";
290  case 5:
291  return "adt";
292  case 6:
293  return "velocity";
294  case 7:
295  return "doslerp";
296  case 8:
297  return "interp";
298  case 9:
299  return "usevforpinterp";
300  case 10:
301  return "timestep";
302 
303  }
304  return 0;
305  }
306 
307  virtual ParmType getParmType(exint fieldnum) const
308  {
309  switch (fieldnum)
310  {
311  case 0:
312  return PARM_FLOAT;
313  case 1:
314  return PARM_STRING;
315  case 2:
316  return PARM_STRING;
317  case 3:
318  return PARM_STRING;
319  case 4:
320  return PARM_INTEGER;
321  case 5:
322  return PARM_FLOAT;
323  case 6:
324  return PARM_STRING;
325  case 7:
326  return PARM_INTEGER;
327  case 8:
328  return PARM_INTEGER;
329  case 9:
330  return PARM_INTEGER;
331  case 10:
332  return PARM_FLOAT;
333 
334  }
335  return PARM_UNSUPPORTED;
336  }
337 
338  // Boiler plate to load individual types.
339  static void loadData(UT_IStream &is, int64 &v)
340  { is.bread(&v, 1); }
341  static void loadData(UT_IStream &is, bool &v)
342  { int64 iv; is.bread(&iv, 1); v = iv; }
343  static void loadData(UT_IStream &is, fpreal64 &v)
344  { is.bread<fpreal64>(&v, 1); }
345  static void loadData(UT_IStream &is, UT_Vector2D &v)
346  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
347  static void loadData(UT_IStream &is, UT_Vector3D &v)
348  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
349  is.bread<fpreal64>(&v.z(), 1); }
350  static void loadData(UT_IStream &is, UT_Vector4D &v)
351  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
352  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
353  static void loadData(UT_IStream &is, UT_Matrix2D &v)
354  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
355  static void loadData(UT_IStream &is, UT_Matrix3D &v)
356  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
357  static void loadData(UT_IStream &is, UT_Matrix4D &v)
358  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
359  static void loadData(UT_IStream &is, UT_Vector2I &v)
360  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
361  static void loadData(UT_IStream &is, UT_Vector3I &v)
362  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
363  is.bread<int64>(&v.z(), 1); }
364  static void loadData(UT_IStream &is, UT_Vector4I &v)
365  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
366  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
368  { is.bread(v); }
370  { UT_StringHolder rampdata;
371  loadData(is, rampdata);
372  if (rampdata.isstring())
373  {
374  v.reset(new UT_Ramp());
375  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
376  v->load(istr);
377  }
378  else v.reset();
379  }
382  loadData(is, data);
383  if (data.isstring())
384  {
385  // Find the data type.
386  char *colon = UT_StringWrap(data).findChar(':');
387  if (colon)
388  {
389  int typelen = colon - data.buffer();
391  type.strncpy(data.buffer(), typelen);
392  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
393 
394  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
395  }
396  }
397  else v.reset();
398  }
399 
400  static void saveData(std::ostream &os, int64 v)
401  { UTwrite(os, &v); }
402  static void saveData(std::ostream &os, bool v)
403  { int64 iv = v; UTwrite(os, &iv); }
404  static void saveData(std::ostream &os, fpreal64 v)
405  { UTwrite<fpreal64>(os, &v); }
406  static void saveData(std::ostream &os, UT_Vector2D v)
407  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
408  static void saveData(std::ostream &os, UT_Vector3D v)
409  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
410  UTwrite<fpreal64>(os, &v.z()); }
411  static void saveData(std::ostream &os, UT_Vector4D v)
412  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
413  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
414  static void saveData(std::ostream &os, UT_Matrix2D v)
416  static void saveData(std::ostream &os, UT_Matrix3D v)
418  static void saveData(std::ostream &os, UT_Matrix4D v)
420  static void saveData(std::ostream &os, UT_StringHolder s)
421  { UT_StringWrap(s).saveBinary(os); }
422  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
423  { UT_StringHolder result;
424  UT_OStringStream ostr;
425  if (s) s->save(ostr);
426  result = ostr.str();
427  saveData(os, result);
428  }
429  static void saveData(std::ostream &os, PRM_DataItemHandle s)
430  { UT_StringHolder result;
431  UT_OStringStream ostr;
432  if (s)
433  {
434  ostr << s->getDataTypeToken();
435  ostr << ":";
436  s->saveBinary(ostr);
437  }
438  result = ostr.str();
439  saveData(os, result);
440  }
441 
442 
443  void save(std::ostream &os) const
444  {
445  int32 v = version();
446  UTwrite(os, &v);
447  saveData(os, myBlend);
448  saveData(os, myAttribs);
449  saveData(os, myPtIDAttr);
450  saveData(os, myPrimIDAttr);
451  saveData(os, myVoxelBlend);
452  saveData(os, myAdvectionDT);
453  saveData(os, myVelocityField);
454  saveData(os, myDoSlerp);
455  saveData(os, myInterp);
456  saveData(os, myUseVForPInterp);
457  saveData(os, myTimeStep);
458 
459  }
460 
461  bool load(UT_IStream &is)
462  {
463  int32 v;
464  is.bread(&v, 1);
465  if (version() != v)
466  {
467  // Fail incompatible versions
468  return false;
469  }
470  loadData(is, myBlend);
471  loadData(is, myAttribs);
472  loadData(is, myPtIDAttr);
473  loadData(is, myPrimIDAttr);
474  loadData(is, myVoxelBlend);
475  loadData(is, myAdvectionDT);
476  loadData(is, myVelocityField);
477  loadData(is, myDoSlerp);
478  loadData(is, myInterp);
479  loadData(is, myUseVForPInterp);
480  loadData(is, myTimeStep);
481 
482  return true;
483  }
484 
485  fpreal64 getBlend() const { return myBlend; }
486  void setBlend(fpreal64 val) { myBlend = val; }
487  fpreal64 opBlend(const SOP_NodeVerb::CookParms &cookparms) const
488  {
489  SOP_Node *thissop = cookparms.getNode();
490  if (!thissop) return getBlend();
491  fpreal64 result;
492  OP_Utils::evalOpParm(result, thissop, "blend", cookparms.getCookTime(), 0);
493  return result;
494  }
495  const UT_StringHolder & getAttribs() const { return myAttribs; }
496  void setAttribs(const UT_StringHolder & val) { myAttribs = val; }
498  {
499  SOP_Node *thissop = cookparms.getNode();
500  if (!thissop) return getAttribs();
501  UT_StringHolder result;
502  OP_Utils::evalOpParm(result, thissop, "attribs", cookparms.getCookTime(), 0);
503  return result;
504  }
505  const UT_StringHolder & getPtIDAttr() const { return myPtIDAttr; }
506  void setPtIDAttr(const UT_StringHolder & val) { myPtIDAttr = val; }
508  {
509  SOP_Node *thissop = cookparms.getNode();
510  if (!thissop) return getPtIDAttr();
511  UT_StringHolder result;
512  OP_Utils::evalOpParm(result, thissop, "ptidattr", cookparms.getCookTime(), 0);
513  return result;
514  }
515  const UT_StringHolder & getPrimIDAttr() const { return myPrimIDAttr; }
516  void setPrimIDAttr(const UT_StringHolder & val) { myPrimIDAttr = val; }
518  {
519  SOP_Node *thissop = cookparms.getNode();
520  if (!thissop) return getPrimIDAttr();
521  UT_StringHolder result;
522  OP_Utils::evalOpParm(result, thissop, "primidattr", cookparms.getCookTime(), 0);
523  return result;
524  }
525  VoxelBlend getVoxelBlend() const { return VoxelBlend(myVoxelBlend); }
526  void setVoxelBlend(VoxelBlend val) { myVoxelBlend = int64(val); }
528  {
529  SOP_Node *thissop = cookparms.getNode();
530  if (!thissop) return getVoxelBlend();
531  int64 result;
532  OP_Utils::evalOpParm(result, thissop, "voxelblend", cookparms.getCookTime(), 0);
533  return VoxelBlend(result);
534  }
535  fpreal64 getAdvectionDT() const { return myAdvectionDT; }
536  void setAdvectionDT(fpreal64 val) { myAdvectionDT = val; }
538  {
539  SOP_Node *thissop = cookparms.getNode();
540  if (!thissop) return getAdvectionDT();
541  fpreal64 result;
542  OP_Utils::evalOpParm(result, thissop, "adt", cookparms.getCookTime(), 0);
543  return result;
544  }
545  const UT_StringHolder & getVelocityField() const { return myVelocityField; }
546  void setVelocityField(const UT_StringHolder & val) { myVelocityField = val; }
548  {
549  SOP_Node *thissop = cookparms.getNode();
550  if (!thissop) return getVelocityField();
551  UT_StringHolder result;
552  OP_Utils::evalOpParm(result, thissop, "velocity", cookparms.getCookTime(), 0);
553  return result;
554  }
555  bool getDoSlerp() const { return myDoSlerp; }
556  void setDoSlerp(bool val) { myDoSlerp = val; }
557  bool opDoSlerp(const SOP_NodeVerb::CookParms &cookparms) const
558  {
559  SOP_Node *thissop = cookparms.getNode();
560  if (!thissop) return getDoSlerp();
561  bool result;
562  OP_Utils::evalOpParm(result, thissop, "doslerp", cookparms.getCookTime(), 0);
563  return result;
564  }
565  Interp getInterp() const { return Interp(myInterp); }
566  void setInterp(Interp val) { myInterp = int64(val); }
567  Interp opInterp(const SOP_NodeVerb::CookParms &cookparms) const
568  {
569  SOP_Node *thissop = cookparms.getNode();
570  if (!thissop) return getInterp();
571  int64 result;
572  OP_Utils::evalOpParm(result, thissop, "interp", cookparms.getCookTime(), 0);
573  return Interp(result);
574  }
575  bool getUseVForPInterp() const { return myUseVForPInterp; }
576  void setUseVForPInterp(bool val) { myUseVForPInterp = val; }
577  bool opUseVForPInterp(const SOP_NodeVerb::CookParms &cookparms) const
578  {
579  SOP_Node *thissop = cookparms.getNode();
580  if (!thissop) return getUseVForPInterp();
581  bool result;
582  OP_Utils::evalOpParm(result, thissop, "usevforpinterp", cookparms.getCookTime(), 0);
583  return result;
584  }
585  fpreal64 getTimeStep() const { return myTimeStep; }
586  void setTimeStep(fpreal64 val) { myTimeStep = val; }
588  {
589  SOP_Node *thissop = cookparms.getNode();
590  if (!thissop) return getTimeStep();
591  fpreal64 result;
592  OP_Utils::evalOpParm(result, thissop, "timestep", cookparms.getCookTime(), 0);
593  return result;
594  }
595 
596 private:
597  fpreal64 myBlend;
598  UT_StringHolder myAttribs;
599  UT_StringHolder myPtIDAttr;
600  UT_StringHolder myPrimIDAttr;
601  int64 myVoxelBlend;
602  fpreal64 myAdvectionDT;
603  UT_StringHolder myVelocityField;
604  bool myDoSlerp;
605  int64 myInterp;
606  bool myUseVForPInterp;
607  fpreal64 myTimeStep;
608 
609 };
void setParmValue(exint idx, const UT_Matrix4D &value)
UT_StringHolder opPtIDAttr(const SOP_NodeVerb::CookParms &cookparms) const
VoxelBlend getVoxelBlend() const
void setParmValue(exint idx, const UT_SharedPtr< UT_Ramp > &value)
static void loadData(UT_IStream &is, UT_Vector3D &v)
SOP_Node * getNode() const
Definition: SOP_NodeVerb.h:494
fpreal64 getAdvectionDT() const
static void saveData(std::ostream &os, UT_Vector3D v)
const UT_StringHolder & getVelocityField() const
T & z(void)
Definition: UT_Vector4.h:379
void getParmValue(exint idx, UT_Matrix4D &value) const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
void setTimeStep(fpreal64 val)
static void saveData(std::ostream &os, UT_Vector2D v)
exint bread(int32 *buffer, exint asize=1)
void getParmValue(exint idx, fpreal &value) const
GT_API const UT_StringHolder time
fpreal getTime() const
Definition: OP_Context.h:60
const GLdouble * v
Definition: glcorearb.h:836
Interp opInterp(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
static void loadData(UT_IStream &is, fpreal64 &v)
SYS_FORCE_INLINE const char * buffer() const
T & x(void)
Definition: UT_Vector2.h:285
bool opUseVForPInterp(const SOP_NodeVerb::CookParms &cookparms) const
An output stream object that owns its own string buffer storage.
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
void setUseVForPInterp(bool val)
void setVelocityField(const UT_StringHolder &val)
const UT_WorkBuffer & str() const
Returns a read-only reference to the underlying UT_WorkBuffer.
static void loadData(UT_IStream &is, UT_Vector4I &v)
void save(std::ostream &os) const
UT_StringHolder opVelocityField(const SOP_NodeVerb::CookParms &cookparms) const
void getParmValue(exint idx, UT_Matrix2D &value) const
static void saveData(std::ostream &os, fpreal64 v)
SYS_FORCE_INLINE T & x(void)
Definition: UT_Vector3.h:498
virtual void loadFromOpSubclass(const LoadParms &loadparms)
virtual exint getNumParms() const
void getParmValue(exint idx, UT_Vector2D &value) const
static void saveData(std::ostream &os, UT_Matrix3D v)
void getParmValue(exint idx, UT_StringHolder &value) const
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
static void loadData(UT_IStream &is, UT_StringHolder &v)
VoxelBlend opVoxelBlend(const SOP_NodeVerb::CookParms &cookparms) const
void getParmValue(exint idx, PRM_DataItemHandle &value) const
UT_StringHolder opAttribs(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_StringHolder s)
static void loadData(UT_IStream &is, UT_Vector2I &v)
bool load(UT_IStream &is)
fpreal64 getTimeStep() const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
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
const UT_StringHolder & getPrimIDAttr() const
void setVoxelBlend(VoxelBlend val)
void setParmValue(exint idx, const fpreal &value)
virtual void copyFrom(const SOP_NodeParms *src)
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_Matrix3D &value) const
SYS_FORCE_INLINE const char * buffer() const
void setBlend(fpreal64 val)
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
Definition: UT_SharedPtr.h:28
int64 exint
Definition: SYS_Types.h:116
void setAttribs(const UT_StringHolder &val)
bool operator==(const SOP_SBlend_2_0Parms &src) const
const OP_Node * node() const
Definition: SOP_NodeVerb.h:104
void setParmValue(exint idx, const UT_Matrix3D &value)
double fpreal64
Definition: SYS_Types.h:192
static void saveData(std::ostream &os, UT_Vector4D v)
static void loadData(UT_IStream &is, UT_Vector2D &v)
bool operator!=(const SOP_SBlend_2_0Parms &src) const
void setParmValue(exint idx, const UT_Vector2D &value)
void setAdvectionDT(fpreal64 val)
void setParmValue(exint idx, const UT_Vector4D &value)
static void loadData(UT_IStream &is, bool &v)
void setParmValue(exint idx, const PRM_DataItemHandle &value)
GLboolean * data
Definition: glcorearb.h:130
fpreal64 opAdvectionDT(const SOP_NodeVerb::CookParms &cookparms) const
void setParmValue(exint idx, const UT_Matrix2D &value)
int int32
Definition: SYS_Types.h:35
T & y(void)
Definition: UT_Vector4.h:377
static void loadData(UT_IStream &is, int64 &v)
static void saveData(std::ostream &os, UT_Matrix2D v)
void saveBinary(std::ostream &os) const
Save string to binary stream.
Definition: UT_String.h:294
void getParmValue(exint idx, UT_SharedPtr< UT_Ramp > &value) const
void setInterp(Interp val)
static void loadData(UT_IStream &is, UT_Vector3I &v)
GT_API const UT_StringHolder version
DEP_MicroNode * depnode() const
Definition: SOP_NodeVerb.h:111
virtual ParmType getParmType(exint fieldnum) const
void setPrimIDAttr(const UT_StringHolder &val)
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
void doGetParmValue(exint idx, T &value) const
void setParmValue(exint idx, const UT_StringHolder &value)
void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)
UT_StringHolder opPrimIDAttr(const SOP_NodeVerb::CookParms &cookparms) const
void doSetParmValue(exint idx, const T &value)
Utility class for containing a color ramp.
Definition: UT_Ramp.h:84
static void saveData(std::ostream &os, bool v)
fpreal64 opBlend(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
GLuint GLfloat * val
Definition: glcorearb.h:1607
void getParmValue(exint idx, exint &value) const
void setPtIDAttr(const UT_StringHolder &val)
#define SOP_API
Definition: SOP_API.h:10
const UT_StringHolder & getPtIDAttr() const
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glcorearb.h:107
static void saveData(std::ostream &os, UT_Matrix4D v)
fpreal getCookTime() const
Definition: SOP_NodeVerb.h:501
void setParmValue(exint idx, const exint &value)
T & x(void)
Definition: UT_Vector4.h:375
T & y(void)
Definition: UT_Vector2.h:287
GLboolean r
Definition: glcorearb.h:1221
fpreal64 getBlend() const
void getParmValue(exint idx, UT_Vector3D &value) const
T & w(void)
Definition: UT_Vector4.h:381
void setParmValue(exint idx, const UT_Vector3D &value)
void getParmValue(exint idx, UT_Vector4D &value) const
const UT_StringHolder & getAttribs() const
bool opDoSlerp(const SOP_NodeVerb::CookParms &cookparms) const
const OP_Context & context() const
Definition: SOP_NodeVerb.h:109
static void saveData(std::ostream &os, int64 v)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
Definition: PRM_Parm.h:88
bool getUseVForPInterp() const
SYS_FORCE_INLINE bool isstring() const
virtual const char * getParmName(exint fieldnum) const
static void loadData(UT_IStream &is, UT_Vector4D &v)
static void saveData(std::ostream &os, PRM_DataItemHandle s)
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
fpreal64 opTimeStep(const SOP_NodeVerb::CookParms &cookparms) const
GLenum src
Definition: glcorearb.h:1792