HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SOP_GroupCopy.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 <SOP/SOP_GraphProxy.h>
8 
9 #include <OP/OP_Utils.h>
10 #include <PRM/PRM_Parm.h>
11 #include <UT/UT_IStream.h>
12 #include <UT/UT_NTStreamUtil.h>
13 #include <UT/UT_Ramp.h>
14 #include <UT/UT_SharedPtr.h>
15 #include <UT/UT_StringHolder.h>
16 #include <UT/UT_StringStream.h>
17 #include <UT/UT_VectorTypes.h>
18 #include <SYS/SYS_Types.h>
19 
20 using namespace UT::Literal;
21 
22 class DEP_MicroNode;
23 
25 {
26 public:
27  static int version() { return 1; }
28 
30  {
31  myPrimitives = true;
32  myPrimgroups = ""_sh;
33  myPrimnameprefix = ""_sh;
34  myPoints = true;
35  myPointgroups = ""_sh;
36  myPointnameprefix = ""_sh;
37  myEdges = true;
38  myEdgegroups = ""_sh;
39  myEdgenameprefix = ""_sh;
40  myGroupnameconflict = "skipgroup"_sh;
41  myCopyemptygroups = true;
42 
43  }
44 
45  explicit SOP_GroupCopyParms(const SOP_GroupCopyParms &) = default;
46 
47  ~SOP_GroupCopyParms() override {}
48 
49  bool operator==(const SOP_GroupCopyParms &src) const
50  {
51  if (myPrimitives != src.myPrimitives) return false;
52  if (myPrimgroups != src.myPrimgroups) return false;
53  if (myPrimnameprefix != src.myPrimnameprefix) return false;
54  if (myPoints != src.myPoints) return false;
55  if (myPointgroups != src.myPointgroups) return false;
56  if (myPointnameprefix != src.myPointnameprefix) return false;
57  if (myEdges != src.myEdges) return false;
58  if (myEdgegroups != src.myEdgegroups) return false;
59  if (myEdgenameprefix != src.myEdgenameprefix) return false;
60  if (myGroupnameconflict != src.myGroupnameconflict) return false;
61  if (myCopyemptygroups != src.myCopyemptygroups) return false;
62 
63  return true;
64  }
65  bool operator!=(const SOP_GroupCopyParms &src) const
66  {
67  return !operator==(src);
68  }
69 
70 
71 
72  void buildFromOp(const SOP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
73  {
74  myPrimitives = true;
75  if (true)
76  graph->evalOpParm(myPrimitives, nodeidx, "primitives", time, 0);
77  myPrimgroups = ""_sh;
78  if (true && ( (!(((getPrimitives()==0)))) ) )
79  graph->evalOpParm(myPrimgroups, nodeidx, "primgroups", time, 0);
80  myPrimnameprefix = ""_sh;
81  if (true && ( (!(((getPrimitives()==0)))) ) )
82  graph->evalOpParm(myPrimnameprefix, nodeidx, "primnameprefix", time, 0);
83  myPoints = true;
84  if (true)
85  graph->evalOpParm(myPoints, nodeidx, "points", time, 0);
86  myPointgroups = ""_sh;
87  if (true && ( (!(((getPoints()==0)))) ) )
88  graph->evalOpParm(myPointgroups, nodeidx, "pointgroups", time, 0);
89  myPointnameprefix = ""_sh;
90  if (true && ( (!(((getPoints()==0)))) ) )
91  graph->evalOpParm(myPointnameprefix, nodeidx, "pointnameprefix", time, 0);
92  myEdges = true;
93  if (true)
94  graph->evalOpParm(myEdges, nodeidx, "edges", time, 0);
95  myEdgegroups = ""_sh;
96  if (true && ( (!(((getEdges()==0)))) ) )
97  graph->evalOpParm(myEdgegroups, nodeidx, "edgegroups", time, 0);
98  myEdgenameprefix = ""_sh;
99  if (true && ( (!(((getEdges()==0)))) ) )
100  graph->evalOpParm(myEdgenameprefix, nodeidx, "edgenameprefix", time, 0);
101  myGroupnameconflict = "skipgroup"_sh;
102  if (true)
103  graph->evalOpParm(myGroupnameconflict, nodeidx, "groupnameconflict", time, 0);
104  myCopyemptygroups = true;
105  if (true)
106  graph->evalOpParm(myCopyemptygroups, nodeidx, "copyemptygroups", time, 0);
107 
108  }
109 
110 
111  void loadFromOpSubclass(const LoadParms &loadparms) override
112  {
113  buildFromOp(loadparms.graph(), loadparms.nodeIdx(), loadparms.context().getTime(), loadparms.depnode());
114  }
115 
116 
117  void copyFrom(const SOP_NodeParms *src) override
118  {
119  *this = *((const SOP_GroupCopyParms *)src);
120  }
121 
122  template <typename T>
123  void
124  doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
125  {
126  if (idx.size() < 1)
127  return;
128  UT_ASSERT(idx.size() == instance.size()+1);
129  if (idx.size() != instance.size()+1)
130  return;
131  switch (idx[0])
132  {
133  case 0:
134  coerceValue(value, myPrimitives);
135  break;
136  case 1:
137  coerceValue(value, myPrimgroups);
138  break;
139  case 2:
140  coerceValue(value, myPrimnameprefix);
141  break;
142  case 3:
143  coerceValue(value, myPoints);
144  break;
145  case 4:
146  coerceValue(value, myPointgroups);
147  break;
148  case 5:
149  coerceValue(value, myPointnameprefix);
150  break;
151  case 6:
152  coerceValue(value, myEdges);
153  break;
154  case 7:
155  coerceValue(value, myEdgegroups);
156  break;
157  case 8:
158  coerceValue(value, myEdgenameprefix);
159  break;
160  case 9:
161  coerceValue(value, myGroupnameconflict);
162  break;
163  case 10:
164  coerceValue(value, myCopyemptygroups);
165  break;
166 
167  }
168  }
169 
170  void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
171  { doGetParmValue(idx, instance, value); }
172  void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
173  { doGetParmValue(idx, instance, value); }
174  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
175  { doGetParmValue(idx, instance, value); }
176  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
177  { doGetParmValue(idx, instance, value); }
178  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
179  { doGetParmValue(idx, instance, value); }
180  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
181  { doGetParmValue(idx, instance, value); }
182  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
183  { doGetParmValue(idx, instance, value); }
184  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
185  { doGetParmValue(idx, instance, value); }
186  void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
187  { doGetParmValue(idx, instance, value); }
188  void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr<UT_Ramp> &value) const override
189  { doGetParmValue(idx, instance, value); }
190  void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
191  { doGetParmValue(idx, instance, value); }
192 
193  template <typename T>
194  void
195  doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
196  {
197  if (idx.size() < 1)
198  return;
199  UT_ASSERT(idx.size() == instance.size()+1);
200  if (idx.size() != instance.size()+1)
201  return;
202  switch (idx[0])
203  {
204  case 0:
205  coerceValue(myPrimitives, value);
206  break;
207  case 1:
208  coerceValue(myPrimgroups, value);
209  break;
210  case 2:
211  coerceValue(myPrimnameprefix, value);
212  break;
213  case 3:
214  coerceValue(myPoints, value);
215  break;
216  case 4:
217  coerceValue(myPointgroups, value);
218  break;
219  case 5:
220  coerceValue(myPointnameprefix, value);
221  break;
222  case 6:
223  coerceValue(myEdges, value);
224  break;
225  case 7:
226  coerceValue(myEdgegroups, value);
227  break;
228  case 8:
229  coerceValue(myEdgenameprefix, value);
230  break;
231  case 9:
232  coerceValue(myGroupnameconflict, value);
233  break;
234  case 10:
235  coerceValue(myCopyemptygroups, value);
236  break;
237 
238  }
239  }
240 
241  void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
242  { doSetParmValue(idx, instance, value); }
243  void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
244  { doSetParmValue(idx, instance, value); }
245  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
246  { doSetParmValue(idx, instance, value); }
247  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
248  { doSetParmValue(idx, instance, value); }
249  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
250  { doSetParmValue(idx, instance, value); }
251  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
252  { doSetParmValue(idx, instance, value); }
253  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
254  { doSetParmValue(idx, instance, value); }
255  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
256  { doSetParmValue(idx, instance, value); }
257  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
258  { doSetParmValue(idx, instance, value); }
259  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr<UT_Ramp> &value) override
260  { doSetParmValue(idx, instance, value); }
261  void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
262  { doSetParmValue(idx, instance, value); }
263 
264  exint getNestNumParms(TempIndex idx) const override
265  {
266  if (idx.size() == 0)
267  return 11;
268  switch (idx[0])
269  {
270 
271  }
272  // Invalid
273  return 0;
274  }
275 
276  const char *getNestParmName(TempIndex fieldnum) const override
277  {
278  if (fieldnum.size() < 1)
279  return 0;
280  switch (fieldnum[0])
281  {
282  case 0:
283  return "primitives";
284  case 1:
285  return "primgroups";
286  case 2:
287  return "primnameprefix";
288  case 3:
289  return "points";
290  case 4:
291  return "pointgroups";
292  case 5:
293  return "pointnameprefix";
294  case 6:
295  return "edges";
296  case 7:
297  return "edgegroups";
298  case 8:
299  return "edgenameprefix";
300  case 9:
301  return "groupnameconflict";
302  case 10:
303  return "copyemptygroups";
304 
305  }
306  return 0;
307  }
308 
309  ParmType getNestParmType(TempIndex fieldnum) const override
310  {
311  if (fieldnum.size() < 1)
312  return PARM_UNSUPPORTED;
313  switch (fieldnum[0])
314  {
315  case 0:
316  return PARM_INTEGER;
317  case 1:
318  return PARM_STRING;
319  case 2:
320  return PARM_STRING;
321  case 3:
322  return PARM_INTEGER;
323  case 4:
324  return PARM_STRING;
325  case 5:
326  return PARM_STRING;
327  case 6:
328  return PARM_INTEGER;
329  case 7:
330  return PARM_STRING;
331  case 8:
332  return PARM_STRING;
333  case 9:
334  return PARM_STRING;
335  case 10:
336  return PARM_INTEGER;
337 
338  }
339  return PARM_UNSUPPORTED;
340  }
341 
342  // Boiler plate to load individual types.
343  static void loadData(UT_IStream &is, int64 &v)
344  { is.bread(&v, 1); }
345  static void loadData(UT_IStream &is, bool &v)
346  { int64 iv; is.bread(&iv, 1); v = iv; }
347  static void loadData(UT_IStream &is, fpreal64 &v)
348  { is.bread<fpreal64>(&v, 1); }
349  static void loadData(UT_IStream &is, UT_Vector2D &v)
350  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
351  static void loadData(UT_IStream &is, UT_Vector3D &v)
352  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
353  is.bread<fpreal64>(&v.z(), 1); }
354  static void loadData(UT_IStream &is, UT_Vector4D &v)
355  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
356  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
357  static void loadData(UT_IStream &is, UT_Matrix2D &v)
358  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
359  static void loadData(UT_IStream &is, UT_Matrix3D &v)
360  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
361  static void loadData(UT_IStream &is, UT_Matrix4D &v)
362  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
363  static void loadData(UT_IStream &is, UT_Vector2I &v)
364  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
365  static void loadData(UT_IStream &is, UT_Vector3I &v)
366  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
367  is.bread<int64>(&v.z(), 1); }
368  static void loadData(UT_IStream &is, UT_Vector4I &v)
369  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
370  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
372  { is.bread(v); }
374  { UT_StringHolder rampdata;
375  loadData(is, rampdata);
376  if (rampdata.isstring())
377  {
378  v.reset(new UT_Ramp());
379  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
380  v->load(istr);
381  }
382  else v.reset();
383  }
386  loadData(is, data);
387  if (data.isstring())
388  {
389  // Find the data type.
390  const char *colon = UT_StringWrap(data).findChar(':');
391  if (colon)
392  {
393  int typelen = colon - data.buffer();
395  type.strncpy(data.buffer(), typelen);
396  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
397 
398  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
399  }
400  }
401  else v.reset();
402  }
403 
404  static void saveData(std::ostream &os, int64 v)
405  { UTwrite(os, &v); }
406  static void saveData(std::ostream &os, bool v)
407  { int64 iv = v; UTwrite(os, &iv); }
408  static void saveData(std::ostream &os, fpreal64 v)
409  { UTwrite<fpreal64>(os, &v); }
410  static void saveData(std::ostream &os, UT_Vector2D v)
411  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
412  static void saveData(std::ostream &os, UT_Vector3D v)
413  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
414  UTwrite<fpreal64>(os, &v.z()); }
415  static void saveData(std::ostream &os, UT_Vector4D v)
416  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
417  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
418  static void saveData(std::ostream &os, UT_Matrix2D v)
420  static void saveData(std::ostream &os, UT_Matrix3D v)
422  static void saveData(std::ostream &os, UT_Matrix4D v)
424  static void saveData(std::ostream &os, UT_StringHolder s)
425  { UT_StringWrap(s).saveBinary(os); }
426  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
428  UT_OStringStream ostr;
429  if (s) s->save(ostr);
430  result = ostr.str();
431  saveData(os, result);
432  }
433  static void saveData(std::ostream &os, PRM_DataItemHandle s)
435  UT_OStringStream ostr;
436  if (s)
437  {
438  ostr << s->getDataTypeToken();
439  ostr << ":";
440  s->saveBinary(ostr);
441  }
442  result = ostr.str();
443  saveData(os, result);
444  }
445 
446 
447  void save(std::ostream &os) const
448  {
449  int32 v = version();
450  UTwrite(os, &v);
451  saveData(os, myPrimitives);
452  saveData(os, myPrimgroups);
453  saveData(os, myPrimnameprefix);
454  saveData(os, myPoints);
455  saveData(os, myPointgroups);
456  saveData(os, myPointnameprefix);
457  saveData(os, myEdges);
458  saveData(os, myEdgegroups);
459  saveData(os, myEdgenameprefix);
460  saveData(os, myGroupnameconflict);
461  saveData(os, myCopyemptygroups);
462 
463  }
464 
465  bool load(UT_IStream &is)
466  {
467  int32 v;
468  is.bread(&v, 1);
469  if (version() != v)
470  {
471  // Fail incompatible versions
472  return false;
473  }
474  loadData(is, myPrimitives);
475  loadData(is, myPrimgroups);
476  loadData(is, myPrimnameprefix);
477  loadData(is, myPoints);
478  loadData(is, myPointgroups);
479  loadData(is, myPointnameprefix);
480  loadData(is, myEdges);
481  loadData(is, myEdgegroups);
482  loadData(is, myEdgenameprefix);
483  loadData(is, myGroupnameconflict);
484  loadData(is, myCopyemptygroups);
485 
486  return true;
487  }
488 
489  bool getPrimitives() const { return myPrimitives; }
490  void setPrimitives(bool val) { myPrimitives = val; }
491  bool opPrimitives(const SOP_NodeVerb::CookParms &cookparms) const
492  {
493  SOP_Node *thissop = cookparms.getNode();
494  if (!thissop) return getPrimitives();
495  bool result;
496  OP_Utils::evalOpParm(result, thissop, "primitives", cookparms.getCookTime(), 0);
497  return result;
498  }
499  const UT_StringHolder & getPrimgroups() const { return myPrimgroups; }
500  void setPrimgroups(const UT_StringHolder & val) { myPrimgroups = val; }
502  {
503  SOP_Node *thissop = cookparms.getNode();
504  if (!thissop) return getPrimgroups();
506  OP_Utils::evalOpParm(result, thissop, "primgroups", cookparms.getCookTime(), 0);
507  return result;
508  }
509  const UT_StringHolder & getPrimnameprefix() const { return myPrimnameprefix; }
510  void setPrimnameprefix(const UT_StringHolder & val) { myPrimnameprefix = val; }
512  {
513  SOP_Node *thissop = cookparms.getNode();
514  if (!thissop) return getPrimnameprefix();
516  OP_Utils::evalOpParm(result, thissop, "primnameprefix", cookparms.getCookTime(), 0);
517  return result;
518  }
519  bool getPoints() const { return myPoints; }
520  void setPoints(bool val) { myPoints = val; }
521  bool opPoints(const SOP_NodeVerb::CookParms &cookparms) const
522  {
523  SOP_Node *thissop = cookparms.getNode();
524  if (!thissop) return getPoints();
525  bool result;
526  OP_Utils::evalOpParm(result, thissop, "points", cookparms.getCookTime(), 0);
527  return result;
528  }
529  const UT_StringHolder & getPointgroups() const { return myPointgroups; }
530  void setPointgroups(const UT_StringHolder & val) { myPointgroups = val; }
532  {
533  SOP_Node *thissop = cookparms.getNode();
534  if (!thissop) return getPointgroups();
536  OP_Utils::evalOpParm(result, thissop, "pointgroups", cookparms.getCookTime(), 0);
537  return result;
538  }
539  const UT_StringHolder & getPointnameprefix() const { return myPointnameprefix; }
540  void setPointnameprefix(const UT_StringHolder & val) { myPointnameprefix = val; }
542  {
543  SOP_Node *thissop = cookparms.getNode();
544  if (!thissop) return getPointnameprefix();
546  OP_Utils::evalOpParm(result, thissop, "pointnameprefix", cookparms.getCookTime(), 0);
547  return result;
548  }
549  bool getEdges() const { return myEdges; }
550  void setEdges(bool val) { myEdges = val; }
551  bool opEdges(const SOP_NodeVerb::CookParms &cookparms) const
552  {
553  SOP_Node *thissop = cookparms.getNode();
554  if (!thissop) return getEdges();
555  bool result;
556  OP_Utils::evalOpParm(result, thissop, "edges", cookparms.getCookTime(), 0);
557  return result;
558  }
559  const UT_StringHolder & getEdgegroups() const { return myEdgegroups; }
560  void setEdgegroups(const UT_StringHolder & val) { myEdgegroups = val; }
562  {
563  SOP_Node *thissop = cookparms.getNode();
564  if (!thissop) return getEdgegroups();
566  OP_Utils::evalOpParm(result, thissop, "edgegroups", cookparms.getCookTime(), 0);
567  return result;
568  }
569  const UT_StringHolder & getEdgenameprefix() const { return myEdgenameprefix; }
570  void setEdgenameprefix(const UT_StringHolder & val) { myEdgenameprefix = val; }
572  {
573  SOP_Node *thissop = cookparms.getNode();
574  if (!thissop) return getEdgenameprefix();
576  OP_Utils::evalOpParm(result, thissop, "edgenameprefix", cookparms.getCookTime(), 0);
577  return result;
578  }
579  const UT_StringHolder & getGroupnameconflict() const { return myGroupnameconflict; }
580  void setGroupnameconflict(const UT_StringHolder & val) { myGroupnameconflict = val; }
582  {
583  SOP_Node *thissop = cookparms.getNode();
584  if (!thissop) return getGroupnameconflict();
586  OP_Utils::evalOpParm(result, thissop, "groupnameconflict", cookparms.getCookTime(), 0);
587  return result;
588  }
589  bool getCopyemptygroups() const { return myCopyemptygroups; }
590  void setCopyemptygroups(bool val) { myCopyemptygroups = val; }
591  bool opCopyemptygroups(const SOP_NodeVerb::CookParms &cookparms) const
592  {
593  SOP_Node *thissop = cookparms.getNode();
594  if (!thissop) return getCopyemptygroups();
595  bool result;
596  OP_Utils::evalOpParm(result, thissop, "copyemptygroups", cookparms.getCookTime(), 0);
597  return result;
598  }
599 
600 private:
601  bool myPrimitives;
602  UT_StringHolder myPrimgroups;
603  UT_StringHolder myPrimnameprefix;
604  bool myPoints;
605  UT_StringHolder myPointgroups;
606  UT_StringHolder myPointnameprefix;
607  bool myEdges;
608  UT_StringHolder myEdgegroups;
609  UT_StringHolder myEdgenameprefix;
610  UT_StringHolder myGroupnameconflict;
611  bool myCopyemptygroups;
612 
613 };
GLdouble s
Definition: glew.h:1390
void setEdgegroups(const UT_StringHolder &val)
UT_StringHolder opEdgenameprefix(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const SOP_GroupCopyParms &src) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
static void saveData(std::ostream &os, UT_Vector2D v)
exint nodeIdx() const
Definition: SOP_NodeVerb.h:114
void setPoints(bool val)
static void loadData(UT_IStream &is, fpreal64 &v)
GLenum src
Definition: glew.h:2410
int int32
Definition: SYS_Types.h:39
SOP_Node * getNode() const
Definition: SOP_NodeVerb.h:640
const UT_StringHolder & getEdgenameprefix() const
static void saveData(std::ostream &os, int64 v)
const UT_StringHolder & getPrimgroups() const
static void loadData(UT_IStream &is, UT_Vector2I &v)
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
fpreal getTime() const
Definition: OP_Context.h:60
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
GLuint const GLfloat * val
Definition: glew.h:2794
void setPrimnameprefix(const UT_StringHolder &val)
const char * getNestParmName(TempIndex fieldnum) const override
int64 exint
Definition: SYS_Types.h:125
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
SYS_FORCE_INLINE const char * buffer() const
const SOP_GraphProxy * graph() const
Definition: SOP_NodeVerb.h:113
UT_StringHolder opPointnameprefix(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
static void saveData(std::ostream &os, UT_Matrix4D v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
An output stream object that owns its own string buffer storage.
static void saveData(std::ostream &os, bool v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
const UT_StringHolder & getPointnameprefix() const
const GLdouble * v
Definition: glew.h:1391
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
void setEdgenameprefix(const UT_StringHolder &val)
bool opCopyemptygroups(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
bool load(UT_IStream &is)
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
static void saveData(std::ostream &os, UT_Matrix3D v)
void buildFromOp(const SOP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
UT_StringHolder opEdgegroups(const SOP_NodeVerb::CookParms &cookparms) const
double fpreal64
Definition: SYS_Types.h:201
bool getPrimitives() const
bool getCopyemptygroups() const
bool opEdges(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Definition: Dimensions.h:137
static void saveData(std::ostream &os, UT_Vector3D v)
const UT_StringHolder & getGroupnameconflict() const
SYS_FORCE_INLINE T & y()
Definition: UT_Vector3.h:513
UT_StringHolder opPrimnameprefix(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3D &v)
static void saveData(std::ostream &os, UT_Vector4D v)
bool operator!=(const SOP_GroupCopyParms &src) const
exint length() const
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:28
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
GLint GLenum GLsizei GLint GLsizei const void * data
Definition: glew.h:1379
SYS_FORCE_INLINE T & z()
Definition: UT_Vector3.h:515
const GLfloat * c
Definition: glew.h:16296
bool opPrimitives(const SOP_NodeVerb::CookParms &cookparms) const
void copyFrom(const SOP_NodeParms *src) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
long long int64
Definition: SYS_Types.h:116
UT_StringHolder opGroupnameconflict(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
void setGroupnameconflict(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
void save(std::ostream &os) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
static void loadData(UT_IStream &is, UT_StringHolder &v)
static void saveData(std::ostream &os, UT_Matrix2D v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
void saveBinary(std::ostream &os) const
Save string to binary stream.
Definition: UT_String.h:294
void setPointnameprefix(const UT_StringHolder &val)
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
GT_API const UT_StringHolder version
DEP_MicroNode * depnode() const
Definition: SOP_NodeVerb.h:121
static void loadData(UT_IStream &is, int64 &v)
void setPrimgroups(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_Vector4D &v)
void setPointgroups(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
~SOP_GroupCopyParms() override
static void loadData(UT_IStream &is, bool &v)
static void saveData(std::ostream &os, PRM_DataItemHandle s)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
static void loadData(UT_IStream &is, UT_Vector2D &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
fpreal64 fpreal
Definition: SYS_Types.h:277
const UT_StringHolder & getEdgegroups() const
Utility class for containing a color ramp.
Definition: UT_Ramp.h:84
void setPrimitives(bool val)
GLdouble GLdouble GLdouble r
Definition: glew.h:1406
UT_StringHolder opPointgroups(const SOP_NodeVerb::CookParms &cookparms) const
#define SOP_API
Definition: SOP_API.h:10
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
SYS_FORCE_INLINE T & x()
Definition: UT_Vector3.h:511
fpreal getCookTime() const
Definition: SOP_NodeVerb.h:654
GLuint64EXT * result
Definition: glew.h:14007
const char * findChar(int c) const
Definition: UT_String.h:1367
#define UT_ASSERT(ZZ)
Definition: UT_Assert.h:135
exint getNestNumParms(TempIndex idx) const override
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
bool opPoints(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
const UT_StringHolder & getPointgroups() const
static void loadData(UT_IStream &is, UT_Vector4I &v)
void setCopyemptygroups(bool val)
void loadFromOpSubclass(const LoadParms &loadparms) override
UT_StringHolder opPrimgroups(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
static void saveData(std::ostream &os, UT_StringHolder s)
GLsizei const GLfloat * value
Definition: glew.h:1849
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
const OP_Context & context() const
Definition: SOP_NodeVerb.h:119
static void loadData(UT_IStream &is, UT_Matrix3D &v)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
Definition: PRM_Parm.h:89
static void saveData(std::ostream &os, fpreal64 v)
SYS_FORCE_INLINE bool isstring() const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
type
Definition: core.h:528
static void loadData(UT_IStream &is, UT_Vector3I &v)
const UT_StringHolder & getPrimnameprefix() const