HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SOP_Delete.proto.h
Go to the documentation of this file.
1 /* Automagically Generated by generate_proto.py
2  * Do not Edit
3  */
4 #pragma once
5 
6 #include <SOP/SOP_NodeVerb.h>
7 #include <OP/OP_Utils.h>
8 #include <PRM/PRM_Parm.h>
9 #include <UT/UT_IStream.h>
10 #include <UT/UT_NTStreamUtil.h>
11 #include <UT/UT_Ramp.h>
12 #include <UT/UT_SharedPtr.h>
13 #include <UT/UT_StringHolder.h>
14 #include <UT/UT_StringStream.h>
15 #include <UT/UT_VectorTypes.h>
16 #include <SYS/SYS_Types.h>
17 
18 using namespace UT::Literal;
19 
20 class DEP_MicroNode;
21 namespace SOP_DeleteEnums
22 {
23  enum class Negate
24  {
25  DELE = 0,
26  KEEP
27  };
28  enum class Entity
29  {
30  PRIMITIVE = 0,
31  POINT,
32  EDGE
33  };
34  enum class Groupop
35  {
36  PATTERN = 0,
37  RANGE,
38  FILTER
39  };
40  enum class Boundtype
41  {
42  USEBBOX = 0,
44  };
45 }
46 
47 
49 {
50 public:
51  static int version() { return 1; }
52 
54  {
55  myGroup = ""_sh;
56  myNegate = 0;
57  myEntity = 0;
58  myAffectnumber = false;
59  myGroupop = 0;
60  myFilter = 1;
61  myPattern = "!*"_sh;
62  myRange = UT_Vector2I(0,0);
63  mySelect = UT_Vector2I(1,2);
64  myAffectvolume = false;
65  myBoundtype = 0;
66  mySize = UT_Vector3D(1,1,1);
67  myT = UT_Vector3D(0,0,0);
68  myAffectnormal = false;
69  myCamerapath = ""_sh;
70  myAffectdegenerate = false;
71  myDegenerate = false;
72  myZaf = false;
73  myDoopen = false;
74  myTol = 0.001;
75  myRemovegrp = false;
76  myKeeppoints = false;
77  myGeotype = 0;
78  myDir = UT_Vector3D(0,0,1);
79  myAngle = 180;
80 
81  }
82 
83  explicit SOP_DeleteParms(const SOP_DeleteParms &) = default;
84 
85  virtual ~SOP_DeleteParms() {}
86 
87  bool operator==(const SOP_DeleteParms &src) const
88  {
89  if (myGroup != src.myGroup) return false;
90  if (myNegate != src.myNegate) return false;
91  if (myEntity != src.myEntity) return false;
92  if (myAffectnumber != src.myAffectnumber) return false;
93  if (myGroupop != src.myGroupop) return false;
94  if (myFilter != src.myFilter) return false;
95  if (myPattern != src.myPattern) return false;
96  if (myRange != src.myRange) return false;
97  if (mySelect != src.mySelect) return false;
98  if (myAffectvolume != src.myAffectvolume) return false;
99  if (myBoundtype != src.myBoundtype) return false;
100  if (mySize != src.mySize) return false;
101  if (myT != src.myT) return false;
102  if (myAffectnormal != src.myAffectnormal) return false;
103  if (myCamerapath != src.myCamerapath) return false;
104  if (myAffectdegenerate != src.myAffectdegenerate) return false;
105  if (myDegenerate != src.myDegenerate) return false;
106  if (myZaf != src.myZaf) return false;
107  if (myDoopen != src.myDoopen) return false;
108  if (myTol != src.myTol) return false;
109  if (myRemovegrp != src.myRemovegrp) return false;
110  if (myKeeppoints != src.myKeeppoints) return false;
111  if (myGeotype != src.myGeotype) return false;
112  if (myDir != src.myDir) return false;
113  if (myAngle != src.myAngle) return false;
114 
115  return true;
116  }
117  bool operator!=(const SOP_DeleteParms &src) const
118  {
119  return !operator==(src);
120  }
125 
126 
127 
128  void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)
129  {
130  if (true)
131  OP_Utils::evalOpParm(myGroup, node, "group", time, 0);
132  else myGroup = ""_sh;
133  if (true)
134  OP_Utils::evalOpParm(myNegate, node, "negate", time, 0);
135  else myNegate = 0;
136  if (true)
137  OP_Utils::evalOpParm(myEntity, node, "entity", time, 0);
138  else myEntity = 0;
139  if (true)
140  OP_Utils::evalOpParm(myAffectnumber, node, "affectnumber", time, 0);
141  else myAffectnumber = false;
142  if (true && ( (!(((getAffectnumber()==0)))) ) )
143  OP_Utils::evalOpParm(myGroupop, node, "groupop", time, 0);
144  else myGroupop = 0;
145  if (true && ( (!(((getAffectnumber()==0))||((int64(getGroupop())!=2)))) ) )
146  OP_Utils::evalOpParm(myFilter, node, "filter", time, 0);
147  else myFilter = 1;
148  if (true && ( (!(((getAffectnumber()==0))||((int64(getGroupop())!=0)))) ) )
149  OP_Utils::evalOpParm(myPattern, node, "pattern", time, 0);
150  else myPattern = "!*"_sh;
151  if (true && ( (!(((getAffectnumber()==0))||((int64(getGroupop())!=1)))) ) )
152  OP_Utils::evalOpParm(myRange, node, "range", time, 0);
153  else myRange = UT_Vector2I(0,0);
154  if (true && ( (!(((getAffectnumber()==0))||((int64(getGroupop())!=1)))) ) )
155  OP_Utils::evalOpParm(mySelect, node, "select", time, 0);
156  else mySelect = UT_Vector2I(1,2);
157  if (true)
158  OP_Utils::evalOpParm(myAffectvolume, node, "affectvolume", time, 0);
159  else myAffectvolume = false;
160  if (true && ( (!(((getAffectvolume()==0)))) ) )
161  OP_Utils::evalOpParm(myBoundtype, node, "boundtype", time, 0);
162  else myBoundtype = 0;
163  if (true && ( (!(((getAffectvolume()==0)))) ) )
164  OP_Utils::evalOpParm(mySize, node, "size", time, 0);
165  else mySize = UT_Vector3D(1,1,1);
166  if (true && ( (!(((getAffectvolume()==0)))) ) )
167  OP_Utils::evalOpParm(myT, node, "t", time, 0);
168  else myT = UT_Vector3D(0,0,0);
169  if (true)
170  OP_Utils::evalOpParm(myAffectnormal, node, "affectnormal", time, 0);
171  else myAffectnormal = false;
172  if (true && ( (!(((getAffectnormal()==0)))) ) )
173  OP_Utils::evalOpParm(myCamerapath, node, "camerapath", time, 0);
174  else myCamerapath = ""_sh;
175  if (true)
176  OP_Utils::evalOpParm(myAffectdegenerate, node, "affectdegenerate", time, 0);
177  else myAffectdegenerate = false;
178  if (true && ( (!(((getAffectdegenerate()==0)))) ) )
179  OP_Utils::evalOpParm(myDegenerate, node, "degenerate", time, 0);
180  else myDegenerate = false;
181  if (true && ( (!(((getAffectdegenerate()==0))||((int64(getEntity())!=0)))) ) )
182  OP_Utils::evalOpParm(myZaf, node, "zaf", time, 0);
183  else myZaf = false;
184  if (true && ( (!(((getAffectdegenerate()==0))||((int64(getEntity())!=0))||((getZaf()==0)))) ) )
185  OP_Utils::evalOpParm(myDoopen, node, "doopen", time, 0);
186  else myDoopen = false;
187  if (true && ( (!(((getAffectdegenerate()==0))||((getZaf()==0)&&(getDegenerate()==0)))) ) )
188  OP_Utils::evalOpParm(myTol, node, "tol", time, 0);
189  else myTol = 0.001;
190  if (true)
191  OP_Utils::evalOpParm(myRemovegrp, node, "removegrp", time, 0);
192  else myRemovegrp = false;
193  if (true && ( (!(((int64(getEntity())!=0)))) ) )
194  OP_Utils::evalOpParm(myKeeppoints, node, "keeppoints", time, 0);
195  else myKeeppoints = false;
196  if (true && ( (!(((getAffectnumber()==0)&&(getAffectvolume()==0)&&(getAffectnormal()==0)&&(getAffectdegenerate()==0)))) ) )
197  OP_Utils::evalOpParm(myGeotype, node, "geotype", time, 0);
198  else myGeotype = 0;
199  if (true && ( (!(((getAffectnormal()==0))||((getCamerapath()!="")))) ) )
200  OP_Utils::evalOpParm(myDir, node, "dir", time, 0);
201  else myDir = UT_Vector3D(0,0,1);
202  if (true && ( (!(((getAffectnormal()==0))||((getCamerapath()!="")))) ) )
203  OP_Utils::evalOpParm(myAngle, node, "angle", time, 0);
204  else myAngle = 180;
205 
206  }
207 
208 
209  virtual void loadFromOpSubclass(const LoadParms &loadparms)
210  {
211  buildFromOp(loadparms.node(), loadparms.context().getTime(), loadparms.depnode());
212  }
213 
214 
215  virtual void copyFrom(const SOP_NodeParms *src)
216  {
217  *this = *((const SOP_DeleteParms *)src);
218  }
219 
220  template <typename T>
221  void
222  doGetParmValue(exint idx, T &value) const
223  {
224  switch (idx)
225  {
226  case 0:
227  coerceValue(value, myGroup);
228  break;
229  case 1:
230  coerceValue(value, myNegate);
231  break;
232  case 2:
233  coerceValue(value, myEntity);
234  break;
235  case 3:
236  coerceValue(value, myAffectnumber);
237  break;
238  case 4:
239  coerceValue(value, myGroupop);
240  break;
241  case 5:
242  coerceValue(value, myFilter);
243  break;
244  case 6:
245  coerceValue(value, myPattern);
246  break;
247  case 7:
248  coerceValue(value, myRange);
249  break;
250  case 8:
251  coerceValue(value, mySelect);
252  break;
253  case 9:
254  coerceValue(value, myAffectvolume);
255  break;
256  case 10:
257  coerceValue(value, myBoundtype);
258  break;
259  case 11:
260  coerceValue(value, mySize);
261  break;
262  case 12:
263  coerceValue(value, myT);
264  break;
265  case 13:
266  coerceValue(value, myAffectnormal);
267  break;
268  case 14:
269  coerceValue(value, myCamerapath);
270  break;
271  case 15:
272  coerceValue(value, myAffectdegenerate);
273  break;
274  case 16:
275  coerceValue(value, myDegenerate);
276  break;
277  case 17:
278  coerceValue(value, myZaf);
279  break;
280  case 18:
281  coerceValue(value, myDoopen);
282  break;
283  case 19:
284  coerceValue(value, myTol);
285  break;
286  case 20:
287  coerceValue(value, myRemovegrp);
288  break;
289  case 21:
290  coerceValue(value, myKeeppoints);
291  break;
292  case 22:
293  coerceValue(value, myGeotype);
294  break;
295  case 23:
296  coerceValue(value, myDir);
297  break;
298  case 24:
299  coerceValue(value, myAngle);
300  break;
301 
302  }
303  }
304 
305  void getParmValue(exint idx, exint &value) const
306  { doGetParmValue(idx, value); }
307  void getParmValue(exint idx, fpreal &value) const
308  { doGetParmValue(idx, value); }
310  { doGetParmValue(idx, value); }
312  { doGetParmValue(idx, value); }
314  { doGetParmValue(idx, value); }
316  { doGetParmValue(idx, value); }
318  { doGetParmValue(idx, value); }
320  { doGetParmValue(idx, value); }
322  { doGetParmValue(idx, value); }
324  { doGetParmValue(idx, value); }
326  { doGetParmValue(idx, value); }
327 
328  template <typename T>
329  void
330  doSetParmValue(exint idx, const T &value)
331  {
332  switch (idx)
333  {
334  case 0:
335  coerceValue(myGroup, value);
336  break;
337  case 1:
338  coerceValue(myNegate, value);
339  break;
340  case 2:
341  coerceValue(myEntity, value);
342  break;
343  case 3:
344  coerceValue(myAffectnumber, value);
345  break;
346  case 4:
347  coerceValue(myGroupop, value);
348  break;
349  case 5:
350  coerceValue(myFilter, value);
351  break;
352  case 6:
353  coerceValue(myPattern, value);
354  break;
355  case 7:
356  coerceValue(myRange, value);
357  break;
358  case 8:
359  coerceValue(mySelect, value);
360  break;
361  case 9:
362  coerceValue(myAffectvolume, value);
363  break;
364  case 10:
365  coerceValue(myBoundtype, value);
366  break;
367  case 11:
368  coerceValue(mySize, value);
369  break;
370  case 12:
371  coerceValue(myT, value);
372  break;
373  case 13:
374  coerceValue(myAffectnormal, value);
375  break;
376  case 14:
377  coerceValue(myCamerapath, value);
378  break;
379  case 15:
380  coerceValue(myAffectdegenerate, value);
381  break;
382  case 16:
383  coerceValue(myDegenerate, value);
384  break;
385  case 17:
386  coerceValue(myZaf, value);
387  break;
388  case 18:
389  coerceValue(myDoopen, value);
390  break;
391  case 19:
392  coerceValue(myTol, value);
393  break;
394  case 20:
395  coerceValue(myRemovegrp, value);
396  break;
397  case 21:
398  coerceValue(myKeeppoints, value);
399  break;
400  case 22:
401  coerceValue(myGeotype, value);
402  break;
403  case 23:
404  coerceValue(myDir, value);
405  break;
406  case 24:
407  coerceValue(myAngle, value);
408  break;
409 
410  }
411  }
412 
413  void setParmValue(exint idx, const exint &value)
414  { doSetParmValue(idx, value); }
415  void setParmValue(exint idx, const fpreal &value)
416  { doSetParmValue(idx, value); }
417  void setParmValue(exint idx, const UT_Vector2D &value)
418  { doSetParmValue(idx, value); }
419  void setParmValue(exint idx, const UT_Vector3D &value)
420  { doSetParmValue(idx, value); }
421  void setParmValue(exint idx, const UT_Vector4D &value)
422  { doSetParmValue(idx, value); }
423  void setParmValue(exint idx, const UT_Matrix2D &value)
424  { doSetParmValue(idx, value); }
425  void setParmValue(exint idx, const UT_Matrix3D &value)
426  { doSetParmValue(idx, value); }
427  void setParmValue(exint idx, const UT_Matrix4D &value)
428  { doSetParmValue(idx, value); }
430  { doSetParmValue(idx, value); }
432  { doSetParmValue(idx, value); }
434  { doSetParmValue(idx, value); }
435 
436  virtual exint getNumParms() const
437  {
438  return 25;
439  }
440 
441  virtual const char *getParmName(exint fieldnum) const
442  {
443  switch (fieldnum)
444  {
445  case 0:
446  return "group";
447  case 1:
448  return "negate";
449  case 2:
450  return "entity";
451  case 3:
452  return "affectnumber";
453  case 4:
454  return "groupop";
455  case 5:
456  return "filter";
457  case 6:
458  return "pattern";
459  case 7:
460  return "range";
461  case 8:
462  return "select";
463  case 9:
464  return "affectvolume";
465  case 10:
466  return "boundtype";
467  case 11:
468  return "size";
469  case 12:
470  return "t";
471  case 13:
472  return "affectnormal";
473  case 14:
474  return "camerapath";
475  case 15:
476  return "affectdegenerate";
477  case 16:
478  return "degenerate";
479  case 17:
480  return "zaf";
481  case 18:
482  return "doopen";
483  case 19:
484  return "tol";
485  case 20:
486  return "removegrp";
487  case 21:
488  return "keeppoints";
489  case 22:
490  return "geotype";
491  case 23:
492  return "dir";
493  case 24:
494  return "angle";
495 
496  }
497  return 0;
498  }
499 
500  virtual ParmType getParmType(exint fieldnum) const
501  {
502  switch (fieldnum)
503  {
504  case 0:
505  return PARM_STRING;
506  case 1:
507  return PARM_INTEGER;
508  case 2:
509  return PARM_INTEGER;
510  case 3:
511  return PARM_INTEGER;
512  case 4:
513  return PARM_INTEGER;
514  case 5:
515  return PARM_INTEGER;
516  case 6:
517  return PARM_STRING;
518  case 7:
519  return PARM_VECTOR2;
520  case 8:
521  return PARM_VECTOR2;
522  case 9:
523  return PARM_INTEGER;
524  case 10:
525  return PARM_INTEGER;
526  case 11:
527  return PARM_VECTOR3;
528  case 12:
529  return PARM_VECTOR3;
530  case 13:
531  return PARM_INTEGER;
532  case 14:
533  return PARM_STRING;
534  case 15:
535  return PARM_INTEGER;
536  case 16:
537  return PARM_INTEGER;
538  case 17:
539  return PARM_INTEGER;
540  case 18:
541  return PARM_INTEGER;
542  case 19:
543  return PARM_FLOAT;
544  case 20:
545  return PARM_INTEGER;
546  case 21:
547  return PARM_INTEGER;
548  case 22:
549  return PARM_INTEGER;
550  case 23:
551  return PARM_VECTOR3;
552  case 24:
553  return PARM_FLOAT;
554 
555  }
556  return PARM_UNSUPPORTED;
557  }
558 
559  // Boiler plate to load individual types.
560  static void loadData(UT_IStream &is, int64 &v)
561  { is.bread(&v, 1); }
562  static void loadData(UT_IStream &is, bool &v)
563  { int64 iv; is.bread(&iv, 1); v = iv; }
564  static void loadData(UT_IStream &is, fpreal64 &v)
565  { is.bread<fpreal64>(&v, 1); }
566  static void loadData(UT_IStream &is, UT_Vector2D &v)
567  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
568  static void loadData(UT_IStream &is, UT_Vector3D &v)
569  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
570  is.bread<fpreal64>(&v.z(), 1); }
571  static void loadData(UT_IStream &is, UT_Vector4D &v)
572  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
573  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
574  static void loadData(UT_IStream &is, UT_Matrix2D &v)
575  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
576  static void loadData(UT_IStream &is, UT_Matrix3D &v)
577  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
578  static void loadData(UT_IStream &is, UT_Matrix4D &v)
579  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
580  static void loadData(UT_IStream &is, UT_Vector2I &v)
581  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
582  static void loadData(UT_IStream &is, UT_Vector3I &v)
583  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
584  is.bread<int64>(&v.z(), 1); }
585  static void loadData(UT_IStream &is, UT_Vector4I &v)
586  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
587  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
589  { is.bread(v); }
591  { UT_StringHolder rampdata;
592  loadData(is, rampdata);
593  if (rampdata.isstring())
594  {
595  v.reset(new UT_Ramp());
596  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
597  v->load(istr);
598  }
599  else v.reset();
600  }
603  loadData(is, data);
604  if (data.isstring())
605  {
606  // Find the data type.
607  char *colon = UT_StringWrap(data).findChar(':');
608  if (colon)
609  {
610  int typelen = colon - data.buffer();
612  type.strncpy(data.buffer(), typelen);
613  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
614 
615  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
616  }
617  }
618  else v.reset();
619  }
620 
621  static void saveData(std::ostream &os, int64 v)
622  { UTwrite(os, &v); }
623  static void saveData(std::ostream &os, bool v)
624  { int64 iv = v; UTwrite(os, &iv); }
625  static void saveData(std::ostream &os, fpreal64 v)
626  { UTwrite<fpreal64>(os, &v); }
627  static void saveData(std::ostream &os, UT_Vector2D v)
628  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
629  static void saveData(std::ostream &os, UT_Vector3D v)
630  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
631  UTwrite<fpreal64>(os, &v.z()); }
632  static void saveData(std::ostream &os, UT_Vector4D v)
633  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
634  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
635  static void saveData(std::ostream &os, UT_Matrix2D v)
637  static void saveData(std::ostream &os, UT_Matrix3D v)
639  static void saveData(std::ostream &os, UT_Matrix4D v)
641  static void saveData(std::ostream &os, UT_StringHolder s)
642  { UT_StringWrap(s).saveBinary(os); }
643  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
644  { UT_StringHolder result;
645  UT_OStringStream ostr;
646  if (s) s->save(ostr);
647  result = ostr.str();
648  saveData(os, result);
649  }
650  static void saveData(std::ostream &os, PRM_DataItemHandle s)
651  { UT_StringHolder result;
652  UT_OStringStream ostr;
653  if (s)
654  {
655  ostr << s->getDataTypeToken();
656  ostr << ":";
657  s->saveBinary(ostr);
658  }
659  result = ostr.str();
660  saveData(os, result);
661  }
662 
663 
664  void save(std::ostream &os) const
665  {
666  int32 v = version();
667  UTwrite(os, &v);
668  saveData(os, myGroup);
669  saveData(os, myNegate);
670  saveData(os, myEntity);
671  saveData(os, myAffectnumber);
672  saveData(os, myGroupop);
673  saveData(os, myFilter);
674  saveData(os, myPattern);
675  saveData(os, myRange);
676  saveData(os, mySelect);
677  saveData(os, myAffectvolume);
678  saveData(os, myBoundtype);
679  saveData(os, mySize);
680  saveData(os, myT);
681  saveData(os, myAffectnormal);
682  saveData(os, myCamerapath);
683  saveData(os, myAffectdegenerate);
684  saveData(os, myDegenerate);
685  saveData(os, myZaf);
686  saveData(os, myDoopen);
687  saveData(os, myTol);
688  saveData(os, myRemovegrp);
689  saveData(os, myKeeppoints);
690  saveData(os, myGeotype);
691  saveData(os, myDir);
692  saveData(os, myAngle);
693 
694  }
695 
696  bool load(UT_IStream &is)
697  {
698  int32 v;
699  is.bread(&v, 1);
700  if (version() != v)
701  {
702  // Fail incompatible versions
703  return false;
704  }
705  loadData(is, myGroup);
706  loadData(is, myNegate);
707  loadData(is, myEntity);
708  loadData(is, myAffectnumber);
709  loadData(is, myGroupop);
710  loadData(is, myFilter);
711  loadData(is, myPattern);
712  loadData(is, myRange);
713  loadData(is, mySelect);
714  loadData(is, myAffectvolume);
715  loadData(is, myBoundtype);
716  loadData(is, mySize);
717  loadData(is, myT);
718  loadData(is, myAffectnormal);
719  loadData(is, myCamerapath);
720  loadData(is, myAffectdegenerate);
721  loadData(is, myDegenerate);
722  loadData(is, myZaf);
723  loadData(is, myDoopen);
724  loadData(is, myTol);
725  loadData(is, myRemovegrp);
726  loadData(is, myKeeppoints);
727  loadData(is, myGeotype);
728  loadData(is, myDir);
729  loadData(is, myAngle);
730 
731  return true;
732  }
733 
734  const UT_StringHolder & getGroup() const { return myGroup; }
735  void setGroup(const UT_StringHolder & val) { myGroup = val; }
737  {
738  SOP_Node *thissop = cookparms.getNode();
739  if (!thissop) return getGroup();
740  UT_StringHolder result;
741  OP_Utils::evalOpParm(result, thissop, "group", cookparms.getCookTime(), 0);
742  return result;
743  }
744  Negate getNegate() const { return Negate(myNegate); }
745  void setNegate(Negate val) { myNegate = int64(val); }
746  Negate opNegate(const SOP_NodeVerb::CookParms &cookparms) const
747  {
748  SOP_Node *thissop = cookparms.getNode();
749  if (!thissop) return getNegate();
750  int64 result;
751  OP_Utils::evalOpParm(result, thissop, "negate", cookparms.getCookTime(), 0);
752  return Negate(result);
753  }
754  Entity getEntity() const { return Entity(myEntity); }
755  void setEntity(Entity val) { myEntity = int64(val); }
756  Entity opEntity(const SOP_NodeVerb::CookParms &cookparms) const
757  {
758  SOP_Node *thissop = cookparms.getNode();
759  if (!thissop) return getEntity();
760  int64 result;
761  OP_Utils::evalOpParm(result, thissop, "entity", cookparms.getCookTime(), 0);
762  return Entity(result);
763  }
764  bool getAffectnumber() const { return myAffectnumber; }
765  void setAffectnumber(bool val) { myAffectnumber = val; }
766  bool opAffectnumber(const SOP_NodeVerb::CookParms &cookparms) const
767  {
768  SOP_Node *thissop = cookparms.getNode();
769  if (!thissop) return getAffectnumber();
770  bool result;
771  OP_Utils::evalOpParm(result, thissop, "affectnumber", cookparms.getCookTime(), 0);
772  return result;
773  }
774  Groupop getGroupop() const { return Groupop(myGroupop); }
775  void setGroupop(Groupop val) { myGroupop = int64(val); }
776  Groupop opGroupop(const SOP_NodeVerb::CookParms &cookparms) const
777  {
778  SOP_Node *thissop = cookparms.getNode();
779  if (!thissop) return getGroupop();
780  int64 result;
781  OP_Utils::evalOpParm(result, thissop, "groupop", cookparms.getCookTime(), 0);
782  return Groupop(result);
783  }
784  int64 getFilter() const { return myFilter; }
785  void setFilter(int64 val) { myFilter = val; }
786  int64 opFilter(const SOP_NodeVerb::CookParms &cookparms) const
787  {
788  SOP_Node *thissop = cookparms.getNode();
789  if (!thissop) return getFilter();
790  int64 result;
791  OP_Utils::evalOpParm(result, thissop, "filter", cookparms.getCookTime(), 0);
792  return result;
793  }
794  const UT_StringHolder & getPattern() const { return myPattern; }
795  void setPattern(const UT_StringHolder & val) { myPattern = val; }
797  {
798  SOP_Node *thissop = cookparms.getNode();
799  if (!thissop) return getPattern();
800  UT_StringHolder result;
801  OP_Utils::evalOpParm(result, thissop, "pattern", cookparms.getCookTime(), 0);
802  return result;
803  }
804  UT_Vector2I getRange() const { return myRange; }
805  void setRange(UT_Vector2I val) { myRange = val; }
807  {
808  SOP_Node *thissop = cookparms.getNode();
809  if (!thissop) return getRange();
810  UT_Vector2I result;
811  OP_Utils::evalOpParm(result, thissop, "range", cookparms.getCookTime(), 0);
812  return result;
813  }
814  UT_Vector2I getSelect() const { return mySelect; }
815  void setSelect(UT_Vector2I val) { mySelect = val; }
817  {
818  SOP_Node *thissop = cookparms.getNode();
819  if (!thissop) return getSelect();
820  UT_Vector2I result;
821  OP_Utils::evalOpParm(result, thissop, "select", cookparms.getCookTime(), 0);
822  return result;
823  }
824  bool getAffectvolume() const { return myAffectvolume; }
825  void setAffectvolume(bool val) { myAffectvolume = val; }
826  bool opAffectvolume(const SOP_NodeVerb::CookParms &cookparms) const
827  {
828  SOP_Node *thissop = cookparms.getNode();
829  if (!thissop) return getAffectvolume();
830  bool result;
831  OP_Utils::evalOpParm(result, thissop, "affectvolume", cookparms.getCookTime(), 0);
832  return result;
833  }
834  Boundtype getBoundtype() const { return Boundtype(myBoundtype); }
835  void setBoundtype(Boundtype val) { myBoundtype = int64(val); }
837  {
838  SOP_Node *thissop = cookparms.getNode();
839  if (!thissop) return getBoundtype();
840  int64 result;
841  OP_Utils::evalOpParm(result, thissop, "boundtype", cookparms.getCookTime(), 0);
842  return Boundtype(result);
843  }
844  UT_Vector3D getSize() const { return mySize; }
845  void setSize(UT_Vector3D val) { mySize = val; }
847  {
848  SOP_Node *thissop = cookparms.getNode();
849  if (!thissop) return getSize();
850  UT_Vector3D result;
851  OP_Utils::evalOpParm(result, thissop, "size", cookparms.getCookTime(), 0);
852  return result;
853  }
854  UT_Vector3D getT() const { return myT; }
855  void setT(UT_Vector3D val) { myT = val; }
856  UT_Vector3D opT(const SOP_NodeVerb::CookParms &cookparms) const
857  {
858  SOP_Node *thissop = cookparms.getNode();
859  if (!thissop) return getT();
860  UT_Vector3D result;
861  OP_Utils::evalOpParm(result, thissop, "t", cookparms.getCookTime(), 0);
862  return result;
863  }
864  bool getAffectnormal() const { return myAffectnormal; }
865  void setAffectnormal(bool val) { myAffectnormal = val; }
866  bool opAffectnormal(const SOP_NodeVerb::CookParms &cookparms) const
867  {
868  SOP_Node *thissop = cookparms.getNode();
869  if (!thissop) return getAffectnormal();
870  bool result;
871  OP_Utils::evalOpParm(result, thissop, "affectnormal", cookparms.getCookTime(), 0);
872  return result;
873  }
874  const UT_StringHolder & getCamerapath() const { return myCamerapath; }
875  void setCamerapath(const UT_StringHolder & val) { myCamerapath = val; }
877  {
878  SOP_Node *thissop = cookparms.getNode();
879  if (!thissop) return getCamerapath();
880  UT_StringHolder result;
881  OP_Utils::evalOpParm(result, thissop, "camerapath", cookparms.getCookTime(), 0);
882  return result;
883  }
884  bool getAffectdegenerate() const { return myAffectdegenerate; }
885  void setAffectdegenerate(bool val) { myAffectdegenerate = val; }
886  bool opAffectdegenerate(const SOP_NodeVerb::CookParms &cookparms) const
887  {
888  SOP_Node *thissop = cookparms.getNode();
889  if (!thissop) return getAffectdegenerate();
890  bool result;
891  OP_Utils::evalOpParm(result, thissop, "affectdegenerate", cookparms.getCookTime(), 0);
892  return result;
893  }
894  bool getDegenerate() const { return myDegenerate; }
895  void setDegenerate(bool val) { myDegenerate = val; }
896  bool opDegenerate(const SOP_NodeVerb::CookParms &cookparms) const
897  {
898  SOP_Node *thissop = cookparms.getNode();
899  if (!thissop) return getDegenerate();
900  bool result;
901  OP_Utils::evalOpParm(result, thissop, "degenerate", cookparms.getCookTime(), 0);
902  return result;
903  }
904  bool getZaf() const { return myZaf; }
905  void setZaf(bool val) { myZaf = val; }
906  bool opZaf(const SOP_NodeVerb::CookParms &cookparms) const
907  {
908  SOP_Node *thissop = cookparms.getNode();
909  if (!thissop) return getZaf();
910  bool result;
911  OP_Utils::evalOpParm(result, thissop, "zaf", cookparms.getCookTime(), 0);
912  return result;
913  }
914  bool getDoopen() const { return myDoopen; }
915  void setDoopen(bool val) { myDoopen = val; }
916  bool opDoopen(const SOP_NodeVerb::CookParms &cookparms) const
917  {
918  SOP_Node *thissop = cookparms.getNode();
919  if (!thissop) return getDoopen();
920  bool result;
921  OP_Utils::evalOpParm(result, thissop, "doopen", cookparms.getCookTime(), 0);
922  return result;
923  }
924  fpreal64 getTol() const { return myTol; }
925  void setTol(fpreal64 val) { myTol = val; }
926  fpreal64 opTol(const SOP_NodeVerb::CookParms &cookparms) const
927  {
928  SOP_Node *thissop = cookparms.getNode();
929  if (!thissop) return getTol();
930  fpreal64 result;
931  OP_Utils::evalOpParm(result, thissop, "tol", cookparms.getCookTime(), 0);
932  return result;
933  }
934  bool getRemovegrp() const { return myRemovegrp; }
935  void setRemovegrp(bool val) { myRemovegrp = val; }
936  bool opRemovegrp(const SOP_NodeVerb::CookParms &cookparms) const
937  {
938  SOP_Node *thissop = cookparms.getNode();
939  if (!thissop) return getRemovegrp();
940  bool result;
941  OP_Utils::evalOpParm(result, thissop, "removegrp", cookparms.getCookTime(), 0);
942  return result;
943  }
944  bool getKeeppoints() const { return myKeeppoints; }
945  void setKeeppoints(bool val) { myKeeppoints = val; }
946  bool opKeeppoints(const SOP_NodeVerb::CookParms &cookparms) const
947  {
948  SOP_Node *thissop = cookparms.getNode();
949  if (!thissop) return getKeeppoints();
950  bool result;
951  OP_Utils::evalOpParm(result, thissop, "keeppoints", cookparms.getCookTime(), 0);
952  return result;
953  }
954  int64 getGeotype() const { return myGeotype; }
955  void setGeotype(int64 val) { myGeotype = val; }
956  int64 opGeotype(const SOP_NodeVerb::CookParms &cookparms) const
957  {
958  SOP_Node *thissop = cookparms.getNode();
959  if (!thissop) return getGeotype();
960  int64 result;
961  OP_Utils::evalOpParm(result, thissop, "geotype", cookparms.getCookTime(), 0);
962  return result;
963  }
964  UT_Vector3D getDir() const { return myDir; }
965  void setDir(UT_Vector3D val) { myDir = val; }
966  UT_Vector3D opDir(const SOP_NodeVerb::CookParms &cookparms) const
967  {
968  SOP_Node *thissop = cookparms.getNode();
969  if (!thissop) return getDir();
970  UT_Vector3D result;
971  OP_Utils::evalOpParm(result, thissop, "dir", cookparms.getCookTime(), 0);
972  return result;
973  }
974  fpreal64 getAngle() const { return myAngle; }
975  void setAngle(fpreal64 val) { myAngle = val; }
976  fpreal64 opAngle(const SOP_NodeVerb::CookParms &cookparms) const
977  {
978  SOP_Node *thissop = cookparms.getNode();
979  if (!thissop) return getAngle();
980  fpreal64 result;
981  OP_Utils::evalOpParm(result, thissop, "angle", cookparms.getCookTime(), 0);
982  return result;
983  }
984 
985 private:
986  UT_StringHolder myGroup;
987  int64 myNegate;
988  int64 myEntity;
989  bool myAffectnumber;
990  int64 myGroupop;
991  int64 myFilter;
992  UT_StringHolder myPattern;
993  UT_Vector2I myRange;
994  UT_Vector2I mySelect;
995  bool myAffectvolume;
996  int64 myBoundtype;
997  UT_Vector3D mySize;
998  UT_Vector3D myT;
999  bool myAffectnormal;
1000  UT_StringHolder myCamerapath;
1001  bool myAffectdegenerate;
1002  bool myDegenerate;
1003  bool myZaf;
1004  bool myDoopen;
1005  fpreal64 myTol;
1006  bool myRemovegrp;
1007  bool myKeeppoints;
1008  int64 myGeotype;
1009  UT_Vector3D myDir;
1010  fpreal64 myAngle;
1011 
1012 };
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
void setParmValue(exint idx, const exint &value)
UT_Vector2T< int64 > UT_Vector2I
int64 opGeotype(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
void setGroup(const UT_StringHolder &val)
bool opAffectdegenerate(const SOP_NodeVerb::CookParms &cookparms) const
void setZaf(bool val)
void doGetParmValue(exint idx, T &value) const
SOP_Node * getNode() const
Definition: SOP_NodeVerb.h:494
void save(std::ostream &os) const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
T & z(void)
Definition: UT_Vector4.h:379
void setParmValue(exint idx, const fpreal &value)
void getParmValue(exint idx, UT_Vector2D &value) const
void setParmValue(exint idx, const UT_Matrix4D &value)
static void saveData(std::ostream &os, fpreal64 v)
void setParmValue(exint idx, const UT_Vector2D &value)
void setParmValue(exint idx, const PRM_DataItemHandle &value)
static int version()
static void loadData(UT_IStream &is, UT_Matrix3D &v)
void setAffectvolume(bool val)
static void loadData(UT_IStream &is, UT_Vector4I &v)
virtual ParmType getParmType(exint fieldnum) const
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
static void saveData(std::ostream &os, PRM_DataItemHandle s)
void setKeeppoints(bool val)
static void loadData(UT_IStream &is, UT_Vector3D &v)
fpreal getTime() const
Definition: OP_Context.h:60
const GLdouble * v
Definition: glcorearb.h:836
fpreal64 getTol() const
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
void setAffectnumber(bool val)
bool load(UT_IStream &is)
void setCamerapath(const UT_StringHolder &val)
UT_Vector2I getSelect() const
void setDoopen(bool val)
static void loadData(UT_IStream &is, fpreal64 &v)
void setDir(UT_Vector3D val)
UT_Vector2I opRange(const SOP_NodeVerb::CookParms &cookparms) const
void setTol(fpreal64 val)
static void loadData(UT_IStream &is, UT_Vector4D &v)
static void saveData(std::ostream &os, int64 v)
SYS_FORCE_INLINE const char * buffer() const
T & x(void)
Definition: UT_Vector2.h:285
void setAffectdegenerate(bool val)
const UT_StringHolder & getCamerapath() const
fpreal64 opAngle(const SOP_NodeVerb::CookParms &cookparms) const
bool getDegenerate() const
void setEntity(Entity val)
An output stream object that owns its own string buffer storage.
bool opDoopen(const SOP_NodeVerb::CookParms &cookparms) const
void doSetParmValue(exint idx, const T &value)
const UT_WorkBuffer & str() const
Returns a read-only reference to the underlying UT_WorkBuffer.
bool opDegenerate(const SOP_NodeVerb::CookParms &cookparms) const
void setPattern(const UT_StringHolder &val)
void getParmValue(exint idx, UT_Vector4D &value) const
SYS_FORCE_INLINE T & x(void)
Definition: UT_Vector3.h:498
void setParmValue(exint idx, const UT_Matrix2D &value)
fpreal64 getAngle() const
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
Entity opEntity(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D opSize(const SOP_NodeVerb::CookParms &cookparms) const
void setNegate(Negate val)
Entity getEntity() const
static void saveData(std::ostream &os, UT_Vector2D v)
UT_Vector2I opSelect(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, bool &v)
void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)
void setRemovegrp(bool val)
SYS_FORCE_INLINE T & z(void)
Definition: UT_Vector3.h:502
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Definition: Dimensions.h:137
long long int64
Definition: SYS_Types.h:107
void setRange(UT_Vector2I val)
static void loadData(UT_IStream &is, UT_Matrix4D &v)
static void loadData(UT_IStream &is, UT_Vector2D &v)
UT_StringHolder opCamerapath(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_StringHolder s)
bool opKeeppoints(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getGroup() const
bool opAffectnumber(const SOP_NodeVerb::CookParms &cookparms) const
exint length() const
char * findChar(int c) const
Find first occurrance of character. Returns NULL upon failure.
Definition: UT_String.h:550
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
Definition: UT_SharedPtr.h:28
int64 exint
Definition: SYS_Types.h:116
static void loadData(UT_IStream &is, UT_Vector2I &v)
bool getKeeppoints() const
const OP_Node * node() const
Definition: SOP_NodeVerb.h:104
UT_Vector3D getSize() const
double fpreal64
Definition: SYS_Types.h:192
void getParmValue(exint idx, UT_Vector3D &value) const
void setBoundtype(Boundtype val)
void getParmValue(exint idx, UT_Matrix2D &value) const
virtual void copyFrom(const SOP_NodeParms *src)
static void saveData(std::ostream &os, UT_Matrix2D v)
virtual void loadFromOpSubclass(const LoadParms &loadparms)
void setParmValue(exint idx, const UT_SharedPtr< UT_Ramp > &value)
UT_Vector3T< fpreal64 > UT_Vector3D
bool opRemovegrp(const SOP_NodeVerb::CookParms &cookparms) const
Groupop opGroupop(const SOP_NodeVerb::CookParms &cookparms) const
GLboolean * data
Definition: glcorearb.h:130
UT_Vector3D getT() const
int int32
Definition: SYS_Types.h:35
bool getRemovegrp() const
T & y(void)
Definition: UT_Vector4.h:377
bool getAffectnormal() const
void saveBinary(std::ostream &os) const
Save string to binary stream.
Definition: UT_String.h:294
void setParmValue(exint idx, const UT_Matrix3D &value)
bool getAffectnumber() const
virtual ~SOP_DeleteParms()
GT_API const UT_StringHolder version
bool getAffectdegenerate() const
DEP_MicroNode * depnode() const
Definition: SOP_NodeVerb.h:111
bool opAffectvolume(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, bool v)
Boundtype opBoundtype(const SOP_NodeVerb::CookParms &cookparms) const
void getParmValue(exint idx, UT_Matrix3D &value) const
SYS_FORCE_INLINE T & y(void)
Definition: UT_Vector3.h:500
GLsizei const GLfloat * value
Definition: glcorearb.h:823
double fpreal
Definition: SYS_Types.h:270
Negate opNegate(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D opT(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
void setSize(UT_Vector3D val)
void setDegenerate(bool val)
void getParmValue(exint idx, PRM_DataItemHandle &value) const
int64 getGeotype() const
static void loadData(UT_IStream &is, UT_StringHolder &v)
void setParmValue(exint idx, const UT_Vector3D &value)
UT_Vector3D opDir(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const SOP_DeleteParms &src) const
void getParmValue(exint idx, exint &value) const
int64 opFilter(const SOP_NodeVerb::CookParms &cookparms) const
Utility class for containing a color ramp.
Definition: UT_Ramp.h:84
GLuint GLfloat * val
Definition: glcorearb.h:1607
void setParmValue(exint idx, const UT_StringHolder &value)
bool opAffectnormal(const SOP_NodeVerb::CookParms &cookparms) const
void setGeotype(int64 val)
#define SOP_API
Definition: SOP_API.h:10
Negate getNegate() const
bool operator!=(const SOP_DeleteParms &src) const
virtual const char * getParmName(exint fieldnum) const
static void loadData(UT_IStream &is, UT_Vector3I &v)
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glcorearb.h:107
fpreal getCookTime() const
Definition: SOP_NodeVerb.h:501
void setGroupop(Groupop val)
T & x(void)
Definition: UT_Vector4.h:375
T & y(void)
Definition: UT_Vector2.h:287
void setSelect(UT_Vector2I val)
static void saveData(std::ostream &os, UT_Matrix4D v)
void getParmValue(exint idx, fpreal &value) const
GLboolean r
Definition: glcorearb.h:1221
bool getDoopen() const
void setT(UT_Vector3D val)
void setAffectnormal(bool val)
T & w(void)
Definition: UT_Vector4.h:381
void setAngle(fpreal64 val)
int64 getFilter() const
static void saveData(std::ostream &os, UT_Matrix3D v)
void getParmValue(exint idx, UT_StringHolder &value) const
bool opZaf(const SOP_NodeVerb::CookParms &cookparms) const
bool getZaf() const
static void loadData(UT_IStream &is, int64 &v)
UT_Vector3D getDir() const
static void saveData(std::ostream &os, UT_Vector4D v)
const UT_StringHolder & getPattern() const
bool getAffectvolume() const
const OP_Context & context() const
Definition: SOP_NodeVerb.h:109
Groupop getGroupop() const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
Definition: PRM_Parm.h:88
static void saveData(std::ostream &os, UT_Vector3D v)
void getParmValue(exint idx, UT_Matrix4D &value) const
SYS_FORCE_INLINE bool isstring() const
UT_Vector2I getRange() const
void setParmValue(exint idx, const UT_Vector4D &value)
fpreal64 opTol(const SOP_NodeVerb::CookParms &cookparms) const
void setFilter(int64 val)
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
Boundtype getBoundtype() const
virtual exint getNumParms() const
GLenum src
Definition: glcorearb.h:1792
void getParmValue(exint idx, UT_SharedPtr< UT_Ramp > &value) const
UT_StringHolder opPattern(const SOP_NodeVerb::CookParms &cookparms) const