HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SOP_Ends.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_EndsEnums
24 {
25  enum class Closeu
26  {
27  SAMECLOSURE = 0,
28  OPEN,
29  CLOSESHARP,
30  CLOSEROUND,
31  UNROLL,
33  };
34 
36  getToken(Closeu enum_value)
37  {
38  using namespace UT::Literal;
39  switch (enum_value) {
40  case Closeu::SAMECLOSURE: return "sameclosure"_sh;
41  case Closeu::OPEN: return "open"_sh;
42  case Closeu::CLOSESHARP: return "closesharp"_sh;
43  case Closeu::CLOSEROUND: return "closeround"_sh;
44  case Closeu::UNROLL: return "unroll"_sh;
45  case Closeu::UNROLLSHARED: return "unrollshared"_sh;
46  default: UT_ASSERT(false); return ""_sh;
47  }
48  }
49 
50  enum class Closev
51  {
52  SAMECLOSURE = 0,
53  OPEN,
54  CLOSESHARP,
55  CLOSEROUND,
56  UNROLL,
58  };
59 
61  getToken(Closev enum_value)
62  {
63  using namespace UT::Literal;
64  switch (enum_value) {
65  case Closev::SAMECLOSURE: return "sameclosure"_sh;
66  case Closev::OPEN: return "open"_sh;
67  case Closev::CLOSESHARP: return "closesharp"_sh;
68  case Closev::CLOSEROUND: return "closeround"_sh;
69  case Closev::UNROLL: return "unroll"_sh;
70  case Closev::UNROLLSHARED: return "unrollshared"_sh;
71  default: UT_ASSERT(false); return ""_sh;
72  }
73  }
74 
75  enum class Clampu
76  {
77  SAMECLAMP = 0,
78  CLAMP,
79  UNCLAMP
80  };
81 
83  getToken(Clampu enum_value)
84  {
85  using namespace UT::Literal;
86  switch (enum_value) {
87  case Clampu::SAMECLAMP: return "sameclamp"_sh;
88  case Clampu::CLAMP: return "clamp"_sh;
89  case Clampu::UNCLAMP: return "unclamp"_sh;
90  default: UT_ASSERT(false); return ""_sh;
91  }
92  }
93 
94  enum class Clampv
95  {
96  SAMECLAMP = 0,
97  CLAMP,
98  UNCLAMP
99  };
100 
102  getToken(Clampv enum_value)
103  {
104  using namespace UT::Literal;
105  switch (enum_value) {
106  case Clampv::SAMECLAMP: return "sameclamp"_sh;
107  case Clampv::CLAMP: return "clamp"_sh;
108  case Clampv::UNCLAMP: return "unclamp"_sh;
109  default: UT_ASSERT(false); return ""_sh;
110  }
111  }
112 
113 }
114 
115 
117 {
118 public:
119  static int version() { return 1; }
120 
122  {
123  myGroup = ""_UTsh;
124  myCloseu = 0;
125  myClosev = 0;
126  myClampu = 0;
127  myClampv = 0;
128  myPshapeu = false;
129  myPshapev = false;
130 
131  }
132 
133  explicit SOP_EndsParms(const SOP_EndsParms &) = default;
134  SOP_EndsParms &operator=(const SOP_EndsParms &) = default;
135  SOP_EndsParms(SOP_EndsParms &&) noexcept = default;
136  SOP_EndsParms &operator=(SOP_EndsParms &&) noexcept = default;
137 
138  ~SOP_EndsParms() override {}
139 
140  bool operator==(const SOP_EndsParms &src) const
141  {
142  if (myGroup != src.myGroup) return false;
143  if (myCloseu != src.myCloseu) return false;
144  if (myClosev != src.myClosev) return false;
145  if (myClampu != src.myClampu) return false;
146  if (myClampv != src.myClampv) return false;
147  if (myPshapeu != src.myPshapeu) return false;
148  if (myPshapev != src.myPshapev) return false;
149 
150 
151  if (baseGetSignature() != src.baseGetSignature()) return false;
152 
153  return true;
154  }
155  bool operator!=(const SOP_EndsParms &src) const
156  {
157  return !operator==(src);
158  }
163 
164 
165 
166  void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
167  {
168  myGroup = ""_UTsh;
169  if (true)
170  graph->evalOpParm(myGroup, nodeidx, "group", time, graph->isDirect()?nullptr:depnode);
171  myCloseu = 0;
172  if (true)
173  graph->evalOpParm(myCloseu, nodeidx, "closeu", time, graph->isDirect()?nullptr:depnode);
174  myClosev = 0;
175  if (true)
176  graph->evalOpParm(myClosev, nodeidx, "closev", time, graph->isDirect()?nullptr:depnode);
177  myClampu = 0;
178  if (true)
179  graph->evalOpParm(myClampu, nodeidx, "clampu", time, graph->isDirect()?nullptr:depnode);
180  myClampv = 0;
181  if (true)
182  graph->evalOpParm(myClampv, nodeidx, "clampv", time, graph->isDirect()?nullptr:depnode);
183  myPshapeu = false;
184  if (true && ( (true&&!(((int64(getCloseu())==0)&&(int64(getClampu())==0)))) ) )
185  graph->evalOpParm(myPshapeu, nodeidx, "pshapeu", time, graph->isDirect()?nullptr:depnode);
186  myPshapev = false;
187  if (true && ( (true&&!(((int64(getClosev())==0)&&(int64(getClampv())==0)))) ) )
188  graph->evalOpParm(myPshapev, nodeidx, "pshapev", time, graph->isDirect()?nullptr:depnode);
189 
190  }
191 
192 
193  void loadFromOpSubclass(const LoadParms &loadparms) override
194  {
195  buildFromOp(loadparms.graph(), loadparms.nodeIdx(), loadparms.context().getTime(), loadparms.depnode());
196  }
197 
198 
199  void copyFrom(const OP_NodeParms *src) override
200  {
201  *this = *((const SOP_EndsParms *)src);
202  }
203 
204  template <typename T>
205  void
206  doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
207  {
208  if (idx.size() < 1)
209  return;
210  UT_ASSERT(idx.size() == instance.size()+1);
211  if (idx.size() != instance.size()+1)
212  return;
213  switch (idx[0])
214  {
215  case 0:
216  coerceValue(value, myGroup);
217  break;
218  case 1:
219  coerceValue(value, myCloseu);
220  break;
221  case 2:
222  coerceValue(value, myClosev);
223  break;
224  case 3:
225  coerceValue(value, myClampu);
226  break;
227  case 4:
228  coerceValue(value, myClampv);
229  break;
230  case 5:
231  coerceValue(value, myPshapeu);
232  break;
233  case 6:
234  coerceValue(value, myPshapev);
235  break;
236 
237  }
238  }
239 
240  bool isParmColorRamp(exint idx) const override
241  {
242  switch (idx)
243  {
244 
245  }
246  return false;
247  }
248 
249  void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
250  { doGetParmValue(idx, instance, value); }
251  void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
252  { doGetParmValue(idx, instance, value); }
253  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
254  { doGetParmValue(idx, instance, value); }
255  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
256  { doGetParmValue(idx, instance, value); }
257  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
258  { doGetParmValue(idx, instance, value); }
259  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
260  { doGetParmValue(idx, instance, value); }
261  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
262  { doGetParmValue(idx, instance, value); }
263  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
264  { doGetParmValue(idx, instance, value); }
265  void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
266  { doGetParmValue(idx, instance, value); }
267  void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr<UT_Ramp> &value) const override
268  { doGetParmValue(idx, instance, value); }
269  void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
270  { doGetParmValue(idx, instance, value); }
271 
272  template <typename T>
273  void
274  doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
275  {
276  if (idx.size() < 1)
277  return;
278  UT_ASSERT(idx.size() == instance.size()+1);
279  if (idx.size() != instance.size()+1)
280  return;
281  switch (idx[0])
282  {
283  case 0:
284  coerceValue(myGroup, ( ( value ) ));
285  break;
286  case 1:
287  coerceValue(myCloseu, clampMinValue(0, clampMaxValue(5, value ) ));
288  break;
289  case 2:
290  coerceValue(myClosev, clampMinValue(0, clampMaxValue(5, value ) ));
291  break;
292  case 3:
293  coerceValue(myClampu, clampMinValue(0, clampMaxValue(2, value ) ));
294  break;
295  case 4:
296  coerceValue(myClampv, clampMinValue(0, clampMaxValue(2, value ) ));
297  break;
298  case 5:
299  coerceValue(myPshapeu, ( ( value ) ));
300  break;
301  case 6:
302  coerceValue(myPshapev, ( ( value ) ));
303  break;
304 
305  }
306  }
307 
308  void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
309  { doSetParmValue(idx, instance, value); }
310  void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
311  { doSetParmValue(idx, instance, value); }
312  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
313  { doSetParmValue(idx, instance, value); }
314  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
315  { doSetParmValue(idx, instance, value); }
316  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
317  { doSetParmValue(idx, instance, value); }
318  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
319  { doSetParmValue(idx, instance, value); }
320  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
321  { doSetParmValue(idx, instance, value); }
322  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
323  { doSetParmValue(idx, instance, value); }
324  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
325  { doSetParmValue(idx, instance, value); }
326  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr<UT_Ramp> &value) override
327  { doSetParmValue(idx, instance, value); }
328  void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
329  { doSetParmValue(idx, instance, value); }
330 
331  exint getNestNumParms(TempIndex idx) const override
332  {
333  if (idx.size() == 0)
334  return 7;
335  switch (idx[0])
336  {
337 
338  }
339  // Invalid
340  return 0;
341  }
342 
343  const char *getNestParmName(TempIndex fieldnum) const override
344  {
345  if (fieldnum.size() < 1)
346  return 0;
347  switch (fieldnum[0])
348  {
349  case 0:
350  return "group";
351  case 1:
352  return "closeu";
353  case 2:
354  return "closev";
355  case 3:
356  return "clampu";
357  case 4:
358  return "clampv";
359  case 5:
360  return "pshapeu";
361  case 6:
362  return "pshapev";
363 
364  }
365  return 0;
366  }
367 
368  ParmType getNestParmType(TempIndex fieldnum) const override
369  {
370  if (fieldnum.size() < 1)
371  return PARM_UNSUPPORTED;
372  switch (fieldnum[0])
373  {
374  case 0:
375  return PARM_STRING;
376  case 1:
377  return PARM_INTEGER;
378  case 2:
379  return PARM_INTEGER;
380  case 3:
381  return PARM_INTEGER;
382  case 4:
383  return PARM_INTEGER;
384  case 5:
385  return PARM_INTEGER;
386  case 6:
387  return PARM_INTEGER;
388 
389  }
390  return PARM_UNSUPPORTED;
391  }
392 
393  // Boiler plate to load individual types.
394  static void loadData(UT_IStream &is, int64 &v)
395  { is.bread(&v, 1); }
396  static void loadData(UT_IStream &is, bool &v)
397  { int64 iv; is.bread(&iv, 1); v = iv; }
398  static void loadData(UT_IStream &is, fpreal64 &v)
399  { is.bread<fpreal64>(&v, 1); }
400  static void loadData(UT_IStream &is, UT_Vector2D &v)
401  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
402  static void loadData(UT_IStream &is, UT_Vector3D &v)
403  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
404  is.bread<fpreal64>(&v.z(), 1); }
405  static void loadData(UT_IStream &is, UT_Vector4D &v)
406  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
407  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
408  static void loadData(UT_IStream &is, UT_Matrix2D &v)
409  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
410  static void loadData(UT_IStream &is, UT_Matrix3D &v)
411  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
412  static void loadData(UT_IStream &is, UT_Matrix4D &v)
413  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
414  static void loadData(UT_IStream &is, UT_Vector2I &v)
415  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
416  static void loadData(UT_IStream &is, UT_Vector3I &v)
417  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
418  is.bread<int64>(&v.z(), 1); }
419  static void loadData(UT_IStream &is, UT_Vector4I &v)
420  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
421  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
423  { is.bread(v); }
425  { UT_StringHolder rampdata;
426  loadData(is, rampdata);
427  if (rampdata.isstring())
428  {
429  v.reset(new UT_Ramp());
430  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
431  v->load(istr);
432  }
433  else v.reset();
434  }
437  loadData(is, data);
438  if (data.isstring())
439  {
440  // Find the data type.
441  const char *colon = UT_StringWrap(data).findChar(':');
442  if (colon)
443  {
444  int typelen = colon - data.buffer();
446  type.strncpy(data.buffer(), typelen);
447  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
448 
449  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
450  }
451  }
452  else v.reset();
453  }
454 
455  static void saveData(std::ostream &os, int64 v)
456  { UTwrite(os, &v); }
457  static void saveData(std::ostream &os, bool v)
458  { int64 iv = v; UTwrite(os, &iv); }
459  static void saveData(std::ostream &os, fpreal64 v)
460  { UTwrite<fpreal64>(os, &v); }
461  static void saveData(std::ostream &os, UT_Vector2D v)
462  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
463  static void saveData(std::ostream &os, UT_Vector3D v)
464  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
465  UTwrite<fpreal64>(os, &v.z()); }
466  static void saveData(std::ostream &os, UT_Vector4D v)
467  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
468  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
469  static void saveData(std::ostream &os, UT_Matrix2D v)
471  static void saveData(std::ostream &os, UT_Matrix3D v)
473  static void saveData(std::ostream &os, UT_Matrix4D v)
475  static void saveData(std::ostream &os, UT_StringHolder s)
476  { UT_StringWrap(s).saveBinary(os); }
477  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
479  UT_OStringStream ostr;
480  if (s) s->save(ostr);
481  result = ostr.str();
482  saveData(os, result);
483  }
484  static void saveData(std::ostream &os, PRM_DataItemHandle s)
486  UT_OStringStream ostr;
487  if (s)
488  {
489  ostr << s->getDataTypeToken();
490  ostr << ":";
491  s->saveBinary(ostr);
492  }
493  result = ostr.str();
494  saveData(os, result);
495  }
496 
497 
498  void save(std::ostream &os) const
499  {
500  int32 v = version();
501  UTwrite(os, &v);
502  saveData(os, myGroup);
503  saveData(os, myCloseu);
504  saveData(os, myClosev);
505  saveData(os, myClampu);
506  saveData(os, myClampv);
507  saveData(os, myPshapeu);
508  saveData(os, myPshapev);
509 
510  }
511 
512  bool load(UT_IStream &is)
513  {
514  int32 v;
515  is.bread(&v, 1);
516  if (version() != v)
517  {
518  // Fail incompatible versions
519  return false;
520  }
521  loadData(is, myGroup);
522  loadData(is, myCloseu);
523  loadData(is, myClosev);
524  loadData(is, myClampu);
525  loadData(is, myClampv);
526  loadData(is, myPshapeu);
527  loadData(is, myPshapev);
528 
529  return true;
530  }
531 
532  const UT_StringHolder & getGroup() const { return myGroup; }
533  void setGroup(const UT_StringHolder & val) { myGroup = val; }
535  {
536  SOP_Node *thissop = cookparms.getNode();
537  if (!thissop) return getGroup();
539  OP_Utils::evalOpParm(result, thissop, "group", cookparms.getCookTime(), 0);
540  return result;
541  }
542  Closeu getCloseu() const { return Closeu(myCloseu); }
543  void setCloseu(Closeu val) { myCloseu = int64(val); }
544  Closeu opCloseu(const SOP_NodeVerb::CookParms &cookparms) const
545  {
546  SOP_Node *thissop = cookparms.getNode();
547  if (!thissop) return getCloseu();
548  int64 result;
549  OP_Utils::evalOpParm(result, thissop, "closeu", cookparms.getCookTime(), 0);
550  return Closeu(result);
551  }
552  Closev getClosev() const { return Closev(myClosev); }
553  void setClosev(Closev val) { myClosev = int64(val); }
554  Closev opClosev(const SOP_NodeVerb::CookParms &cookparms) const
555  {
556  SOP_Node *thissop = cookparms.getNode();
557  if (!thissop) return getClosev();
558  int64 result;
559  OP_Utils::evalOpParm(result, thissop, "closev", cookparms.getCookTime(), 0);
560  return Closev(result);
561  }
562  Clampu getClampu() const { return Clampu(myClampu); }
563  void setClampu(Clampu val) { myClampu = int64(val); }
564  Clampu opClampu(const SOP_NodeVerb::CookParms &cookparms) const
565  {
566  SOP_Node *thissop = cookparms.getNode();
567  if (!thissop) return getClampu();
568  int64 result;
569  OP_Utils::evalOpParm(result, thissop, "clampu", cookparms.getCookTime(), 0);
570  return Clampu(result);
571  }
572  Clampv getClampv() const { return Clampv(myClampv); }
573  void setClampv(Clampv val) { myClampv = int64(val); }
574  Clampv opClampv(const SOP_NodeVerb::CookParms &cookparms) const
575  {
576  SOP_Node *thissop = cookparms.getNode();
577  if (!thissop) return getClampv();
578  int64 result;
579  OP_Utils::evalOpParm(result, thissop, "clampv", cookparms.getCookTime(), 0);
580  return Clampv(result);
581  }
582  bool getPshapeu() const { return myPshapeu; }
583  void setPshapeu(bool val) { myPshapeu = val; }
584  bool opPshapeu(const SOP_NodeVerb::CookParms &cookparms) const
585  {
586  SOP_Node *thissop = cookparms.getNode();
587  if (!thissop) return getPshapeu();
588  bool result;
589  OP_Utils::evalOpParm(result, thissop, "pshapeu", cookparms.getCookTime(), 0);
590  return result;
591  }
592  bool getPshapev() const { return myPshapev; }
593  void setPshapev(bool val) { myPshapev = val; }
594  bool opPshapev(const SOP_NodeVerb::CookParms &cookparms) const
595  {
596  SOP_Node *thissop = cookparms.getNode();
597  if (!thissop) return getPshapev();
598  bool result;
599  OP_Utils::evalOpParm(result, thissop, "pshapev", cookparms.getCookTime(), 0);
600  return result;
601  }
602 
603 private:
604  UT_StringHolder myGroup;
605  int64 myCloseu;
606  int64 myClosev;
607  int64 myClampu;
608  int64 myClampv;
609  bool myPshapeu;
610  bool myPshapev;
611 
612 };
bool getPshapeu() const
type
Definition: core.h:556
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
bool isParmColorRamp(exint idx) const override
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
void setGroup(const UT_StringHolder &val)
Closeu opCloseu(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
Clampv getClampv() const
int int32
Definition: SYS_Types.h:39
SOP_Node * getNode() const
Definition: SOP_NodeVerb.h:347
void save(std::ostream &os) const
Closev opClosev(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
void setClosev(Closev val)
const char * getNestParmName(TempIndex fieldnum) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
static void loadData(UT_IStream &is, UT_Vector3D &v)
exint bread(int32 *buffer, exint asize=1)
GLboolean * data
Definition: glcorearb.h:131
GT_API const UT_StringHolder time
static void loadData(UT_IStream &is, UT_Matrix3D &v)
constexpr SYS_FORCE_INLINE T & y() noexcept
Definition: UT_Vector4.h:493
const GLdouble * v
Definition: glcorearb.h:837
void loadFromOpSubclass(const LoadParms &loadparms) override
fpreal getTime() const
Definition: OP_Context.h:63
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
GLsizei const GLfloat * value
Definition: glcorearb.h:824
static void saveData(std::ostream &os, UT_Vector4D v)
const OP_Context & context() const
Definition: OP_NodeParms.h:97
static void saveData(std::ostream &os, PRM_DataItemHandle s)
static void loadData(UT_IStream &is, fpreal64 &v)
constexpr SYS_FORCE_INLINE T & z() noexcept
Definition: UT_Vector3.h:667
int64 exint
Definition: SYS_Types.h:125
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
SYS_FORCE_INLINE const char * buffer() const
GLdouble s
Definition: glad.h:3009
exint getNestNumParms(TempIndex idx) const override
An output stream object that owns its own string buffer storage.
void setPshapeu(bool val)
SYS_FORCE_INLINE UT_StringHolder getToken(Closeu enum_value)
static void loadData(UT_IStream &is, UT_StringHolder &v)
**But if you need a result
Definition: thread.h:622
static void saveData(std::ostream &os, UT_Matrix2D v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
exint nodeIdx() const
Definition: OP_NodeParms.h:95
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
void setCloseu(Closeu val)
Clampu getClampu() const
constexpr SYS_FORCE_INLINE T & x() noexcept
Definition: UT_Vector4.h:491
bool opPshapeu(const SOP_NodeVerb::CookParms &cookparms) const
Closev getClosev() const
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 loadData(UT_IStream &is, UT_Matrix2D &v)
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Definition: Dimensions.h:137
static void loadData(UT_IStream &is, int64 &v)
static void loadData(UT_IStream &is, UT_Vector4D &v)
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
bool load(UT_IStream &is)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
exint length() const
static void loadData(UT_IStream &is, UT_Vector2I &v)
static void saveData(std::ostream &os, int64 v)
ParmType getNestParmType(TempIndex fieldnum) const override
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
Definition: UT_SharedPtr.h:36
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
constexpr SYS_FORCE_INLINE T & z() noexcept
Definition: UT_Vector4.h:495
static void saveData(std::ostream &os, fpreal64 v)
const OP_GraphProxy * graph() const
Definition: OP_NodeParms.h:94
#define SYS_FORCE_INLINE
Definition: SYS_Inline.h:45
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
static void saveData(std::ostream &os, bool v)
long long int64
Definition: SYS_Types.h:116
static void saveData(std::ostream &os, UT_Matrix3D v)
static void loadData(UT_IStream &is, UT_Vector4I &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
static void loadData(UT_IStream &is, UT_Vector2D &v)
static void saveData(std::ostream &os, UT_Vector3D v)
bool getPshapev() const
static void saveData(std::ostream &os, UT_Matrix4D v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
void saveBinary(std::ostream &os) const
Save string to binary stream.
Definition: UT_String.h:303
GT_API const UT_StringHolder version
bool operator!=(const SOP_EndsParms &src) const
static int version()
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
void setClampu(Clampu val)
bool opPshapev(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
bool operator==(const SOP_EndsParms &src) const
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
static void loadData(UT_IStream &is, UT_Matrix4D &v)
void copyFrom(const OP_NodeParms *src) override
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 setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
void setPshapev(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
constexpr SYS_FORCE_INLINE T & w() noexcept
Definition: UT_Vector4.h:497
void setClampv(Clampv val)
GLuint GLfloat * val
Definition: glcorearb.h:1608
virtual UT_StringHolder baseGetSignature() const
Definition: OP_NodeParms.h:294
Closeu getCloseu() const
#define SOP_API
Definition: SOP_API.h:10
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
fpreal getCookTime() const
Definition: SOP_NodeVerb.h:372
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
const UT_StringHolder & getGroup() const
const char * findChar(int c) const
Definition: UT_String.h:1401
#define UT_ASSERT(ZZ)
Definition: UT_Assert.h:156
static void loadData(UT_IStream &is, bool &v)
GLboolean r
Definition: glcorearb.h:1222
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
static void loadData(UT_IStream &is, UT_Vector3I &v)
constexpr SYS_FORCE_INLINE T & y() noexcept
Definition: UT_Vector3.h:665
virtual bool isDirect() const =0
Direct proxies mirror actual nodes:
static void saveData(std::ostream &os, UT_StringHolder s)
Clampv opClampv(const SOP_NodeVerb::CookParms &cookparms) const
Clampu opClampu(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Vector2D v)
UT_StringHolder opGroup(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)
GLenum src
Definition: glcorearb.h:1793
constexpr SYS_FORCE_INLINE T & x() noexcept
Definition: UT_Vector3.h:663
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)