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 <SOP/SOP_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  return true;
151  }
152  bool operator!=(const SOP_EndsParms &src) const
153  {
154  return !operator==(src);
155  }
160 
161 
162 
163  void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
164  {
165  myGroup = ""_UTsh;
166  if (true)
167  graph->evalOpParm(myGroup, nodeidx, "group", time, 0);
168  myCloseu = 0;
169  if (true)
170  graph->evalOpParm(myCloseu, nodeidx, "closeu", time, 0);
171  myClosev = 0;
172  if (true)
173  graph->evalOpParm(myClosev, nodeidx, "closev", time, 0);
174  myClampu = 0;
175  if (true)
176  graph->evalOpParm(myClampu, nodeidx, "clampu", time, 0);
177  myClampv = 0;
178  if (true)
179  graph->evalOpParm(myClampv, nodeidx, "clampv", time, 0);
180  myPshapeu = false;
181  if (true && ( (true&&!(((int64(getCloseu())==0)&&(int64(getClampu())==0)))) ) )
182  graph->evalOpParm(myPshapeu, nodeidx, "pshapeu", time, 0);
183  myPshapev = false;
184  if (true && ( (true&&!(((int64(getClosev())==0)&&(int64(getClampv())==0)))) ) )
185  graph->evalOpParm(myPshapev, nodeidx, "pshapev", time, 0);
186 
187  }
188 
189 
190  void loadFromOpSubclass(const LoadParms &loadparms) override
191  {
192  buildFromOp(loadparms.graph(), loadparms.nodeIdx(), loadparms.context().getTime(), loadparms.depnode());
193  }
194 
195 
196  void copyFrom(const OP_NodeParms *src) override
197  {
198  *this = *((const SOP_EndsParms *)src);
199  }
200 
201  template <typename T>
202  void
203  doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
204  {
205  if (idx.size() < 1)
206  return;
207  UT_ASSERT(idx.size() == instance.size()+1);
208  if (idx.size() != instance.size()+1)
209  return;
210  switch (idx[0])
211  {
212  case 0:
213  coerceValue(value, myGroup);
214  break;
215  case 1:
216  coerceValue(value, myCloseu);
217  break;
218  case 2:
219  coerceValue(value, myClosev);
220  break;
221  case 3:
222  coerceValue(value, myClampu);
223  break;
224  case 4:
225  coerceValue(value, myClampv);
226  break;
227  case 5:
228  coerceValue(value, myPshapeu);
229  break;
230  case 6:
231  coerceValue(value, myPshapev);
232  break;
233 
234  }
235  }
236 
237  bool isParmColorRamp(exint idx) const override
238  {
239  switch (idx)
240  {
241 
242  }
243  return false;
244  }
245 
246  void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
247  { doGetParmValue(idx, instance, value); }
248  void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
249  { doGetParmValue(idx, instance, value); }
250  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
251  { doGetParmValue(idx, instance, value); }
252  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
253  { doGetParmValue(idx, instance, value); }
254  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
255  { doGetParmValue(idx, instance, value); }
256  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
257  { doGetParmValue(idx, instance, value); }
258  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
259  { doGetParmValue(idx, instance, value); }
260  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
261  { doGetParmValue(idx, instance, value); }
262  void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
263  { doGetParmValue(idx, instance, value); }
264  void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr<UT_Ramp> &value) const override
265  { doGetParmValue(idx, instance, value); }
266  void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
267  { doGetParmValue(idx, instance, value); }
268 
269  template <typename T>
270  void
271  doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
272  {
273  if (idx.size() < 1)
274  return;
275  UT_ASSERT(idx.size() == instance.size()+1);
276  if (idx.size() != instance.size()+1)
277  return;
278  switch (idx[0])
279  {
280  case 0:
281  coerceValue(myGroup, ( ( value ) ));
282  break;
283  case 1:
284  coerceValue(myCloseu, clampMinValue(0, clampMaxValue(5, value ) ));
285  break;
286  case 2:
287  coerceValue(myClosev, clampMinValue(0, clampMaxValue(5, value ) ));
288  break;
289  case 3:
290  coerceValue(myClampu, clampMinValue(0, clampMaxValue(2, value ) ));
291  break;
292  case 4:
293  coerceValue(myClampv, clampMinValue(0, clampMaxValue(2, value ) ));
294  break;
295  case 5:
296  coerceValue(myPshapeu, ( ( value ) ));
297  break;
298  case 6:
299  coerceValue(myPshapev, ( ( value ) ));
300  break;
301 
302  }
303  }
304 
305  void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
306  { doSetParmValue(idx, instance, value); }
307  void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
308  { doSetParmValue(idx, instance, value); }
309  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
310  { doSetParmValue(idx, instance, value); }
311  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
312  { doSetParmValue(idx, instance, value); }
313  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
314  { doSetParmValue(idx, instance, value); }
315  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
316  { doSetParmValue(idx, instance, value); }
317  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
318  { doSetParmValue(idx, instance, value); }
319  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
320  { doSetParmValue(idx, instance, value); }
321  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
322  { doSetParmValue(idx, instance, value); }
323  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr<UT_Ramp> &value) override
324  { doSetParmValue(idx, instance, value); }
325  void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
326  { doSetParmValue(idx, instance, value); }
327 
328  exint getNestNumParms(TempIndex idx) const override
329  {
330  if (idx.size() == 0)
331  return 7;
332  switch (idx[0])
333  {
334 
335  }
336  // Invalid
337  return 0;
338  }
339 
340  const char *getNestParmName(TempIndex fieldnum) const override
341  {
342  if (fieldnum.size() < 1)
343  return 0;
344  switch (fieldnum[0])
345  {
346  case 0:
347  return "group";
348  case 1:
349  return "closeu";
350  case 2:
351  return "closev";
352  case 3:
353  return "clampu";
354  case 4:
355  return "clampv";
356  case 5:
357  return "pshapeu";
358  case 6:
359  return "pshapev";
360 
361  }
362  return 0;
363  }
364 
365  ParmType getNestParmType(TempIndex fieldnum) const override
366  {
367  if (fieldnum.size() < 1)
368  return PARM_UNSUPPORTED;
369  switch (fieldnum[0])
370  {
371  case 0:
372  return PARM_STRING;
373  case 1:
374  return PARM_INTEGER;
375  case 2:
376  return PARM_INTEGER;
377  case 3:
378  return PARM_INTEGER;
379  case 4:
380  return PARM_INTEGER;
381  case 5:
382  return PARM_INTEGER;
383  case 6:
384  return PARM_INTEGER;
385 
386  }
387  return PARM_UNSUPPORTED;
388  }
389 
390  // Boiler plate to load individual types.
391  static void loadData(UT_IStream &is, int64 &v)
392  { is.bread(&v, 1); }
393  static void loadData(UT_IStream &is, bool &v)
394  { int64 iv; is.bread(&iv, 1); v = iv; }
395  static void loadData(UT_IStream &is, fpreal64 &v)
396  { is.bread<fpreal64>(&v, 1); }
397  static void loadData(UT_IStream &is, UT_Vector2D &v)
398  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
399  static void loadData(UT_IStream &is, UT_Vector3D &v)
400  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
401  is.bread<fpreal64>(&v.z(), 1); }
402  static void loadData(UT_IStream &is, UT_Vector4D &v)
403  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
404  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
405  static void loadData(UT_IStream &is, UT_Matrix2D &v)
406  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
407  static void loadData(UT_IStream &is, UT_Matrix3D &v)
408  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
409  static void loadData(UT_IStream &is, UT_Matrix4D &v)
410  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
411  static void loadData(UT_IStream &is, UT_Vector2I &v)
412  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
413  static void loadData(UT_IStream &is, UT_Vector3I &v)
414  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
415  is.bread<int64>(&v.z(), 1); }
416  static void loadData(UT_IStream &is, UT_Vector4I &v)
417  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
418  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
420  { is.bread(v); }
422  { UT_StringHolder rampdata;
423  loadData(is, rampdata);
424  if (rampdata.isstring())
425  {
426  v.reset(new UT_Ramp());
427  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
428  v->load(istr);
429  }
430  else v.reset();
431  }
434  loadData(is, data);
435  if (data.isstring())
436  {
437  // Find the data type.
438  const char *colon = UT_StringWrap(data).findChar(':');
439  if (colon)
440  {
441  int typelen = colon - data.buffer();
443  type.strncpy(data.buffer(), typelen);
444  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
445 
446  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
447  }
448  }
449  else v.reset();
450  }
451 
452  static void saveData(std::ostream &os, int64 v)
453  { UTwrite(os, &v); }
454  static void saveData(std::ostream &os, bool v)
455  { int64 iv = v; UTwrite(os, &iv); }
456  static void saveData(std::ostream &os, fpreal64 v)
457  { UTwrite<fpreal64>(os, &v); }
458  static void saveData(std::ostream &os, UT_Vector2D v)
459  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
460  static void saveData(std::ostream &os, UT_Vector3D v)
461  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
462  UTwrite<fpreal64>(os, &v.z()); }
463  static void saveData(std::ostream &os, UT_Vector4D v)
464  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
465  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
466  static void saveData(std::ostream &os, UT_Matrix2D v)
468  static void saveData(std::ostream &os, UT_Matrix3D v)
470  static void saveData(std::ostream &os, UT_Matrix4D v)
472  static void saveData(std::ostream &os, UT_StringHolder s)
473  { UT_StringWrap(s).saveBinary(os); }
474  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
476  UT_OStringStream ostr;
477  if (s) s->save(ostr);
478  result = ostr.str();
479  saveData(os, result);
480  }
481  static void saveData(std::ostream &os, PRM_DataItemHandle s)
483  UT_OStringStream ostr;
484  if (s)
485  {
486  ostr << s->getDataTypeToken();
487  ostr << ":";
488  s->saveBinary(ostr);
489  }
490  result = ostr.str();
491  saveData(os, result);
492  }
493 
494 
495  void save(std::ostream &os) const
496  {
497  int32 v = version();
498  UTwrite(os, &v);
499  saveData(os, myGroup);
500  saveData(os, myCloseu);
501  saveData(os, myClosev);
502  saveData(os, myClampu);
503  saveData(os, myClampv);
504  saveData(os, myPshapeu);
505  saveData(os, myPshapev);
506 
507  }
508 
509  bool load(UT_IStream &is)
510  {
511  int32 v;
512  is.bread(&v, 1);
513  if (version() != v)
514  {
515  // Fail incompatible versions
516  return false;
517  }
518  loadData(is, myGroup);
519  loadData(is, myCloseu);
520  loadData(is, myClosev);
521  loadData(is, myClampu);
522  loadData(is, myClampv);
523  loadData(is, myPshapeu);
524  loadData(is, myPshapev);
525 
526  return true;
527  }
528 
529  const UT_StringHolder & getGroup() const { return myGroup; }
530  void setGroup(const UT_StringHolder & val) { myGroup = val; }
532  {
533  SOP_Node *thissop = cookparms.getNode();
534  if (!thissop) return getGroup();
536  OP_Utils::evalOpParm(result, thissop, "group", cookparms.getCookTime(), 0);
537  return result;
538  }
539  Closeu getCloseu() const { return Closeu(myCloseu); }
540  void setCloseu(Closeu val) { myCloseu = int64(val); }
541  Closeu opCloseu(const SOP_NodeVerb::CookParms &cookparms) const
542  {
543  SOP_Node *thissop = cookparms.getNode();
544  if (!thissop) return getCloseu();
545  int64 result;
546  OP_Utils::evalOpParm(result, thissop, "closeu", cookparms.getCookTime(), 0);
547  return Closeu(result);
548  }
549  Closev getClosev() const { return Closev(myClosev); }
550  void setClosev(Closev val) { myClosev = int64(val); }
551  Closev opClosev(const SOP_NodeVerb::CookParms &cookparms) const
552  {
553  SOP_Node *thissop = cookparms.getNode();
554  if (!thissop) return getClosev();
555  int64 result;
556  OP_Utils::evalOpParm(result, thissop, "closev", cookparms.getCookTime(), 0);
557  return Closev(result);
558  }
559  Clampu getClampu() const { return Clampu(myClampu); }
560  void setClampu(Clampu val) { myClampu = int64(val); }
561  Clampu opClampu(const SOP_NodeVerb::CookParms &cookparms) const
562  {
563  SOP_Node *thissop = cookparms.getNode();
564  if (!thissop) return getClampu();
565  int64 result;
566  OP_Utils::evalOpParm(result, thissop, "clampu", cookparms.getCookTime(), 0);
567  return Clampu(result);
568  }
569  Clampv getClampv() const { return Clampv(myClampv); }
570  void setClampv(Clampv val) { myClampv = int64(val); }
571  Clampv opClampv(const SOP_NodeVerb::CookParms &cookparms) const
572  {
573  SOP_Node *thissop = cookparms.getNode();
574  if (!thissop) return getClampv();
575  int64 result;
576  OP_Utils::evalOpParm(result, thissop, "clampv", cookparms.getCookTime(), 0);
577  return Clampv(result);
578  }
579  bool getPshapeu() const { return myPshapeu; }
580  void setPshapeu(bool val) { myPshapeu = val; }
581  bool opPshapeu(const SOP_NodeVerb::CookParms &cookparms) const
582  {
583  SOP_Node *thissop = cookparms.getNode();
584  if (!thissop) return getPshapeu();
585  bool result;
586  OP_Utils::evalOpParm(result, thissop, "pshapeu", cookparms.getCookTime(), 0);
587  return result;
588  }
589  bool getPshapev() const { return myPshapev; }
590  void setPshapev(bool val) { myPshapev = val; }
591  bool opPshapev(const SOP_NodeVerb::CookParms &cookparms) const
592  {
593  SOP_Node *thissop = cookparms.getNode();
594  if (!thissop) return getPshapev();
595  bool result;
596  OP_Utils::evalOpParm(result, thissop, "pshapev", cookparms.getCookTime(), 0);
597  return result;
598  }
599 
600 private:
601  UT_StringHolder myGroup;
602  int64 myCloseu;
603  int64 myClosev;
604  int64 myClampu;
605  int64 myClampv;
606  bool myPshapeu;
607  bool myPshapev;
608 
609 };
bool getPshapeu() const
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:62
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
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:613
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
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:296
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:277
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:92
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
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:361
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:1395
#define UT_ASSERT(ZZ)
Definition: UT_Assert.h:156
Definition: core.h:1131
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
type
Definition: core.h:1059
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_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
Definition: PRM_Parm.h:97
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)