HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SOP_VolumeResample.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_API.h>
7 #include <SOP/SOP_NodeVerb.h>
8 #include <OP/OP_GraphProxy.h>
9 
10 #include <OP/OP_Utils.h>
11 #include <PRM/PRM_Parm.h>
12 #include <UT/UT_IStream.h>
13 #include <UT/UT_NTStreamUtil.h>
14 #include <UT/UT_Ramp.h>
15 #include <UT/UT_SharedPtr.h>
16 #include <UT/UT_StringHolder.h>
17 #include <UT/UT_StringStream.h>
18 #include <UT/UT_VectorTypes.h>
19 #include <UT/UT_EnvControl.h>
20 #include <SYS/SYS_Types.h>
21 
22 class DEP_MicroNode;
23 namespace SOP_VolumeResampleEnums
24 {
25  enum class Uniformsamples
26  {
27  NONSQUARE = 0,
28  X,
29  Y,
30  Z,
31  MAX,
32  SIZE
33  };
34 
36  getToken(Uniformsamples enum_value)
37  {
38  using namespace UT::Literal;
39  switch (enum_value) {
40  case Uniformsamples::NONSQUARE: return "nonsquare"_sh;
41  case Uniformsamples::X: return "x"_sh;
42  case Uniformsamples::Y: return "y"_sh;
43  case Uniformsamples::Z: return "z"_sh;
44  case Uniformsamples::MAX: return "max"_sh;
45  case Uniformsamples::SIZE: return "size"_sh;
46  default: UT_ASSERT(false); return ""_sh;
47  }
48  }
49 
50 }
51 
52 
54 {
55 public:
56  static int version() { return 1; }
57 
59  {
60  myGroup = ""_UTsh;
61  myFilter = "box"_UTsh;
62  myFilterscale = 1;
63  myFixedresample = false;
64  myUniformsamples = 4;
65  mySamplediv = 10;
66  myDivs = UT_Vector3I(10,10,10);
67  myDivsize = 0.1;
68  myScale = 1;
69  myDetect2d = true;
70 
71  }
72 
73  explicit SOP_VolumeResampleParms(const SOP_VolumeResampleParms &) = default;
75  SOP_VolumeResampleParms(SOP_VolumeResampleParms &&) noexcept = default;
76  SOP_VolumeResampleParms &operator=(SOP_VolumeResampleParms &&) noexcept = default;
77 
78  ~SOP_VolumeResampleParms() override {}
79 
81  {
82  if (myGroup != src.myGroup) return false;
83  if (myFilter != src.myFilter) return false;
84  if (myFilterscale != src.myFilterscale) return false;
85  if (myFixedresample != src.myFixedresample) return false;
86  if (myUniformsamples != src.myUniformsamples) return false;
87  if (mySamplediv != src.mySamplediv) return false;
88  if (myDivs != src.myDivs) return false;
89  if (myDivsize != src.myDivsize) return false;
90  if (myScale != src.myScale) return false;
91  if (myDetect2d != src.myDetect2d) return false;
92 
93 
94  if (baseGetSignature() != src.baseGetSignature()) return false;
95 
96  return true;
97  }
99  {
100  return !operator==(src);
101  }
103 
104 
105 
106  void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
107  {
108  myGroup = ""_UTsh;
109  if (true)
110  graph->evalOpParm(myGroup, nodeidx, "group", time, graph->isDirect()?nullptr:depnode);
111  myFilter = "box"_UTsh;
112  if (true)
113  graph->evalOpParm(myFilter, nodeidx, "filter", time, graph->isDirect()?nullptr:depnode);
114  myFilterscale = 1;
115  if (true)
116  graph->evalOpParm(myFilterscale, nodeidx, "filterscale", time, graph->isDirect()?nullptr:depnode);
117  myFixedresample = false;
118  if (true)
119  graph->evalOpParm(myFixedresample, nodeidx, "fixedresample", time, graph->isDirect()?nullptr:depnode);
120  myUniformsamples = 4;
121  if (true && ( (true&&!(((getFixedresample()==0)))) ) )
122  graph->evalOpParm(myUniformsamples, nodeidx, "uniformsamples", time, graph->isDirect()?nullptr:depnode);
123  mySamplediv = 10;
124  if (true && ( (true&&!(((getFixedresample()==0))||((int64(getUniformsamples())==0))||((int64(getUniformsamples())==5)))) ) )
125  graph->evalOpParm(mySamplediv, nodeidx, "samplediv", time, graph->isDirect()?nullptr:depnode);
126  myDivs = UT_Vector3I(10,10,10);
127  if (true && ( (true&&!(((getFixedresample()==0))||((int64(getUniformsamples())!=0)))) ) )
128  graph->evalOpParm(myDivs, nodeidx, "divs", time, graph->isDirect()?nullptr:depnode);
129  myDivsize = 0.1;
130  if (true && ( (true&&!(((getFixedresample()==0))||((int64(getUniformsamples())!=5)))) ) )
131  graph->evalOpParm(myDivsize, nodeidx, "divsize", time, graph->isDirect()?nullptr:depnode);
132  myScale = 1;
133  if (true && ( (true&&!(((getFixedresample()==1)))) ) )
134  graph->evalOpParm(myScale, nodeidx, "scale", time, graph->isDirect()?nullptr:depnode);
135  myDetect2d = true;
136  if (true)
137  graph->evalOpParm(myDetect2d, nodeidx, "detect2d", time, graph->isDirect()?nullptr:depnode);
138 
139  }
140 
141 
142  void loadFromOpSubclass(const LoadParms &loadparms) override
143  {
144  buildFromOp(loadparms.graph(), loadparms.nodeIdx(), loadparms.context().getTime(), loadparms.depnode());
145  }
146 
147 
148  void copyFrom(const OP_NodeParms *src) override
149  {
150  *this = *((const SOP_VolumeResampleParms *)src);
151  }
152 
153  template <typename T>
154  void
155  doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
156  {
157  if (idx.size() < 1)
158  return;
159  UT_ASSERT(idx.size() == instance.size()+1);
160  if (idx.size() != instance.size()+1)
161  return;
162  switch (idx[0])
163  {
164  case 0:
165  coerceValue(value, myGroup);
166  break;
167  case 1:
168  coerceValue(value, myFilter);
169  break;
170  case 2:
171  coerceValue(value, myFilterscale);
172  break;
173  case 3:
174  coerceValue(value, myFixedresample);
175  break;
176  case 4:
177  coerceValue(value, myUniformsamples);
178  break;
179  case 5:
180  coerceValue(value, mySamplediv);
181  break;
182  case 6:
183  coerceValue(value, myDivs);
184  break;
185  case 7:
186  coerceValue(value, myDivsize);
187  break;
188  case 8:
189  coerceValue(value, myScale);
190  break;
191  case 9:
192  coerceValue(value, myDetect2d);
193  break;
194 
195  }
196  }
197 
198  bool isParmColorRamp(exint idx) const override
199  {
200  switch (idx)
201  {
202 
203  }
204  return false;
205  }
206 
207  void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
208  { doGetParmValue(idx, instance, value); }
209  void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
210  { doGetParmValue(idx, instance, value); }
211  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
212  { doGetParmValue(idx, instance, value); }
213  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
214  { doGetParmValue(idx, instance, value); }
215  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
216  { doGetParmValue(idx, instance, value); }
217  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
218  { doGetParmValue(idx, instance, value); }
219  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
220  { doGetParmValue(idx, instance, value); }
221  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
222  { doGetParmValue(idx, instance, value); }
223  void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
224  { doGetParmValue(idx, instance, value); }
225  void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr<UT_Ramp> &value) const override
226  { doGetParmValue(idx, instance, value); }
227  void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
228  { doGetParmValue(idx, instance, value); }
229 
230  template <typename T>
231  void
232  doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
233  {
234  if (idx.size() < 1)
235  return;
236  UT_ASSERT(idx.size() == instance.size()+1);
237  if (idx.size() != instance.size()+1)
238  return;
239  switch (idx[0])
240  {
241  case 0:
242  coerceValue(myGroup, ( ( value ) ));
243  break;
244  case 1:
245  coerceValue(myFilter, ( ( value ) ));
246  break;
247  case 2:
248  coerceValue(myFilterscale, clampMinValue(0, ( value ) ));
249  break;
250  case 3:
251  coerceValue(myFixedresample, ( ( value ) ));
252  break;
253  case 4:
254  coerceValue(myUniformsamples, clampMinValue(0, clampMaxValue(5, value ) ));
255  break;
256  case 5:
257  coerceValue(mySamplediv, clampMinValue(1, ( value ) ));
258  break;
259  case 6:
260  coerceValue(myDivs, clampMinValue(1, ( value ) ));
261  break;
262  case 7:
263  coerceValue(myDivsize, clampMinValue(0, ( value ) ));
264  break;
265  case 8:
266  coerceValue(myScale, clampMinValue(0, ( value ) ));
267  break;
268  case 9:
269  coerceValue(myDetect2d, ( ( value ) ));
270  break;
271 
272  }
273  }
274 
275  void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
276  { doSetParmValue(idx, instance, value); }
277  void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
278  { doSetParmValue(idx, instance, value); }
279  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
280  { doSetParmValue(idx, instance, value); }
281  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
282  { doSetParmValue(idx, instance, value); }
283  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
284  { doSetParmValue(idx, instance, value); }
285  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
286  { doSetParmValue(idx, instance, value); }
287  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
288  { doSetParmValue(idx, instance, value); }
289  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
290  { doSetParmValue(idx, instance, value); }
291  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
292  { doSetParmValue(idx, instance, value); }
293  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr<UT_Ramp> &value) override
294  { doSetParmValue(idx, instance, value); }
295  void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
296  { doSetParmValue(idx, instance, value); }
297 
298  exint getNestNumParms(TempIndex idx) const override
299  {
300  if (idx.size() == 0)
301  return 10;
302  switch (idx[0])
303  {
304 
305  }
306  // Invalid
307  return 0;
308  }
309 
310  const char *getNestParmName(TempIndex fieldnum) const override
311  {
312  if (fieldnum.size() < 1)
313  return 0;
314  switch (fieldnum[0])
315  {
316  case 0:
317  return "group";
318  case 1:
319  return "filter";
320  case 2:
321  return "filterscale";
322  case 3:
323  return "fixedresample";
324  case 4:
325  return "uniformsamples";
326  case 5:
327  return "samplediv";
328  case 6:
329  return "divs";
330  case 7:
331  return "divsize";
332  case 8:
333  return "scale";
334  case 9:
335  return "detect2d";
336 
337  }
338  return 0;
339  }
340 
341  ParmType getNestParmType(TempIndex fieldnum) const override
342  {
343  if (fieldnum.size() < 1)
344  return PARM_UNSUPPORTED;
345  switch (fieldnum[0])
346  {
347  case 0:
348  return PARM_STRING;
349  case 1:
350  return PARM_STRING;
351  case 2:
352  return PARM_FLOAT;
353  case 3:
354  return PARM_INTEGER;
355  case 4:
356  return PARM_INTEGER;
357  case 5:
358  return PARM_INTEGER;
359  case 6:
360  return PARM_VECTOR3;
361  case 7:
362  return PARM_FLOAT;
363  case 8:
364  return PARM_FLOAT;
365  case 9:
366  return PARM_INTEGER;
367 
368  }
369  return PARM_UNSUPPORTED;
370  }
371 
372  // Boiler plate to load individual types.
373  static void loadData(UT_IStream &is, int64 &v)
374  { is.bread(&v, 1); }
375  static void loadData(UT_IStream &is, bool &v)
376  { int64 iv; is.bread(&iv, 1); v = iv; }
377  static void loadData(UT_IStream &is, fpreal64 &v)
378  { is.bread<fpreal64>(&v, 1); }
379  static void loadData(UT_IStream &is, UT_Vector2D &v)
380  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
381  static void loadData(UT_IStream &is, UT_Vector3D &v)
382  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
383  is.bread<fpreal64>(&v.z(), 1); }
384  static void loadData(UT_IStream &is, UT_Vector4D &v)
385  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
386  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
387  static void loadData(UT_IStream &is, UT_Matrix2D &v)
388  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
389  static void loadData(UT_IStream &is, UT_Matrix3D &v)
390  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
391  static void loadData(UT_IStream &is, UT_Matrix4D &v)
392  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
393  static void loadData(UT_IStream &is, UT_Vector2I &v)
394  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
395  static void loadData(UT_IStream &is, UT_Vector3I &v)
396  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
397  is.bread<int64>(&v.z(), 1); }
398  static void loadData(UT_IStream &is, UT_Vector4I &v)
399  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
400  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
402  { is.bread(v); }
404  { UT_StringHolder rampdata;
405  loadData(is, rampdata);
406  if (rampdata.isstring())
407  {
408  v.reset(new UT_Ramp());
409  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
410  v->load(istr);
411  }
412  else v.reset();
413  }
416  loadData(is, data);
417  if (data.isstring())
418  {
419  // Find the data type.
420  const char *colon = UT_StringWrap(data).findChar(':');
421  if (colon)
422  {
423  int typelen = colon - data.buffer();
425  type.strncpy(data.buffer(), typelen);
426  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
427 
428  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
429  }
430  }
431  else v.reset();
432  }
433 
434  static void saveData(std::ostream &os, int64 v)
435  { UTwrite(os, &v); }
436  static void saveData(std::ostream &os, bool v)
437  { int64 iv = v; UTwrite(os, &iv); }
438  static void saveData(std::ostream &os, fpreal64 v)
439  { UTwrite<fpreal64>(os, &v); }
440  static void saveData(std::ostream &os, UT_Vector2D v)
441  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
442  static void saveData(std::ostream &os, UT_Vector3D v)
443  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
444  UTwrite<fpreal64>(os, &v.z()); }
445  static void saveData(std::ostream &os, UT_Vector4D v)
446  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
447  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
448  static void saveData(std::ostream &os, UT_Matrix2D v)
450  static void saveData(std::ostream &os, UT_Matrix3D v)
452  static void saveData(std::ostream &os, UT_Matrix4D v)
454  static void saveData(std::ostream &os, UT_StringHolder s)
455  { UT_StringWrap(s).saveBinary(os); }
456  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
458  UT_OStringStream ostr;
459  if (s) s->save(ostr);
460  result = ostr.str();
461  saveData(os, result);
462  }
463  static void saveData(std::ostream &os, PRM_DataItemHandle s)
465  UT_OStringStream ostr;
466  if (s)
467  {
468  ostr << s->getDataTypeToken();
469  ostr << ":";
470  s->saveBinary(ostr);
471  }
472  result = ostr.str();
473  saveData(os, result);
474  }
475 
476 
477  void save(std::ostream &os) const
478  {
479  int32 v = version();
480  UTwrite(os, &v);
481  saveData(os, myGroup);
482  saveData(os, myFilter);
483  saveData(os, myFilterscale);
484  saveData(os, myFixedresample);
485  saveData(os, myUniformsamples);
486  saveData(os, mySamplediv);
487  saveData(os, myDivs);
488  saveData(os, myDivsize);
489  saveData(os, myScale);
490  saveData(os, myDetect2d);
491 
492  }
493 
494  bool load(UT_IStream &is)
495  {
496  int32 v;
497  is.bread(&v, 1);
498  if (version() != v)
499  {
500  // Fail incompatible versions
501  return false;
502  }
503  loadData(is, myGroup);
504  loadData(is, myFilter);
505  loadData(is, myFilterscale);
506  loadData(is, myFixedresample);
507  loadData(is, myUniformsamples);
508  loadData(is, mySamplediv);
509  loadData(is, myDivs);
510  loadData(is, myDivsize);
511  loadData(is, myScale);
512  loadData(is, myDetect2d);
513 
514  return true;
515  }
516 
517  const UT_StringHolder & getGroup() const { return myGroup; }
518  void setGroup(const UT_StringHolder & val) { myGroup = val; }
520  {
521  SOP_Node *thissop = cookparms.getNode();
522  if (!thissop) return getGroup();
524  OP_Utils::evalOpParm(result, thissop, "group", cookparms.getCookTime(), 0);
525  return result;
526  }
527  const UT_StringHolder & getFilter() const { return myFilter; }
528  void setFilter(const UT_StringHolder & val) { myFilter = val; }
530  {
531  SOP_Node *thissop = cookparms.getNode();
532  if (!thissop) return getFilter();
534  OP_Utils::evalOpParm(result, thissop, "filter", cookparms.getCookTime(), 0);
535  return result;
536  }
537  fpreal64 getFilterscale() const { return myFilterscale; }
538  void setFilterscale(fpreal64 val) { myFilterscale = val; }
540  {
541  SOP_Node *thissop = cookparms.getNode();
542  if (!thissop) return getFilterscale();
544  OP_Utils::evalOpParm(result, thissop, "filterscale", cookparms.getCookTime(), 0);
545  return result;
546  }
547  bool getFixedresample() const { return myFixedresample; }
548  void setFixedresample(bool val) { myFixedresample = val; }
549  bool opFixedresample(const SOP_NodeVerb::CookParms &cookparms) const
550  {
551  SOP_Node *thissop = cookparms.getNode();
552  if (!thissop) return getFixedresample();
553  bool result;
554  OP_Utils::evalOpParm(result, thissop, "fixedresample", cookparms.getCookTime(), 0);
555  return result;
556  }
557  Uniformsamples getUniformsamples() const { return Uniformsamples(myUniformsamples); }
558  void setUniformsamples(Uniformsamples val) { myUniformsamples = int64(val); }
560  {
561  SOP_Node *thissop = cookparms.getNode();
562  if (!thissop) return getUniformsamples();
563  int64 result;
564  OP_Utils::evalOpParm(result, thissop, "uniformsamples", cookparms.getCookTime(), 0);
565  return Uniformsamples(result);
566  }
567  int64 getSamplediv() const { return mySamplediv; }
568  void setSamplediv(int64 val) { mySamplediv = val; }
569  int64 opSamplediv(const SOP_NodeVerb::CookParms &cookparms) const
570  {
571  SOP_Node *thissop = cookparms.getNode();
572  if (!thissop) return getSamplediv();
573  int64 result;
574  OP_Utils::evalOpParm(result, thissop, "samplediv", cookparms.getCookTime(), 0);
575  return result;
576  }
577  UT_Vector3I getDivs() const { return myDivs; }
578  void setDivs(UT_Vector3I val) { myDivs = val; }
580  {
581  SOP_Node *thissop = cookparms.getNode();
582  if (!thissop) return getDivs();
584  OP_Utils::evalOpParm(result, thissop, "divs", cookparms.getCookTime(), 0);
585  return result;
586  }
587  fpreal64 getDivsize() const { return myDivsize; }
588  void setDivsize(fpreal64 val) { myDivsize = val; }
590  {
591  SOP_Node *thissop = cookparms.getNode();
592  if (!thissop) return getDivsize();
594  OP_Utils::evalOpParm(result, thissop, "divsize", cookparms.getCookTime(), 0);
595  return result;
596  }
597  fpreal64 getScale() const { return myScale; }
598  void setScale(fpreal64 val) { myScale = val; }
599  fpreal64 opScale(const SOP_NodeVerb::CookParms &cookparms) const
600  {
601  SOP_Node *thissop = cookparms.getNode();
602  if (!thissop) return getScale();
604  OP_Utils::evalOpParm(result, thissop, "scale", cookparms.getCookTime(), 0);
605  return result;
606  }
607  bool getDetect2d() const { return myDetect2d; }
608  void setDetect2d(bool val) { myDetect2d = val; }
609  bool opDetect2d(const SOP_NodeVerb::CookParms &cookparms) const
610  {
611  SOP_Node *thissop = cookparms.getNode();
612  if (!thissop) return getDetect2d();
613  bool result;
614  OP_Utils::evalOpParm(result, thissop, "detect2d", cookparms.getCookTime(), 0);
615  return result;
616  }
617 
618 private:
619  UT_StringHolder myGroup;
620  UT_StringHolder myFilter;
621  fpreal64 myFilterscale;
622  bool myFixedresample;
623  int64 myUniformsamples;
624  int64 mySamplediv;
625  UT_Vector3I myDivs;
626  fpreal64 myDivsize;
627  fpreal64 myScale;
628  bool myDetect2d;
629 
630 };
static void loadData(UT_IStream &is, UT_Matrix3D &v)
static void saveData(std::ostream &os, UT_Vector3D v)
type
Definition: core.h:556
static void loadData(UT_IStream &is, UT_Vector2I &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
void copyFrom(const OP_NodeParms *src) override
static void loadData(UT_IStream &is, bool &v)
int int32
Definition: SYS_Types.h:39
SOP_Node * getNode() const
Definition: SOP_NodeVerb.h:347
ParmType getNestParmType(TempIndex fieldnum) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
bool opFixedresample(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
exint bread(int32 *buffer, exint asize=1)
GLboolean * data
Definition: glcorearb.h:131
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
Definition: UT_Vector4.h:493
const GLdouble * v
Definition: glcorearb.h:837
fpreal getTime() const
Definition: OP_Context.h:63
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
GLsizei const GLfloat * value
Definition: glcorearb.h:824
bool isParmColorRamp(exint idx) const override
Uniformsamples opUniformsamples(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE UT_StringHolder getToken(Uniformsamples enum_value)
const OP_Context & context() const
Definition: OP_NodeParms.h:97
constexpr SYS_FORCE_INLINE T & z() noexcept
Definition: UT_Vector3.h:667
int64 exint
Definition: SYS_Types.h:125
void loadFromOpSubclass(const LoadParms &loadparms) override
SYS_FORCE_INLINE const char * buffer() const
GLdouble s
Definition: glad.h:3009
UT_StringHolder opFilter(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getGroup() const
An output stream object that owns its own string buffer storage.
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
static void loadData(UT_IStream &is, UT_Vector3D &v)
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
**But if you need a result
Definition: thread.h:622
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
UT_Vector3T< int64 > UT_Vector3I
bool operator!=(const SOP_VolumeResampleParms &src) const
exint nodeIdx() const
Definition: OP_NodeParms.h:95
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
static void loadData(UT_IStream &is, UT_Vector4I &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
Uniformsamples getUniformsamples() const
bool operator==(const SOP_VolumeResampleParms &src) const
constexpr SYS_FORCE_INLINE T & x() noexcept
Definition: UT_Vector4.h:491
double fpreal64
Definition: SYS_Types.h:201
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
Definition: APEX_Include.h:55
constexpr SYS_FORCE_INLINE T & x() noexcept
Definition: UT_Vector2.h:423
static void saveData(std::ostream &os, bool v)
void setUniformsamples(Uniformsamples val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
const UT_StringHolder & getFilter() const
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Definition: Dimensions.h:137
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
fpreal64 opDivsize(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
void save(std::ostream &os) const
static void loadData(UT_IStream &is, UT_Vector2D &v)
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
static void saveData(std::ostream &os, fpreal64 v)
void setGroup(const UT_StringHolder &val)
static void saveData(std::ostream &os, UT_StringHolder s)
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
exint length() const
const char * getNestParmName(TempIndex fieldnum) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
Definition: UT_SharedPtr.h:36
constexpr SYS_FORCE_INLINE T & z() noexcept
Definition: UT_Vector4.h:495
UT_Vector3I opDivs(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix4D v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
const OP_GraphProxy * graph() const
Definition: OP_NodeParms.h:94
#define SYS_FORCE_INLINE
Definition: SYS_Inline.h:45
static void saveData(std::ostream &os, UT_Vector4D v)
long long int64
Definition: SYS_Types.h:116
fpreal64 opFilterscale(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector4D &v)
static void saveData(std::ostream &os, UT_Vector2D v)
bool opDetect2d(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
void saveBinary(std::ostream &os) const
Save string to binary stream.
Definition: UT_String.h:303
static void loadData(UT_IStream &is, UT_Matrix4D &v)
GT_API const UT_StringHolder version
static void loadData(UT_IStream &is, UT_StringHolder &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
static void saveData(std::ostream &os, UT_Matrix3D v)
static void loadData(UT_IStream &is, UT_Vector3I &v)
exint getNestNumParms(TempIndex idx) const override
static void loadData(UT_IStream &is, int64 &v)
int64 opSamplediv(const SOP_NodeVerb::CookParms &cookparms) const
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
fpreal64 fpreal
Definition: SYS_Types.h:278
DEP_MicroNode * depnode() const
Definition: OP_NodeParms.h:99
LeafData & operator=(const LeafData &)=delete
Utility class for containing a color ramp.
Definition: UT_Ramp.h:96
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
static void loadData(UT_IStream &is, fpreal64 &v)
constexpr SYS_FORCE_INLINE T & w() noexcept
Definition: UT_Vector4.h:497
GLuint GLfloat * val
Definition: glcorearb.h:1608
virtual UT_StringHolder baseGetSignature() const
Definition: OP_NodeParms.h:294
Vec3< typename MatType::value_type > getScale(const MatType &mat)
Return a Vec3 representing the lengths of the passed matrix's upper 3×3's rows.
Definition: Mat.h:633
#define SOP_API
Definition: SOP_API.h:10
static void saveData(std::ostream &os, int64 v)
static void saveData(std::ostream &os, PRM_DataItemHandle s)
fpreal getCookTime() const
Definition: SOP_NodeVerb.h:372
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
const char * findChar(int c) const
Definition: UT_String.h:1401
#define UT_ASSERT(ZZ)
Definition: UT_Assert.h:156
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
GLboolean r
Definition: glcorearb.h:1222
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
constexpr SYS_FORCE_INLINE T & y() noexcept
Definition: UT_Vector3.h:665
static void saveData(std::ostream &os, UT_Matrix2D v)
virtual bool isDirect() const =0
Direct proxies mirror actual nodes:
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
fpreal64 opScale(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & y() noexcept
Definition: UT_Vector2.h:425
SYS_FORCE_INLINE bool isstring() const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
void setFilter(const UT_StringHolder &val)
GLenum src
Definition: glcorearb.h:1793
constexpr SYS_FORCE_INLINE T & x() noexcept
Definition: UT_Vector3.h:663