HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SOP_PolyExpand2D.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 namespace SOP_PolyExpand2DEnums
24 {
25  enum class Planepossrc
26  {
27  FITPLANE = 0,
28  SETPLANE
29  };
30  enum class Output
31  {
32  CURVES = 0,
33  SURFACES
34  };
35  enum class Sidedetermination
36  {
37  VERTEXORDER = 0,
39  ALTREACH,
41  };
42  enum class Skeletonfailure
43  {
44  ERROR = 0,
45  WARN
46  };
47 }
48 
49 
51 {
52 public:
53  static int version() { return 1; }
54 
56  {
57  myGroup = ""_sh;
58  myPlanepossrc = 0;
59  myPlaneorigin = UT_Vector3D(0,0,0);
60  myPlanedist = 0;
61  myPlanenormal = UT_Vector3D(0,1,0);
62  myOutput = 0;
63  myOffset = 0.1;
64  myDivs = 1;
65  mySidedetermination = 1;
66  myOutputinside = true;
67  myOutputoutside = true;
68  myKeepinput = false;
69  myOmitendcaps = false;
70  myUselocalinsidescale = false;
71  myLocalinsidescale = "offsetscale"_sh;
72  myUselocaloutsidescale = false;
73  myLocaloutsidescale = "offsetscale"_sh;
74  myNewg = false;
75  myInsidegroup = "inside"_sh;
76  myOutsidegroup = "outside"_sh;
77  myDoedgedistattrib = false;
78  myEdgedistattrib = "edgedist"_sh;
79  myDoedgespeedattrib = false;
80  myEdgespeedattrib = "edgespeed"_sh;
81  myCoincidencetol = 0.003;
82  myParallelismtol = 0.01;
83  mySkeletonfailure = 0;
84  myCacheskeleton = true;
85  myUpdatenmls = true;
86 
87  }
88 
89  explicit SOP_PolyExpand2DParms(const SOP_PolyExpand2DParms &) = default;
90 
91  ~SOP_PolyExpand2DParms() override {}
92 
94  {
95  if (myGroup != src.myGroup) return false;
96  if (myPlanepossrc != src.myPlanepossrc) return false;
97  if (myPlaneorigin != src.myPlaneorigin) return false;
98  if (myPlanedist != src.myPlanedist) return false;
99  if (myPlanenormal != src.myPlanenormal) return false;
100  if (myOutput != src.myOutput) return false;
101  if (myOffset != src.myOffset) return false;
102  if (myDivs != src.myDivs) return false;
103  if (mySidedetermination != src.mySidedetermination) return false;
104  if (myOutputinside != src.myOutputinside) return false;
105  if (myOutputoutside != src.myOutputoutside) return false;
106  if (myKeepinput != src.myKeepinput) return false;
107  if (myOmitendcaps != src.myOmitendcaps) return false;
108  if (myUselocalinsidescale != src.myUselocalinsidescale) return false;
109  if (myLocalinsidescale != src.myLocalinsidescale) return false;
110  if (myUselocaloutsidescale != src.myUselocaloutsidescale) return false;
111  if (myLocaloutsidescale != src.myLocaloutsidescale) return false;
112  if (myNewg != src.myNewg) return false;
113  if (myInsidegroup != src.myInsidegroup) return false;
114  if (myOutsidegroup != src.myOutsidegroup) return false;
115  if (myDoedgedistattrib != src.myDoedgedistattrib) return false;
116  if (myEdgedistattrib != src.myEdgedistattrib) return false;
117  if (myDoedgespeedattrib != src.myDoedgespeedattrib) return false;
118  if (myEdgespeedattrib != src.myEdgespeedattrib) return false;
119  if (myCoincidencetol != src.myCoincidencetol) return false;
120  if (myParallelismtol != src.myParallelismtol) return false;
121  if (mySkeletonfailure != src.mySkeletonfailure) return false;
122  if (myCacheskeleton != src.myCacheskeleton) return false;
123  if (myUpdatenmls != src.myUpdatenmls) return false;
124 
125  return true;
126  }
128  {
129  return !operator==(src);
130  }
135 
136 
137 
138  void buildFromOp(const SOP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
139  {
140  myGroup = ""_sh;
141  if (true)
142  graph->evalOpParm(myGroup, nodeidx, "group", time, 0);
143  myPlanepossrc = 0;
144  if (true)
145  graph->evalOpParm(myPlanepossrc, nodeidx, "planepossrc", time, 0);
146  myPlaneorigin = UT_Vector3D(0,0,0);
147  if (true && ( (!(((int64(getPlanepossrc())==0)))) ) )
148  graph->evalOpParm(myPlaneorigin, nodeidx, "planeorigin", time, 0);
149  myPlanedist = 0;
150  if (true && ( (!(((int64(getPlanepossrc())==0)))) ) )
151  graph->evalOpParm(myPlanedist, nodeidx, "planedist", time, 0);
152  myPlanenormal = UT_Vector3D(0,1,0);
153  if (true && ( (!(((int64(getPlanepossrc())==0)))) ) )
154  graph->evalOpParm(myPlanenormal, nodeidx, "planenormal", time, 0);
155  myOutput = 0;
156  if (true)
157  graph->evalOpParm(myOutput, nodeidx, "output", time, 0);
158  myOffset = 0.1;
159  if (true)
160  graph->evalOpParm(myOffset, nodeidx, "offset", time, 0);
161  myDivs = 1;
162  if (true)
163  graph->evalOpParm(myDivs, nodeidx, "divs", time, 0);
164  mySidedetermination = 1;
165  if (true)
166  graph->evalOpParm(mySidedetermination, nodeidx, "sidedetermination", time, 0);
167  myOutputinside = true;
168  if (true)
169  graph->evalOpParm(myOutputinside, nodeidx, "outputinside", time, 0);
170  myOutputoutside = true;
171  if (true)
172  graph->evalOpParm(myOutputoutside, nodeidx, "outputoutside", time, 0);
173  myKeepinput = false;
174  if (true)
175  graph->evalOpParm(myKeepinput, nodeidx, "keepinput", time, 0);
176  myOmitendcaps = false;
177  if (true && ( (!(((int64(getOutput())==1)))) ) )
178  graph->evalOpParm(myOmitendcaps, nodeidx, "omitendcaps", time, 0);
179  myUselocalinsidescale = false;
180  if (true)
181  graph->evalOpParm(myUselocalinsidescale, nodeidx, "uselocalinsidescale", time, 0);
182  myLocalinsidescale = "offsetscale"_sh;
183  if (true && ( (!(((getUselocalinsidescale()==0)))) ) )
184  graph->evalOpParm(myLocalinsidescale, nodeidx, "localinsidescale", time, 0);
185  myUselocaloutsidescale = false;
186  if (true)
187  graph->evalOpParm(myUselocaloutsidescale, nodeidx, "uselocaloutsidescale", time, 0);
188  myLocaloutsidescale = "offsetscale"_sh;
189  if (true && ( (!(((getUselocaloutsidescale()==0)))) ) )
190  graph->evalOpParm(myLocaloutsidescale, nodeidx, "localoutsidescale", time, 0);
191  myNewg = false;
192  if (true)
193  graph->evalOpParm(myNewg, nodeidx, "newg", time, 0);
194  myInsidegroup = "inside"_sh;
195  if (true && ( (!(((getNewg()==0))||((getOutputinside()==0)))) ) )
196  graph->evalOpParm(myInsidegroup, nodeidx, "insidegroup", time, 0);
197  myOutsidegroup = "outside"_sh;
198  if (true && ( (!(((getNewg()==0))||((getOutputoutside()==0)))) ) )
199  graph->evalOpParm(myOutsidegroup, nodeidx, "outsidegroup", time, 0);
200  myDoedgedistattrib = false;
201  if (true && ( (!(((int64(getOutput())==0)))) ) )
202  graph->evalOpParm(myDoedgedistattrib, nodeidx, "doedgedistattrib", time, 0);
203  myEdgedistattrib = "edgedist"_sh;
204  if (true && ( (!(((int64(getOutput())==0))||((getDoedgedistattrib()==0)))) ) )
205  graph->evalOpParm(myEdgedistattrib, nodeidx, "edgedistattrib", time, 0);
206  myDoedgespeedattrib = false;
207  if (true && ( (!(((int64(getOutput())==0)))) ) )
208  graph->evalOpParm(myDoedgespeedattrib, nodeidx, "doedgespeedattrib", time, 0);
209  myEdgespeedattrib = "edgespeed"_sh;
210  if (true && ( (!(((int64(getOutput())==0))||((getDoedgedistattrib()==0)))) ) )
211  graph->evalOpParm(myEdgespeedattrib, nodeidx, "edgespeedattrib", time, 0);
212  myCoincidencetol = 0.003;
213  if (true)
214  graph->evalOpParm(myCoincidencetol, nodeidx, "coincidencetol", time, 0);
215  myParallelismtol = 0.01;
216  if (true)
217  graph->evalOpParm(myParallelismtol, nodeidx, "parallelismtol", time, 0);
218  mySkeletonfailure = 0;
219  if (true)
220  graph->evalOpParm(mySkeletonfailure, nodeidx, "skeletonfailure", time, 0);
221  myCacheskeleton = true;
222  if (true)
223  graph->evalOpParm(myCacheskeleton, nodeidx, "cacheskeleton", time, 0);
224  myUpdatenmls = true;
225  if (true)
226  graph->evalOpParm(myUpdatenmls, nodeidx, "updatenmls", time, 0);
227 
228  }
229 
230 
231  void loadFromOpSubclass(const LoadParms &loadparms) override
232  {
233  buildFromOp(loadparms.graph(), loadparms.nodeIdx(), loadparms.context().getTime(), loadparms.depnode());
234  }
235 
236 
237  void copyFrom(const SOP_NodeParms *src) override
238  {
239  *this = *((const SOP_PolyExpand2DParms *)src);
240  }
241 
242  template <typename T>
243  void
244  doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
245  {
246  if (idx.size() < 1)
247  return;
248  UT_ASSERT(idx.size() == instance.size()+1);
249  if (idx.size() != instance.size()+1)
250  return;
251  switch (idx[0])
252  {
253  case 0:
254  coerceValue(value, myGroup);
255  break;
256  case 1:
257  coerceValue(value, myPlanepossrc);
258  break;
259  case 2:
260  coerceValue(value, myPlaneorigin);
261  break;
262  case 3:
263  coerceValue(value, myPlanedist);
264  break;
265  case 4:
266  coerceValue(value, myPlanenormal);
267  break;
268  case 5:
269  coerceValue(value, myOutput);
270  break;
271  case 6:
272  coerceValue(value, myOffset);
273  break;
274  case 7:
275  coerceValue(value, myDivs);
276  break;
277  case 8:
278  coerceValue(value, mySidedetermination);
279  break;
280  case 9:
281  coerceValue(value, myOutputinside);
282  break;
283  case 10:
284  coerceValue(value, myOutputoutside);
285  break;
286  case 11:
287  coerceValue(value, myKeepinput);
288  break;
289  case 12:
290  coerceValue(value, myOmitendcaps);
291  break;
292  case 13:
293  coerceValue(value, myUselocalinsidescale);
294  break;
295  case 14:
296  coerceValue(value, myLocalinsidescale);
297  break;
298  case 15:
299  coerceValue(value, myUselocaloutsidescale);
300  break;
301  case 16:
302  coerceValue(value, myLocaloutsidescale);
303  break;
304  case 17:
305  coerceValue(value, myNewg);
306  break;
307  case 18:
308  coerceValue(value, myInsidegroup);
309  break;
310  case 19:
311  coerceValue(value, myOutsidegroup);
312  break;
313  case 20:
314  coerceValue(value, myDoedgedistattrib);
315  break;
316  case 21:
317  coerceValue(value, myEdgedistattrib);
318  break;
319  case 22:
320  coerceValue(value, myDoedgespeedattrib);
321  break;
322  case 23:
323  coerceValue(value, myEdgespeedattrib);
324  break;
325  case 24:
326  coerceValue(value, myCoincidencetol);
327  break;
328  case 25:
329  coerceValue(value, myParallelismtol);
330  break;
331  case 26:
332  coerceValue(value, mySkeletonfailure);
333  break;
334  case 27:
335  coerceValue(value, myCacheskeleton);
336  break;
337  case 28:
338  coerceValue(value, myUpdatenmls);
339  break;
340 
341  }
342  }
343 
344  void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
345  { doGetParmValue(idx, instance, value); }
346  void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
347  { doGetParmValue(idx, instance, value); }
348  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
349  { doGetParmValue(idx, instance, value); }
350  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
351  { doGetParmValue(idx, instance, value); }
352  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
353  { doGetParmValue(idx, instance, value); }
354  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
355  { doGetParmValue(idx, instance, value); }
356  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
357  { doGetParmValue(idx, instance, value); }
358  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
359  { doGetParmValue(idx, instance, value); }
360  void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
361  { doGetParmValue(idx, instance, value); }
362  void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr<UT_Ramp> &value) const override
363  { doGetParmValue(idx, instance, value); }
364  void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
365  { doGetParmValue(idx, instance, value); }
366 
367  template <typename T>
368  void
369  doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
370  {
371  if (idx.size() < 1)
372  return;
373  UT_ASSERT(idx.size() == instance.size()+1);
374  if (idx.size() != instance.size()+1)
375  return;
376  switch (idx[0])
377  {
378  case 0:
379  coerceValue(myGroup, value);
380  break;
381  case 1:
382  coerceValue(myPlanepossrc, value);
383  break;
384  case 2:
385  coerceValue(myPlaneorigin, value);
386  break;
387  case 3:
388  coerceValue(myPlanedist, value);
389  break;
390  case 4:
391  coerceValue(myPlanenormal, value);
392  break;
393  case 5:
394  coerceValue(myOutput, value);
395  break;
396  case 6:
397  coerceValue(myOffset, value);
398  break;
399  case 7:
400  coerceValue(myDivs, value);
401  break;
402  case 8:
403  coerceValue(mySidedetermination, value);
404  break;
405  case 9:
406  coerceValue(myOutputinside, value);
407  break;
408  case 10:
409  coerceValue(myOutputoutside, value);
410  break;
411  case 11:
412  coerceValue(myKeepinput, value);
413  break;
414  case 12:
415  coerceValue(myOmitendcaps, value);
416  break;
417  case 13:
418  coerceValue(myUselocalinsidescale, value);
419  break;
420  case 14:
421  coerceValue(myLocalinsidescale, value);
422  break;
423  case 15:
424  coerceValue(myUselocaloutsidescale, value);
425  break;
426  case 16:
427  coerceValue(myLocaloutsidescale, value);
428  break;
429  case 17:
430  coerceValue(myNewg, value);
431  break;
432  case 18:
433  coerceValue(myInsidegroup, value);
434  break;
435  case 19:
436  coerceValue(myOutsidegroup, value);
437  break;
438  case 20:
439  coerceValue(myDoedgedistattrib, value);
440  break;
441  case 21:
442  coerceValue(myEdgedistattrib, value);
443  break;
444  case 22:
445  coerceValue(myDoedgespeedattrib, value);
446  break;
447  case 23:
448  coerceValue(myEdgespeedattrib, value);
449  break;
450  case 24:
451  coerceValue(myCoincidencetol, value);
452  break;
453  case 25:
454  coerceValue(myParallelismtol, value);
455  break;
456  case 26:
457  coerceValue(mySkeletonfailure, value);
458  break;
459  case 27:
460  coerceValue(myCacheskeleton, value);
461  break;
462  case 28:
463  coerceValue(myUpdatenmls, value);
464  break;
465 
466  }
467  }
468 
469  void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
470  { doSetParmValue(idx, instance, value); }
471  void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
472  { doSetParmValue(idx, instance, value); }
473  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
474  { doSetParmValue(idx, instance, value); }
475  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
476  { doSetParmValue(idx, instance, value); }
477  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
478  { doSetParmValue(idx, instance, value); }
479  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
480  { doSetParmValue(idx, instance, value); }
481  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
482  { doSetParmValue(idx, instance, value); }
483  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
484  { doSetParmValue(idx, instance, value); }
485  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
486  { doSetParmValue(idx, instance, value); }
487  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr<UT_Ramp> &value) override
488  { doSetParmValue(idx, instance, value); }
489  void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
490  { doSetParmValue(idx, instance, value); }
491 
492  exint getNestNumParms(TempIndex idx) const override
493  {
494  if (idx.size() == 0)
495  return 29;
496  switch (idx[0])
497  {
498 
499  }
500  // Invalid
501  return 0;
502  }
503 
504  const char *getNestParmName(TempIndex fieldnum) const override
505  {
506  if (fieldnum.size() < 1)
507  return 0;
508  switch (fieldnum[0])
509  {
510  case 0:
511  return "group";
512  case 1:
513  return "planepossrc";
514  case 2:
515  return "planeorigin";
516  case 3:
517  return "planedist";
518  case 4:
519  return "planenormal";
520  case 5:
521  return "output";
522  case 6:
523  return "offset";
524  case 7:
525  return "divs";
526  case 8:
527  return "sidedetermination";
528  case 9:
529  return "outputinside";
530  case 10:
531  return "outputoutside";
532  case 11:
533  return "keepinput";
534  case 12:
535  return "omitendcaps";
536  case 13:
537  return "uselocalinsidescale";
538  case 14:
539  return "localinsidescale";
540  case 15:
541  return "uselocaloutsidescale";
542  case 16:
543  return "localoutsidescale";
544  case 17:
545  return "newg";
546  case 18:
547  return "insidegroup";
548  case 19:
549  return "outsidegroup";
550  case 20:
551  return "doedgedistattrib";
552  case 21:
553  return "edgedistattrib";
554  case 22:
555  return "doedgespeedattrib";
556  case 23:
557  return "edgespeedattrib";
558  case 24:
559  return "coincidencetol";
560  case 25:
561  return "parallelismtol";
562  case 26:
563  return "skeletonfailure";
564  case 27:
565  return "cacheskeleton";
566  case 28:
567  return "updatenmls";
568 
569  }
570  return 0;
571  }
572 
573  ParmType getNestParmType(TempIndex fieldnum) const override
574  {
575  if (fieldnum.size() < 1)
576  return PARM_UNSUPPORTED;
577  switch (fieldnum[0])
578  {
579  case 0:
580  return PARM_STRING;
581  case 1:
582  return PARM_INTEGER;
583  case 2:
584  return PARM_VECTOR3;
585  case 3:
586  return PARM_FLOAT;
587  case 4:
588  return PARM_VECTOR3;
589  case 5:
590  return PARM_INTEGER;
591  case 6:
592  return PARM_FLOAT;
593  case 7:
594  return PARM_INTEGER;
595  case 8:
596  return PARM_INTEGER;
597  case 9:
598  return PARM_INTEGER;
599  case 10:
600  return PARM_INTEGER;
601  case 11:
602  return PARM_INTEGER;
603  case 12:
604  return PARM_INTEGER;
605  case 13:
606  return PARM_INTEGER;
607  case 14:
608  return PARM_STRING;
609  case 15:
610  return PARM_INTEGER;
611  case 16:
612  return PARM_STRING;
613  case 17:
614  return PARM_INTEGER;
615  case 18:
616  return PARM_STRING;
617  case 19:
618  return PARM_STRING;
619  case 20:
620  return PARM_INTEGER;
621  case 21:
622  return PARM_STRING;
623  case 22:
624  return PARM_INTEGER;
625  case 23:
626  return PARM_STRING;
627  case 24:
628  return PARM_FLOAT;
629  case 25:
630  return PARM_FLOAT;
631  case 26:
632  return PARM_INTEGER;
633  case 27:
634  return PARM_INTEGER;
635  case 28:
636  return PARM_INTEGER;
637 
638  }
639  return PARM_UNSUPPORTED;
640  }
641 
642  // Boiler plate to load individual types.
643  static void loadData(UT_IStream &is, int64 &v)
644  { is.bread(&v, 1); }
645  static void loadData(UT_IStream &is, bool &v)
646  { int64 iv; is.bread(&iv, 1); v = iv; }
647  static void loadData(UT_IStream &is, fpreal64 &v)
648  { is.bread<fpreal64>(&v, 1); }
649  static void loadData(UT_IStream &is, UT_Vector2D &v)
650  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
651  static void loadData(UT_IStream &is, UT_Vector3D &v)
652  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
653  is.bread<fpreal64>(&v.z(), 1); }
654  static void loadData(UT_IStream &is, UT_Vector4D &v)
655  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
656  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
657  static void loadData(UT_IStream &is, UT_Matrix2D &v)
658  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
659  static void loadData(UT_IStream &is, UT_Matrix3D &v)
660  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
661  static void loadData(UT_IStream &is, UT_Matrix4D &v)
662  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
663  static void loadData(UT_IStream &is, UT_Vector2I &v)
664  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
665  static void loadData(UT_IStream &is, UT_Vector3I &v)
666  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
667  is.bread<int64>(&v.z(), 1); }
668  static void loadData(UT_IStream &is, UT_Vector4I &v)
669  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
670  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
672  { is.bread(v); }
674  { UT_StringHolder rampdata;
675  loadData(is, rampdata);
676  if (rampdata.isstring())
677  {
678  v.reset(new UT_Ramp());
679  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
680  v->load(istr);
681  }
682  else v.reset();
683  }
686  loadData(is, data);
687  if (data.isstring())
688  {
689  // Find the data type.
690  const char *colon = UT_StringWrap(data).findChar(':');
691  if (colon)
692  {
693  int typelen = colon - data.buffer();
695  type.strncpy(data.buffer(), typelen);
696  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
697 
698  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
699  }
700  }
701  else v.reset();
702  }
703 
704  static void saveData(std::ostream &os, int64 v)
705  { UTwrite(os, &v); }
706  static void saveData(std::ostream &os, bool v)
707  { int64 iv = v; UTwrite(os, &iv); }
708  static void saveData(std::ostream &os, fpreal64 v)
709  { UTwrite<fpreal64>(os, &v); }
710  static void saveData(std::ostream &os, UT_Vector2D v)
711  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
712  static void saveData(std::ostream &os, UT_Vector3D v)
713  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
714  UTwrite<fpreal64>(os, &v.z()); }
715  static void saveData(std::ostream &os, UT_Vector4D v)
716  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
717  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
718  static void saveData(std::ostream &os, UT_Matrix2D v)
720  static void saveData(std::ostream &os, UT_Matrix3D v)
722  static void saveData(std::ostream &os, UT_Matrix4D v)
724  static void saveData(std::ostream &os, UT_StringHolder s)
725  { UT_StringWrap(s).saveBinary(os); }
726  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
728  UT_OStringStream ostr;
729  if (s) s->save(ostr);
730  result = ostr.str();
731  saveData(os, result);
732  }
733  static void saveData(std::ostream &os, PRM_DataItemHandle s)
735  UT_OStringStream ostr;
736  if (s)
737  {
738  ostr << s->getDataTypeToken();
739  ostr << ":";
740  s->saveBinary(ostr);
741  }
742  result = ostr.str();
743  saveData(os, result);
744  }
745 
746 
747  void save(std::ostream &os) const
748  {
749  int32 v = version();
750  UTwrite(os, &v);
751  saveData(os, myGroup);
752  saveData(os, myPlanepossrc);
753  saveData(os, myPlaneorigin);
754  saveData(os, myPlanedist);
755  saveData(os, myPlanenormal);
756  saveData(os, myOutput);
757  saveData(os, myOffset);
758  saveData(os, myDivs);
759  saveData(os, mySidedetermination);
760  saveData(os, myOutputinside);
761  saveData(os, myOutputoutside);
762  saveData(os, myKeepinput);
763  saveData(os, myOmitendcaps);
764  saveData(os, myUselocalinsidescale);
765  saveData(os, myLocalinsidescale);
766  saveData(os, myUselocaloutsidescale);
767  saveData(os, myLocaloutsidescale);
768  saveData(os, myNewg);
769  saveData(os, myInsidegroup);
770  saveData(os, myOutsidegroup);
771  saveData(os, myDoedgedistattrib);
772  saveData(os, myEdgedistattrib);
773  saveData(os, myDoedgespeedattrib);
774  saveData(os, myEdgespeedattrib);
775  saveData(os, myCoincidencetol);
776  saveData(os, myParallelismtol);
777  saveData(os, mySkeletonfailure);
778  saveData(os, myCacheskeleton);
779  saveData(os, myUpdatenmls);
780 
781  }
782 
783  bool load(UT_IStream &is)
784  {
785  int32 v;
786  is.bread(&v, 1);
787  if (version() != v)
788  {
789  // Fail incompatible versions
790  return false;
791  }
792  loadData(is, myGroup);
793  loadData(is, myPlanepossrc);
794  loadData(is, myPlaneorigin);
795  loadData(is, myPlanedist);
796  loadData(is, myPlanenormal);
797  loadData(is, myOutput);
798  loadData(is, myOffset);
799  loadData(is, myDivs);
800  loadData(is, mySidedetermination);
801  loadData(is, myOutputinside);
802  loadData(is, myOutputoutside);
803  loadData(is, myKeepinput);
804  loadData(is, myOmitendcaps);
805  loadData(is, myUselocalinsidescale);
806  loadData(is, myLocalinsidescale);
807  loadData(is, myUselocaloutsidescale);
808  loadData(is, myLocaloutsidescale);
809  loadData(is, myNewg);
810  loadData(is, myInsidegroup);
811  loadData(is, myOutsidegroup);
812  loadData(is, myDoedgedistattrib);
813  loadData(is, myEdgedistattrib);
814  loadData(is, myDoedgespeedattrib);
815  loadData(is, myEdgespeedattrib);
816  loadData(is, myCoincidencetol);
817  loadData(is, myParallelismtol);
818  loadData(is, mySkeletonfailure);
819  loadData(is, myCacheskeleton);
820  loadData(is, myUpdatenmls);
821 
822  return true;
823  }
824 
825  const UT_StringHolder & getGroup() const { return myGroup; }
826  void setGroup(const UT_StringHolder & val) { myGroup = val; }
828  {
829  SOP_Node *thissop = cookparms.getNode();
830  if (!thissop) return getGroup();
832  OP_Utils::evalOpParm(result, thissop, "group", cookparms.getCookTime(), 0);
833  return result;
834  }
835  Planepossrc getPlanepossrc() const { return Planepossrc(myPlanepossrc); }
836  void setPlanepossrc(Planepossrc val) { myPlanepossrc = int64(val); }
838  {
839  SOP_Node *thissop = cookparms.getNode();
840  if (!thissop) return getPlanepossrc();
841  int64 result;
842  OP_Utils::evalOpParm(result, thissop, "planepossrc", cookparms.getCookTime(), 0);
843  return Planepossrc(result);
844  }
845  UT_Vector3D getPlaneorigin() const { return myPlaneorigin; }
846  void setPlaneorigin(UT_Vector3D val) { myPlaneorigin = val; }
848  {
849  SOP_Node *thissop = cookparms.getNode();
850  if (!thissop) return getPlaneorigin();
852  OP_Utils::evalOpParm(result, thissop, "planeorigin", cookparms.getCookTime(), 0);
853  return result;
854  }
855  fpreal64 getPlanedist() const { return myPlanedist; }
856  void setPlanedist(fpreal64 val) { myPlanedist = val; }
858  {
859  SOP_Node *thissop = cookparms.getNode();
860  if (!thissop) return getPlanedist();
862  OP_Utils::evalOpParm(result, thissop, "planedist", cookparms.getCookTime(), 0);
863  return result;
864  }
865  UT_Vector3D getPlanenormal() const { return myPlanenormal; }
866  void setPlanenormal(UT_Vector3D val) { myPlanenormal = val; }
868  {
869  SOP_Node *thissop = cookparms.getNode();
870  if (!thissop) return getPlanenormal();
872  OP_Utils::evalOpParm(result, thissop, "planenormal", cookparms.getCookTime(), 0);
873  return result;
874  }
875  Output getOutput() const { return Output(myOutput); }
876  void setOutput(Output val) { myOutput = int64(val); }
877  Output opOutput(const SOP_NodeVerb::CookParms &cookparms) const
878  {
879  SOP_Node *thissop = cookparms.getNode();
880  if (!thissop) return getOutput();
881  int64 result;
882  OP_Utils::evalOpParm(result, thissop, "output", cookparms.getCookTime(), 0);
883  return Output(result);
884  }
885  fpreal64 getOffset() const { return myOffset; }
886  void setOffset(fpreal64 val) { myOffset = val; }
887  fpreal64 opOffset(const SOP_NodeVerb::CookParms &cookparms) const
888  {
889  SOP_Node *thissop = cookparms.getNode();
890  if (!thissop) return getOffset();
892  OP_Utils::evalOpParm(result, thissop, "offset", cookparms.getCookTime(), 0);
893  return result;
894  }
895  int64 getDivs() const { return myDivs; }
896  void setDivs(int64 val) { myDivs = val; }
897  int64 opDivs(const SOP_NodeVerb::CookParms &cookparms) const
898  {
899  SOP_Node *thissop = cookparms.getNode();
900  if (!thissop) return getDivs();
901  int64 result;
902  OP_Utils::evalOpParm(result, thissop, "divs", cookparms.getCookTime(), 0);
903  return result;
904  }
905  Sidedetermination getSidedetermination() const { return Sidedetermination(mySidedetermination); }
906  void setSidedetermination(Sidedetermination val) { mySidedetermination = int64(val); }
908  {
909  SOP_Node *thissop = cookparms.getNode();
910  if (!thissop) return getSidedetermination();
911  int64 result;
912  OP_Utils::evalOpParm(result, thissop, "sidedetermination", cookparms.getCookTime(), 0);
913  return Sidedetermination(result);
914  }
915  bool getOutputinside() const { return myOutputinside; }
916  void setOutputinside(bool val) { myOutputinside = val; }
917  bool opOutputinside(const SOP_NodeVerb::CookParms &cookparms) const
918  {
919  SOP_Node *thissop = cookparms.getNode();
920  if (!thissop) return getOutputinside();
921  bool result;
922  OP_Utils::evalOpParm(result, thissop, "outputinside", cookparms.getCookTime(), 0);
923  return result;
924  }
925  bool getOutputoutside() const { return myOutputoutside; }
926  void setOutputoutside(bool val) { myOutputoutside = val; }
927  bool opOutputoutside(const SOP_NodeVerb::CookParms &cookparms) const
928  {
929  SOP_Node *thissop = cookparms.getNode();
930  if (!thissop) return getOutputoutside();
931  bool result;
932  OP_Utils::evalOpParm(result, thissop, "outputoutside", cookparms.getCookTime(), 0);
933  return result;
934  }
935  bool getKeepinput() const { return myKeepinput; }
936  void setKeepinput(bool val) { myKeepinput = val; }
937  bool opKeepinput(const SOP_NodeVerb::CookParms &cookparms) const
938  {
939  SOP_Node *thissop = cookparms.getNode();
940  if (!thissop) return getKeepinput();
941  bool result;
942  OP_Utils::evalOpParm(result, thissop, "keepinput", cookparms.getCookTime(), 0);
943  return result;
944  }
945  bool getOmitendcaps() const { return myOmitendcaps; }
946  void setOmitendcaps(bool val) { myOmitendcaps = val; }
947  bool opOmitendcaps(const SOP_NodeVerb::CookParms &cookparms) const
948  {
949  SOP_Node *thissop = cookparms.getNode();
950  if (!thissop) return getOmitendcaps();
951  bool result;
952  OP_Utils::evalOpParm(result, thissop, "omitendcaps", cookparms.getCookTime(), 0);
953  return result;
954  }
955  bool getUselocalinsidescale() const { return myUselocalinsidescale; }
956  void setUselocalinsidescale(bool val) { myUselocalinsidescale = val; }
957  bool opUselocalinsidescale(const SOP_NodeVerb::CookParms &cookparms) const
958  {
959  SOP_Node *thissop = cookparms.getNode();
960  if (!thissop) return getUselocalinsidescale();
961  bool result;
962  OP_Utils::evalOpParm(result, thissop, "uselocalinsidescale", cookparms.getCookTime(), 0);
963  return result;
964  }
965  const UT_StringHolder & getLocalinsidescale() const { return myLocalinsidescale; }
966  void setLocalinsidescale(const UT_StringHolder & val) { myLocalinsidescale = val; }
968  {
969  SOP_Node *thissop = cookparms.getNode();
970  if (!thissop) return getLocalinsidescale();
972  OP_Utils::evalOpParm(result, thissop, "localinsidescale", cookparms.getCookTime(), 0);
973  return result;
974  }
975  bool getUselocaloutsidescale() const { return myUselocaloutsidescale; }
976  void setUselocaloutsidescale(bool val) { myUselocaloutsidescale = val; }
977  bool opUselocaloutsidescale(const SOP_NodeVerb::CookParms &cookparms) const
978  {
979  SOP_Node *thissop = cookparms.getNode();
980  if (!thissop) return getUselocaloutsidescale();
981  bool result;
982  OP_Utils::evalOpParm(result, thissop, "uselocaloutsidescale", cookparms.getCookTime(), 0);
983  return result;
984  }
985  const UT_StringHolder & getLocaloutsidescale() const { return myLocaloutsidescale; }
986  void setLocaloutsidescale(const UT_StringHolder & val) { myLocaloutsidescale = val; }
988  {
989  SOP_Node *thissop = cookparms.getNode();
990  if (!thissop) return getLocaloutsidescale();
992  OP_Utils::evalOpParm(result, thissop, "localoutsidescale", cookparms.getCookTime(), 0);
993  return result;
994  }
995  bool getNewg() const { return myNewg; }
996  void setNewg(bool val) { myNewg = val; }
997  bool opNewg(const SOP_NodeVerb::CookParms &cookparms) const
998  {
999  SOP_Node *thissop = cookparms.getNode();
1000  if (!thissop) return getNewg();
1001  bool result;
1002  OP_Utils::evalOpParm(result, thissop, "newg", cookparms.getCookTime(), 0);
1003  return result;
1004  }
1005  const UT_StringHolder & getInsidegroup() const { return myInsidegroup; }
1006  void setInsidegroup(const UT_StringHolder & val) { myInsidegroup = val; }
1008  {
1009  SOP_Node *thissop = cookparms.getNode();
1010  if (!thissop) return getInsidegroup();
1012  OP_Utils::evalOpParm(result, thissop, "insidegroup", cookparms.getCookTime(), 0);
1013  return result;
1014  }
1015  const UT_StringHolder & getOutsidegroup() const { return myOutsidegroup; }
1016  void setOutsidegroup(const UT_StringHolder & val) { myOutsidegroup = val; }
1018  {
1019  SOP_Node *thissop = cookparms.getNode();
1020  if (!thissop) return getOutsidegroup();
1022  OP_Utils::evalOpParm(result, thissop, "outsidegroup", cookparms.getCookTime(), 0);
1023  return result;
1024  }
1025  bool getDoedgedistattrib() const { return myDoedgedistattrib; }
1026  void setDoedgedistattrib(bool val) { myDoedgedistattrib = val; }
1027  bool opDoedgedistattrib(const SOP_NodeVerb::CookParms &cookparms) const
1028  {
1029  SOP_Node *thissop = cookparms.getNode();
1030  if (!thissop) return getDoedgedistattrib();
1031  bool result;
1032  OP_Utils::evalOpParm(result, thissop, "doedgedistattrib", cookparms.getCookTime(), 0);
1033  return result;
1034  }
1035  const UT_StringHolder & getEdgedistattrib() const { return myEdgedistattrib; }
1036  void setEdgedistattrib(const UT_StringHolder & val) { myEdgedistattrib = val; }
1038  {
1039  SOP_Node *thissop = cookparms.getNode();
1040  if (!thissop) return getEdgedistattrib();
1042  OP_Utils::evalOpParm(result, thissop, "edgedistattrib", cookparms.getCookTime(), 0);
1043  return result;
1044  }
1045  bool getDoedgespeedattrib() const { return myDoedgespeedattrib; }
1046  void setDoedgespeedattrib(bool val) { myDoedgespeedattrib = val; }
1047  bool opDoedgespeedattrib(const SOP_NodeVerb::CookParms &cookparms) const
1048  {
1049  SOP_Node *thissop = cookparms.getNode();
1050  if (!thissop) return getDoedgespeedattrib();
1051  bool result;
1052  OP_Utils::evalOpParm(result, thissop, "doedgespeedattrib", cookparms.getCookTime(), 0);
1053  return result;
1054  }
1055  const UT_StringHolder & getEdgespeedattrib() const { return myEdgespeedattrib; }
1056  void setEdgespeedattrib(const UT_StringHolder & val) { myEdgespeedattrib = val; }
1058  {
1059  SOP_Node *thissop = cookparms.getNode();
1060  if (!thissop) return getEdgespeedattrib();
1062  OP_Utils::evalOpParm(result, thissop, "edgespeedattrib", cookparms.getCookTime(), 0);
1063  return result;
1064  }
1065  fpreal64 getCoincidencetol() const { return myCoincidencetol; }
1066  void setCoincidencetol(fpreal64 val) { myCoincidencetol = val; }
1068  {
1069  SOP_Node *thissop = cookparms.getNode();
1070  if (!thissop) return getCoincidencetol();
1071  fpreal64 result;
1072  OP_Utils::evalOpParm(result, thissop, "coincidencetol", cookparms.getCookTime(), 0);
1073  return result;
1074  }
1075  fpreal64 getParallelismtol() const { return myParallelismtol; }
1076  void setParallelismtol(fpreal64 val) { myParallelismtol = val; }
1078  {
1079  SOP_Node *thissop = cookparms.getNode();
1080  if (!thissop) return getParallelismtol();
1081  fpreal64 result;
1082  OP_Utils::evalOpParm(result, thissop, "parallelismtol", cookparms.getCookTime(), 0);
1083  return result;
1084  }
1085  Skeletonfailure getSkeletonfailure() const { return Skeletonfailure(mySkeletonfailure); }
1086  void setSkeletonfailure(Skeletonfailure val) { mySkeletonfailure = int64(val); }
1088  {
1089  SOP_Node *thissop = cookparms.getNode();
1090  if (!thissop) return getSkeletonfailure();
1091  int64 result;
1092  OP_Utils::evalOpParm(result, thissop, "skeletonfailure", cookparms.getCookTime(), 0);
1093  return Skeletonfailure(result);
1094  }
1095  bool getCacheskeleton() const { return myCacheskeleton; }
1096  void setCacheskeleton(bool val) { myCacheskeleton = val; }
1097  bool opCacheskeleton(const SOP_NodeVerb::CookParms &cookparms) const
1098  {
1099  SOP_Node *thissop = cookparms.getNode();
1100  if (!thissop) return getCacheskeleton();
1101  bool result;
1102  OP_Utils::evalOpParm(result, thissop, "cacheskeleton", cookparms.getCookTime(), 0);
1103  return result;
1104  }
1105  bool getUpdatenmls() const { return myUpdatenmls; }
1106  void setUpdatenmls(bool val) { myUpdatenmls = val; }
1107  bool opUpdatenmls(const SOP_NodeVerb::CookParms &cookparms) const
1108  {
1109  SOP_Node *thissop = cookparms.getNode();
1110  if (!thissop) return getUpdatenmls();
1111  bool result;
1112  OP_Utils::evalOpParm(result, thissop, "updatenmls", cookparms.getCookTime(), 0);
1113  return result;
1114  }
1115 
1116 private:
1117  UT_StringHolder myGroup;
1118  int64 myPlanepossrc;
1119  UT_Vector3D myPlaneorigin;
1120  fpreal64 myPlanedist;
1121  UT_Vector3D myPlanenormal;
1122  int64 myOutput;
1123  fpreal64 myOffset;
1124  int64 myDivs;
1125  int64 mySidedetermination;
1126  bool myOutputinside;
1127  bool myOutputoutside;
1128  bool myKeepinput;
1129  bool myOmitendcaps;
1130  bool myUselocalinsidescale;
1131  UT_StringHolder myLocalinsidescale;
1132  bool myUselocaloutsidescale;
1133  UT_StringHolder myLocaloutsidescale;
1134  bool myNewg;
1135  UT_StringHolder myInsidegroup;
1136  UT_StringHolder myOutsidegroup;
1137  bool myDoedgedistattrib;
1138  UT_StringHolder myEdgedistattrib;
1139  bool myDoedgespeedattrib;
1140  UT_StringHolder myEdgespeedattrib;
1141  fpreal64 myCoincidencetol;
1142  fpreal64 myParallelismtol;
1143  int64 mySkeletonfailure;
1144  bool myCacheskeleton;
1145  bool myUpdatenmls;
1146 
1147 };
GLdouble s
Definition: glew.h:1390
bool opOutputinside(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3I &v)
const UT_StringHolder & getInsidegroup() const
Planepossrc getPlanepossrc() const
exint nodeIdx() const
Definition: SOP_NodeVerb.h:114
exint getNestNumParms(TempIndex idx) const override
bool opCacheskeleton(const SOP_NodeVerb::CookParms &cookparms) const
void setEdgespeedattrib(const UT_StringHolder &val)
bool load(UT_IStream &is)
void setCoincidencetol(fpreal64 val)
GLenum src
Definition: glew.h:2410
int int32
Definition: SYS_Types.h:39
SOP_Node * getNode() const
Definition: SOP_NodeVerb.h:640
void save(std::ostream &os) const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
bool opNewg(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_StringHolder s)
void setPlanedist(fpreal64 val)
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
Skeletonfailure getSkeletonfailure() const
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
fpreal getTime() const
Definition: OP_Context.h:60
void setUselocaloutsidescale(bool val)
fpreal64 opPlanedist(const SOP_NodeVerb::CookParms &cookparms) const
GLuint const GLfloat * val
Definition: glew.h:2794
const UT_StringHolder & getOutsidegroup() const
static void saveData(std::ostream &os, UT_Vector2D v)
const UT_StringHolder & getLocalinsidescale() const
const UT_StringHolder & getEdgedistattrib() const
UT_StringHolder opEdgespeedattrib(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opCoincidencetol(const SOP_NodeVerb::CookParms &cookparms) const
int64 exint
Definition: SYS_Types.h:125
const char * getNestParmName(TempIndex fieldnum) const override
SYS_FORCE_INLINE const char * buffer() const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
const SOP_GraphProxy * graph() const
Definition: SOP_NodeVerb.h:113
static void saveData(std::ostream &os, UT_Matrix2D v)
ParmType getNestParmType(TempIndex fieldnum) const override
An output stream object that owns its own string buffer storage.
const GLdouble * v
Definition: glew.h:1391
UT_Vector3D opPlanenormal(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getParallelismtol() const
bool opKeepinput(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix3D v)
Sidedetermination opSidedetermination(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
static void loadData(UT_IStream &is, UT_Vector3D &v)
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
static void loadData(UT_IStream &is, UT_Matrix3D &v)
double fpreal64
Definition: SYS_Types.h:201
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Definition: Dimensions.h:137
fpreal64 getCoincidencetol() const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
bool operator==(const SOP_PolyExpand2DParms &src) const
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
void setOutsidegroup(const UT_StringHolder &val)
const UT_StringHolder & getGroup() const
SYS_FORCE_INLINE T & y()
Definition: UT_Vector3.h:513
bool opDoedgespeedattrib(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_StringHolder &v)
exint length() const
void loadFromOpSubclass(const LoadParms &loadparms) override
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
Definition: UT_SharedPtr.h:28
static void loadData(UT_IStream &is, UT_Vector2I &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
UT_StringHolder opOutsidegroup(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
GLint GLenum GLsizei GLint GLsizei const void * data
Definition: glew.h:1379
bool opDoedgedistattrib(const SOP_NodeVerb::CookParms &cookparms) const
void setGroup(const UT_StringHolder &val)
UT_StringHolder opEdgedistattrib(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getPlanedist() const
int64 opDivs(const SOP_NodeVerb::CookParms &cookparms) const
Sidedetermination getSidedetermination() const
static void loadData(UT_IStream &is, fpreal64 &v)
const UT_StringHolder & getLocaloutsidescale() const
SYS_FORCE_INLINE T & z()
Definition: UT_Vector3.h:515
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
const GLfloat * c
Definition: glew.h:16296
bool opUpdatenmls(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opOffset(const SOP_NodeVerb::CookParms &cookparms) const
bool opOutputoutside(const SOP_NodeVerb::CookParms &cookparms) const
void setUselocalinsidescale(bool val)
long long int64
Definition: SYS_Types.h:116
void setSkeletonfailure(Skeletonfailure val)
Planepossrc opPlanepossrc(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3T< fpreal64 > UT_Vector3D
static void loadData(UT_IStream &is, UT_Vector4D &v)
UT_StringHolder opLocaloutsidescale(const SOP_NodeVerb::CookParms &cookparms) const
void setPlanenormal(UT_Vector3D val)
static void saveData(std::ostream &os, bool v)
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
fpreal64 opParallelismtol(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector4I &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
UT_StringHolder opLocalinsidescale(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opInsidegroup(const SOP_NodeVerb::CookParms &cookparms) const
void copyFrom(const SOP_NodeParms *src) override
void saveBinary(std::ostream &os) const
Save string to binary stream.
Definition: UT_String.h:294
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
GT_API const UT_StringHolder version
DEP_MicroNode * depnode() const
Definition: SOP_NodeVerb.h:121
void setEdgedistattrib(const UT_StringHolder &val)
void setLocalinsidescale(const UT_StringHolder &val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
Output opOutput(const SOP_NodeVerb::CookParms &cookparms) const
void setSidedetermination(Sidedetermination val)
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
static void loadData(UT_IStream &is, UT_Matrix4D &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
static void loadData(UT_IStream &is, UT_Vector2D &v)
Skeletonfailure opSkeletonfailure(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Vector3D v)
fpreal64 fpreal
Definition: SYS_Types.h:277
Utility class for containing a color ramp.
Definition: UT_Ramp.h:84
void setParallelismtol(fpreal64 val)
GLdouble GLdouble GLdouble r
Definition: glew.h:1406
UT_Vector3D opPlaneorigin(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
#define SOP_API
Definition: SOP_API.h:10
void setLocaloutsidescale(const UT_StringHolder &val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
static void loadData(UT_IStream &is, int64 &v)
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
static void saveData(std::ostream &os, UT_Vector4D v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
SYS_FORCE_INLINE T & x()
Definition: UT_Vector3.h:511
fpreal getCookTime() const
Definition: SOP_NodeVerb.h:654
GLuint64EXT * result
Definition: glew.h:14007
UT_Vector3D getPlanenormal() const
const char * findChar(int c) const
Definition: UT_String.h:1367
#define UT_ASSERT(ZZ)
Definition: UT_Assert.h:135
void buildFromOp(const SOP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
void setInsidegroup(const UT_StringHolder &val)
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
bool opUselocalinsidescale(const SOP_NodeVerb::CookParms &cookparms) const
GLsizei const GLfloat * value
Definition: glew.h:1849
bool opOmitendcaps(const SOP_NodeVerb::CookParms &cookparms) const
bool opUselocaloutsidescale(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
const OP_Context & context() const
Definition: SOP_NodeVerb.h:119
static void saveData(std::ostream &os, fpreal64 v)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
Definition: PRM_Parm.h:89
void setPlaneorigin(UT_Vector3D val)
static void saveData(std::ostream &os, int64 v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
SYS_FORCE_INLINE bool isstring() const
static void loadData(UT_IStream &is, bool &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
void setPlanepossrc(Planepossrc val)
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
void setOffset(fpreal64 val)
type
Definition: core.h:528
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
static void saveData(std::ostream &os, UT_Matrix4D v)
bool operator!=(const SOP_PolyExpand2DParms &src) const
UT_Vector3D getPlaneorigin() const
const UT_StringHolder & getEdgespeedattrib() const