HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SOP_BoxParms.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 
23 {
24 public:
25  static int version() { return 1; }
26 
28  {
29  myType = 0;
30  mySurfType = 4;
31  mySize = 1;
32  myScale = 1;
33  myCenter = 0;
34  myDivRate = 4;
35  myOrder = 4;
36  myDoDivs = false;
37  myDivs = 3;
38  myRebar = false;
39  myConsolidatePoints = true;
40  myOrientedBoundingBox = false;
41  myVertexNormals = false;
42 
43  }
44 
45  explicit SOP_BoxParms(const SOP_BoxParms &) = default;
46 
47  virtual ~SOP_BoxParms() {}
48 
49  bool operator==(const SOP_BoxParms &src) const
50  {
51  if (myType != src.myType) return false;
52  if (mySurfType != src.mySurfType) return false;
53  if (mySize != src.mySize) return false;
54  if (myScale != src.myScale) return false;
55  if (myCenter != src.myCenter) return false;
56  if (myDivRate != src.myDivRate) return false;
57  if (myOrder != src.myOrder) return false;
58  if (myDoDivs != src.myDoDivs) return false;
59  if (myDivs != src.myDivs) return false;
60  if (myRebar != src.myRebar) return false;
61  if (myConsolidatePoints != src.myConsolidatePoints) return false;
62  if (myOrientedBoundingBox != src.myOrientedBoundingBox) return false;
63  if (myVertexNormals != src.myVertexNormals) return false;
64 
65  return true;
66  }
67 
68 
69 
70  void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)
71  {
72  if (true)
73  OP_Utils::evalOpParm(myType, node, "type", time, 0);
74  else myType = 0;
75  if (true)
76  OP_Utils::evalOpParm(mySurfType, node, "surftype", time, 0);
77  else mySurfType = 4;
78  if (true)
79  OP_Utils::evalOpParm(mySize, node, "size", time, 0);
80  else mySize = 1;
81  if (true)
82  OP_Utils::evalOpParm(myScale, node, "scale", time, 0);
83  else myScale = 1;
84  if (true)
85  OP_Utils::evalOpParm(myCenter, node, "t", time, 0);
86  else myCenter = 0;
87  if (true)
88  OP_Utils::evalOpParm(myDivRate, node, "divrate", time, 0);
89  else myDivRate = 4;
90  if (true)
91  OP_Utils::evalOpParm(myOrder, node, "orderrate", time, 0);
92  else myOrder = 4;
93  if (true)
94  OP_Utils::evalOpParm(myDoDivs, node, "dodivs", time, 0);
95  else myDoDivs = false;
96  if (true)
97  OP_Utils::evalOpParm(myDivs, node, "divs", time, 0);
98  else myDivs = 3;
99  if (true)
100  OP_Utils::evalOpParm(myRebar, node, "rebar", time, 0);
101  else myRebar = false;
102  if (true)
103  OP_Utils::evalOpParm(myConsolidatePoints, node, "consolidatepts", time, 0);
104  else myConsolidatePoints = true;
105  if (true)
106  OP_Utils::evalOpParm(myOrientedBoundingBox, node, "orientedbbox", time, 0);
107  else myOrientedBoundingBox = false;
108  if (true)
109  OP_Utils::evalOpParm(myVertexNormals, node, "vertexnormals", time, 0);
110  else myVertexNormals = false;
111 
112  }
113 
114 
115  virtual void loadFromOpSubclass(const LoadParms &loadparms)
116  {
117  buildFromOp(loadparms.node(), loadparms.context().getTime(), loadparms.depnode());
118  }
119 
120 
121  virtual void copyFrom(const SOP_NodeParms *src)
122  {
123  *this = *((const SOP_BoxParms *)src);
124  }
125 
126  template <typename T>
127  void
128  doGetParmValue(exint idx, T &value) const
129  {
130  switch (idx)
131  {
132  case 0:
133  coerceValue(value, myType);
134  break;
135  case 1:
136  coerceValue(value, mySurfType);
137  break;
138  case 2:
139  coerceValue(value, mySize);
140  break;
141  case 3:
142  coerceValue(value, myScale);
143  break;
144  case 4:
145  coerceValue(value, myCenter);
146  break;
147  case 5:
148  coerceValue(value, myDivRate);
149  break;
150  case 6:
151  coerceValue(value, myOrder);
152  break;
153  case 7:
154  coerceValue(value, myDoDivs);
155  break;
156  case 8:
157  coerceValue(value, myDivs);
158  break;
159  case 9:
160  coerceValue(value, myRebar);
161  break;
162  case 10:
163  coerceValue(value, myConsolidatePoints);
164  break;
165  case 11:
166  coerceValue(value, myOrientedBoundingBox);
167  break;
168  case 12:
169  coerceValue(value, myVertexNormals);
170  break;
171 
172  }
173  }
174 
175  void getParmValue(exint idx, exint &value) const
176  { doGetParmValue(idx, value); }
177  void getParmValue(exint idx, fpreal &value) const
178  { doGetParmValue(idx, value); }
180  { doGetParmValue(idx, value); }
182  { doGetParmValue(idx, value); }
184  { doGetParmValue(idx, value); }
186  { doGetParmValue(idx, value); }
188  { doGetParmValue(idx, value); }
190  { doGetParmValue(idx, value); }
192  { doGetParmValue(idx, value); }
194  { doGetParmValue(idx, value); }
196  { doGetParmValue(idx, value); }
197 
198  template <typename T>
199  void
200  doSetParmValue(exint idx, const T &value)
201  {
202  switch (idx)
203  {
204  case 0:
205  coerceValue(myType, value);
206  break;
207  case 1:
208  coerceValue(mySurfType, value);
209  break;
210  case 2:
211  coerceValue(mySize, value);
212  break;
213  case 3:
214  coerceValue(myScale, value);
215  break;
216  case 4:
217  coerceValue(myCenter, value);
218  break;
219  case 5:
220  coerceValue(myDivRate, value);
221  break;
222  case 6:
223  coerceValue(myOrder, value);
224  break;
225  case 7:
226  coerceValue(myDoDivs, value);
227  break;
228  case 8:
229  coerceValue(myDivs, value);
230  break;
231  case 9:
232  coerceValue(myRebar, value);
233  break;
234  case 10:
235  coerceValue(myConsolidatePoints, value);
236  break;
237  case 11:
238  coerceValue(myOrientedBoundingBox, value);
239  break;
240  case 12:
241  coerceValue(myVertexNormals, value);
242  break;
243 
244  }
245  }
246 
247  void setParmValue(exint idx, const exint &value)
248  { doSetParmValue(idx, value); }
249  void setParmValue(exint idx, const fpreal &value)
250  { doSetParmValue(idx, value); }
251  void setParmValue(exint idx, const UT_Vector2D &value)
252  { doSetParmValue(idx, value); }
253  void setParmValue(exint idx, const UT_Vector3D &value)
254  { doSetParmValue(idx, value); }
255  void setParmValue(exint idx, const UT_Vector4D &value)
256  { doSetParmValue(idx, value); }
257  void setParmValue(exint idx, const UT_Matrix2D &value)
258  { doSetParmValue(idx, value); }
259  void setParmValue(exint idx, const UT_Matrix3D &value)
260  { doSetParmValue(idx, value); }
261  void setParmValue(exint idx, const UT_Matrix4D &value)
262  { doSetParmValue(idx, value); }
264  { doSetParmValue(idx, value); }
266  { doSetParmValue(idx, value); }
268  { doSetParmValue(idx, value); }
269 
270  virtual exint getNumParms() const
271  {
272  return 13;
273  }
274 
275  virtual const char *getParmName(exint fieldnum) const
276  {
277  switch (fieldnum)
278  {
279  case 0:
280  return "type";
281  case 1:
282  return "surftype";
283  case 2:
284  return "size";
285  case 3:
286  return "scale";
287  case 4:
288  return "t";
289  case 5:
290  return "divrate";
291  case 6:
292  return "orderrate";
293  case 7:
294  return "dodivs";
295  case 8:
296  return "divs";
297  case 9:
298  return "rebar";
299  case 10:
300  return "consolidatepts";
301  case 11:
302  return "orientedbbox";
303  case 12:
304  return "vertexnormals";
305 
306  }
307  return 0;
308  }
309 
310  virtual ParmType getParmType(exint fieldnum) const
311  {
312  switch (fieldnum)
313  {
314  case 0:
315  return PARM_INTEGER;
316  case 1:
317  return PARM_INTEGER;
318  case 2:
319  return PARM_VECTOR3;
320  case 3:
321  return PARM_FLOAT;
322  case 4:
323  return PARM_VECTOR3;
324  case 5:
325  return PARM_VECTOR3;
326  case 6:
327  return PARM_VECTOR3;
328  case 7:
329  return PARM_INTEGER;
330  case 8:
331  return PARM_VECTOR3;
332  case 9:
333  return PARM_INTEGER;
334  case 10:
335  return PARM_INTEGER;
336  case 11:
337  return PARM_INTEGER;
338  case 12:
339  return PARM_INTEGER;
340 
341  }
342  return PARM_UNSUPPORTED;
343  }
344 
345  // Boiler plate to load individual types.
346  static void loadData(UT_IStream &is, int64 &v)
347  { is.bread(&v, 1); }
348  static void loadData(UT_IStream &is, bool &v)
349  { int64 iv; is.bread(&iv, 1); v = iv; }
350  static void loadData(UT_IStream &is, fpreal64 &v)
351  { is.bread<fpreal64>(&v, 1); }
352  static void loadData(UT_IStream &is, UT_Vector2D &v)
353  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
354  static void loadData(UT_IStream &is, UT_Vector3D &v)
355  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
356  is.bread<fpreal64>(&v.z(), 1); }
357  static void loadData(UT_IStream &is, UT_Vector4D &v)
358  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
359  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
360  static void loadData(UT_IStream &is, UT_Matrix2D &v)
361  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
362  static void loadData(UT_IStream &is, UT_Matrix3D &v)
363  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
364  static void loadData(UT_IStream &is, UT_Matrix4D &v)
365  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
366  static void loadData(UT_IStream &is, UT_Vector2I &v)
367  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
368  static void loadData(UT_IStream &is, UT_Vector3I &v)
369  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
370  is.bread<int64>(&v.z(), 1); }
371  static void loadData(UT_IStream &is, UT_Vector4I &v)
372  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
373  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
375  { is.bread(v); }
377  { UT_StringHolder rampdata;
378  loadData(is, rampdata);
379  if (rampdata.isstring())
380  {
381  v.reset(new UT_Ramp());
382  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
383  v->load(istr);
384  }
385  else v.reset();
386  }
389  loadData(is, data);
390  if (data.isstring())
391  {
392  // Find the data type.
393  char *colon = UT_StringWrap(data).findChar(':');
394  if (colon)
395  {
396  int typelen = colon - data.buffer();
398  type.strncpy(data.buffer(), typelen);
399  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
400 
401  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
402  }
403  }
404  else v.reset();
405  }
406 
407  static void saveData(std::ostream &os, int64 v)
408  { UTwrite(os, &v); }
409  static void saveData(std::ostream &os, bool v)
410  { int64 iv = v; UTwrite(os, &iv); }
411  static void saveData(std::ostream &os, fpreal64 v)
412  { UTwrite<fpreal64>(os, &v); }
413  static void saveData(std::ostream &os, UT_Vector2D v)
414  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
415  static void saveData(std::ostream &os, UT_Vector3D v)
416  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
417  UTwrite<fpreal64>(os, &v.z()); }
418  static void saveData(std::ostream &os, UT_Vector4D v)
419  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
420  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
421  static void saveData(std::ostream &os, UT_Matrix2D v)
423  static void saveData(std::ostream &os, UT_Matrix3D v)
425  static void saveData(std::ostream &os, UT_Matrix4D v)
427  static void saveData(std::ostream &os, UT_StringHolder s)
428  { UT_StringWrap(s).saveBinary(os); }
429  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
430  { UT_StringHolder result;
431  UT_OStringStream ostr;
432  if (s) s->save(ostr);
433  result = ostr.str();
434  saveData(os, result);
435  }
436  static void saveData(std::ostream &os, PRM_DataItemHandle s)
437  { UT_StringHolder result;
438  UT_OStringStream ostr;
439  if (s)
440  {
441  ostr << s->getDataTypeToken();
442  ostr << ":";
443  s->saveBinary(ostr);
444  }
445  result = ostr.str();
446  saveData(os, result);
447  }
448 
449 
450  void save(std::ostream &os) const
451  {
452  int32 v = version();
453  UTwrite(os, &v);
454  saveData(os, myType);
455  saveData(os, mySurfType);
456  saveData(os, mySize);
457  saveData(os, myScale);
458  saveData(os, myCenter);
459  saveData(os, myDivRate);
460  saveData(os, myOrder);
461  saveData(os, myDoDivs);
462  saveData(os, myDivs);
463  saveData(os, myRebar);
464  saveData(os, myConsolidatePoints);
465  saveData(os, myOrientedBoundingBox);
466  saveData(os, myVertexNormals);
467 
468  }
469 
470  bool load(UT_IStream &is)
471  {
472  int32 v;
473  is.bread(&v, 1);
474  if (version() != v)
475  {
476  // Fail incompatible versions
477  return false;
478  }
479  loadData(is, myType);
480  loadData(is, mySurfType);
481  loadData(is, mySize);
482  loadData(is, myScale);
483  loadData(is, myCenter);
484  loadData(is, myDivRate);
485  loadData(is, myOrder);
486  loadData(is, myDoDivs);
487  loadData(is, myDivs);
488  loadData(is, myRebar);
489  loadData(is, myConsolidatePoints);
490  loadData(is, myOrientedBoundingBox);
491  loadData(is, myVertexNormals);
492 
493  return true;
494  }
495 
496  int64 getType() const { return myType; }
497  void setType(int64 val) { myType = val; }
498  int64 opType(const SOP_NodeVerb::CookParms &cookparms) const
499  {
500  SOP_Node *thissop = cookparms.getNode();
501  if (!thissop) return getType();
502  int64 result;
503  OP_Utils::evalOpParm(result, thissop, "type", cookparms.getCookTime(), 0);
504  return result;
505  }
506  int64 getSurfType() const { return mySurfType; }
507  void setSurfType(int64 val) { mySurfType = val; }
508  int64 opSurfType(const SOP_NodeVerb::CookParms &cookparms) const
509  {
510  SOP_Node *thissop = cookparms.getNode();
511  if (!thissop) return getSurfType();
512  int64 result;
513  OP_Utils::evalOpParm(result, thissop, "surftype", cookparms.getCookTime(), 0);
514  return result;
515  }
516  UT_Vector3D getSize() const { return mySize; }
517  void setSize(UT_Vector3D val) { mySize = val; }
519  {
520  SOP_Node *thissop = cookparms.getNode();
521  if (!thissop) return getSize();
522  UT_Vector3D result;
523  OP_Utils::evalOpParm(result, thissop, "size", cookparms.getCookTime(), 0);
524  return result;
525  }
526  fpreal64 getScale() const { return myScale; }
527  void setScale(fpreal64 val) { myScale = val; }
528  fpreal64 opScale(const SOP_NodeVerb::CookParms &cookparms) const
529  {
530  SOP_Node *thissop = cookparms.getNode();
531  if (!thissop) return getScale();
532  fpreal64 result;
533  OP_Utils::evalOpParm(result, thissop, "scale", cookparms.getCookTime(), 0);
534  return result;
535  }
536  UT_Vector3D getCenter() const { return myCenter; }
537  void setCenter(UT_Vector3D val) { myCenter = val; }
539  {
540  SOP_Node *thissop = cookparms.getNode();
541  if (!thissop) return getCenter();
542  UT_Vector3D result;
543  OP_Utils::evalOpParm(result, thissop, "t", cookparms.getCookTime(), 0);
544  return result;
545  }
546  UT_Vector3I getDivRate() const { return myDivRate; }
547  void setDivRate(UT_Vector3I val) { myDivRate = val; }
549  {
550  SOP_Node *thissop = cookparms.getNode();
551  if (!thissop) return getDivRate();
552  UT_Vector3I result;
553  OP_Utils::evalOpParm(result, thissop, "divrate", cookparms.getCookTime(), 0);
554  return result;
555  }
556  UT_Vector3I getOrder() const { return myOrder; }
559  {
560  SOP_Node *thissop = cookparms.getNode();
561  if (!thissop) return getOrder();
562  UT_Vector3I result;
563  OP_Utils::evalOpParm(result, thissop, "orderrate", cookparms.getCookTime(), 0);
564  return result;
565  }
566  bool getDoDivs() const { return myDoDivs; }
567  void setDoDivs(bool val) { myDoDivs = val; }
568  bool opDoDivs(const SOP_NodeVerb::CookParms &cookparms) const
569  {
570  SOP_Node *thissop = cookparms.getNode();
571  if (!thissop) return getDoDivs();
572  bool result;
573  OP_Utils::evalOpParm(result, thissop, "dodivs", cookparms.getCookTime(), 0);
574  return result;
575  }
576  UT_Vector3I getDivs() const { return myDivs; }
577  void setDivs(UT_Vector3I val) { myDivs = val; }
579  {
580  SOP_Node *thissop = cookparms.getNode();
581  if (!thissop) return getDivs();
582  UT_Vector3I result;
583  OP_Utils::evalOpParm(result, thissop, "divs", cookparms.getCookTime(), 0);
584  return result;
585  }
586  bool getRebar() const { return myRebar; }
587  void setRebar(bool val) { myRebar = val; }
588  bool opRebar(const SOP_NodeVerb::CookParms &cookparms) const
589  {
590  SOP_Node *thissop = cookparms.getNode();
591  if (!thissop) return getRebar();
592  bool result;
593  OP_Utils::evalOpParm(result, thissop, "rebar", cookparms.getCookTime(), 0);
594  return result;
595  }
596  bool getConsolidatePoints() const { return myConsolidatePoints; }
597  void setConsolidatePoints(bool val) { myConsolidatePoints = val; }
598  bool opConsolidatePoints(const SOP_NodeVerb::CookParms &cookparms) const
599  {
600  SOP_Node *thissop = cookparms.getNode();
601  if (!thissop) return getConsolidatePoints();
602  bool result;
603  OP_Utils::evalOpParm(result, thissop, "consolidatepts", cookparms.getCookTime(), 0);
604  return result;
605  }
606  bool getOrientedBoundingBox() const { return myOrientedBoundingBox; }
607  void setOrientedBoundingBox(bool val) { myOrientedBoundingBox = val; }
608  bool opOrientedBoundingBox(const SOP_NodeVerb::CookParms &cookparms) const
609  {
610  SOP_Node *thissop = cookparms.getNode();
611  if (!thissop) return getOrientedBoundingBox();
612  bool result;
613  OP_Utils::evalOpParm(result, thissop, "orientedbbox", cookparms.getCookTime(), 0);
614  return result;
615  }
616  bool getVertexNormals() const { return myVertexNormals; }
617  void setVertexNormals(bool val) { myVertexNormals = val; }
618  bool opVertexNormals(const SOP_NodeVerb::CookParms &cookparms) const
619  {
620  SOP_Node *thissop = cookparms.getNode();
621  if (!thissop) return getVertexNormals();
622  bool result;
623  OP_Utils::evalOpParm(result, thissop, "vertexnormals", cookparms.getCookTime(), 0);
624  return result;
625  }
626 
627 private:
628  int64 myType;
629  int64 mySurfType;
630  UT_Vector3D mySize;
631  fpreal64 myScale;
632  UT_Vector3D myCenter;
633  UT_Vector3I myDivRate;
635  bool myDoDivs;
636  UT_Vector3I myDivs;
637  bool myRebar;
638  bool myConsolidatePoints;
639  bool myOrientedBoundingBox;
640  bool myVertexNormals;
641 
642 };
static void saveData(std::ostream &os, UT_Matrix4D v)
static void saveData(std::ostream &os, UT_StringHolder s)
void setCenter(UT_Vector3D val)
bool opRebar(const SOP_NodeVerb::CookParms &cookparms) const
bool opVertexNormals(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3I getDivRate() const
static void saveData(std::ostream &os, UT_Vector4D v)
void setParmValue(exint idx, const UT_Matrix3D &value)
SOP_Node * getNode() const
Definition: SOP_NodeVerb.h:492
T & z(void)
Definition: UT_Vector4.h:372
virtual ParmType getParmType(exint fieldnum) const
UT_Vector3D getSize() const
void save(std::ostream &os) const
fpreal64 getScale() const
bool getOrientedBoundingBox() const
int64 getSurfType() const
void setSurfType(int64 val)
void setParmValue(exint idx, const PRM_DataItemHandle &value)
int myOrder
Definition: GT_CurveEval.h:263
exint bread(int32 *buffer, exint asize=1)
fpreal getTime() const
Definition: OP_Context.h:34
bool operator==(const SOP_BoxParms &src) const
const GLdouble * v
Definition: glcorearb.h:836
void doSetParmValue(exint idx, const T &value)
static void saveData(std::ostream &os, UT_Matrix3D v)
void getParmValue(exint idx, PRM_DataItemHandle &value) const
T & x(void)
Definition: UT_Vector2.h:284
bool getDoDivs() const
UT_Vector3D getCenter() const
An output stream object that owns its own string buffer storage.
void setType(int64 val)
static void saveData(std::ostream &os, int64 v)
const UT_WorkBuffer & str() const
Returns a read-only reference to the underlying UT_WorkBuffer.
SYS_FORCE_INLINE T & x(void)
Definition: UT_Vector3.h:581
static void loadData(UT_IStream &is, UT_Vector2I &v)
int64 opSurfType(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector2D &v)
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
static void saveData(std::ostream &os, PRM_DataItemHandle s)
static void loadData(UT_IStream &is, UT_StringHolder &v)
static void loadData(UT_IStream &is, bool &v)
static void loadData(UT_IStream &is, UT_Matrix4D &v)
static void saveData(std::ostream &os, UT_Vector2D v)
static void loadData(UT_IStream &is, UT_Vector3D &v)
void setSize(UT_Vector3D val)
static void loadData(UT_IStream &is, int64 &v)
bool load(UT_IStream &is)
SYS_FORCE_INLINE T & z(void)
Definition: UT_Vector3.h:585
long long int64
Definition: SYS_Types.h:106
virtual exint getNumParms() const
virtual void loadFromOpSubclass(const LoadParms &loadparms)
void getParmValue(exint idx, UT_Vector3D &value) const
void setParmValue(exint idx, const exint &value)
static void saveData(std::ostream &os, fpreal64 v)
bool getVertexNormals() const
void setParmValue(exint idx, const UT_Vector3D &value)
exint length() const
char * findChar(int c) const
Find first occurrance of character. Returns NULL upon failure.
Definition: UT_String.h:550
bool getConsolidatePoints() const
SYS_FORCE_INLINE const char * buffer() const
static void saveData(std::ostream &os, bool v)
void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
int64 exint
Definition: SYS_Types.h:115
const OP_Node * node() const
Definition: SOP_NodeVerb.h:104
double fpreal64
Definition: SYS_Types.h:191
void setRebar(bool val)
static void loadData(UT_IStream &is, UT_Vector4D &v)
void getParmValue(exint idx, UT_StringHolder &value) const
void setParmValue(exint idx, const fpreal &value)
static int version()
void doGetParmValue(exint idx, T &value) const
int64 getType() const
virtual void copyFrom(const SOP_NodeParms *src)
void getParmValue(exint idx, UT_Vector4D &value) const
GLboolean * data
Definition: glcorearb.h:130
void setParmValue(exint idx, const UT_Vector2D &value)
void setParmValue(exint idx, const UT_Vector4D &value)
int int32
Definition: SYS_Types.h:34
T & y(void)
Definition: UT_Vector4.h:370
void setDoDivs(bool val)
void setParmValue(exint idx, const UT_Matrix2D &value)
fpreal64 opScale(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D opSize(const SOP_NodeVerb::CookParms &cookparms) const
void saveBinary(std::ostream &os) const
Save string to binary stream.
Definition: UT_String.h:294
void setScale(fpreal64 val)
static void loadData(UT_IStream &is, UT_Vector4I &v)
void setVertexNormals(bool val)
DEP_MicroNode * depnode() const
Definition: SOP_NodeVerb.h:111
void getParmValue(exint idx, exint &value) const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
static void loadData(UT_IStream &is, UT_Matrix3D &v)
bool opOrientedBoundingBox(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE T & y(void)
Definition: UT_Vector3.h:583
void getParmValue(exint idx, UT_Vector2D &value) const
GLsizei const GLfloat * value
Definition: glcorearb.h:823
double fpreal
Definition: SYS_Types.h:269
void strncpy(const char *src, exint maxlen)
bool getRebar() const
void setConsolidatePoints(bool val)
bool opConsolidatePoints(const SOP_NodeVerb::CookParms &cookparms) const
virtual const char * getParmName(exint fieldnum) const
void getParmValue(exint idx, UT_Matrix4D &value) const
void getParmValue(exint idx, UT_Matrix2D &value) const
void setOrientedBoundingBox(bool val)
UT_Vector3D opCenter(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3I &v)
static void loadData(UT_IStream &is, fpreal64 &v)
static void saveData(std::ostream &os, UT_Matrix2D v)
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_SharedPtr< UT_Ramp > &value)
void getParmValue(exint idx, UT_SharedPtr< UT_Ramp > &value) const
Vec3< typename MatType::value_type > getScale(const MatType &mat)
Return a Vec3 representing the lengths of the passed matrix's upper 3x3's rows.
Definition: Mat.h:628
void setDivRate(UT_Vector3I val)
#define SOP_API
Definition: SOP_API.h:10
UT_Vector3I getOrder() const
void setParmValue(exint idx, const UT_Matrix4D &value)
const char * buffer() const
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glcorearb.h:107
void setOrder(UT_Vector3I val)
fpreal getCookTime() const
Definition: SOP_NodeVerb.h:499
T & x(void)
Definition: UT_Vector4.h:368
void setDivs(UT_Vector3I val)
T & y(void)
Definition: UT_Vector2.h:286
UT_Vector3I getDivs() const
GLboolean r
Definition: glcorearb.h:1221
bool opDoDivs(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
T & w(void)
Definition: UT_Vector4.h:374
int64 opType(const SOP_NodeVerb::CookParms &cookparms) const
void getParmValue(exint idx, fpreal &value) const
UT_Vector3I opDivRate(const SOP_NodeVerb::CookParms &cookparms) const
void setParmValue(exint idx, const UT_StringHolder &value)
UT_Vector3I opDivs(const SOP_NodeVerb::CookParms &cookparms) const
void getParmValue(exint idx, UT_Matrix3D &value) const
const OP_Context & context() const
Definition: SOP_NodeVerb.h:109
virtual ~SOP_BoxParms()
SYS_FORCE_INLINE bool isstring() const
GLenum src
Definition: glcorearb.h:1792
static void saveData(std::ostream &os, UT_Vector3D v)
UT_Vector3I opOrder(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix2D &v)