HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SOP_GuideProcessCore.proto.h
Go to the documentation of this file.
1 /* Automagically Generated by generate_proto.py
2  * Do not Edit
3  */
4 #pragma once
5 
6 #include <SOP/SOP_API.h>
7 #include <SOP/SOP_NodeVerb.h>
8 #include <SOP/SOP_GraphProxy.h>
9 
10 #include <OP/OP_Utils.h>
11 #include <PRM/PRM_Parm.h>
12 #include <UT/UT_IStream.h>
13 #include <UT/UT_NTStreamUtil.h>
14 #include <UT/UT_Ramp.h>
15 #include <UT/UT_SharedPtr.h>
16 #include <UT/UT_StringHolder.h>
17 #include <UT/UT_StringStream.h>
18 #include <UT/UT_VectorTypes.h>
19 #include <UT/UT_EnvControl.h>
20 #include <SYS/SYS_Types.h>
21 
22 class DEP_MicroNode;
23 namespace SOP_GuideProcessCoreEnums
24 {
25  enum class Geotype
26  {
27  POLYGONS = 0,
28  BARBS
29  };
30 
32  getToken(Geotype enum_value)
33  {
34  using namespace UT::Literal;
35  switch (enum_value) {
36  case Geotype::POLYGONS: return "polygons"_sh;
37  case Geotype::BARBS: return "barbs"_sh;
38  default: UT_ASSERT(false); return ""_sh;
39  }
40  }
41 
42  enum class Grouptype
43  {
44  PRIMITIVE = 0,
45  POINT,
46  EDGE
47  };
48 
50  getToken(Grouptype enum_value)
51  {
52  using namespace UT::Literal;
53  switch (enum_value) {
54  case Grouptype::PRIMITIVE: return "primitive"_sh;
55  case Grouptype::POINT: return "point"_sh;
56  case Grouptype::EDGE: return "edge"_sh;
57  default: UT_ASSERT(false); return ""_sh;
58  }
59  }
60 
61  enum class Blendoverride
62  {
63  NONE = 0,
65  SKINATTRIB,
66  TEXTURE
67  };
68 
70  getToken(Blendoverride enum_value)
71  {
72  using namespace UT::Literal;
73  switch (enum_value) {
74  case Blendoverride::NONE: return "none"_sh;
75  case Blendoverride::CURVEATTRIB: return "curveattrib"_sh;
76  case Blendoverride::SKINATTRIB: return "skinattrib"_sh;
77  case Blendoverride::TEXTURE: return "texture"_sh;
78  default: UT_ASSERT(false); return ""_sh;
79  }
80  }
81 
82  enum class Op
83  {
84  SETLENGTH = 0,
85  BEND
86  };
87 
89  getToken(Op enum_value)
90  {
91  using namespace UT::Literal;
92  switch (enum_value) {
93  case Op::SETLENGTH: return "setlength"_sh;
94  case Op::BEND: return "bend"_sh;
95  default: UT_ASSERT(false); return ""_sh;
96  }
97  }
98 
99  enum class Setlength_mode
100  {
101  SET = 0,
102  MULTIPLY,
103  ADD,
104  SUBTRACT,
105  SETMIN,
106  SETMAX
107  };
108 
111  {
112  using namespace UT::Literal;
113  switch (enum_value) {
114  case Setlength_mode::SET: return "set"_sh;
115  case Setlength_mode::MULTIPLY: return "multiply"_sh;
116  case Setlength_mode::ADD: return "add"_sh;
117  case Setlength_mode::SUBTRACT: return "subtract"_sh;
118  case Setlength_mode::SETMIN: return "setmin"_sh;
119  case Setlength_mode::SETMAX: return "setmax"_sh;
120  default: UT_ASSERT(false); return ""_sh;
121  }
122  }
123 
124  enum class Setlength_method
125  {
126  SCALE = 0,
127  CUTEXTEND
128  };
129 
132  {
133  using namespace UT::Literal;
134  switch (enum_value) {
135  case Setlength_method::SCALE: return "scale"_sh;
136  case Setlength_method::CUTEXTEND: return "cutextend"_sh;
137  default: UT_ASSERT(false); return ""_sh;
138  }
139  }
140 
142  {
143  NONE = 0,
144  CURVEATTRIB,
145  SKINATTRIB,
146  TEXTURE,
148  };
149 
152  {
153  using namespace UT::Literal;
154  switch (enum_value) {
155  case Setlength_lengthoverride::NONE: return "none"_sh;
156  case Setlength_lengthoverride::CURVEATTRIB: return "curveattrib"_sh;
157  case Setlength_lengthoverride::SKINATTRIB: return "skinattrib"_sh;
158  case Setlength_lengthoverride::TEXTURE: return "texture"_sh;
159  case Setlength_lengthoverride::TEXTUREPRIM: return "textureprim"_sh;
160  default: UT_ASSERT(false); return ""_sh;
161  }
162  }
163 
165  {
166  SKINUV = 0,
167  CURVEUV,
168  FEATHERUV
169  };
170 
173  {
174  using namespace UT::Literal;
175  switch (enum_value) {
176  case Setlength_lengthuvmode::SKINUV: return "skinuv"_sh;
177  case Setlength_lengthuvmode::CURVEUV: return "curveuv"_sh;
178  case Setlength_lengthuvmode::FEATHERUV: return "featheruv"_sh;
179  default: UT_ASSERT(false); return ""_sh;
180  }
181  }
182 
184  {
185  NONE = 0,
186  CURVEATTRIB,
187  SKINATTRIB,
188  TEXTURE,
190  };
191 
194  {
195  using namespace UT::Literal;
196  switch (enum_value) {
197  case Setlength_lengthrandminoverride::NONE: return "none"_sh;
198  case Setlength_lengthrandminoverride::CURVEATTRIB: return "curveattrib"_sh;
199  case Setlength_lengthrandminoverride::SKINATTRIB: return "skinattrib"_sh;
200  case Setlength_lengthrandminoverride::TEXTURE: return "texture"_sh;
201  case Setlength_lengthrandminoverride::TEXTUREPRIM: return "textureprim"_sh;
202  default: UT_ASSERT(false); return ""_sh;
203  }
204  }
205 
207  {
208  SKINUV = 0,
209  CURVEUV,
210  FEATHERUV
211  };
212 
215  {
216  using namespace UT::Literal;
217  switch (enum_value) {
218  case Setlength_lengthrandminuvmode::SKINUV: return "skinuv"_sh;
219  case Setlength_lengthrandminuvmode::CURVEUV: return "curveuv"_sh;
220  case Setlength_lengthrandminuvmode::FEATHERUV: return "featheruv"_sh;
221  default: UT_ASSERT(false); return ""_sh;
222  }
223  }
224 
226  {
227  NONE = 0,
228  CURVEATTRIB,
229  SKINATTRIB,
230  TEXTURE,
232  };
233 
236  {
237  using namespace UT::Literal;
238  switch (enum_value) {
239  case Setlength_lengthrandmaxoverride::NONE: return "none"_sh;
240  case Setlength_lengthrandmaxoverride::CURVEATTRIB: return "curveattrib"_sh;
241  case Setlength_lengthrandmaxoverride::SKINATTRIB: return "skinattrib"_sh;
242  case Setlength_lengthrandmaxoverride::TEXTURE: return "texture"_sh;
243  case Setlength_lengthrandmaxoverride::TEXTUREPRIM: return "textureprim"_sh;
244  default: UT_ASSERT(false); return ""_sh;
245  }
246  }
247 
249  {
250  SKINUV = 0,
251  CURVEUV,
252  FEATHERUV
253  };
254 
257  {
258  using namespace UT::Literal;
259  switch (enum_value) {
260  case Setlength_lengthrandmaxuvmode::SKINUV: return "skinuv"_sh;
261  case Setlength_lengthrandmaxuvmode::CURVEUV: return "curveuv"_sh;
262  case Setlength_lengthrandmaxuvmode::FEATHERUV: return "featheruv"_sh;
263  default: UT_ASSERT(false); return ""_sh;
264  }
265  }
266 
268  {
269  NONE = 0,
270  CURVEATTRIB,
271  SKINATTRIB,
272  TEXTURE,
274  };
275 
278  {
279  using namespace UT::Literal;
280  switch (enum_value) {
281  case Setlength_scalefactoroverride::NONE: return "none"_sh;
282  case Setlength_scalefactoroverride::CURVEATTRIB: return "curveattrib"_sh;
283  case Setlength_scalefactoroverride::SKINATTRIB: return "skinattrib"_sh;
284  case Setlength_scalefactoroverride::TEXTURE: return "texture"_sh;
285  case Setlength_scalefactoroverride::TEXTUREPRIM: return "textureprim"_sh;
286  default: UT_ASSERT(false); return ""_sh;
287  }
288  }
289 
291  {
292  SKINUV = 0,
293  CURVEUV,
294  FEATHERUV
295  };
296 
299  {
300  using namespace UT::Literal;
301  switch (enum_value) {
302  case Setlength_scalefactoruvmode::SKINUV: return "skinuv"_sh;
303  case Setlength_scalefactoruvmode::CURVEUV: return "curveuv"_sh;
304  case Setlength_scalefactoruvmode::FEATHERUV: return "featheruv"_sh;
305  default: UT_ASSERT(false); return ""_sh;
306  }
307  }
308 
310  {
311  NONE = 0,
312  CURVEATTRIB,
313  SKINATTRIB,
314  TEXTURE,
316  };
317 
320  {
321  using namespace UT::Literal;
322  switch (enum_value) {
323  case Setlength_scalefactorrandminoverride::NONE: return "none"_sh;
324  case Setlength_scalefactorrandminoverride::CURVEATTRIB: return "curveattrib"_sh;
325  case Setlength_scalefactorrandminoverride::SKINATTRIB: return "skinattrib"_sh;
326  case Setlength_scalefactorrandminoverride::TEXTURE: return "texture"_sh;
327  case Setlength_scalefactorrandminoverride::TEXTUREPRIM: return "textureprim"_sh;
328  default: UT_ASSERT(false); return ""_sh;
329  }
330  }
331 
333  {
334  SKINUV = 0,
335  CURVEUV,
336  FEATHERUV
337  };
338 
341  {
342  using namespace UT::Literal;
343  switch (enum_value) {
344  case Setlength_scalefactorrandminuvmode::SKINUV: return "skinuv"_sh;
345  case Setlength_scalefactorrandminuvmode::CURVEUV: return "curveuv"_sh;
346  case Setlength_scalefactorrandminuvmode::FEATHERUV: return "featheruv"_sh;
347  default: UT_ASSERT(false); return ""_sh;
348  }
349  }
350 
352  {
353  NONE = 0,
354  CURVEATTRIB,
355  SKINATTRIB,
356  TEXTURE,
358  };
359 
362  {
363  using namespace UT::Literal;
364  switch (enum_value) {
365  case Setlength_scalefactorrandmaxoverride::NONE: return "none"_sh;
366  case Setlength_scalefactorrandmaxoverride::CURVEATTRIB: return "curveattrib"_sh;
367  case Setlength_scalefactorrandmaxoverride::SKINATTRIB: return "skinattrib"_sh;
368  case Setlength_scalefactorrandmaxoverride::TEXTURE: return "texture"_sh;
369  case Setlength_scalefactorrandmaxoverride::TEXTUREPRIM: return "textureprim"_sh;
370  default: UT_ASSERT(false); return ""_sh;
371  }
372  }
373 
375  {
376  SKINUV = 0,
377  CURVEUV,
378  FEATHERUV
379  };
380 
383  {
384  using namespace UT::Literal;
385  switch (enum_value) {
386  case Setlength_scalefactorrandmaxuvmode::SKINUV: return "skinuv"_sh;
387  case Setlength_scalefactorrandmaxuvmode::CURVEUV: return "curveuv"_sh;
388  case Setlength_scalefactorrandmaxuvmode::FEATHERUV: return "featheruv"_sh;
389  default: UT_ASSERT(false); return ""_sh;
390  }
391  }
392 
393  enum class Bend_axismode
394  {
395  ROOTDIR = 0,
396  DIRCONSTANT,
399  AXISCONSTANT,
402  };
403 
405  getToken(Bend_axismode enum_value)
406  {
407  using namespace UT::Literal;
408  switch (enum_value) {
409  case Bend_axismode::ROOTDIR: return "rootdir"_sh;
410  case Bend_axismode::DIRCONSTANT: return "dirconstant"_sh;
411  case Bend_axismode::DIRCURVEATTRIB: return "dircurveattrib"_sh;
412  case Bend_axismode::DIRSKINATTRIB: return "dirskinattrib"_sh;
413  case Bend_axismode::AXISCONSTANT: return "axisconstant"_sh;
414  case Bend_axismode::AXISCURVEATTRIB: return "axiscurveattrib"_sh;
415  case Bend_axismode::AXISSKINATTRIB: return "axisskinattrib"_sh;
416  default: UT_ASSERT(false); return ""_sh;
417  }
418  }
419 
420  enum class Bend_dirtoaxis
421  {
422  SKINNORMAL = 0,
423  ROOTDIR,
424  TANGENT
425  };
426 
429  {
430  using namespace UT::Literal;
431  switch (enum_value) {
432  case Bend_dirtoaxis::SKINNORMAL: return "skinnormal"_sh;
433  case Bend_dirtoaxis::ROOTDIR: return "rootdir"_sh;
434  case Bend_dirtoaxis::TANGENT: return "tangent"_sh;
435  default: UT_ASSERT(false); return ""_sh;
436  }
437  }
438 
440  {
441  NONE = 0,
442  CURVEATTRIB,
443  SKINATTRIB,
444  TEXTURE,
446  };
447 
450  {
451  using namespace UT::Literal;
452  switch (enum_value) {
453  case Bend_angleoverride::NONE: return "none"_sh;
454  case Bend_angleoverride::CURVEATTRIB: return "curveattrib"_sh;
455  case Bend_angleoverride::SKINATTRIB: return "skinattrib"_sh;
456  case Bend_angleoverride::TEXTURE: return "texture"_sh;
457  case Bend_angleoverride::TEXTUREPRIM: return "textureprim"_sh;
458  default: UT_ASSERT(false); return ""_sh;
459  }
460  }
461 
462  enum class Bend_angleuvmode
463  {
464  SKINUV = 0,
465  CURVEUV,
466  FEATHERUV
467  };
468 
471  {
472  using namespace UT::Literal;
473  switch (enum_value) {
474  case Bend_angleuvmode::SKINUV: return "skinuv"_sh;
475  case Bend_angleuvmode::CURVEUV: return "curveuv"_sh;
476  case Bend_angleuvmode::FEATHERUV: return "featheruv"_sh;
477  default: UT_ASSERT(false); return ""_sh;
478  }
479  }
480 
482  {
483  NONE = 0,
484  CURVEATTRIB,
485  SKINATTRIB,
486  TEXTURE,
488  };
489 
492  {
493  using namespace UT::Literal;
494  switch (enum_value) {
495  case Bend_anglerandoverride::NONE: return "none"_sh;
496  case Bend_anglerandoverride::CURVEATTRIB: return "curveattrib"_sh;
497  case Bend_anglerandoverride::SKINATTRIB: return "skinattrib"_sh;
498  case Bend_anglerandoverride::TEXTURE: return "texture"_sh;
499  case Bend_anglerandoverride::TEXTUREPRIM: return "textureprim"_sh;
500  default: UT_ASSERT(false); return ""_sh;
501  }
502  }
503 
505  {
506  SKINUV = 0,
507  CURVEUV,
508  FEATHERUV
509  };
510 
513  {
514  using namespace UT::Literal;
515  switch (enum_value) {
516  case Bend_angleranduvmode::SKINUV: return "skinuv"_sh;
517  case Bend_angleranduvmode::CURVEUV: return "curveuv"_sh;
518  case Bend_angleranduvmode::FEATHERUV: return "featheruv"_sh;
519  default: UT_ASSERT(false); return ""_sh;
520  }
521  }
522 
524  {
525  NONE = 0,
526  CURVEATTRIB,
527  SKINATTRIB,
528  TEXTURE,
530  };
531 
534  {
535  using namespace UT::Literal;
536  switch (enum_value) {
537  case Bend_anglerandbiasoverride::NONE: return "none"_sh;
538  case Bend_anglerandbiasoverride::CURVEATTRIB: return "curveattrib"_sh;
539  case Bend_anglerandbiasoverride::SKINATTRIB: return "skinattrib"_sh;
540  case Bend_anglerandbiasoverride::TEXTURE: return "texture"_sh;
541  case Bend_anglerandbiasoverride::TEXTUREPRIM: return "textureprim"_sh;
542  default: UT_ASSERT(false); return ""_sh;
543  }
544  }
545 
547  {
548  SKINUV = 0,
549  CURVEUV,
550  FEATHERUV
551  };
552 
555  {
556  using namespace UT::Literal;
557  switch (enum_value) {
558  case Bend_anglerandbiasuvmode::SKINUV: return "skinuv"_sh;
559  case Bend_anglerandbiasuvmode::CURVEUV: return "curveuv"_sh;
560  case Bend_anglerandbiasuvmode::FEATHERUV: return "featheruv"_sh;
561  default: UT_ASSERT(false); return ""_sh;
562  }
563  }
564 
565 }
566 
567 
569 {
570 public:
571  static int version() { return 1; }
572 
574  {
575  myGeotype = 0;
576  myBarbside = 3;
577  myUvattrib = "uv"_UTsh;
578  myGrouptype = 0;
579  myGroup = ""_UTsh;
580  mySeed = 0;
581  myVismasks = true;
582  myBlend = 1;
583  myBlendoverride = 0;
584  myBlendcurveattrib = "mask"_UTsh;
585  myBlendattrib = "mask"_UTsh;
586  myBlendtexture = ""_UTsh;
587  myOp = 0;
588  mySetlength_mode = 0;
589  mySetlength_method = 1;
590  mySetlength_blend = 1;
591  mySetlength_randomize = false;
592  mySetlength_length = 0.1;
593  mySetlength_lengthoverride = 0;
594  mySetlength_lengthoptions = 0;
595  mySetlength_lengthinrange = UT_Vector2D(0,1);
596  mySetlength_lengthoutrange = UT_Vector2D(0,1);
597  mySetlength_lengthremapramp = UT_SharedPtr<UT_Ramp>(0);
598  mySetlength_lengthcurveattrib = "length"_UTsh;
599  mySetlength_lengthattrib = "length"_UTsh;
600  mySetlength_lengthtexture = ""_UTsh;
601  mySetlength_lengthtextureprim = "mask"_UTsh;
602  mySetlength_lengthuvmode = 0;
603  mySetlength_lengthrandmin = 0.1;
604  mySetlength_lengthrandminoverride = 0;
605  mySetlength_lengthrandminoptions = 0;
606  mySetlength_lengthrandmininrange = UT_Vector2D(0,1);
607  mySetlength_lengthrandminoutrange = UT_Vector2D(0,1);
608  mySetlength_lengthrandminremapramp = UT_SharedPtr<UT_Ramp>(0);
609  mySetlength_lengthrandmincurveattrib = "minlength"_UTsh;
610  mySetlength_lengthrandminattrib = "minlength"_UTsh;
611  mySetlength_lengthrandmintexture = ""_UTsh;
612  mySetlength_lengthrandmintextureprim = "mask"_UTsh;
613  mySetlength_lengthrandminuvmode = 0;
614  mySetlength_lengthrandmax = 0.2;
615  mySetlength_lengthrandmaxoverride = 0;
616  mySetlength_lengthrandmaxoptions = 0;
617  mySetlength_lengthrandmaxinrange = UT_Vector2D(0,1);
618  mySetlength_lengthrandmaxoutrange = UT_Vector2D(0,1);
619  mySetlength_lengthrandmaxremapramp = UT_SharedPtr<UT_Ramp>(0);
620  mySetlength_lengthrandmaxcurveattrib = "maxlength"_UTsh;
621  mySetlength_lengthrandmaxattrib = "maxlength"_UTsh;
622  mySetlength_lengthrandmaxtexture = ""_UTsh;
623  mySetlength_lengthrandmaxtextureprim = "mask"_UTsh;
624  mySetlength_lengthrandmaxuvmode = 0;
625  mySetlength_scalefactor = 1;
626  mySetlength_scalefactoroverride = 0;
627  mySetlength_scalefactoroptions = 0;
628  mySetlength_scalefactorinrange = UT_Vector2D(0,1);
629  mySetlength_scalefactoroutrange = UT_Vector2D(0,1);
630  mySetlength_scalefactorremapramp = UT_SharedPtr<UT_Ramp>(0);
631  mySetlength_scalefactorcurveattrib = "scalefactor"_UTsh;
632  mySetlength_scalefactorattrib = "scalefactor"_UTsh;
633  mySetlength_scalefactortexture = ""_UTsh;
634  mySetlength_scalefactortextureprim = "mask"_UTsh;
635  mySetlength_scalefactoruvmode = 0;
636  mySetlength_scalefactorrandmin = 1;
637  mySetlength_scalefactorrandminoverride = 0;
638  mySetlength_scalefactorrandminoptions = 0;
639  mySetlength_scalefactorrandmininrange = UT_Vector2D(0,1);
640  mySetlength_scalefactorrandminoutrange = UT_Vector2D(0,1);
641  mySetlength_scalefactorrandminremapramp = UT_SharedPtr<UT_Ramp>(0);
642  mySetlength_scalefactorrandmincurveattrib = "scalefactormin"_UTsh;
643  mySetlength_scalefactorrandminattrib = "scalefactormin"_UTsh;
644  mySetlength_scalefactorrandmintexture = ""_UTsh;
645  mySetlength_scalefactorrandmintextureprim = "mask"_UTsh;
646  mySetlength_scalefactorrandminuvmode = 0;
647  mySetlength_scalefactorrandmax = 1;
648  mySetlength_scalefactorrandmaxoverride = 0;
649  mySetlength_scalefactorrandmaxoptions = 0;
650  mySetlength_scalefactorrandmaxinrange = UT_Vector2D(0,1);
651  mySetlength_scalefactorrandmaxoutrange = UT_Vector2D(0,1);
652  mySetlength_scalefactorrandmaxremapramp = UT_SharedPtr<UT_Ramp>(0);
653  mySetlength_scalefactorrandmaxcurveattrib = "scalefactormax"_UTsh;
654  mySetlength_scalefactorrandmaxattrib = "scalefactormax"_UTsh;
655  mySetlength_scalefactorrandmaxtexture = ""_UTsh;
656  mySetlength_scalefactorrandmaxtextureprim = "mask"_UTsh;
657  mySetlength_scalefactorrandmaxuvmode = 0;
658  mySetlength_cullzerolen = true;
659  mySetlength_cullthreshold = 0.0001;
660  myBend_blend = 1;
661  myBend_axismode = 0;
662  myBend_axis = UT_Vector3D(0,0,-1);
663  myBend_axiscurveattrib = "bendaxis"_UTsh;
664  myBend_axisskinattrib = "bendaxis"_UTsh;
665  myBend_dir = UT_Vector3D(0,0,-1);
666  myBend_dircurveattrib = "benddir"_UTsh;
667  myBend_dirskinattrib = "benddir"_UTsh;
668  myBend_dirtoaxis = 0;
669  myBend_angle = 15;
670  myBend_angleoverride = 0;
671  myBend_angleoptions = 0;
672  myBend_angleinrange = UT_Vector2D(0,1);
673  myBend_angleoutrange = UT_Vector2D(0,1);
674  myBend_anglemapramptobarbs = false;
675  myBend_angleremapramp = UT_SharedPtr<UT_Ramp>(0);
676  myBend_anglecurveattrib = "anglescale"_UTsh;
677  myBend_angleattrib = "anglescale"_UTsh;
678  myBend_angletexture = ""_UTsh;
679  myBend_angletextureprim = "mask"_UTsh;
680  myBend_angleuvmode = 0;
681  myBend_anglerand = 0;
682  myBend_anglerandoverride = 0;
683  myBend_anglerandoptions = 0;
684  myBend_anglerandinrange = UT_Vector2D(0,1);
685  myBend_anglerandoutrange = UT_Vector2D(0,1);
686  myBend_anglerandremapramp = UT_SharedPtr<UT_Ramp>(0);
687  myBend_anglerandcurveattrib = "anglerandscale"_UTsh;
688  myBend_anglerandattrib = "anglerandscale"_UTsh;
689  myBend_anglerandtexture = ""_UTsh;
690  myBend_anglerandtextureprim = "mask"_UTsh;
691  myBend_angleranduvmode = 0;
692  myBend_anglerandbias = 0.5;
693  myBend_anglerandbiasoverride = 0;
694  myBend_anglerandbiasoptions = 0;
695  myBend_anglerandbiasinrange = UT_Vector2D(0,1);
696  myBend_anglerandbiasoutrange = UT_Vector2D(0,1);
697  myBend_anglerandbiasremapramp = UT_SharedPtr<UT_Ramp>(0);
698  myBend_anglerandbiascurveattrib = "anglerandbiasscale"_UTsh;
699  myBend_anglerandbiasattrib = "anglerandbiasscale"_UTsh;
700  myBend_anglerandbiastexture = ""_UTsh;
701  myBend_anglerandbiastextureprim = "mask"_UTsh;
702  myBend_anglerandbiasuvmode = 0;
703 
704  }
705 
706  explicit SOP_GuideProcessCoreParms(const SOP_GuideProcessCoreParms &) = default;
709  SOP_GuideProcessCoreParms &operator=(SOP_GuideProcessCoreParms &&) noexcept = default;
710 
712 
714  {
715  if (myGeotype != src.myGeotype) return false;
716  if (myBarbside != src.myBarbside) return false;
717  if (myUvattrib != src.myUvattrib) return false;
718  if (myGrouptype != src.myGrouptype) return false;
719  if (myGroup != src.myGroup) return false;
720  if (mySeed != src.mySeed) return false;
721  if (myVismasks != src.myVismasks) return false;
722  if (myBlend != src.myBlend) return false;
723  if (myBlendoverride != src.myBlendoverride) return false;
724  if (myBlendcurveattrib != src.myBlendcurveattrib) return false;
725  if (myBlendattrib != src.myBlendattrib) return false;
726  if (myBlendtexture != src.myBlendtexture) return false;
727  if (myOp != src.myOp) return false;
728  if (mySetlength_mode != src.mySetlength_mode) return false;
729  if (mySetlength_method != src.mySetlength_method) return false;
730  if (mySetlength_blend != src.mySetlength_blend) return false;
731  if (mySetlength_randomize != src.mySetlength_randomize) return false;
732  if (mySetlength_length != src.mySetlength_length) return false;
733  if (mySetlength_lengthoverride != src.mySetlength_lengthoverride) return false;
734  if (mySetlength_lengthoptions != src.mySetlength_lengthoptions) return false;
735  if (mySetlength_lengthinrange != src.mySetlength_lengthinrange) return false;
736  if (mySetlength_lengthoutrange != src.mySetlength_lengthoutrange) return false;
737  if (mySetlength_lengthremapramp != src.mySetlength_lengthremapramp)
738  { if (!mySetlength_lengthremapramp || !src.mySetlength_lengthremapramp || !(*mySetlength_lengthremapramp == *src.mySetlength_lengthremapramp)) return false; }
739  if (mySetlength_lengthcurveattrib != src.mySetlength_lengthcurveattrib) return false;
740  if (mySetlength_lengthattrib != src.mySetlength_lengthattrib) return false;
741  if (mySetlength_lengthtexture != src.mySetlength_lengthtexture) return false;
742  if (mySetlength_lengthtextureprim != src.mySetlength_lengthtextureprim) return false;
743  if (mySetlength_lengthuvmode != src.mySetlength_lengthuvmode) return false;
744  if (mySetlength_lengthrandmin != src.mySetlength_lengthrandmin) return false;
745  if (mySetlength_lengthrandminoverride != src.mySetlength_lengthrandminoverride) return false;
746  if (mySetlength_lengthrandminoptions != src.mySetlength_lengthrandminoptions) return false;
747  if (mySetlength_lengthrandmininrange != src.mySetlength_lengthrandmininrange) return false;
748  if (mySetlength_lengthrandminoutrange != src.mySetlength_lengthrandminoutrange) return false;
749  if (mySetlength_lengthrandminremapramp != src.mySetlength_lengthrandminremapramp)
750  { if (!mySetlength_lengthrandminremapramp || !src.mySetlength_lengthrandminremapramp || !(*mySetlength_lengthrandminremapramp == *src.mySetlength_lengthrandminremapramp)) return false; }
751  if (mySetlength_lengthrandmincurveattrib != src.mySetlength_lengthrandmincurveattrib) return false;
752  if (mySetlength_lengthrandminattrib != src.mySetlength_lengthrandminattrib) return false;
753  if (mySetlength_lengthrandmintexture != src.mySetlength_lengthrandmintexture) return false;
754  if (mySetlength_lengthrandmintextureprim != src.mySetlength_lengthrandmintextureprim) return false;
755  if (mySetlength_lengthrandminuvmode != src.mySetlength_lengthrandminuvmode) return false;
756  if (mySetlength_lengthrandmax != src.mySetlength_lengthrandmax) return false;
757  if (mySetlength_lengthrandmaxoverride != src.mySetlength_lengthrandmaxoverride) return false;
758  if (mySetlength_lengthrandmaxoptions != src.mySetlength_lengthrandmaxoptions) return false;
759  if (mySetlength_lengthrandmaxinrange != src.mySetlength_lengthrandmaxinrange) return false;
760  if (mySetlength_lengthrandmaxoutrange != src.mySetlength_lengthrandmaxoutrange) return false;
761  if (mySetlength_lengthrandmaxremapramp != src.mySetlength_lengthrandmaxremapramp)
762  { if (!mySetlength_lengthrandmaxremapramp || !src.mySetlength_lengthrandmaxremapramp || !(*mySetlength_lengthrandmaxremapramp == *src.mySetlength_lengthrandmaxremapramp)) return false; }
763  if (mySetlength_lengthrandmaxcurveattrib != src.mySetlength_lengthrandmaxcurveattrib) return false;
764  if (mySetlength_lengthrandmaxattrib != src.mySetlength_lengthrandmaxattrib) return false;
765  if (mySetlength_lengthrandmaxtexture != src.mySetlength_lengthrandmaxtexture) return false;
766  if (mySetlength_lengthrandmaxtextureprim != src.mySetlength_lengthrandmaxtextureprim) return false;
767  if (mySetlength_lengthrandmaxuvmode != src.mySetlength_lengthrandmaxuvmode) return false;
768  if (mySetlength_scalefactor != src.mySetlength_scalefactor) return false;
769  if (mySetlength_scalefactoroverride != src.mySetlength_scalefactoroverride) return false;
770  if (mySetlength_scalefactoroptions != src.mySetlength_scalefactoroptions) return false;
771  if (mySetlength_scalefactorinrange != src.mySetlength_scalefactorinrange) return false;
772  if (mySetlength_scalefactoroutrange != src.mySetlength_scalefactoroutrange) return false;
773  if (mySetlength_scalefactorremapramp != src.mySetlength_scalefactorremapramp)
774  { if (!mySetlength_scalefactorremapramp || !src.mySetlength_scalefactorremapramp || !(*mySetlength_scalefactorremapramp == *src.mySetlength_scalefactorremapramp)) return false; }
775  if (mySetlength_scalefactorcurveattrib != src.mySetlength_scalefactorcurveattrib) return false;
776  if (mySetlength_scalefactorattrib != src.mySetlength_scalefactorattrib) return false;
777  if (mySetlength_scalefactortexture != src.mySetlength_scalefactortexture) return false;
778  if (mySetlength_scalefactortextureprim != src.mySetlength_scalefactortextureprim) return false;
779  if (mySetlength_scalefactoruvmode != src.mySetlength_scalefactoruvmode) return false;
780  if (mySetlength_scalefactorrandmin != src.mySetlength_scalefactorrandmin) return false;
781  if (mySetlength_scalefactorrandminoverride != src.mySetlength_scalefactorrandminoverride) return false;
782  if (mySetlength_scalefactorrandminoptions != src.mySetlength_scalefactorrandminoptions) return false;
783  if (mySetlength_scalefactorrandmininrange != src.mySetlength_scalefactorrandmininrange) return false;
784  if (mySetlength_scalefactorrandminoutrange != src.mySetlength_scalefactorrandminoutrange) return false;
785  if (mySetlength_scalefactorrandminremapramp != src.mySetlength_scalefactorrandminremapramp)
786  { if (!mySetlength_scalefactorrandminremapramp || !src.mySetlength_scalefactorrandminremapramp || !(*mySetlength_scalefactorrandminremapramp == *src.mySetlength_scalefactorrandminremapramp)) return false; }
787  if (mySetlength_scalefactorrandmincurveattrib != src.mySetlength_scalefactorrandmincurveattrib) return false;
788  if (mySetlength_scalefactorrandminattrib != src.mySetlength_scalefactorrandminattrib) return false;
789  if (mySetlength_scalefactorrandmintexture != src.mySetlength_scalefactorrandmintexture) return false;
790  if (mySetlength_scalefactorrandmintextureprim != src.mySetlength_scalefactorrandmintextureprim) return false;
791  if (mySetlength_scalefactorrandminuvmode != src.mySetlength_scalefactorrandminuvmode) return false;
792  if (mySetlength_scalefactorrandmax != src.mySetlength_scalefactorrandmax) return false;
793  if (mySetlength_scalefactorrandmaxoverride != src.mySetlength_scalefactorrandmaxoverride) return false;
794  if (mySetlength_scalefactorrandmaxoptions != src.mySetlength_scalefactorrandmaxoptions) return false;
795  if (mySetlength_scalefactorrandmaxinrange != src.mySetlength_scalefactorrandmaxinrange) return false;
796  if (mySetlength_scalefactorrandmaxoutrange != src.mySetlength_scalefactorrandmaxoutrange) return false;
797  if (mySetlength_scalefactorrandmaxremapramp != src.mySetlength_scalefactorrandmaxremapramp)
798  { if (!mySetlength_scalefactorrandmaxremapramp || !src.mySetlength_scalefactorrandmaxremapramp || !(*mySetlength_scalefactorrandmaxremapramp == *src.mySetlength_scalefactorrandmaxremapramp)) return false; }
799  if (mySetlength_scalefactorrandmaxcurveattrib != src.mySetlength_scalefactorrandmaxcurveattrib) return false;
800  if (mySetlength_scalefactorrandmaxattrib != src.mySetlength_scalefactorrandmaxattrib) return false;
801  if (mySetlength_scalefactorrandmaxtexture != src.mySetlength_scalefactorrandmaxtexture) return false;
802  if (mySetlength_scalefactorrandmaxtextureprim != src.mySetlength_scalefactorrandmaxtextureprim) return false;
803  if (mySetlength_scalefactorrandmaxuvmode != src.mySetlength_scalefactorrandmaxuvmode) return false;
804  if (mySetlength_cullzerolen != src.mySetlength_cullzerolen) return false;
805  if (mySetlength_cullthreshold != src.mySetlength_cullthreshold) return false;
806  if (myBend_blend != src.myBend_blend) return false;
807  if (myBend_axismode != src.myBend_axismode) return false;
808  if (myBend_axis != src.myBend_axis) return false;
809  if (myBend_axiscurveattrib != src.myBend_axiscurveattrib) return false;
810  if (myBend_axisskinattrib != src.myBend_axisskinattrib) return false;
811  if (myBend_dir != src.myBend_dir) return false;
812  if (myBend_dircurveattrib != src.myBend_dircurveattrib) return false;
813  if (myBend_dirskinattrib != src.myBend_dirskinattrib) return false;
814  if (myBend_dirtoaxis != src.myBend_dirtoaxis) return false;
815  if (myBend_angle != src.myBend_angle) return false;
816  if (myBend_angleoverride != src.myBend_angleoverride) return false;
817  if (myBend_angleoptions != src.myBend_angleoptions) return false;
818  if (myBend_angleinrange != src.myBend_angleinrange) return false;
819  if (myBend_angleoutrange != src.myBend_angleoutrange) return false;
820  if (myBend_anglemapramptobarbs != src.myBend_anglemapramptobarbs) return false;
821  if (myBend_angleremapramp != src.myBend_angleremapramp)
822  { if (!myBend_angleremapramp || !src.myBend_angleremapramp || !(*myBend_angleremapramp == *src.myBend_angleremapramp)) return false; }
823  if (myBend_anglecurveattrib != src.myBend_anglecurveattrib) return false;
824  if (myBend_angleattrib != src.myBend_angleattrib) return false;
825  if (myBend_angletexture != src.myBend_angletexture) return false;
826  if (myBend_angletextureprim != src.myBend_angletextureprim) return false;
827  if (myBend_angleuvmode != src.myBend_angleuvmode) return false;
828  if (myBend_anglerand != src.myBend_anglerand) return false;
829  if (myBend_anglerandoverride != src.myBend_anglerandoverride) return false;
830  if (myBend_anglerandoptions != src.myBend_anglerandoptions) return false;
831  if (myBend_anglerandinrange != src.myBend_anglerandinrange) return false;
832  if (myBend_anglerandoutrange != src.myBend_anglerandoutrange) return false;
833  if (myBend_anglerandremapramp != src.myBend_anglerandremapramp)
834  { if (!myBend_anglerandremapramp || !src.myBend_anglerandremapramp || !(*myBend_anglerandremapramp == *src.myBend_anglerandremapramp)) return false; }
835  if (myBend_anglerandcurveattrib != src.myBend_anglerandcurveattrib) return false;
836  if (myBend_anglerandattrib != src.myBend_anglerandattrib) return false;
837  if (myBend_anglerandtexture != src.myBend_anglerandtexture) return false;
838  if (myBend_anglerandtextureprim != src.myBend_anglerandtextureprim) return false;
839  if (myBend_angleranduvmode != src.myBend_angleranduvmode) return false;
840  if (myBend_anglerandbias != src.myBend_anglerandbias) return false;
841  if (myBend_anglerandbiasoverride != src.myBend_anglerandbiasoverride) return false;
842  if (myBend_anglerandbiasoptions != src.myBend_anglerandbiasoptions) return false;
843  if (myBend_anglerandbiasinrange != src.myBend_anglerandbiasinrange) return false;
844  if (myBend_anglerandbiasoutrange != src.myBend_anglerandbiasoutrange) return false;
845  if (myBend_anglerandbiasremapramp != src.myBend_anglerandbiasremapramp)
846  { if (!myBend_anglerandbiasremapramp || !src.myBend_anglerandbiasremapramp || !(*myBend_anglerandbiasremapramp == *src.myBend_anglerandbiasremapramp)) return false; }
847  if (myBend_anglerandbiascurveattrib != src.myBend_anglerandbiascurveattrib) return false;
848  if (myBend_anglerandbiasattrib != src.myBend_anglerandbiasattrib) return false;
849  if (myBend_anglerandbiastexture != src.myBend_anglerandbiastexture) return false;
850  if (myBend_anglerandbiastextureprim != src.myBend_anglerandbiastextureprim) return false;
851  if (myBend_anglerandbiasuvmode != src.myBend_anglerandbiasuvmode) return false;
852 
853  return true;
854  }
856  {
857  return !operator==(src);
858  }
885 
886 
887 
888  void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
889  {
890  myGeotype = 0;
891  if (true)
892  graph->evalOpParm(myGeotype, nodeidx, "geotype", time, 0);
893  myBarbside = 3;
894  if (true)
895  graph->evalOpParm(myBarbside, nodeidx, "barbside", time, 0);
896  myUvattrib = "uv"_UTsh;
897  if (true)
898  graph->evalOpParm(myUvattrib, nodeidx, "uvattrib", time, 0);
899  myGrouptype = 0;
900  if (true)
901  graph->evalOpParm(myGrouptype, nodeidx, "grouptype", time, 0);
902  myGroup = ""_UTsh;
903  if (true)
904  graph->evalOpParm(myGroup, nodeidx, "group", time, 0);
905  mySeed = 0;
906  if (true)
907  graph->evalOpParm(mySeed, nodeidx, "seed", time, 0);
908  myVismasks = true;
909  if (true)
910  graph->evalOpParm(myVismasks, nodeidx, "vismasks", time, 0);
911  myBlend = 1;
912  if (true)
913  graph->evalOpParm(myBlend, nodeidx, "blend", time, 0);
914  myBlendoverride = 0;
915  if (true)
916  graph->evalOpParm(myBlendoverride, nodeidx, "blendoverride", time, 0);
917  myBlendcurveattrib = "mask"_UTsh;
918  if (true && ( (true&&!(((int64(getBlendoverride())!=1)))) ) )
919  graph->evalOpParm(myBlendcurveattrib, nodeidx, "blendcurveattrib", time, 0);
920  myBlendattrib = "mask"_UTsh;
921  if (true && ( (true&&!(((int64(getBlendoverride())!=2)))) ) )
922  graph->evalOpParm(myBlendattrib, nodeidx, "blendattrib", time, 0);
923  myBlendtexture = ""_UTsh;
924  if (true && ( (true&&!(((int64(getBlendoverride())!=3)))) ) )
925  graph->evalOpParm(myBlendtexture, nodeidx, "blendtexture", time, 0);
926  myOp = 0;
927  if (true)
928  graph->evalOpParm(myOp, nodeidx, "op", time, 0);
929  mySetlength_mode = 0;
930  if (true && ( (true&&!(((int64(getOp())!=0)))) ) )
931  graph->evalOpParm(mySetlength_mode, nodeidx, "setlength_mode", time, 0);
932  mySetlength_method = 1;
933  if (true && ( (true&&!(((int64(getOp())!=0)))) ) )
934  graph->evalOpParm(mySetlength_method, nodeidx, "setlength_method", time, 0);
935  mySetlength_blend = 1;
936  if (true && ( (true&&!(((int64(getOp())!=0)))) ) )
937  graph->evalOpParm(mySetlength_blend, nodeidx, "setlength_blend", time, 0);
938  mySetlength_randomize = false;
939  if (true && ( (true&&!(((int64(getOp())!=0)))) ) )
940  graph->evalOpParm(mySetlength_randomize, nodeidx, "setlength_randomize", time, 0);
941  mySetlength_length = 0.1;
942  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()!=0)))) ) )
943  graph->evalOpParm(mySetlength_length, nodeidx, "setlength_length", time, 0);
944  mySetlength_lengthoverride = 0;
945  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()!=0)))) ) )
946  graph->evalOpParm(mySetlength_lengthoverride, nodeidx, "setlength_lengthoverride", time, 0);
947  mySetlength_lengthoptions = 0;
948  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()!=0)))) ) )
949  graph->evalOpParm(mySetlength_lengthoptions, nodeidx, "setlength_lengthoptions", time, 0);
950  mySetlength_lengthinrange = UT_Vector2D(0,1);
951  if (true && ( (true&&!(((int64(getSetlength_lengthoverride())==0))||((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()!=0))||((getSetlength_lengthoptions()!=1)&&(getSetlength_lengthoptions()!=3)))) ) )
952  graph->evalOpParm(mySetlength_lengthinrange, nodeidx, "setlength_lengthinrange", time, 0);
953  mySetlength_lengthoutrange = UT_Vector2D(0,1);
954  if (true && ( (true&&!(((int64(getSetlength_lengthoverride())==0))||((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()!=0))||((getSetlength_lengthoptions()!=1)&&(getSetlength_lengthoptions()!=3)))) ) )
955  graph->evalOpParm(mySetlength_lengthoutrange, nodeidx, "setlength_lengthoutrange", time, 0);
956  mySetlength_lengthremapramp = UT_SharedPtr<UT_Ramp>(0);
957  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()!=0))||((getSetlength_lengthoptions()!=2)&&(getSetlength_lengthoptions()!=3)))) ) )
958  graph->evalOpParm(mySetlength_lengthremapramp, nodeidx, "setlength_lengthremapramp", time, 0);
959  mySetlength_lengthcurveattrib = "length"_UTsh;
960  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()!=0))||((int64(getSetlength_lengthoverride())!=1)))) ) )
961  graph->evalOpParm(mySetlength_lengthcurveattrib, nodeidx, "setlength_lengthcurveattrib", time, 0);
962  mySetlength_lengthattrib = "length"_UTsh;
963  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()!=0))||((int64(getSetlength_lengthoverride())!=2)))) ) )
964  graph->evalOpParm(mySetlength_lengthattrib, nodeidx, "setlength_lengthattrib", time, 0);
965  mySetlength_lengthtexture = ""_UTsh;
966  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()!=0))||((int64(getSetlength_lengthoverride())!=3)))) ) )
967  graph->evalOpParm(mySetlength_lengthtexture, nodeidx, "setlength_lengthtexture", time, 0);
968  mySetlength_lengthtextureprim = "mask"_UTsh;
969  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()!=0))||((int64(getSetlength_lengthoverride())!=4)))) ) )
970  graph->evalOpParm(mySetlength_lengthtextureprim, nodeidx, "setlength_lengthtextureprim", time, 0);
971  mySetlength_lengthuvmode = 0;
972  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()!=0))||((int64(getSetlength_lengthoverride())!=4)))) ) )
973  graph->evalOpParm(mySetlength_lengthuvmode, nodeidx, "setlength_lengthuvmode", time, 0);
974  mySetlength_lengthrandmin = 0.1;
975  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0)))) ) )
976  graph->evalOpParm(mySetlength_lengthrandmin, nodeidx, "setlength_lengthrandmin", time, 0);
977  mySetlength_lengthrandminoverride = 0;
978  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0)))) ) )
979  graph->evalOpParm(mySetlength_lengthrandminoverride, nodeidx, "setlength_lengthrandminoverride", time, 0);
980  mySetlength_lengthrandminoptions = 0;
981  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0)))) ) )
982  graph->evalOpParm(mySetlength_lengthrandminoptions, nodeidx, "setlength_lengthrandminoptions", time, 0);
983  mySetlength_lengthrandmininrange = UT_Vector2D(0,1);
984  if (true && ( (true&&!(((int64(getSetlength_lengthrandminoverride())==0))||((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((getSetlength_lengthrandminoptions()!=1)&&(getSetlength_lengthrandminoptions()!=3)))) ) )
985  graph->evalOpParm(mySetlength_lengthrandmininrange, nodeidx, "setlength_lengthrandmininrange", time, 0);
986  mySetlength_lengthrandminoutrange = UT_Vector2D(0,1);
987  if (true && ( (true&&!(((int64(getSetlength_lengthrandminoverride())==0))||((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((getSetlength_lengthrandminoptions()!=1)&&(getSetlength_lengthrandminoptions()!=3)))) ) )
988  graph->evalOpParm(mySetlength_lengthrandminoutrange, nodeidx, "setlength_lengthrandminoutrange", time, 0);
989  mySetlength_lengthrandminremapramp = UT_SharedPtr<UT_Ramp>(0);
990  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((getSetlength_lengthrandminoptions()!=2)&&(getSetlength_lengthrandminoptions()!=3)))) ) )
991  graph->evalOpParm(mySetlength_lengthrandminremapramp, nodeidx, "setlength_lengthrandminremapramp", time, 0);
992  mySetlength_lengthrandmincurveattrib = "minlength"_UTsh;
993  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((int64(getSetlength_lengthrandminoverride())!=1)))) ) )
994  graph->evalOpParm(mySetlength_lengthrandmincurveattrib, nodeidx, "setlength_lengthrandmincurveattrib", time, 0);
995  mySetlength_lengthrandminattrib = "minlength"_UTsh;
996  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((int64(getSetlength_lengthrandminoverride())!=2)))) ) )
997  graph->evalOpParm(mySetlength_lengthrandminattrib, nodeidx, "setlength_lengthrandminattrib", time, 0);
998  mySetlength_lengthrandmintexture = ""_UTsh;
999  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((int64(getSetlength_lengthrandminoverride())!=3)))) ) )
1000  graph->evalOpParm(mySetlength_lengthrandmintexture, nodeidx, "setlength_lengthrandmintexture", time, 0);
1001  mySetlength_lengthrandmintextureprim = "mask"_UTsh;
1002  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((int64(getSetlength_lengthrandminoverride())!=4)))) ) )
1003  graph->evalOpParm(mySetlength_lengthrandmintextureprim, nodeidx, "setlength_lengthrandmintextureprim", time, 0);
1004  mySetlength_lengthrandminuvmode = 0;
1005  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((int64(getSetlength_lengthrandminoverride())!=4)))) ) )
1006  graph->evalOpParm(mySetlength_lengthrandminuvmode, nodeidx, "setlength_lengthrandminuvmode", time, 0);
1007  mySetlength_lengthrandmax = 0.2;
1008  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0)))) ) )
1009  graph->evalOpParm(mySetlength_lengthrandmax, nodeidx, "setlength_lengthrandmax", time, 0);
1010  mySetlength_lengthrandmaxoverride = 0;
1011  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0)))) ) )
1012  graph->evalOpParm(mySetlength_lengthrandmaxoverride, nodeidx, "setlength_lengthrandmaxoverride", time, 0);
1013  mySetlength_lengthrandmaxoptions = 0;
1014  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0)))) ) )
1015  graph->evalOpParm(mySetlength_lengthrandmaxoptions, nodeidx, "setlength_lengthrandmaxoptions", time, 0);
1016  mySetlength_lengthrandmaxinrange = UT_Vector2D(0,1);
1017  if (true && ( (true&&!(((int64(getSetlength_lengthrandmaxoverride())==0))||((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((getSetlength_lengthrandmaxoptions()!=1)&&(getSetlength_lengthrandmaxoptions()!=3)))) ) )
1018  graph->evalOpParm(mySetlength_lengthrandmaxinrange, nodeidx, "setlength_lengthrandmaxinrange", time, 0);
1019  mySetlength_lengthrandmaxoutrange = UT_Vector2D(0,1);
1020  if (true && ( (true&&!(((int64(getSetlength_lengthrandmaxoverride())==0))||((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((getSetlength_lengthrandmaxoptions()!=1)&&(getSetlength_lengthrandmaxoptions()!=3)))) ) )
1021  graph->evalOpParm(mySetlength_lengthrandmaxoutrange, nodeidx, "setlength_lengthrandmaxoutrange", time, 0);
1022  mySetlength_lengthrandmaxremapramp = UT_SharedPtr<UT_Ramp>(0);
1023  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((getSetlength_lengthrandmaxoptions()!=2)&&(getSetlength_lengthrandmaxoptions()!=3)))) ) )
1024  graph->evalOpParm(mySetlength_lengthrandmaxremapramp, nodeidx, "setlength_lengthrandmaxremapramp", time, 0);
1025  mySetlength_lengthrandmaxcurveattrib = "maxlength"_UTsh;
1026  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((int64(getSetlength_lengthrandmaxoverride())!=1)))) ) )
1027  graph->evalOpParm(mySetlength_lengthrandmaxcurveattrib, nodeidx, "setlength_lengthrandmaxcurveattrib", time, 0);
1028  mySetlength_lengthrandmaxattrib = "maxlength"_UTsh;
1029  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((int64(getSetlength_lengthrandmaxoverride())!=2)))) ) )
1030  graph->evalOpParm(mySetlength_lengthrandmaxattrib, nodeidx, "setlength_lengthrandmaxattrib", time, 0);
1031  mySetlength_lengthrandmaxtexture = ""_UTsh;
1032  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((int64(getSetlength_lengthrandmaxoverride())!=3)))) ) )
1033  graph->evalOpParm(mySetlength_lengthrandmaxtexture, nodeidx, "setlength_lengthrandmaxtexture", time, 0);
1034  mySetlength_lengthrandmaxtextureprim = "mask"_UTsh;
1035  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((int64(getSetlength_lengthrandmaxoverride())!=4)))) ) )
1036  graph->evalOpParm(mySetlength_lengthrandmaxtextureprim, nodeidx, "setlength_lengthrandmaxtextureprim", time, 0);
1037  mySetlength_lengthrandmaxuvmode = 0;
1038  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((int64(getSetlength_lengthrandmaxoverride())!=4)))) ) )
1039  graph->evalOpParm(mySetlength_lengthrandmaxuvmode, nodeidx, "setlength_lengthrandmaxuvmode", time, 0);
1040  mySetlength_scalefactor = 1;
1041  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==1)))) ) )
1042  graph->evalOpParm(mySetlength_scalefactor, nodeidx, "setlength_scalefactor", time, 0);
1043  mySetlength_scalefactoroverride = 0;
1044  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==1)))) ) )
1045  graph->evalOpParm(mySetlength_scalefactoroverride, nodeidx, "setlength_scalefactoroverride", time, 0);
1046  mySetlength_scalefactoroptions = 0;
1047  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==1)))) ) )
1048  graph->evalOpParm(mySetlength_scalefactoroptions, nodeidx, "setlength_scalefactoroptions", time, 0);
1049  mySetlength_scalefactorinrange = UT_Vector2D(0,1);
1050  if (true && ( (true&&!(((int64(getSetlength_scalefactoroverride())==0))||((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==1))||((getSetlength_scalefactoroptions()!=1)&&(getSetlength_scalefactoroptions()!=3)))) ) )
1051  graph->evalOpParm(mySetlength_scalefactorinrange, nodeidx, "setlength_scalefactorinrange", time, 0);
1052  mySetlength_scalefactoroutrange = UT_Vector2D(0,1);
1053  if (true && ( (true&&!(((int64(getSetlength_scalefactoroverride())==0))||((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==1))||((getSetlength_scalefactoroptions()!=1)&&(getSetlength_scalefactoroptions()!=3)))) ) )
1054  graph->evalOpParm(mySetlength_scalefactoroutrange, nodeidx, "setlength_scalefactoroutrange", time, 0);
1055  mySetlength_scalefactorremapramp = UT_SharedPtr<UT_Ramp>(0);
1056  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==1))||((getSetlength_scalefactoroptions()!=2)&&(getSetlength_scalefactoroptions()!=3)))) ) )
1057  graph->evalOpParm(mySetlength_scalefactorremapramp, nodeidx, "setlength_scalefactorremapramp", time, 0);
1058  mySetlength_scalefactorcurveattrib = "scalefactor"_UTsh;
1059  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==1))||((int64(getSetlength_scalefactoroverride())!=1)))) ) )
1060  graph->evalOpParm(mySetlength_scalefactorcurveattrib, nodeidx, "setlength_scalefactorcurveattrib", time, 0);
1061  mySetlength_scalefactorattrib = "scalefactor"_UTsh;
1062  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==1))||((int64(getSetlength_scalefactoroverride())!=2)))) ) )
1063  graph->evalOpParm(mySetlength_scalefactorattrib, nodeidx, "setlength_scalefactorattrib", time, 0);
1064  mySetlength_scalefactortexture = ""_UTsh;
1065  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==1))||((int64(getSetlength_scalefactoroverride())!=3)))) ) )
1066  graph->evalOpParm(mySetlength_scalefactortexture, nodeidx, "setlength_scalefactortexture", time, 0);
1067  mySetlength_scalefactortextureprim = "mask"_UTsh;
1068  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==1))||((int64(getSetlength_scalefactoroverride())!=4)))) ) )
1069  graph->evalOpParm(mySetlength_scalefactortextureprim, nodeidx, "setlength_scalefactortextureprim", time, 0);
1070  mySetlength_scalefactoruvmode = 0;
1071  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==1))||((int64(getSetlength_scalefactoroverride())!=4)))) ) )
1072  graph->evalOpParm(mySetlength_scalefactoruvmode, nodeidx, "setlength_scalefactoruvmode", time, 0);
1073  mySetlength_scalefactorrandmin = 1;
1074  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0)))) ) )
1075  graph->evalOpParm(mySetlength_scalefactorrandmin, nodeidx, "setlength_scalefactorrandmin", time, 0);
1076  mySetlength_scalefactorrandminoverride = 0;
1077  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0)))) ) )
1078  graph->evalOpParm(mySetlength_scalefactorrandminoverride, nodeidx, "setlength_scalefactorrandminoverride", time, 0);
1079  mySetlength_scalefactorrandminoptions = 0;
1080  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0)))) ) )
1081  graph->evalOpParm(mySetlength_scalefactorrandminoptions, nodeidx, "setlength_scalefactorrandminoptions", time, 0);
1082  mySetlength_scalefactorrandmininrange = UT_Vector2D(0,1);
1083  if (true && ( (true&&!(((int64(getSetlength_scalefactorrandminoverride())==0))||((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((getSetlength_scalefactorrandminoptions()!=1)&&(getSetlength_scalefactorrandminoptions()!=3)))) ) )
1084  graph->evalOpParm(mySetlength_scalefactorrandmininrange, nodeidx, "setlength_scalefactorrandmininrange", time, 0);
1085  mySetlength_scalefactorrandminoutrange = UT_Vector2D(0,1);
1086  if (true && ( (true&&!(((int64(getSetlength_scalefactorrandminoverride())==0))||((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((getSetlength_scalefactorrandminoptions()!=1)&&(getSetlength_scalefactorrandminoptions()!=3)))) ) )
1087  graph->evalOpParm(mySetlength_scalefactorrandminoutrange, nodeidx, "setlength_scalefactorrandminoutrange", time, 0);
1088  mySetlength_scalefactorrandminremapramp = UT_SharedPtr<UT_Ramp>(0);
1089  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((getSetlength_scalefactorrandminoptions()!=2)&&(getSetlength_scalefactorrandminoptions()!=3)))) ) )
1090  graph->evalOpParm(mySetlength_scalefactorrandminremapramp, nodeidx, "setlength_scalefactorrandminremapramp", time, 0);
1091  mySetlength_scalefactorrandmincurveattrib = "scalefactormin"_UTsh;
1092  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((int64(getSetlength_scalefactorrandminoverride())!=1)))) ) )
1093  graph->evalOpParm(mySetlength_scalefactorrandmincurveattrib, nodeidx, "setlength_scalefactorrandmincurveattrib", time, 0);
1094  mySetlength_scalefactorrandminattrib = "scalefactormin"_UTsh;
1095  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((int64(getSetlength_scalefactorrandminoverride())!=2)))) ) )
1096  graph->evalOpParm(mySetlength_scalefactorrandminattrib, nodeidx, "setlength_scalefactorrandminattrib", time, 0);
1097  mySetlength_scalefactorrandmintexture = ""_UTsh;
1098  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((int64(getSetlength_scalefactorrandminoverride())!=3)))) ) )
1099  graph->evalOpParm(mySetlength_scalefactorrandmintexture, nodeidx, "setlength_scalefactorrandmintexture", time, 0);
1100  mySetlength_scalefactorrandmintextureprim = "mask"_UTsh;
1101  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((int64(getSetlength_scalefactorrandminoverride())!=4)))) ) )
1102  graph->evalOpParm(mySetlength_scalefactorrandmintextureprim, nodeidx, "setlength_scalefactorrandmintextureprim", time, 0);
1103  mySetlength_scalefactorrandminuvmode = 0;
1104  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((int64(getSetlength_scalefactorrandminoverride())!=4)))) ) )
1105  graph->evalOpParm(mySetlength_scalefactorrandminuvmode, nodeidx, "setlength_scalefactorrandminuvmode", time, 0);
1106  mySetlength_scalefactorrandmax = 1;
1107  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0)))) ) )
1108  graph->evalOpParm(mySetlength_scalefactorrandmax, nodeidx, "setlength_scalefactorrandmax", time, 0);
1109  mySetlength_scalefactorrandmaxoverride = 0;
1110  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0)))) ) )
1111  graph->evalOpParm(mySetlength_scalefactorrandmaxoverride, nodeidx, "setlength_scalefactorrandmaxoverride", time, 0);
1112  mySetlength_scalefactorrandmaxoptions = 0;
1113  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0)))) ) )
1114  graph->evalOpParm(mySetlength_scalefactorrandmaxoptions, nodeidx, "setlength_scalefactorrandmaxoptions", time, 0);
1115  mySetlength_scalefactorrandmaxinrange = UT_Vector2D(0,1);
1116  if (true && ( (true&&!(((int64(getSetlength_scalefactorrandmaxoverride())==0))||((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((getSetlength_scalefactorrandmaxoptions()!=1)&&(getSetlength_scalefactorrandmaxoptions()!=3)))) ) )
1117  graph->evalOpParm(mySetlength_scalefactorrandmaxinrange, nodeidx, "setlength_scalefactorrandmaxinrange", time, 0);
1118  mySetlength_scalefactorrandmaxoutrange = UT_Vector2D(0,1);
1119  if (true && ( (true&&!(((int64(getSetlength_scalefactorrandmaxoverride())==0))||((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((getSetlength_scalefactorrandmaxoptions()!=1)&&(getSetlength_scalefactorrandmaxoptions()!=3)))) ) )
1120  graph->evalOpParm(mySetlength_scalefactorrandmaxoutrange, nodeidx, "setlength_scalefactorrandmaxoutrange", time, 0);
1121  mySetlength_scalefactorrandmaxremapramp = UT_SharedPtr<UT_Ramp>(0);
1122  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((getSetlength_scalefactorrandmaxoptions()!=2)&&(getSetlength_scalefactorrandmaxoptions()!=3)))) ) )
1123  graph->evalOpParm(mySetlength_scalefactorrandmaxremapramp, nodeidx, "setlength_scalefactorrandmaxremapramp", time, 0);
1124  mySetlength_scalefactorrandmaxcurveattrib = "scalefactormax"_UTsh;
1125  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((int64(getSetlength_scalefactorrandmaxoverride())!=1)))) ) )
1126  graph->evalOpParm(mySetlength_scalefactorrandmaxcurveattrib, nodeidx, "setlength_scalefactorrandmaxcurveattrib", time, 0);
1127  mySetlength_scalefactorrandmaxattrib = "scalefactormax"_UTsh;
1128  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((int64(getSetlength_scalefactorrandmaxoverride())!=2)))) ) )
1129  graph->evalOpParm(mySetlength_scalefactorrandmaxattrib, nodeidx, "setlength_scalefactorrandmaxattrib", time, 0);
1130  mySetlength_scalefactorrandmaxtexture = ""_UTsh;
1131  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((int64(getSetlength_scalefactorrandmaxoverride())!=3)))) ) )
1132  graph->evalOpParm(mySetlength_scalefactorrandmaxtexture, nodeidx, "setlength_scalefactorrandmaxtexture", time, 0);
1133  mySetlength_scalefactorrandmaxtextureprim = "mask"_UTsh;
1134  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((int64(getSetlength_scalefactorrandmaxoverride())!=4)))) ) )
1135  graph->evalOpParm(mySetlength_scalefactorrandmaxtextureprim, nodeidx, "setlength_scalefactorrandmaxtextureprim", time, 0);
1136  mySetlength_scalefactorrandmaxuvmode = 0;
1137  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((int64(getSetlength_scalefactorrandmaxoverride())!=4)))) ) )
1138  graph->evalOpParm(mySetlength_scalefactorrandmaxuvmode, nodeidx, "setlength_scalefactorrandmaxuvmode", time, 0);
1139  mySetlength_cullzerolen = true;
1140  if (true && ( (true&&!(((int64(getOp())!=0)))) ) )
1141  graph->evalOpParm(mySetlength_cullzerolen, nodeidx, "setlength_cullzerolen", time, 0);
1142  mySetlength_cullthreshold = 0.0001;
1143  if (true && ( (true&&!(((getSetlength_cullzerolen()==0))||((int64(getOp())!=0)))) ) )
1144  graph->evalOpParm(mySetlength_cullthreshold, nodeidx, "setlength_cullthreshold", time, 0);
1145  myBend_blend = 1;
1146  if (true && ( (true&&!(((int64(getOp())!=1)))) ) )
1147  graph->evalOpParm(myBend_blend, nodeidx, "bend_blend", time, 0);
1148  myBend_axismode = 0;
1149  if (true && ( (true&&!(((int64(getOp())!=1)))) ) )
1150  graph->evalOpParm(myBend_axismode, nodeidx, "bend_axismode", time, 0);
1151  myBend_axis = UT_Vector3D(0,0,-1);
1152  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_axismode())!=4)))) ) )
1153  graph->evalOpParm(myBend_axis, nodeidx, "bend_axis", time, 0);
1154  myBend_axiscurveattrib = "bendaxis"_UTsh;
1155  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_axismode())!=5)))) ) )
1156  graph->evalOpParm(myBend_axiscurveattrib, nodeidx, "bend_axiscurveattrib", time, 0);
1157  myBend_axisskinattrib = "bendaxis"_UTsh;
1158  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_axismode())!=6)))) ) )
1159  graph->evalOpParm(myBend_axisskinattrib, nodeidx, "bend_axisskinattrib", time, 0);
1160  myBend_dir = UT_Vector3D(0,0,-1);
1161  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_axismode())!=1)))) ) )
1162  graph->evalOpParm(myBend_dir, nodeidx, "bend_dir", time, 0);
1163  myBend_dircurveattrib = "benddir"_UTsh;
1164  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_axismode())!=2)))) ) )
1165  graph->evalOpParm(myBend_dircurveattrib, nodeidx, "bend_dircurveattrib", time, 0);
1166  myBend_dirskinattrib = "benddir"_UTsh;
1167  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_axismode())!=3)))) ) )
1168  graph->evalOpParm(myBend_dirskinattrib, nodeidx, "bend_dirskinattrib", time, 0);
1169  myBend_dirtoaxis = 0;
1170  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_axismode())!=0)&&(int64(getBend_axismode())!=1)&&(int64(getBend_axismode())!=2)&&(int64(getBend_axismode())!=3)))) ) )
1171  graph->evalOpParm(myBend_dirtoaxis, nodeidx, "bend_dirtoaxis", time, 0);
1172  myBend_angle = 15;
1173  if (true && ( (true&&!(((int64(getOp())!=1)))) ) )
1174  graph->evalOpParm(myBend_angle, nodeidx, "bend_angle", time, 0);
1175  myBend_angleoverride = 0;
1176  if (true && ( (true&&!(((int64(getOp())!=1)))) ) )
1177  graph->evalOpParm(myBend_angleoverride, nodeidx, "bend_angleoverride", time, 0);
1178  myBend_angleoptions = 0;
1179  if (true && ( (true&&!(((int64(getOp())!=1)))) ) )
1180  graph->evalOpParm(myBend_angleoptions, nodeidx, "bend_angleoptions", time, 0);
1181  myBend_angleinrange = UT_Vector2D(0,1);
1182  if (true && ( (true&&!(((int64(getBend_angleoverride())==0))||((int64(getOp())!=1))||((getBend_angleoptions()!=1)&&(getBend_angleoptions()!=3)))) ) )
1183  graph->evalOpParm(myBend_angleinrange, nodeidx, "bend_angleinrange", time, 0);
1184  myBend_angleoutrange = UT_Vector2D(0,1);
1185  if (true && ( (true&&!(((int64(getBend_angleoverride())==0))||((int64(getOp())!=1))||((getBend_angleoptions()!=1)&&(getBend_angleoptions()!=3)))) ) )
1186  graph->evalOpParm(myBend_angleoutrange, nodeidx, "bend_angleoutrange", time, 0);
1187  myBend_anglemapramptobarbs = false;
1188  if (true && ( (true&&!(((int64(getOp())!=1))||((getBend_angleoptions()!=2)&&(getBend_angleoptions()!=3)))) ) )
1189  graph->evalOpParm(myBend_anglemapramptobarbs, nodeidx, "bend_anglemapramptobarbs", time, 0);
1190  myBend_angleremapramp = UT_SharedPtr<UT_Ramp>(0);
1191  if (true && ( (true&&!(((int64(getOp())!=1))||((getBend_angleoptions()!=2)&&(getBend_angleoptions()!=3)))) ) )
1192  graph->evalOpParm(myBend_angleremapramp, nodeidx, "bend_angleremapramp", time, 0);
1193  myBend_anglecurveattrib = "anglescale"_UTsh;
1194  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_angleoverride())!=1)))) ) )
1195  graph->evalOpParm(myBend_anglecurveattrib, nodeidx, "bend_anglecurveattrib", time, 0);
1196  myBend_angleattrib = "anglescale"_UTsh;
1197  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_angleoverride())!=2)))) ) )
1198  graph->evalOpParm(myBend_angleattrib, nodeidx, "bend_angleattrib", time, 0);
1199  myBend_angletexture = ""_UTsh;
1200  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_angleoverride())!=3)))) ) )
1201  graph->evalOpParm(myBend_angletexture, nodeidx, "bend_angletexture", time, 0);
1202  myBend_angletextureprim = "mask"_UTsh;
1203  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_angleoverride())!=4)))) ) )
1204  graph->evalOpParm(myBend_angletextureprim, nodeidx, "bend_angletextureprim", time, 0);
1205  myBend_angleuvmode = 0;
1206  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_angleoverride())!=4)))) ) )
1207  graph->evalOpParm(myBend_angleuvmode, nodeidx, "bend_angleuvmode", time, 0);
1208  myBend_anglerand = 0;
1209  if (true && ( (true&&!(((int64(getOp())!=1)))) ) )
1210  graph->evalOpParm(myBend_anglerand, nodeidx, "bend_anglerand", time, 0);
1211  myBend_anglerandoverride = 0;
1212  if (true && ( (true&&!(((int64(getOp())!=1)))) ) )
1213  graph->evalOpParm(myBend_anglerandoverride, nodeidx, "bend_anglerandoverride", time, 0);
1214  myBend_anglerandoptions = 0;
1215  if (true && ( (true&&!(((int64(getOp())!=1)))) ) )
1216  graph->evalOpParm(myBend_anglerandoptions, nodeidx, "bend_anglerandoptions", time, 0);
1217  myBend_anglerandinrange = UT_Vector2D(0,1);
1218  if (true && ( (true&&!(((int64(getBend_anglerandoverride())==0))||((int64(getOp())!=1))||((getBend_anglerandoptions()!=1)&&(getBend_anglerandoptions()!=3)))) ) )
1219  graph->evalOpParm(myBend_anglerandinrange, nodeidx, "bend_anglerandinrange", time, 0);
1220  myBend_anglerandoutrange = UT_Vector2D(0,1);
1221  if (true && ( (true&&!(((int64(getBend_anglerandoverride())==0))||((int64(getOp())!=1))||((getBend_anglerandoptions()!=1)&&(getBend_anglerandoptions()!=3)))) ) )
1222  graph->evalOpParm(myBend_anglerandoutrange, nodeidx, "bend_anglerandoutrange", time, 0);
1223  myBend_anglerandremapramp = UT_SharedPtr<UT_Ramp>(0);
1224  if (true && ( (true&&!(((int64(getOp())!=1))||((getBend_anglerandoptions()!=2)&&(getBend_anglerandoptions()!=3)))) ) )
1225  graph->evalOpParm(myBend_anglerandremapramp, nodeidx, "bend_anglerandremapramp", time, 0);
1226  myBend_anglerandcurveattrib = "anglerandscale"_UTsh;
1227  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_anglerandoverride())!=1)))) ) )
1228  graph->evalOpParm(myBend_anglerandcurveattrib, nodeidx, "bend_anglerandcurveattrib", time, 0);
1229  myBend_anglerandattrib = "anglerandscale"_UTsh;
1230  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_anglerandoverride())!=2)))) ) )
1231  graph->evalOpParm(myBend_anglerandattrib, nodeidx, "bend_anglerandattrib", time, 0);
1232  myBend_anglerandtexture = ""_UTsh;
1233  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_anglerandoverride())!=3)))) ) )
1234  graph->evalOpParm(myBend_anglerandtexture, nodeidx, "bend_anglerandtexture", time, 0);
1235  myBend_anglerandtextureprim = "mask"_UTsh;
1236  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_anglerandoverride())!=4)))) ) )
1237  graph->evalOpParm(myBend_anglerandtextureprim, nodeidx, "bend_anglerandtextureprim", time, 0);
1238  myBend_angleranduvmode = 0;
1239  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_anglerandoverride())!=4)))) ) )
1240  graph->evalOpParm(myBend_angleranduvmode, nodeidx, "bend_angleranduvmode", time, 0);
1241  myBend_anglerandbias = 0.5;
1242  if (true && ( (true&&!(((int64(getOp())!=1)))) ) )
1243  graph->evalOpParm(myBend_anglerandbias, nodeidx, "bend_anglerandbias", time, 0);
1244  myBend_anglerandbiasoverride = 0;
1245  if (true && ( (true&&!(((int64(getOp())!=1)))) ) )
1246  graph->evalOpParm(myBend_anglerandbiasoverride, nodeidx, "bend_anglerandbiasoverride", time, 0);
1247  myBend_anglerandbiasoptions = 0;
1248  if (true && ( (true&&!(((int64(getOp())!=1)))) ) )
1249  graph->evalOpParm(myBend_anglerandbiasoptions, nodeidx, "bend_anglerandbiasoptions", time, 0);
1250  myBend_anglerandbiasinrange = UT_Vector2D(0,1);
1251  if (true && ( (true&&!(((int64(getBend_anglerandbiasoverride())==0))||((int64(getOp())!=1))||((getBend_anglerandbiasoptions()!=1)&&(getBend_anglerandbiasoptions()!=3)))) ) )
1252  graph->evalOpParm(myBend_anglerandbiasinrange, nodeidx, "bend_anglerandbiasinrange", time, 0);
1253  myBend_anglerandbiasoutrange = UT_Vector2D(0,1);
1254  if (true && ( (true&&!(((int64(getBend_anglerandbiasoverride())==0))||((int64(getOp())!=1))||((getBend_anglerandbiasoptions()!=1)&&(getBend_anglerandbiasoptions()!=3)))) ) )
1255  graph->evalOpParm(myBend_anglerandbiasoutrange, nodeidx, "bend_anglerandbiasoutrange", time, 0);
1256  myBend_anglerandbiasremapramp = UT_SharedPtr<UT_Ramp>(0);
1257  if (true && ( (true&&!(((int64(getOp())!=1))||((getBend_anglerandbiasoptions()!=2)&&(getBend_anglerandbiasoptions()!=3)))) ) )
1258  graph->evalOpParm(myBend_anglerandbiasremapramp, nodeidx, "bend_anglerandbiasremapramp", time, 0);
1259  myBend_anglerandbiascurveattrib = "anglerandbiasscale"_UTsh;
1260  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_anglerandbiasoverride())!=1)))) ) )
1261  graph->evalOpParm(myBend_anglerandbiascurveattrib, nodeidx, "bend_anglerandbiascurveattrib", time, 0);
1262  myBend_anglerandbiasattrib = "anglerandbiasscale"_UTsh;
1263  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_anglerandbiasoverride())!=2)))) ) )
1264  graph->evalOpParm(myBend_anglerandbiasattrib, nodeidx, "bend_anglerandbiasattrib", time, 0);
1265  myBend_anglerandbiastexture = ""_UTsh;
1266  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_anglerandbiasoverride())!=3)))) ) )
1267  graph->evalOpParm(myBend_anglerandbiastexture, nodeidx, "bend_anglerandbiastexture", time, 0);
1268  myBend_anglerandbiastextureprim = "mask"_UTsh;
1269  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_anglerandbiasoverride())!=4)))) ) )
1270  graph->evalOpParm(myBend_anglerandbiastextureprim, nodeidx, "bend_anglerandbiastextureprim", time, 0);
1271  myBend_anglerandbiasuvmode = 0;
1272  if (true && ( (true&&!(((int64(getOp())!=1))||((int64(getBend_anglerandbiasoverride())!=4)))) ) )
1273  graph->evalOpParm(myBend_anglerandbiasuvmode, nodeidx, "bend_anglerandbiasuvmode", time, 0);
1274 
1275  }
1276 
1277 
1278  void loadFromOpSubclass(const LoadParms &loadparms) override
1279  {
1280  buildFromOp(loadparms.graph(), loadparms.nodeIdx(), loadparms.context().getTime(), loadparms.depnode());
1281  }
1282 
1283 
1284  void copyFrom(const OP_NodeParms *src) override
1285  {
1286  *this = *((const SOP_GuideProcessCoreParms *)src);
1287  }
1288 
1289  template <typename T>
1290  void
1291  doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
1292  {
1293  if (idx.size() < 1)
1294  return;
1295  UT_ASSERT(idx.size() == instance.size()+1);
1296  if (idx.size() != instance.size()+1)
1297  return;
1298  switch (idx[0])
1299  {
1300  case 0:
1301  coerceValue(value, myGeotype);
1302  break;
1303  case 1:
1304  coerceValue(value, myBarbside);
1305  break;
1306  case 2:
1307  coerceValue(value, myUvattrib);
1308  break;
1309  case 3:
1310  coerceValue(value, myGrouptype);
1311  break;
1312  case 4:
1313  coerceValue(value, myGroup);
1314  break;
1315  case 5:
1316  coerceValue(value, mySeed);
1317  break;
1318  case 6:
1319  coerceValue(value, myVismasks);
1320  break;
1321  case 7:
1322  coerceValue(value, myBlend);
1323  break;
1324  case 8:
1325  coerceValue(value, myBlendoverride);
1326  break;
1327  case 9:
1328  coerceValue(value, myBlendcurveattrib);
1329  break;
1330  case 10:
1331  coerceValue(value, myBlendattrib);
1332  break;
1333  case 11:
1334  coerceValue(value, myBlendtexture);
1335  break;
1336  case 12:
1337  coerceValue(value, myOp);
1338  break;
1339  case 13:
1340  coerceValue(value, mySetlength_mode);
1341  break;
1342  case 14:
1343  coerceValue(value, mySetlength_method);
1344  break;
1345  case 15:
1346  coerceValue(value, mySetlength_blend);
1347  break;
1348  case 16:
1349  coerceValue(value, mySetlength_randomize);
1350  break;
1351  case 17:
1352  coerceValue(value, mySetlength_length);
1353  break;
1354  case 18:
1355  coerceValue(value, mySetlength_lengthoverride);
1356  break;
1357  case 19:
1358  coerceValue(value, mySetlength_lengthoptions);
1359  break;
1360  case 20:
1361  coerceValue(value, mySetlength_lengthinrange);
1362  break;
1363  case 21:
1364  coerceValue(value, mySetlength_lengthoutrange);
1365  break;
1366  case 22:
1367  coerceValue(value, mySetlength_lengthremapramp);
1368  break;
1369  case 23:
1370  coerceValue(value, mySetlength_lengthcurveattrib);
1371  break;
1372  case 24:
1373  coerceValue(value, mySetlength_lengthattrib);
1374  break;
1375  case 25:
1376  coerceValue(value, mySetlength_lengthtexture);
1377  break;
1378  case 26:
1379  coerceValue(value, mySetlength_lengthtextureprim);
1380  break;
1381  case 27:
1382  coerceValue(value, mySetlength_lengthuvmode);
1383  break;
1384  case 28:
1385  coerceValue(value, mySetlength_lengthrandmin);
1386  break;
1387  case 29:
1388  coerceValue(value, mySetlength_lengthrandminoverride);
1389  break;
1390  case 30:
1391  coerceValue(value, mySetlength_lengthrandminoptions);
1392  break;
1393  case 31:
1394  coerceValue(value, mySetlength_lengthrandmininrange);
1395  break;
1396  case 32:
1397  coerceValue(value, mySetlength_lengthrandminoutrange);
1398  break;
1399  case 33:
1400  coerceValue(value, mySetlength_lengthrandminremapramp);
1401  break;
1402  case 34:
1403  coerceValue(value, mySetlength_lengthrandmincurveattrib);
1404  break;
1405  case 35:
1406  coerceValue(value, mySetlength_lengthrandminattrib);
1407  break;
1408  case 36:
1409  coerceValue(value, mySetlength_lengthrandmintexture);
1410  break;
1411  case 37:
1412  coerceValue(value, mySetlength_lengthrandmintextureprim);
1413  break;
1414  case 38:
1415  coerceValue(value, mySetlength_lengthrandminuvmode);
1416  break;
1417  case 39:
1418  coerceValue(value, mySetlength_lengthrandmax);
1419  break;
1420  case 40:
1421  coerceValue(value, mySetlength_lengthrandmaxoverride);
1422  break;
1423  case 41:
1424  coerceValue(value, mySetlength_lengthrandmaxoptions);
1425  break;
1426  case 42:
1427  coerceValue(value, mySetlength_lengthrandmaxinrange);
1428  break;
1429  case 43:
1430  coerceValue(value, mySetlength_lengthrandmaxoutrange);
1431  break;
1432  case 44:
1433  coerceValue(value, mySetlength_lengthrandmaxremapramp);
1434  break;
1435  case 45:
1436  coerceValue(value, mySetlength_lengthrandmaxcurveattrib);
1437  break;
1438  case 46:
1439  coerceValue(value, mySetlength_lengthrandmaxattrib);
1440  break;
1441  case 47:
1442  coerceValue(value, mySetlength_lengthrandmaxtexture);
1443  break;
1444  case 48:
1445  coerceValue(value, mySetlength_lengthrandmaxtextureprim);
1446  break;
1447  case 49:
1448  coerceValue(value, mySetlength_lengthrandmaxuvmode);
1449  break;
1450  case 50:
1451  coerceValue(value, mySetlength_scalefactor);
1452  break;
1453  case 51:
1454  coerceValue(value, mySetlength_scalefactoroverride);
1455  break;
1456  case 52:
1457  coerceValue(value, mySetlength_scalefactoroptions);
1458  break;
1459  case 53:
1460  coerceValue(value, mySetlength_scalefactorinrange);
1461  break;
1462  case 54:
1463  coerceValue(value, mySetlength_scalefactoroutrange);
1464  break;
1465  case 55:
1466  coerceValue(value, mySetlength_scalefactorremapramp);
1467  break;
1468  case 56:
1469  coerceValue(value, mySetlength_scalefactorcurveattrib);
1470  break;
1471  case 57:
1472  coerceValue(value, mySetlength_scalefactorattrib);
1473  break;
1474  case 58:
1475  coerceValue(value, mySetlength_scalefactortexture);
1476  break;
1477  case 59:
1478  coerceValue(value, mySetlength_scalefactortextureprim);
1479  break;
1480  case 60:
1481  coerceValue(value, mySetlength_scalefactoruvmode);
1482  break;
1483  case 61:
1484  coerceValue(value, mySetlength_scalefactorrandmin);
1485  break;
1486  case 62:
1487  coerceValue(value, mySetlength_scalefactorrandminoverride);
1488  break;
1489  case 63:
1490  coerceValue(value, mySetlength_scalefactorrandminoptions);
1491  break;
1492  case 64:
1493  coerceValue(value, mySetlength_scalefactorrandmininrange);
1494  break;
1495  case 65:
1496  coerceValue(value, mySetlength_scalefactorrandminoutrange);
1497  break;
1498  case 66:
1499  coerceValue(value, mySetlength_scalefactorrandminremapramp);
1500  break;
1501  case 67:
1502  coerceValue(value, mySetlength_scalefactorrandmincurveattrib);
1503  break;
1504  case 68:
1505  coerceValue(value, mySetlength_scalefactorrandminattrib);
1506  break;
1507  case 69:
1508  coerceValue(value, mySetlength_scalefactorrandmintexture);
1509  break;
1510  case 70:
1511  coerceValue(value, mySetlength_scalefactorrandmintextureprim);
1512  break;
1513  case 71:
1514  coerceValue(value, mySetlength_scalefactorrandminuvmode);
1515  break;
1516  case 72:
1517  coerceValue(value, mySetlength_scalefactorrandmax);
1518  break;
1519  case 73:
1520  coerceValue(value, mySetlength_scalefactorrandmaxoverride);
1521  break;
1522  case 74:
1523  coerceValue(value, mySetlength_scalefactorrandmaxoptions);
1524  break;
1525  case 75:
1526  coerceValue(value, mySetlength_scalefactorrandmaxinrange);
1527  break;
1528  case 76:
1529  coerceValue(value, mySetlength_scalefactorrandmaxoutrange);
1530  break;
1531  case 77:
1532  coerceValue(value, mySetlength_scalefactorrandmaxremapramp);
1533  break;
1534  case 78:
1535  coerceValue(value, mySetlength_scalefactorrandmaxcurveattrib);
1536  break;
1537  case 79:
1538  coerceValue(value, mySetlength_scalefactorrandmaxattrib);
1539  break;
1540  case 80:
1541  coerceValue(value, mySetlength_scalefactorrandmaxtexture);
1542  break;
1543  case 81:
1544  coerceValue(value, mySetlength_scalefactorrandmaxtextureprim);
1545  break;
1546  case 82:
1547  coerceValue(value, mySetlength_scalefactorrandmaxuvmode);
1548  break;
1549  case 83:
1550  coerceValue(value, mySetlength_cullzerolen);
1551  break;
1552  case 84:
1553  coerceValue(value, mySetlength_cullthreshold);
1554  break;
1555  case 85:
1556  coerceValue(value, myBend_blend);
1557  break;
1558  case 86:
1559  coerceValue(value, myBend_axismode);
1560  break;
1561  case 87:
1562  coerceValue(value, myBend_axis);
1563  break;
1564  case 88:
1565  coerceValue(value, myBend_axiscurveattrib);
1566  break;
1567  case 89:
1568  coerceValue(value, myBend_axisskinattrib);
1569  break;
1570  case 90:
1571  coerceValue(value, myBend_dir);
1572  break;
1573  case 91:
1574  coerceValue(value, myBend_dircurveattrib);
1575  break;
1576  case 92:
1577  coerceValue(value, myBend_dirskinattrib);
1578  break;
1579  case 93:
1580  coerceValue(value, myBend_dirtoaxis);
1581  break;
1582  case 94:
1583  coerceValue(value, myBend_angle);
1584  break;
1585  case 95:
1586  coerceValue(value, myBend_angleoverride);
1587  break;
1588  case 96:
1589  coerceValue(value, myBend_angleoptions);
1590  break;
1591  case 97:
1592  coerceValue(value, myBend_angleinrange);
1593  break;
1594  case 98:
1595  coerceValue(value, myBend_angleoutrange);
1596  break;
1597  case 99:
1598  coerceValue(value, myBend_anglemapramptobarbs);
1599  break;
1600  case 100:
1601  coerceValue(value, myBend_angleremapramp);
1602  break;
1603  case 101:
1604  coerceValue(value, myBend_anglecurveattrib);
1605  break;
1606  case 102:
1607  coerceValue(value, myBend_angleattrib);
1608  break;
1609  case 103:
1610  coerceValue(value, myBend_angletexture);
1611  break;
1612  case 104:
1613  coerceValue(value, myBend_angletextureprim);
1614  break;
1615  case 105:
1616  coerceValue(value, myBend_angleuvmode);
1617  break;
1618  case 106:
1619  coerceValue(value, myBend_anglerand);
1620  break;
1621  case 107:
1622  coerceValue(value, myBend_anglerandoverride);
1623  break;
1624  case 108:
1625  coerceValue(value, myBend_anglerandoptions);
1626  break;
1627  case 109:
1628  coerceValue(value, myBend_anglerandinrange);
1629  break;
1630  case 110:
1631  coerceValue(value, myBend_anglerandoutrange);
1632  break;
1633  case 111:
1634  coerceValue(value, myBend_anglerandremapramp);
1635  break;
1636  case 112:
1637  coerceValue(value, myBend_anglerandcurveattrib);
1638  break;
1639  case 113:
1640  coerceValue(value, myBend_anglerandattrib);
1641  break;
1642  case 114:
1643  coerceValue(value, myBend_anglerandtexture);
1644  break;
1645  case 115:
1646  coerceValue(value, myBend_anglerandtextureprim);
1647  break;
1648  case 116:
1649  coerceValue(value, myBend_angleranduvmode);
1650  break;
1651  case 117:
1652  coerceValue(value, myBend_anglerandbias);
1653  break;
1654  case 118:
1655  coerceValue(value, myBend_anglerandbiasoverride);
1656  break;
1657  case 119:
1658  coerceValue(value, myBend_anglerandbiasoptions);
1659  break;
1660  case 120:
1661  coerceValue(value, myBend_anglerandbiasinrange);
1662  break;
1663  case 121:
1664  coerceValue(value, myBend_anglerandbiasoutrange);
1665  break;
1666  case 122:
1667  coerceValue(value, myBend_anglerandbiasremapramp);
1668  break;
1669  case 123:
1670  coerceValue(value, myBend_anglerandbiascurveattrib);
1671  break;
1672  case 124:
1673  coerceValue(value, myBend_anglerandbiasattrib);
1674  break;
1675  case 125:
1676  coerceValue(value, myBend_anglerandbiastexture);
1677  break;
1678  case 126:
1679  coerceValue(value, myBend_anglerandbiastextureprim);
1680  break;
1681  case 127:
1682  coerceValue(value, myBend_anglerandbiasuvmode);
1683  break;
1684 
1685  }
1686  }
1687 
1688  bool isParmColorRamp(exint idx) const override
1689  {
1690  switch (idx)
1691  {
1692 
1693  }
1694  return false;
1695  }
1696 
1697  void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
1698  { doGetParmValue(idx, instance, value); }
1699  void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
1700  { doGetParmValue(idx, instance, value); }
1701  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
1702  { doGetParmValue(idx, instance, value); }
1703  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
1704  { doGetParmValue(idx, instance, value); }
1705  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
1706  { doGetParmValue(idx, instance, value); }
1707  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
1708  { doGetParmValue(idx, instance, value); }
1709  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
1710  { doGetParmValue(idx, instance, value); }
1711  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
1712  { doGetParmValue(idx, instance, value); }
1713  void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
1714  { doGetParmValue(idx, instance, value); }
1715  void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr<UT_Ramp> &value) const override
1716  { doGetParmValue(idx, instance, value); }
1717  void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
1718  { doGetParmValue(idx, instance, value); }
1719 
1720  template <typename T>
1721  void
1722  doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
1723  {
1724  if (idx.size() < 1)
1725  return;
1726  UT_ASSERT(idx.size() == instance.size()+1);
1727  if (idx.size() != instance.size()+1)
1728  return;
1729  switch (idx[0])
1730  {
1731  case 0:
1732  coerceValue(myGeotype, clampMinValue(0, clampMaxValue(1, value ) ));
1733  break;
1734  case 1:
1735  coerceValue(myBarbside, ( ( value ) ));
1736  break;
1737  case 2:
1738  coerceValue(myUvattrib, ( ( value ) ));
1739  break;
1740  case 3:
1741  coerceValue(myGrouptype, clampMinValue(0, clampMaxValue(2, value ) ));
1742  break;
1743  case 4:
1744  coerceValue(myGroup, ( ( value ) ));
1745  break;
1746  case 5:
1747  coerceValue(mySeed, ( ( value ) ));
1748  break;
1749  case 6:
1750  coerceValue(myVismasks, ( ( value ) ));
1751  break;
1752  case 7:
1753  coerceValue(myBlend, clampMinValue(0, clampMaxValue(1, value ) ));
1754  break;
1755  case 8:
1756  coerceValue(myBlendoverride, clampMinValue(0, clampMaxValue(3, value ) ));
1757  break;
1758  case 9:
1759  coerceValue(myBlendcurveattrib, ( ( value ) ));
1760  break;
1761  case 10:
1762  coerceValue(myBlendattrib, ( ( value ) ));
1763  break;
1764  case 11:
1765  coerceValue(myBlendtexture, ( ( value ) ));
1766  break;
1767  case 12:
1768  coerceValue(myOp, clampMinValue(0, clampMaxValue(1, value ) ));
1769  break;
1770  case 13:
1771  coerceValue(mySetlength_mode, clampMinValue(0, clampMaxValue(5, value ) ));
1772  break;
1773  case 14:
1774  coerceValue(mySetlength_method, clampMinValue(0, clampMaxValue(1, value ) ));
1775  break;
1776  case 15:
1777  coerceValue(mySetlength_blend, clampMinValue(0, clampMaxValue(1, value ) ));
1778  break;
1779  case 16:
1780  coerceValue(mySetlength_randomize, ( ( value ) ));
1781  break;
1782  case 17:
1783  coerceValue(mySetlength_length, clampMinValue(0, ( value ) ));
1784  break;
1785  case 18:
1786  coerceValue(mySetlength_lengthoverride, clampMinValue(0, clampMaxValue(4, value ) ));
1787  break;
1788  case 19:
1789  coerceValue(mySetlength_lengthoptions, ( ( value ) ));
1790  break;
1791  case 20:
1792  coerceValue(mySetlength_lengthinrange, ( ( value ) ));
1793  break;
1794  case 21:
1795  coerceValue(mySetlength_lengthoutrange, ( ( value ) ));
1796  break;
1797  case 22:
1798  coerceValue(mySetlength_lengthremapramp, clampMinValue(1, ( value ) ));
1799  break;
1800  case 23:
1801  coerceValue(mySetlength_lengthcurveattrib, ( ( value ) ));
1802  break;
1803  case 24:
1804  coerceValue(mySetlength_lengthattrib, ( ( value ) ));
1805  break;
1806  case 25:
1807  coerceValue(mySetlength_lengthtexture, ( ( value ) ));
1808  break;
1809  case 26:
1810  coerceValue(mySetlength_lengthtextureprim, ( ( value ) ));
1811  break;
1812  case 27:
1813  coerceValue(mySetlength_lengthuvmode, clampMinValue(0, clampMaxValue(2, value ) ));
1814  break;
1815  case 28:
1816  coerceValue(mySetlength_lengthrandmin, clampMinValue(0, ( value ) ));
1817  break;
1818  case 29:
1819  coerceValue(mySetlength_lengthrandminoverride, clampMinValue(0, clampMaxValue(4, value ) ));
1820  break;
1821  case 30:
1822  coerceValue(mySetlength_lengthrandminoptions, ( ( value ) ));
1823  break;
1824  case 31:
1825  coerceValue(mySetlength_lengthrandmininrange, ( ( value ) ));
1826  break;
1827  case 32:
1828  coerceValue(mySetlength_lengthrandminoutrange, ( ( value ) ));
1829  break;
1830  case 33:
1831  coerceValue(mySetlength_lengthrandminremapramp, clampMinValue(1, ( value ) ));
1832  break;
1833  case 34:
1834  coerceValue(mySetlength_lengthrandmincurveattrib, ( ( value ) ));
1835  break;
1836  case 35:
1837  coerceValue(mySetlength_lengthrandminattrib, ( ( value ) ));
1838  break;
1839  case 36:
1840  coerceValue(mySetlength_lengthrandmintexture, ( ( value ) ));
1841  break;
1842  case 37:
1843  coerceValue(mySetlength_lengthrandmintextureprim, ( ( value ) ));
1844  break;
1845  case 38:
1846  coerceValue(mySetlength_lengthrandminuvmode, clampMinValue(0, clampMaxValue(2, value ) ));
1847  break;
1848  case 39:
1849  coerceValue(mySetlength_lengthrandmax, clampMinValue(0, ( value ) ));
1850  break;
1851  case 40:
1852  coerceValue(mySetlength_lengthrandmaxoverride, clampMinValue(0, clampMaxValue(4, value ) ));
1853  break;
1854  case 41:
1855  coerceValue(mySetlength_lengthrandmaxoptions, ( ( value ) ));
1856  break;
1857  case 42:
1858  coerceValue(mySetlength_lengthrandmaxinrange, ( ( value ) ));
1859  break;
1860  case 43:
1861  coerceValue(mySetlength_lengthrandmaxoutrange, ( ( value ) ));
1862  break;
1863  case 44:
1864  coerceValue(mySetlength_lengthrandmaxremapramp, clampMinValue(1, ( value ) ));
1865  break;
1866  case 45:
1867  coerceValue(mySetlength_lengthrandmaxcurveattrib, ( ( value ) ));
1868  break;
1869  case 46:
1870  coerceValue(mySetlength_lengthrandmaxattrib, ( ( value ) ));
1871  break;
1872  case 47:
1873  coerceValue(mySetlength_lengthrandmaxtexture, ( ( value ) ));
1874  break;
1875  case 48:
1876  coerceValue(mySetlength_lengthrandmaxtextureprim, ( ( value ) ));
1877  break;
1878  case 49:
1879  coerceValue(mySetlength_lengthrandmaxuvmode, clampMinValue(0, clampMaxValue(2, value ) ));
1880  break;
1881  case 50:
1882  coerceValue(mySetlength_scalefactor, ( ( value ) ));
1883  break;
1884  case 51:
1885  coerceValue(mySetlength_scalefactoroverride, clampMinValue(0, clampMaxValue(4, value ) ));
1886  break;
1887  case 52:
1888  coerceValue(mySetlength_scalefactoroptions, ( ( value ) ));
1889  break;
1890  case 53:
1891  coerceValue(mySetlength_scalefactorinrange, ( ( value ) ));
1892  break;
1893  case 54:
1894  coerceValue(mySetlength_scalefactoroutrange, ( ( value ) ));
1895  break;
1896  case 55:
1897  coerceValue(mySetlength_scalefactorremapramp, clampMinValue(1, ( value ) ));
1898  break;
1899  case 56:
1900  coerceValue(mySetlength_scalefactorcurveattrib, ( ( value ) ));
1901  break;
1902  case 57:
1903  coerceValue(mySetlength_scalefactorattrib, ( ( value ) ));
1904  break;
1905  case 58:
1906  coerceValue(mySetlength_scalefactortexture, ( ( value ) ));
1907  break;
1908  case 59:
1909  coerceValue(mySetlength_scalefactortextureprim, ( ( value ) ));
1910  break;
1911  case 60:
1912  coerceValue(mySetlength_scalefactoruvmode, clampMinValue(0, clampMaxValue(2, value ) ));
1913  break;
1914  case 61:
1915  coerceValue(mySetlength_scalefactorrandmin, ( ( value ) ));
1916  break;
1917  case 62:
1918  coerceValue(mySetlength_scalefactorrandminoverride, clampMinValue(0, clampMaxValue(4, value ) ));
1919  break;
1920  case 63:
1921  coerceValue(mySetlength_scalefactorrandminoptions, ( ( value ) ));
1922  break;
1923  case 64:
1924  coerceValue(mySetlength_scalefactorrandmininrange, ( ( value ) ));
1925  break;
1926  case 65:
1927  coerceValue(mySetlength_scalefactorrandminoutrange, ( ( value ) ));
1928  break;
1929  case 66:
1930  coerceValue(mySetlength_scalefactorrandminremapramp, clampMinValue(1, ( value ) ));
1931  break;
1932  case 67:
1933  coerceValue(mySetlength_scalefactorrandmincurveattrib, ( ( value ) ));
1934  break;
1935  case 68:
1936  coerceValue(mySetlength_scalefactorrandminattrib, ( ( value ) ));
1937  break;
1938  case 69:
1939  coerceValue(mySetlength_scalefactorrandmintexture, ( ( value ) ));
1940  break;
1941  case 70:
1942  coerceValue(mySetlength_scalefactorrandmintextureprim, ( ( value ) ));
1943  break;
1944  case 71:
1945  coerceValue(mySetlength_scalefactorrandminuvmode, clampMinValue(0, clampMaxValue(2, value ) ));
1946  break;
1947  case 72:
1948  coerceValue(mySetlength_scalefactorrandmax, ( ( value ) ));
1949  break;
1950  case 73:
1951  coerceValue(mySetlength_scalefactorrandmaxoverride, clampMinValue(0, clampMaxValue(4, value ) ));
1952  break;
1953  case 74:
1954  coerceValue(mySetlength_scalefactorrandmaxoptions, ( ( value ) ));
1955  break;
1956  case 75:
1957  coerceValue(mySetlength_scalefactorrandmaxinrange, ( ( value ) ));
1958  break;
1959  case 76:
1960  coerceValue(mySetlength_scalefactorrandmaxoutrange, ( ( value ) ));
1961  break;
1962  case 77:
1963  coerceValue(mySetlength_scalefactorrandmaxremapramp, clampMinValue(1, ( value ) ));
1964  break;
1965  case 78:
1966  coerceValue(mySetlength_scalefactorrandmaxcurveattrib, ( ( value ) ));
1967  break;
1968  case 79:
1969  coerceValue(mySetlength_scalefactorrandmaxattrib, ( ( value ) ));
1970  break;
1971  case 80:
1972  coerceValue(mySetlength_scalefactorrandmaxtexture, ( ( value ) ));
1973  break;
1974  case 81:
1975  coerceValue(mySetlength_scalefactorrandmaxtextureprim, ( ( value ) ));
1976  break;
1977  case 82:
1978  coerceValue(mySetlength_scalefactorrandmaxuvmode, clampMinValue(0, clampMaxValue(2, value ) ));
1979  break;
1980  case 83:
1981  coerceValue(mySetlength_cullzerolen, ( ( value ) ));
1982  break;
1983  case 84:
1984  coerceValue(mySetlength_cullthreshold, ( clampMaxValue(-10, value ) ));
1985  break;
1986  case 85:
1987  coerceValue(myBend_blend, ( ( value ) ));
1988  break;
1989  case 86:
1990  coerceValue(myBend_axismode, clampMinValue(0, clampMaxValue(6, value ) ));
1991  break;
1992  case 87:
1993  coerceValue(myBend_axis, ( ( value ) ));
1994  break;
1995  case 88:
1996  coerceValue(myBend_axiscurveattrib, ( ( value ) ));
1997  break;
1998  case 89:
1999  coerceValue(myBend_axisskinattrib, ( ( value ) ));
2000  break;
2001  case 90:
2002  coerceValue(myBend_dir, ( ( value ) ));
2003  break;
2004  case 91:
2005  coerceValue(myBend_dircurveattrib, ( ( value ) ));
2006  break;
2007  case 92:
2008  coerceValue(myBend_dirskinattrib, ( ( value ) ));
2009  break;
2010  case 93:
2011  coerceValue(myBend_dirtoaxis, clampMinValue(0, clampMaxValue(2, value ) ));
2012  break;
2013  case 94:
2014  coerceValue(myBend_angle, ( ( value ) ));
2015  break;
2016  case 95:
2017  coerceValue(myBend_angleoverride, clampMinValue(0, clampMaxValue(4, value ) ));
2018  break;
2019  case 96:
2020  coerceValue(myBend_angleoptions, ( ( value ) ));
2021  break;
2022  case 97:
2023  coerceValue(myBend_angleinrange, ( ( value ) ));
2024  break;
2025  case 98:
2026  coerceValue(myBend_angleoutrange, ( ( value ) ));
2027  break;
2028  case 99:
2029  coerceValue(myBend_anglemapramptobarbs, ( ( value ) ));
2030  break;
2031  case 100:
2032  coerceValue(myBend_angleremapramp, clampMinValue(1, ( value ) ));
2033  break;
2034  case 101:
2035  coerceValue(myBend_anglecurveattrib, ( ( value ) ));
2036  break;
2037  case 102:
2038  coerceValue(myBend_angleattrib, ( ( value ) ));
2039  break;
2040  case 103:
2041  coerceValue(myBend_angletexture, ( ( value ) ));
2042  break;
2043  case 104:
2044  coerceValue(myBend_angletextureprim, ( ( value ) ));
2045  break;
2046  case 105:
2047  coerceValue(myBend_angleuvmode, clampMinValue(0, clampMaxValue(2, value ) ));
2048  break;
2049  case 106:
2050  coerceValue(myBend_anglerand, ( ( value ) ));
2051  break;
2052  case 107:
2053  coerceValue(myBend_anglerandoverride, clampMinValue(0, clampMaxValue(4, value ) ));
2054  break;
2055  case 108:
2056  coerceValue(myBend_anglerandoptions, ( ( value ) ));
2057  break;
2058  case 109:
2059  coerceValue(myBend_anglerandinrange, ( ( value ) ));
2060  break;
2061  case 110:
2062  coerceValue(myBend_anglerandoutrange, ( ( value ) ));
2063  break;
2064  case 111:
2065  coerceValue(myBend_anglerandremapramp, clampMinValue(1, ( value ) ));
2066  break;
2067  case 112:
2068  coerceValue(myBend_anglerandcurveattrib, ( ( value ) ));
2069  break;
2070  case 113:
2071  coerceValue(myBend_anglerandattrib, ( ( value ) ));
2072  break;
2073  case 114:
2074  coerceValue(myBend_anglerandtexture, ( ( value ) ));
2075  break;
2076  case 115:
2077  coerceValue(myBend_anglerandtextureprim, ( ( value ) ));
2078  break;
2079  case 116:
2080  coerceValue(myBend_angleranduvmode, clampMinValue(0, clampMaxValue(2, value ) ));
2081  break;
2082  case 117:
2083  coerceValue(myBend_anglerandbias, ( ( value ) ));
2084  break;
2085  case 118:
2086  coerceValue(myBend_anglerandbiasoverride, clampMinValue(0, clampMaxValue(4, value ) ));
2087  break;
2088  case 119:
2089  coerceValue(myBend_anglerandbiasoptions, ( ( value ) ));
2090  break;
2091  case 120:
2092  coerceValue(myBend_anglerandbiasinrange, ( ( value ) ));
2093  break;
2094  case 121:
2095  coerceValue(myBend_anglerandbiasoutrange, ( ( value ) ));
2096  break;
2097  case 122:
2098  coerceValue(myBend_anglerandbiasremapramp, clampMinValue(1, ( value ) ));
2099  break;
2100  case 123:
2101  coerceValue(myBend_anglerandbiascurveattrib, ( ( value ) ));
2102  break;
2103  case 124:
2104  coerceValue(myBend_anglerandbiasattrib, ( ( value ) ));
2105  break;
2106  case 125:
2107  coerceValue(myBend_anglerandbiastexture, ( ( value ) ));
2108  break;
2109  case 126:
2110  coerceValue(myBend_anglerandbiastextureprim, ( ( value ) ));
2111  break;
2112  case 127:
2113  coerceValue(myBend_anglerandbiasuvmode, clampMinValue(0, clampMaxValue(2, value ) ));
2114  break;
2115 
2116  }
2117  }
2118 
2119  void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
2120  { doSetParmValue(idx, instance, value); }
2121  void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
2122  { doSetParmValue(idx, instance, value); }
2123  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
2124  { doSetParmValue(idx, instance, value); }
2125  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
2126  { doSetParmValue(idx, instance, value); }
2127  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
2128  { doSetParmValue(idx, instance, value); }
2129  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
2130  { doSetParmValue(idx, instance, value); }
2131  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
2132  { doSetParmValue(idx, instance, value); }
2133  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
2134  { doSetParmValue(idx, instance, value); }
2135  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
2136  { doSetParmValue(idx, instance, value); }
2137  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr<UT_Ramp> &value) override
2138  { doSetParmValue(idx, instance, value); }
2139  void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
2140  { doSetParmValue(idx, instance, value); }
2141 
2142  exint getNestNumParms(TempIndex idx) const override
2143  {
2144  if (idx.size() == 0)
2145  return 128;
2146  switch (idx[0])
2147  {
2148 
2149  }
2150  // Invalid
2151  return 0;
2152  }
2153 
2154  const char *getNestParmName(TempIndex fieldnum) const override
2155  {
2156  if (fieldnum.size() < 1)
2157  return 0;
2158  switch (fieldnum[0])
2159  {
2160  case 0:
2161  return "geotype";
2162  case 1:
2163  return "barbside";
2164  case 2:
2165  return "uvattrib";
2166  case 3:
2167  return "grouptype";
2168  case 4:
2169  return "group";
2170  case 5:
2171  return "seed";
2172  case 6:
2173  return "vismasks";
2174  case 7:
2175  return "blend";
2176  case 8:
2177  return "blendoverride";
2178  case 9:
2179  return "blendcurveattrib";
2180  case 10:
2181  return "blendattrib";
2182  case 11:
2183  return "blendtexture";
2184  case 12:
2185  return "op";
2186  case 13:
2187  return "setlength_mode";
2188  case 14:
2189  return "setlength_method";
2190  case 15:
2191  return "setlength_blend";
2192  case 16:
2193  return "setlength_randomize";
2194  case 17:
2195  return "setlength_length";
2196  case 18:
2197  return "setlength_lengthoverride";
2198  case 19:
2199  return "setlength_lengthoptions";
2200  case 20:
2201  return "setlength_lengthinrange";
2202  case 21:
2203  return "setlength_lengthoutrange";
2204  case 22:
2205  return "setlength_lengthremapramp";
2206  case 23:
2207  return "setlength_lengthcurveattrib";
2208  case 24:
2209  return "setlength_lengthattrib";
2210  case 25:
2211  return "setlength_lengthtexture";
2212  case 26:
2213  return "setlength_lengthtextureprim";
2214  case 27:
2215  return "setlength_lengthuvmode";
2216  case 28:
2217  return "setlength_lengthrandmin";
2218  case 29:
2219  return "setlength_lengthrandminoverride";
2220  case 30:
2221  return "setlength_lengthrandminoptions";
2222  case 31:
2223  return "setlength_lengthrandmininrange";
2224  case 32:
2225  return "setlength_lengthrandminoutrange";
2226  case 33:
2227  return "setlength_lengthrandminremapramp";
2228  case 34:
2229  return "setlength_lengthrandmincurveattrib";
2230  case 35:
2231  return "setlength_lengthrandminattrib";
2232  case 36:
2233  return "setlength_lengthrandmintexture";
2234  case 37:
2235  return "setlength_lengthrandmintextureprim";
2236  case 38:
2237  return "setlength_lengthrandminuvmode";
2238  case 39:
2239  return "setlength_lengthrandmax";
2240  case 40:
2241  return "setlength_lengthrandmaxoverride";
2242  case 41:
2243  return "setlength_lengthrandmaxoptions";
2244  case 42:
2245  return "setlength_lengthrandmaxinrange";
2246  case 43:
2247  return "setlength_lengthrandmaxoutrange";
2248  case 44:
2249  return "setlength_lengthrandmaxremapramp";
2250  case 45:
2251  return "setlength_lengthrandmaxcurveattrib";
2252  case 46:
2253  return "setlength_lengthrandmaxattrib";
2254  case 47:
2255  return "setlength_lengthrandmaxtexture";
2256  case 48:
2257  return "setlength_lengthrandmaxtextureprim";
2258  case 49:
2259  return "setlength_lengthrandmaxuvmode";
2260  case 50:
2261  return "setlength_scalefactor";
2262  case 51:
2263  return "setlength_scalefactoroverride";
2264  case 52:
2265  return "setlength_scalefactoroptions";
2266  case 53:
2267  return "setlength_scalefactorinrange";
2268  case 54:
2269  return "setlength_scalefactoroutrange";
2270  case 55:
2271  return "setlength_scalefactorremapramp";
2272  case 56:
2273  return "setlength_scalefactorcurveattrib";
2274  case 57:
2275  return "setlength_scalefactorattrib";
2276  case 58:
2277  return "setlength_scalefactortexture";
2278  case 59:
2279  return "setlength_scalefactortextureprim";
2280  case 60:
2281  return "setlength_scalefactoruvmode";
2282  case 61:
2283  return "setlength_scalefactorrandmin";
2284  case 62:
2285  return "setlength_scalefactorrandminoverride";
2286  case 63:
2287  return "setlength_scalefactorrandminoptions";
2288  case 64:
2289  return "setlength_scalefactorrandmininrange";
2290  case 65:
2291  return "setlength_scalefactorrandminoutrange";
2292  case 66:
2293  return "setlength_scalefactorrandminremapramp";
2294  case 67:
2295  return "setlength_scalefactorrandmincurveattrib";
2296  case 68:
2297  return "setlength_scalefactorrandminattrib";
2298  case 69:
2299  return "setlength_scalefactorrandmintexture";
2300  case 70:
2301  return "setlength_scalefactorrandmintextureprim";
2302  case 71:
2303  return "setlength_scalefactorrandminuvmode";
2304  case 72:
2305  return "setlength_scalefactorrandmax";
2306  case 73:
2307  return "setlength_scalefactorrandmaxoverride";
2308  case 74:
2309  return "setlength_scalefactorrandmaxoptions";
2310  case 75:
2311  return "setlength_scalefactorrandmaxinrange";
2312  case 76:
2313  return "setlength_scalefactorrandmaxoutrange";
2314  case 77:
2315  return "setlength_scalefactorrandmaxremapramp";
2316  case 78:
2317  return "setlength_scalefactorrandmaxcurveattrib";
2318  case 79:
2319  return "setlength_scalefactorrandmaxattrib";
2320  case 80:
2321  return "setlength_scalefactorrandmaxtexture";
2322  case 81:
2323  return "setlength_scalefactorrandmaxtextureprim";
2324  case 82:
2325  return "setlength_scalefactorrandmaxuvmode";
2326  case 83:
2327  return "setlength_cullzerolen";
2328  case 84:
2329  return "setlength_cullthreshold";
2330  case 85:
2331  return "bend_blend";
2332  case 86:
2333  return "bend_axismode";
2334  case 87:
2335  return "bend_axis";
2336  case 88:
2337  return "bend_axiscurveattrib";
2338  case 89:
2339  return "bend_axisskinattrib";
2340  case 90:
2341  return "bend_dir";
2342  case 91:
2343  return "bend_dircurveattrib";
2344  case 92:
2345  return "bend_dirskinattrib";
2346  case 93:
2347  return "bend_dirtoaxis";
2348  case 94:
2349  return "bend_angle";
2350  case 95:
2351  return "bend_angleoverride";
2352  case 96:
2353  return "bend_angleoptions";
2354  case 97:
2355  return "bend_angleinrange";
2356  case 98:
2357  return "bend_angleoutrange";
2358  case 99:
2359  return "bend_anglemapramptobarbs";
2360  case 100:
2361  return "bend_angleremapramp";
2362  case 101:
2363  return "bend_anglecurveattrib";
2364  case 102:
2365  return "bend_angleattrib";
2366  case 103:
2367  return "bend_angletexture";
2368  case 104:
2369  return "bend_angletextureprim";
2370  case 105:
2371  return "bend_angleuvmode";
2372  case 106:
2373  return "bend_anglerand";
2374  case 107:
2375  return "bend_anglerandoverride";
2376  case 108:
2377  return "bend_anglerandoptions";
2378  case 109:
2379  return "bend_anglerandinrange";
2380  case 110:
2381  return "bend_anglerandoutrange";
2382  case 111:
2383  return "bend_anglerandremapramp";
2384  case 112:
2385  return "bend_anglerandcurveattrib";
2386  case 113:
2387  return "bend_anglerandattrib";
2388  case 114:
2389  return "bend_anglerandtexture";
2390  case 115:
2391  return "bend_anglerandtextureprim";
2392  case 116:
2393  return "bend_angleranduvmode";
2394  case 117:
2395  return "bend_anglerandbias";
2396  case 118:
2397  return "bend_anglerandbiasoverride";
2398  case 119:
2399  return "bend_anglerandbiasoptions";
2400  case 120:
2401  return "bend_anglerandbiasinrange";
2402  case 121:
2403  return "bend_anglerandbiasoutrange";
2404  case 122:
2405  return "bend_anglerandbiasremapramp";
2406  case 123:
2407  return "bend_anglerandbiascurveattrib";
2408  case 124:
2409  return "bend_anglerandbiasattrib";
2410  case 125:
2411  return "bend_anglerandbiastexture";
2412  case 126:
2413  return "bend_anglerandbiastextureprim";
2414  case 127:
2415  return "bend_anglerandbiasuvmode";
2416 
2417  }
2418  return 0;
2419  }
2420 
2421  ParmType getNestParmType(TempIndex fieldnum) const override
2422  {
2423  if (fieldnum.size() < 1)
2424  return PARM_UNSUPPORTED;
2425  switch (fieldnum[0])
2426  {
2427  case 0:
2428  return PARM_INTEGER;
2429  case 1:
2430  return PARM_INTEGER;
2431  case 2:
2432  return PARM_STRING;
2433  case 3:
2434  return PARM_INTEGER;
2435  case 4:
2436  return PARM_STRING;
2437  case 5:
2438  return PARM_FLOAT;
2439  case 6:
2440  return PARM_INTEGER;
2441  case 7:
2442  return PARM_FLOAT;
2443  case 8:
2444  return PARM_INTEGER;
2445  case 9:
2446  return PARM_STRING;
2447  case 10:
2448  return PARM_STRING;
2449  case 11:
2450  return PARM_STRING;
2451  case 12:
2452  return PARM_INTEGER;
2453  case 13:
2454  return PARM_INTEGER;
2455  case 14:
2456  return PARM_INTEGER;
2457  case 15:
2458  return PARM_FLOAT;
2459  case 16:
2460  return PARM_INTEGER;
2461  case 17:
2462  return PARM_FLOAT;
2463  case 18:
2464  return PARM_INTEGER;
2465  case 19:
2466  return PARM_INTEGER;
2467  case 20:
2468  return PARM_VECTOR2;
2469  case 21:
2470  return PARM_VECTOR2;
2471  case 22:
2472  return PARM_RAMP;
2473  case 23:
2474  return PARM_STRING;
2475  case 24:
2476  return PARM_STRING;
2477  case 25:
2478  return PARM_STRING;
2479  case 26:
2480  return PARM_STRING;
2481  case 27:
2482  return PARM_INTEGER;
2483  case 28:
2484  return PARM_FLOAT;
2485  case 29:
2486  return PARM_INTEGER;
2487  case 30:
2488  return PARM_INTEGER;
2489  case 31:
2490  return PARM_VECTOR2;
2491  case 32:
2492  return PARM_VECTOR2;
2493  case 33:
2494  return PARM_RAMP;
2495  case 34:
2496  return PARM_STRING;
2497  case 35:
2498  return PARM_STRING;
2499  case 36:
2500  return PARM_STRING;
2501  case 37:
2502  return PARM_STRING;
2503  case 38:
2504  return PARM_INTEGER;
2505  case 39:
2506  return PARM_FLOAT;
2507  case 40:
2508  return PARM_INTEGER;
2509  case 41:
2510  return PARM_INTEGER;
2511  case 42:
2512  return PARM_VECTOR2;
2513  case 43:
2514  return PARM_VECTOR2;
2515  case 44:
2516  return PARM_RAMP;
2517  case 45:
2518  return PARM_STRING;
2519  case 46:
2520  return PARM_STRING;
2521  case 47:
2522  return PARM_STRING;
2523  case 48:
2524  return PARM_STRING;
2525  case 49:
2526  return PARM_INTEGER;
2527  case 50:
2528  return PARM_FLOAT;
2529  case 51:
2530  return PARM_INTEGER;
2531  case 52:
2532  return PARM_INTEGER;
2533  case 53:
2534  return PARM_VECTOR2;
2535  case 54:
2536  return PARM_VECTOR2;
2537  case 55:
2538  return PARM_RAMP;
2539  case 56:
2540  return PARM_STRING;
2541  case 57:
2542  return PARM_STRING;
2543  case 58:
2544  return PARM_STRING;
2545  case 59:
2546  return PARM_STRING;
2547  case 60:
2548  return PARM_INTEGER;
2549  case 61:
2550  return PARM_FLOAT;
2551  case 62:
2552  return PARM_INTEGER;
2553  case 63:
2554  return PARM_INTEGER;
2555  case 64:
2556  return PARM_VECTOR2;
2557  case 65:
2558  return PARM_VECTOR2;
2559  case 66:
2560  return PARM_RAMP;
2561  case 67:
2562  return PARM_STRING;
2563  case 68:
2564  return PARM_STRING;
2565  case 69:
2566  return PARM_STRING;
2567  case 70:
2568  return PARM_STRING;
2569  case 71:
2570  return PARM_INTEGER;
2571  case 72:
2572  return PARM_FLOAT;
2573  case 73:
2574  return PARM_INTEGER;
2575  case 74:
2576  return PARM_INTEGER;
2577  case 75:
2578  return PARM_VECTOR2;
2579  case 76:
2580  return PARM_VECTOR2;
2581  case 77:
2582  return PARM_RAMP;
2583  case 78:
2584  return PARM_STRING;
2585  case 79:
2586  return PARM_STRING;
2587  case 80:
2588  return PARM_STRING;
2589  case 81:
2590  return PARM_STRING;
2591  case 82:
2592  return PARM_INTEGER;
2593  case 83:
2594  return PARM_INTEGER;
2595  case 84:
2596  return PARM_FLOAT;
2597  case 85:
2598  return PARM_FLOAT;
2599  case 86:
2600  return PARM_INTEGER;
2601  case 87:
2602  return PARM_VECTOR3;
2603  case 88:
2604  return PARM_STRING;
2605  case 89:
2606  return PARM_STRING;
2607  case 90:
2608  return PARM_VECTOR3;
2609  case 91:
2610  return PARM_STRING;
2611  case 92:
2612  return PARM_STRING;
2613  case 93:
2614  return PARM_INTEGER;
2615  case 94:
2616  return PARM_FLOAT;
2617  case 95:
2618  return PARM_INTEGER;
2619  case 96:
2620  return PARM_INTEGER;
2621  case 97:
2622  return PARM_VECTOR2;
2623  case 98:
2624  return PARM_VECTOR2;
2625  case 99:
2626  return PARM_INTEGER;
2627  case 100:
2628  return PARM_RAMP;
2629  case 101:
2630  return PARM_STRING;
2631  case 102:
2632  return PARM_STRING;
2633  case 103:
2634  return PARM_STRING;
2635  case 104:
2636  return PARM_STRING;
2637  case 105:
2638  return PARM_INTEGER;
2639  case 106:
2640  return PARM_FLOAT;
2641  case 107:
2642  return PARM_INTEGER;
2643  case 108:
2644  return PARM_INTEGER;
2645  case 109:
2646  return PARM_VECTOR2;
2647  case 110:
2648  return PARM_VECTOR2;
2649  case 111:
2650  return PARM_RAMP;
2651  case 112:
2652  return PARM_STRING;
2653  case 113:
2654  return PARM_STRING;
2655  case 114:
2656  return PARM_STRING;
2657  case 115:
2658  return PARM_STRING;
2659  case 116:
2660  return PARM_INTEGER;
2661  case 117:
2662  return PARM_FLOAT;
2663  case 118:
2664  return PARM_INTEGER;
2665  case 119:
2666  return PARM_INTEGER;
2667  case 120:
2668  return PARM_VECTOR2;
2669  case 121:
2670  return PARM_VECTOR2;
2671  case 122:
2672  return PARM_RAMP;
2673  case 123:
2674  return PARM_STRING;
2675  case 124:
2676  return PARM_STRING;
2677  case 125:
2678  return PARM_STRING;
2679  case 126:
2680  return PARM_STRING;
2681  case 127:
2682  return PARM_INTEGER;
2683 
2684  }
2685  return PARM_UNSUPPORTED;
2686  }
2687 
2688  // Boiler plate to load individual types.
2689  static void loadData(UT_IStream &is, int64 &v)
2690  { is.bread(&v, 1); }
2691  static void loadData(UT_IStream &is, bool &v)
2692  { int64 iv; is.bread(&iv, 1); v = iv; }
2693  static void loadData(UT_IStream &is, fpreal64 &v)
2694  { is.bread<fpreal64>(&v, 1); }
2695  static void loadData(UT_IStream &is, UT_Vector2D &v)
2696  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
2697  static void loadData(UT_IStream &is, UT_Vector3D &v)
2698  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
2699  is.bread<fpreal64>(&v.z(), 1); }
2700  static void loadData(UT_IStream &is, UT_Vector4D &v)
2701  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
2702  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
2703  static void loadData(UT_IStream &is, UT_Matrix2D &v)
2704  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
2705  static void loadData(UT_IStream &is, UT_Matrix3D &v)
2706  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
2707  static void loadData(UT_IStream &is, UT_Matrix4D &v)
2708  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
2709  static void loadData(UT_IStream &is, UT_Vector2I &v)
2710  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
2711  static void loadData(UT_IStream &is, UT_Vector3I &v)
2712  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
2713  is.bread<int64>(&v.z(), 1); }
2714  static void loadData(UT_IStream &is, UT_Vector4I &v)
2715  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
2716  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
2718  { is.bread(v); }
2720  { UT_StringHolder rampdata;
2721  loadData(is, rampdata);
2722  if (rampdata.isstring())
2723  {
2724  v.reset(new UT_Ramp());
2725  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
2726  v->load(istr);
2727  }
2728  else v.reset();
2729  }
2732  loadData(is, data);
2733  if (data.isstring())
2734  {
2735  // Find the data type.
2736  const char *colon = UT_StringWrap(data).findChar(':');
2737  if (colon)
2738  {
2739  int typelen = colon - data.buffer();
2741  type.strncpy(data.buffer(), typelen);
2742  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
2743 
2744  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
2745  }
2746  }
2747  else v.reset();
2748  }
2749 
2750  static void saveData(std::ostream &os, int64 v)
2751  { UTwrite(os, &v); }
2752  static void saveData(std::ostream &os, bool v)
2753  { int64 iv = v; UTwrite(os, &iv); }
2754  static void saveData(std::ostream &os, fpreal64 v)
2755  { UTwrite<fpreal64>(os, &v); }
2756  static void saveData(std::ostream &os, UT_Vector2D v)
2757  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
2758  static void saveData(std::ostream &os, UT_Vector3D v)
2759  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
2760  UTwrite<fpreal64>(os, &v.z()); }
2761  static void saveData(std::ostream &os, UT_Vector4D v)
2762  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
2763  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
2764  static void saveData(std::ostream &os, UT_Matrix2D v)
2766  static void saveData(std::ostream &os, UT_Matrix3D v)
2768  static void saveData(std::ostream &os, UT_Matrix4D v)
2770  static void saveData(std::ostream &os, UT_StringHolder s)
2771  { UT_StringWrap(s).saveBinary(os); }
2772  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
2774  UT_OStringStream ostr;
2775  if (s) s->save(ostr);
2776  result = ostr.str();
2777  saveData(os, result);
2778  }
2779  static void saveData(std::ostream &os, PRM_DataItemHandle s)
2781  UT_OStringStream ostr;
2782  if (s)
2783  {
2784  ostr << s->getDataTypeToken();
2785  ostr << ":";
2786  s->saveBinary(ostr);
2787  }
2788  result = ostr.str();
2789  saveData(os, result);
2790  }
2791 
2792 
2793  void save(std::ostream &os) const
2794  {
2795  int32 v = version();
2796  UTwrite(os, &v);
2797  saveData(os, myGeotype);
2798  saveData(os, myBarbside);
2799  saveData(os, myUvattrib);
2800  saveData(os, myGrouptype);
2801  saveData(os, myGroup);
2802  saveData(os, mySeed);
2803  saveData(os, myVismasks);
2804  saveData(os, myBlend);
2805  saveData(os, myBlendoverride);
2806  saveData(os, myBlendcurveattrib);
2807  saveData(os, myBlendattrib);
2808  saveData(os, myBlendtexture);
2809  saveData(os, myOp);
2810  saveData(os, mySetlength_mode);
2811  saveData(os, mySetlength_method);
2812  saveData(os, mySetlength_blend);
2813  saveData(os, mySetlength_randomize);
2814  saveData(os, mySetlength_length);
2815  saveData(os, mySetlength_lengthoverride);
2816  saveData(os, mySetlength_lengthoptions);
2817  saveData(os, mySetlength_lengthinrange);
2818  saveData(os, mySetlength_lengthoutrange);
2819  saveData(os, mySetlength_lengthremapramp);
2820  saveData(os, mySetlength_lengthcurveattrib);
2821  saveData(os, mySetlength_lengthattrib);
2822  saveData(os, mySetlength_lengthtexture);
2823  saveData(os, mySetlength_lengthtextureprim);
2824  saveData(os, mySetlength_lengthuvmode);
2825  saveData(os, mySetlength_lengthrandmin);
2826  saveData(os, mySetlength_lengthrandminoverride);
2827  saveData(os, mySetlength_lengthrandminoptions);
2828  saveData(os, mySetlength_lengthrandmininrange);
2829  saveData(os, mySetlength_lengthrandminoutrange);
2830  saveData(os, mySetlength_lengthrandminremapramp);
2831  saveData(os, mySetlength_lengthrandmincurveattrib);
2832  saveData(os, mySetlength_lengthrandminattrib);
2833  saveData(os, mySetlength_lengthrandmintexture);
2834  saveData(os, mySetlength_lengthrandmintextureprim);
2835  saveData(os, mySetlength_lengthrandminuvmode);
2836  saveData(os, mySetlength_lengthrandmax);
2837  saveData(os, mySetlength_lengthrandmaxoverride);
2838  saveData(os, mySetlength_lengthrandmaxoptions);
2839  saveData(os, mySetlength_lengthrandmaxinrange);
2840  saveData(os, mySetlength_lengthrandmaxoutrange);
2841  saveData(os, mySetlength_lengthrandmaxremapramp);
2842  saveData(os, mySetlength_lengthrandmaxcurveattrib);
2843  saveData(os, mySetlength_lengthrandmaxattrib);
2844  saveData(os, mySetlength_lengthrandmaxtexture);
2845  saveData(os, mySetlength_lengthrandmaxtextureprim);
2846  saveData(os, mySetlength_lengthrandmaxuvmode);
2847  saveData(os, mySetlength_scalefactor);
2848  saveData(os, mySetlength_scalefactoroverride);
2849  saveData(os, mySetlength_scalefactoroptions);
2850  saveData(os, mySetlength_scalefactorinrange);
2851  saveData(os, mySetlength_scalefactoroutrange);
2852  saveData(os, mySetlength_scalefactorremapramp);
2853  saveData(os, mySetlength_scalefactorcurveattrib);
2854  saveData(os, mySetlength_scalefactorattrib);
2855  saveData(os, mySetlength_scalefactortexture);
2856  saveData(os, mySetlength_scalefactortextureprim);
2857  saveData(os, mySetlength_scalefactoruvmode);
2858  saveData(os, mySetlength_scalefactorrandmin);
2859  saveData(os, mySetlength_scalefactorrandminoverride);
2860  saveData(os, mySetlength_scalefactorrandminoptions);
2861  saveData(os, mySetlength_scalefactorrandmininrange);
2862  saveData(os, mySetlength_scalefactorrandminoutrange);
2863  saveData(os, mySetlength_scalefactorrandminremapramp);
2864  saveData(os, mySetlength_scalefactorrandmincurveattrib);
2865  saveData(os, mySetlength_scalefactorrandminattrib);
2866  saveData(os, mySetlength_scalefactorrandmintexture);
2867  saveData(os, mySetlength_scalefactorrandmintextureprim);
2868  saveData(os, mySetlength_scalefactorrandminuvmode);
2869  saveData(os, mySetlength_scalefactorrandmax);
2870  saveData(os, mySetlength_scalefactorrandmaxoverride);
2871  saveData(os, mySetlength_scalefactorrandmaxoptions);
2872  saveData(os, mySetlength_scalefactorrandmaxinrange);
2873  saveData(os, mySetlength_scalefactorrandmaxoutrange);
2874  saveData(os, mySetlength_scalefactorrandmaxremapramp);
2875  saveData(os, mySetlength_scalefactorrandmaxcurveattrib);
2876  saveData(os, mySetlength_scalefactorrandmaxattrib);
2877  saveData(os, mySetlength_scalefactorrandmaxtexture);
2878  saveData(os, mySetlength_scalefactorrandmaxtextureprim);
2879  saveData(os, mySetlength_scalefactorrandmaxuvmode);
2880  saveData(os, mySetlength_cullzerolen);
2881  saveData(os, mySetlength_cullthreshold);
2882  saveData(os, myBend_blend);
2883  saveData(os, myBend_axismode);
2884  saveData(os, myBend_axis);
2885  saveData(os, myBend_axiscurveattrib);
2886  saveData(os, myBend_axisskinattrib);
2887  saveData(os, myBend_dir);
2888  saveData(os, myBend_dircurveattrib);
2889  saveData(os, myBend_dirskinattrib);
2890  saveData(os, myBend_dirtoaxis);
2891  saveData(os, myBend_angle);
2892  saveData(os, myBend_angleoverride);
2893  saveData(os, myBend_angleoptions);
2894  saveData(os, myBend_angleinrange);
2895  saveData(os, myBend_angleoutrange);
2896  saveData(os, myBend_anglemapramptobarbs);
2897  saveData(os, myBend_angleremapramp);
2898  saveData(os, myBend_anglecurveattrib);
2899  saveData(os, myBend_angleattrib);
2900  saveData(os, myBend_angletexture);
2901  saveData(os, myBend_angletextureprim);
2902  saveData(os, myBend_angleuvmode);
2903  saveData(os, myBend_anglerand);
2904  saveData(os, myBend_anglerandoverride);
2905  saveData(os, myBend_anglerandoptions);
2906  saveData(os, myBend_anglerandinrange);
2907  saveData(os, myBend_anglerandoutrange);
2908  saveData(os, myBend_anglerandremapramp);
2909  saveData(os, myBend_anglerandcurveattrib);
2910  saveData(os, myBend_anglerandattrib);
2911  saveData(os, myBend_anglerandtexture);
2912  saveData(os, myBend_anglerandtextureprim);
2913  saveData(os, myBend_angleranduvmode);
2914  saveData(os, myBend_anglerandbias);
2915  saveData(os, myBend_anglerandbiasoverride);
2916  saveData(os, myBend_anglerandbiasoptions);
2917  saveData(os, myBend_anglerandbiasinrange);
2918  saveData(os, myBend_anglerandbiasoutrange);
2919  saveData(os, myBend_anglerandbiasremapramp);
2920  saveData(os, myBend_anglerandbiascurveattrib);
2921  saveData(os, myBend_anglerandbiasattrib);
2922  saveData(os, myBend_anglerandbiastexture);
2923  saveData(os, myBend_anglerandbiastextureprim);
2924  saveData(os, myBend_anglerandbiasuvmode);
2925 
2926  }
2927 
2928  bool load(UT_IStream &is)
2929  {
2930  int32 v;
2931  is.bread(&v, 1);
2932  if (version() != v)
2933  {
2934  // Fail incompatible versions
2935  return false;
2936  }
2937  loadData(is, myGeotype);
2938  loadData(is, myBarbside);
2939  loadData(is, myUvattrib);
2940  loadData(is, myGrouptype);
2941  loadData(is, myGroup);
2942  loadData(is, mySeed);
2943  loadData(is, myVismasks);
2944  loadData(is, myBlend);
2945  loadData(is, myBlendoverride);
2946  loadData(is, myBlendcurveattrib);
2947  loadData(is, myBlendattrib);
2948  loadData(is, myBlendtexture);
2949  loadData(is, myOp);
2950  loadData(is, mySetlength_mode);
2951  loadData(is, mySetlength_method);
2952  loadData(is, mySetlength_blend);
2953  loadData(is, mySetlength_randomize);
2954  loadData(is, mySetlength_length);
2955  loadData(is, mySetlength_lengthoverride);
2956  loadData(is, mySetlength_lengthoptions);
2957  loadData(is, mySetlength_lengthinrange);
2958  loadData(is, mySetlength_lengthoutrange);
2959  loadData(is, mySetlength_lengthremapramp);
2960  loadData(is, mySetlength_lengthcurveattrib);
2961  loadData(is, mySetlength_lengthattrib);
2962  loadData(is, mySetlength_lengthtexture);
2963  loadData(is, mySetlength_lengthtextureprim);
2964  loadData(is, mySetlength_lengthuvmode);
2965  loadData(is, mySetlength_lengthrandmin);
2966  loadData(is, mySetlength_lengthrandminoverride);
2967  loadData(is, mySetlength_lengthrandminoptions);
2968  loadData(is, mySetlength_lengthrandmininrange);
2969  loadData(is, mySetlength_lengthrandminoutrange);
2970  loadData(is, mySetlength_lengthrandminremapramp);
2971  loadData(is, mySetlength_lengthrandmincurveattrib);
2972  loadData(is, mySetlength_lengthrandminattrib);
2973  loadData(is, mySetlength_lengthrandmintexture);
2974  loadData(is, mySetlength_lengthrandmintextureprim);
2975  loadData(is, mySetlength_lengthrandminuvmode);
2976  loadData(is, mySetlength_lengthrandmax);
2977  loadData(is, mySetlength_lengthrandmaxoverride);
2978  loadData(is, mySetlength_lengthrandmaxoptions);
2979  loadData(is, mySetlength_lengthrandmaxinrange);
2980  loadData(is, mySetlength_lengthrandmaxoutrange);
2981  loadData(is, mySetlength_lengthrandmaxremapramp);
2982  loadData(is, mySetlength_lengthrandmaxcurveattrib);
2983  loadData(is, mySetlength_lengthrandmaxattrib);
2984  loadData(is, mySetlength_lengthrandmaxtexture);
2985  loadData(is, mySetlength_lengthrandmaxtextureprim);
2986  loadData(is, mySetlength_lengthrandmaxuvmode);
2987  loadData(is, mySetlength_scalefactor);
2988  loadData(is, mySetlength_scalefactoroverride);
2989  loadData(is, mySetlength_scalefactoroptions);
2990  loadData(is, mySetlength_scalefactorinrange);
2991  loadData(is, mySetlength_scalefactoroutrange);
2992  loadData(is, mySetlength_scalefactorremapramp);
2993  loadData(is, mySetlength_scalefactorcurveattrib);
2994  loadData(is, mySetlength_scalefactorattrib);
2995  loadData(is, mySetlength_scalefactortexture);
2996  loadData(is, mySetlength_scalefactortextureprim);
2997  loadData(is, mySetlength_scalefactoruvmode);
2998  loadData(is, mySetlength_scalefactorrandmin);
2999  loadData(is, mySetlength_scalefactorrandminoverride);
3000  loadData(is, mySetlength_scalefactorrandminoptions);
3001  loadData(is, mySetlength_scalefactorrandmininrange);
3002  loadData(is, mySetlength_scalefactorrandminoutrange);
3003  loadData(is, mySetlength_scalefactorrandminremapramp);
3004  loadData(is, mySetlength_scalefactorrandmincurveattrib);
3005  loadData(is, mySetlength_scalefactorrandminattrib);
3006  loadData(is, mySetlength_scalefactorrandmintexture);
3007  loadData(is, mySetlength_scalefactorrandmintextureprim);
3008  loadData(is, mySetlength_scalefactorrandminuvmode);
3009  loadData(is, mySetlength_scalefactorrandmax);
3010  loadData(is, mySetlength_scalefactorrandmaxoverride);
3011  loadData(is, mySetlength_scalefactorrandmaxoptions);
3012  loadData(is, mySetlength_scalefactorrandmaxinrange);
3013  loadData(is, mySetlength_scalefactorrandmaxoutrange);
3014  loadData(is, mySetlength_scalefactorrandmaxremapramp);
3015  loadData(is, mySetlength_scalefactorrandmaxcurveattrib);
3016  loadData(is, mySetlength_scalefactorrandmaxattrib);
3017  loadData(is, mySetlength_scalefactorrandmaxtexture);
3018  loadData(is, mySetlength_scalefactorrandmaxtextureprim);
3019  loadData(is, mySetlength_scalefactorrandmaxuvmode);
3020  loadData(is, mySetlength_cullzerolen);
3021  loadData(is, mySetlength_cullthreshold);
3022  loadData(is, myBend_blend);
3023  loadData(is, myBend_axismode);
3024  loadData(is, myBend_axis);
3025  loadData(is, myBend_axiscurveattrib);
3026  loadData(is, myBend_axisskinattrib);
3027  loadData(is, myBend_dir);
3028  loadData(is, myBend_dircurveattrib);
3029  loadData(is, myBend_dirskinattrib);
3030  loadData(is, myBend_dirtoaxis);
3031  loadData(is, myBend_angle);
3032  loadData(is, myBend_angleoverride);
3033  loadData(is, myBend_angleoptions);
3034  loadData(is, myBend_angleinrange);
3035  loadData(is, myBend_angleoutrange);
3036  loadData(is, myBend_anglemapramptobarbs);
3037  loadData(is, myBend_angleremapramp);
3038  loadData(is, myBend_anglecurveattrib);
3039  loadData(is, myBend_angleattrib);
3040  loadData(is, myBend_angletexture);
3041  loadData(is, myBend_angletextureprim);
3042  loadData(is, myBend_angleuvmode);
3043  loadData(is, myBend_anglerand);
3044  loadData(is, myBend_anglerandoverride);
3045  loadData(is, myBend_anglerandoptions);
3046  loadData(is, myBend_anglerandinrange);
3047  loadData(is, myBend_anglerandoutrange);
3048  loadData(is, myBend_anglerandremapramp);
3049  loadData(is, myBend_anglerandcurveattrib);
3050  loadData(is, myBend_anglerandattrib);
3051  loadData(is, myBend_anglerandtexture);
3052  loadData(is, myBend_anglerandtextureprim);
3053  loadData(is, myBend_angleranduvmode);
3054  loadData(is, myBend_anglerandbias);
3055  loadData(is, myBend_anglerandbiasoverride);
3056  loadData(is, myBend_anglerandbiasoptions);
3057  loadData(is, myBend_anglerandbiasinrange);
3058  loadData(is, myBend_anglerandbiasoutrange);
3059  loadData(is, myBend_anglerandbiasremapramp);
3060  loadData(is, myBend_anglerandbiascurveattrib);
3061  loadData(is, myBend_anglerandbiasattrib);
3062  loadData(is, myBend_anglerandbiastexture);
3063  loadData(is, myBend_anglerandbiastextureprim);
3064  loadData(is, myBend_anglerandbiasuvmode);
3065 
3066  return true;
3067  }
3068 
3069  Geotype getGeotype() const { return Geotype(myGeotype); }
3070  void setGeotype(Geotype val) { myGeotype = int64(val); }
3072  {
3073  SOP_Node *thissop = cookparms.getNode();
3074  if (!thissop) return getGeotype();
3075  int64 result;
3076  OP_Utils::evalOpParm(result, thissop, "geotype", cookparms.getCookTime(), 0);
3077  return Geotype(result);
3078  }
3079  int64 getBarbside() const { return myBarbside; }
3080  void setBarbside(int64 val) { myBarbside = val; }
3081  int64 opBarbside(const SOP_NodeVerb::CookParms &cookparms) const
3082  {
3083  SOP_Node *thissop = cookparms.getNode();
3084  if (!thissop) return getBarbside();
3085  int64 result;
3086  OP_Utils::evalOpParm(result, thissop, "barbside", cookparms.getCookTime(), 0);
3087  return result;
3088  }
3089  const UT_StringHolder & getUvattrib() const { return myUvattrib; }
3090  void setUvattrib(const UT_StringHolder & val) { myUvattrib = val; }
3092  {
3093  SOP_Node *thissop = cookparms.getNode();
3094  if (!thissop) return getUvattrib();
3096  OP_Utils::evalOpParm(result, thissop, "uvattrib", cookparms.getCookTime(), 0);
3097  return result;
3098  }
3099  Grouptype getGrouptype() const { return Grouptype(myGrouptype); }
3100  void setGrouptype(Grouptype val) { myGrouptype = int64(val); }
3102  {
3103  SOP_Node *thissop = cookparms.getNode();
3104  if (!thissop) return getGrouptype();
3105  int64 result;
3106  OP_Utils::evalOpParm(result, thissop, "grouptype", cookparms.getCookTime(), 0);
3107  return Grouptype(result);
3108  }
3109  const UT_StringHolder & getGroup() const { return myGroup; }
3110  void setGroup(const UT_StringHolder & val) { myGroup = val; }
3112  {
3113  SOP_Node *thissop = cookparms.getNode();
3114  if (!thissop) return getGroup();
3116  OP_Utils::evalOpParm(result, thissop, "group", cookparms.getCookTime(), 0);
3117  return result;
3118  }
3119  fpreal64 getSeed() const { return mySeed; }
3120  void setSeed(fpreal64 val) { mySeed = val; }
3121  fpreal64 opSeed(const SOP_NodeVerb::CookParms &cookparms) const
3122  {
3123  SOP_Node *thissop = cookparms.getNode();
3124  if (!thissop) return getSeed();
3125  fpreal64 result;
3126  OP_Utils::evalOpParm(result, thissop, "seed", cookparms.getCookTime(), 0);
3127  return result;
3128  }
3129  bool getVismasks() const { return myVismasks; }
3130  void setVismasks(bool val) { myVismasks = val; }
3131  bool opVismasks(const SOP_NodeVerb::CookParms &cookparms) const
3132  {
3133  SOP_Node *thissop = cookparms.getNode();
3134  if (!thissop) return getVismasks();
3135  bool result;
3136  OP_Utils::evalOpParm(result, thissop, "vismasks", cookparms.getCookTime(), 0);
3137  return result;
3138  }
3139  fpreal64 getBlend() const { return myBlend; }
3140  void setBlend(fpreal64 val) { myBlend = val; }
3141  fpreal64 opBlend(const SOP_NodeVerb::CookParms &cookparms) const
3142  {
3143  SOP_Node *thissop = cookparms.getNode();
3144  if (!thissop) return getBlend();
3145  fpreal64 result;
3146  OP_Utils::evalOpParm(result, thissop, "blend", cookparms.getCookTime(), 0);
3147  return result;
3148  }
3149  Blendoverride getBlendoverride() const { return Blendoverride(myBlendoverride); }
3150  void setBlendoverride(Blendoverride val) { myBlendoverride = int64(val); }
3152  {
3153  SOP_Node *thissop = cookparms.getNode();
3154  if (!thissop) return getBlendoverride();
3155  int64 result;
3156  OP_Utils::evalOpParm(result, thissop, "blendoverride", cookparms.getCookTime(), 0);
3157  return Blendoverride(result);
3158  }
3159  const UT_StringHolder & getBlendcurveattrib() const { return myBlendcurveattrib; }
3160  void setBlendcurveattrib(const UT_StringHolder & val) { myBlendcurveattrib = val; }
3162  {
3163  SOP_Node *thissop = cookparms.getNode();
3164  if (!thissop) return getBlendcurveattrib();
3166  OP_Utils::evalOpParm(result, thissop, "blendcurveattrib", cookparms.getCookTime(), 0);
3167  return result;
3168  }
3169  const UT_StringHolder & getBlendattrib() const { return myBlendattrib; }
3170  void setBlendattrib(const UT_StringHolder & val) { myBlendattrib = val; }
3172  {
3173  SOP_Node *thissop = cookparms.getNode();
3174  if (!thissop) return getBlendattrib();
3176  OP_Utils::evalOpParm(result, thissop, "blendattrib", cookparms.getCookTime(), 0);
3177  return result;
3178  }
3179  const UT_StringHolder & getBlendtexture() const { return myBlendtexture; }
3180  void setBlendtexture(const UT_StringHolder & val) { myBlendtexture = val; }
3182  {
3183  SOP_Node *thissop = cookparms.getNode();
3184  if (!thissop) return getBlendtexture();
3186  OP_Utils::evalOpParm(result, thissop, "blendtexture", cookparms.getCookTime(), 0);
3187  return result;
3188  }
3189  Op getOp() const { return Op(myOp); }
3190  void setOp(Op val) { myOp = int64(val); }
3191  Op opOp(const SOP_NodeVerb::CookParms &cookparms) const
3192  {
3193  SOP_Node *thissop = cookparms.getNode();
3194  if (!thissop) return getOp();
3195  int64 result;
3196  OP_Utils::evalOpParm(result, thissop, "op", cookparms.getCookTime(), 0);
3197  return Op(result);
3198  }
3199  Setlength_mode getSetlength_mode() const { return Setlength_mode(mySetlength_mode); }
3200  void setSetlength_mode(Setlength_mode val) { mySetlength_mode = int64(val); }
3202  {
3203  SOP_Node *thissop = cookparms.getNode();
3204  if (!thissop) return getSetlength_mode();
3205  int64 result;
3206  OP_Utils::evalOpParm(result, thissop, "setlength_mode", cookparms.getCookTime(), 0);
3207  return Setlength_mode(result);
3208  }
3209  Setlength_method getSetlength_method() const { return Setlength_method(mySetlength_method); }
3210  void setSetlength_method(Setlength_method val) { mySetlength_method = int64(val); }
3212  {
3213  SOP_Node *thissop = cookparms.getNode();
3214  if (!thissop) return getSetlength_method();
3215  int64 result;
3216  OP_Utils::evalOpParm(result, thissop, "setlength_method", cookparms.getCookTime(), 0);
3217  return Setlength_method(result);
3218  }
3219  fpreal64 getSetlength_blend() const { return mySetlength_blend; }
3220  void setSetlength_blend(fpreal64 val) { mySetlength_blend = val; }
3222  {
3223  SOP_Node *thissop = cookparms.getNode();
3224  if (!thissop) return getSetlength_blend();
3225  fpreal64 result;
3226  OP_Utils::evalOpParm(result, thissop, "setlength_blend", cookparms.getCookTime(), 0);
3227  return result;
3228  }
3229  bool getSetlength_randomize() const { return mySetlength_randomize; }
3230  void setSetlength_randomize(bool val) { mySetlength_randomize = val; }
3231  bool opSetlength_randomize(const SOP_NodeVerb::CookParms &cookparms) const
3232  {
3233  SOP_Node *thissop = cookparms.getNode();
3234  if (!thissop) return getSetlength_randomize();
3235  bool result;
3236  OP_Utils::evalOpParm(result, thissop, "setlength_randomize", cookparms.getCookTime(), 0);
3237  return result;
3238  }
3239  fpreal64 getSetlength_length() const { return mySetlength_length; }
3240  void setSetlength_length(fpreal64 val) { mySetlength_length = val; }
3242  {
3243  SOP_Node *thissop = cookparms.getNode();
3244  if (!thissop) return getSetlength_length();
3245  fpreal64 result;
3246  OP_Utils::evalOpParm(result, thissop, "setlength_length", cookparms.getCookTime(), 0);
3247  return result;
3248  }
3250  void setSetlength_lengthoverride(Setlength_lengthoverride val) { mySetlength_lengthoverride = int64(val); }
3252  {
3253  SOP_Node *thissop = cookparms.getNode();
3254  if (!thissop) return getSetlength_lengthoverride();
3255  int64 result;
3256  OP_Utils::evalOpParm(result, thissop, "setlength_lengthoverride", cookparms.getCookTime(), 0);
3257  return Setlength_lengthoverride(result);
3258  }
3259  int64 getSetlength_lengthoptions() const { return mySetlength_lengthoptions; }
3260  void setSetlength_lengthoptions(int64 val) { mySetlength_lengthoptions = val; }
3262  {
3263  SOP_Node *thissop = cookparms.getNode();
3264  if (!thissop) return getSetlength_lengthoptions();
3265  int64 result;
3266  OP_Utils::evalOpParm(result, thissop, "setlength_lengthoptions", cookparms.getCookTime(), 0);
3267  return result;
3268  }
3269  UT_Vector2D getSetlength_lengthinrange() const { return mySetlength_lengthinrange; }
3270  void setSetlength_lengthinrange(UT_Vector2D val) { mySetlength_lengthinrange = val; }
3272  {
3273  SOP_Node *thissop = cookparms.getNode();
3274  if (!thissop) return getSetlength_lengthinrange();
3276  OP_Utils::evalOpParm(result, thissop, "setlength_lengthinrange", cookparms.getCookTime(), 0);
3277  return result;
3278  }
3279  UT_Vector2D getSetlength_lengthoutrange() const { return mySetlength_lengthoutrange; }
3280  void setSetlength_lengthoutrange(UT_Vector2D val) { mySetlength_lengthoutrange = val; }
3282  {
3283  SOP_Node *thissop = cookparms.getNode();
3284  if (!thissop) return getSetlength_lengthoutrange();
3286  OP_Utils::evalOpParm(result, thissop, "setlength_lengthoutrange", cookparms.getCookTime(), 0);
3287  return result;
3288  }
3289  UT_SharedPtr<UT_Ramp> getSetlength_lengthremapramp() const { return mySetlength_lengthremapramp; }
3290  void setSetlength_lengthremapramp(UT_SharedPtr<UT_Ramp> val) { mySetlength_lengthremapramp = val; }
3292  {
3293  SOP_Node *thissop = cookparms.getNode();
3294  if (!thissop) return getSetlength_lengthremapramp();
3296  OP_Utils::evalOpParm(result, thissop, "setlength_lengthremapramp", cookparms.getCookTime(), 0);
3297  return result;
3298  }
3299  const UT_StringHolder & getSetlength_lengthcurveattrib() const { return mySetlength_lengthcurveattrib; }
3300  void setSetlength_lengthcurveattrib(const UT_StringHolder & val) { mySetlength_lengthcurveattrib = val; }
3302  {
3303  SOP_Node *thissop = cookparms.getNode();
3304  if (!thissop) return getSetlength_lengthcurveattrib();
3306  OP_Utils::evalOpParm(result, thissop, "setlength_lengthcurveattrib", cookparms.getCookTime(), 0);
3307  return result;
3308  }
3309  const UT_StringHolder & getSetlength_lengthattrib() const { return mySetlength_lengthattrib; }
3310  void setSetlength_lengthattrib(const UT_StringHolder & val) { mySetlength_lengthattrib = val; }
3312  {
3313  SOP_Node *thissop = cookparms.getNode();
3314  if (!thissop) return getSetlength_lengthattrib();
3316  OP_Utils::evalOpParm(result, thissop, "setlength_lengthattrib", cookparms.getCookTime(), 0);
3317  return result;
3318  }
3319  const UT_StringHolder & getSetlength_lengthtexture() const { return mySetlength_lengthtexture; }
3320  void setSetlength_lengthtexture(const UT_StringHolder & val) { mySetlength_lengthtexture = val; }
3322  {
3323  SOP_Node *thissop = cookparms.getNode();
3324  if (!thissop) return getSetlength_lengthtexture();
3326  OP_Utils::evalOpParm(result, thissop, "setlength_lengthtexture", cookparms.getCookTime(), 0);
3327  return result;
3328  }
3329  const UT_StringHolder & getSetlength_lengthtextureprim() const { return mySetlength_lengthtextureprim; }
3330  void setSetlength_lengthtextureprim(const UT_StringHolder & val) { mySetlength_lengthtextureprim = val; }
3332  {
3333  SOP_Node *thissop = cookparms.getNode();
3334  if (!thissop) return getSetlength_lengthtextureprim();
3336  OP_Utils::evalOpParm(result, thissop, "setlength_lengthtextureprim", cookparms.getCookTime(), 0);
3337  return result;
3338  }
3339  Setlength_lengthuvmode getSetlength_lengthuvmode() const { return Setlength_lengthuvmode(mySetlength_lengthuvmode); }
3340  void setSetlength_lengthuvmode(Setlength_lengthuvmode val) { mySetlength_lengthuvmode = int64(val); }
3342  {
3343  SOP_Node *thissop = cookparms.getNode();
3344  if (!thissop) return getSetlength_lengthuvmode();
3345  int64 result;
3346  OP_Utils::evalOpParm(result, thissop, "setlength_lengthuvmode", cookparms.getCookTime(), 0);
3347  return Setlength_lengthuvmode(result);
3348  }
3349  fpreal64 getSetlength_lengthrandmin() const { return mySetlength_lengthrandmin; }
3350  void setSetlength_lengthrandmin(fpreal64 val) { mySetlength_lengthrandmin = val; }
3352  {
3353  SOP_Node *thissop = cookparms.getNode();
3354  if (!thissop) return getSetlength_lengthrandmin();
3355  fpreal64 result;
3356  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmin", cookparms.getCookTime(), 0);
3357  return result;
3358  }
3360  void setSetlength_lengthrandminoverride(Setlength_lengthrandminoverride val) { mySetlength_lengthrandminoverride = int64(val); }
3362  {
3363  SOP_Node *thissop = cookparms.getNode();
3364  if (!thissop) return getSetlength_lengthrandminoverride();
3365  int64 result;
3366  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandminoverride", cookparms.getCookTime(), 0);
3367  return Setlength_lengthrandminoverride(result);
3368  }
3369  int64 getSetlength_lengthrandminoptions() const { return mySetlength_lengthrandminoptions; }
3370  void setSetlength_lengthrandminoptions(int64 val) { mySetlength_lengthrandminoptions = val; }
3372  {
3373  SOP_Node *thissop = cookparms.getNode();
3374  if (!thissop) return getSetlength_lengthrandminoptions();
3375  int64 result;
3376  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandminoptions", cookparms.getCookTime(), 0);
3377  return result;
3378  }
3379  UT_Vector2D getSetlength_lengthrandmininrange() const { return mySetlength_lengthrandmininrange; }
3380  void setSetlength_lengthrandmininrange(UT_Vector2D val) { mySetlength_lengthrandmininrange = val; }
3382  {
3383  SOP_Node *thissop = cookparms.getNode();
3384  if (!thissop) return getSetlength_lengthrandmininrange();
3386  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmininrange", cookparms.getCookTime(), 0);
3387  return result;
3388  }
3389  UT_Vector2D getSetlength_lengthrandminoutrange() const { return mySetlength_lengthrandminoutrange; }
3390  void setSetlength_lengthrandminoutrange(UT_Vector2D val) { mySetlength_lengthrandminoutrange = val; }
3392  {
3393  SOP_Node *thissop = cookparms.getNode();
3394  if (!thissop) return getSetlength_lengthrandminoutrange();
3396  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandminoutrange", cookparms.getCookTime(), 0);
3397  return result;
3398  }
3399  UT_SharedPtr<UT_Ramp> getSetlength_lengthrandminremapramp() const { return mySetlength_lengthrandminremapramp; }
3400  void setSetlength_lengthrandminremapramp(UT_SharedPtr<UT_Ramp> val) { mySetlength_lengthrandminremapramp = val; }
3402  {
3403  SOP_Node *thissop = cookparms.getNode();
3404  if (!thissop) return getSetlength_lengthrandminremapramp();
3406  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandminremapramp", cookparms.getCookTime(), 0);
3407  return result;
3408  }
3409  const UT_StringHolder & getSetlength_lengthrandmincurveattrib() const { return mySetlength_lengthrandmincurveattrib; }
3410  void setSetlength_lengthrandmincurveattrib(const UT_StringHolder & val) { mySetlength_lengthrandmincurveattrib = val; }
3412  {
3413  SOP_Node *thissop = cookparms.getNode();
3414  if (!thissop) return getSetlength_lengthrandmincurveattrib();
3416  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmincurveattrib", cookparms.getCookTime(), 0);
3417  return result;
3418  }
3419  const UT_StringHolder & getSetlength_lengthrandminattrib() const { return mySetlength_lengthrandminattrib; }
3420  void setSetlength_lengthrandminattrib(const UT_StringHolder & val) { mySetlength_lengthrandminattrib = val; }
3422  {
3423  SOP_Node *thissop = cookparms.getNode();
3424  if (!thissop) return getSetlength_lengthrandminattrib();
3426  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandminattrib", cookparms.getCookTime(), 0);
3427  return result;
3428  }
3429  const UT_StringHolder & getSetlength_lengthrandmintexture() const { return mySetlength_lengthrandmintexture; }
3430  void setSetlength_lengthrandmintexture(const UT_StringHolder & val) { mySetlength_lengthrandmintexture = val; }
3432  {
3433  SOP_Node *thissop = cookparms.getNode();
3434  if (!thissop) return getSetlength_lengthrandmintexture();
3436  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmintexture", cookparms.getCookTime(), 0);
3437  return result;
3438  }
3439  const UT_StringHolder & getSetlength_lengthrandmintextureprim() const { return mySetlength_lengthrandmintextureprim; }
3440  void setSetlength_lengthrandmintextureprim(const UT_StringHolder & val) { mySetlength_lengthrandmintextureprim = val; }
3442  {
3443  SOP_Node *thissop = cookparms.getNode();
3444  if (!thissop) return getSetlength_lengthrandmintextureprim();
3446  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmintextureprim", cookparms.getCookTime(), 0);
3447  return result;
3448  }
3450  void setSetlength_lengthrandminuvmode(Setlength_lengthrandminuvmode val) { mySetlength_lengthrandminuvmode = int64(val); }
3452  {
3453  SOP_Node *thissop = cookparms.getNode();
3454  if (!thissop) return getSetlength_lengthrandminuvmode();
3455  int64 result;
3456  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandminuvmode", cookparms.getCookTime(), 0);
3457  return Setlength_lengthrandminuvmode(result);
3458  }
3459  fpreal64 getSetlength_lengthrandmax() const { return mySetlength_lengthrandmax; }
3460  void setSetlength_lengthrandmax(fpreal64 val) { mySetlength_lengthrandmax = val; }
3462  {
3463  SOP_Node *thissop = cookparms.getNode();
3464  if (!thissop) return getSetlength_lengthrandmax();
3465  fpreal64 result;
3466  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmax", cookparms.getCookTime(), 0);
3467  return result;
3468  }
3470  void setSetlength_lengthrandmaxoverride(Setlength_lengthrandmaxoverride val) { mySetlength_lengthrandmaxoverride = int64(val); }
3472  {
3473  SOP_Node *thissop = cookparms.getNode();
3474  if (!thissop) return getSetlength_lengthrandmaxoverride();
3475  int64 result;
3476  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmaxoverride", cookparms.getCookTime(), 0);
3477  return Setlength_lengthrandmaxoverride(result);
3478  }
3479  int64 getSetlength_lengthrandmaxoptions() const { return mySetlength_lengthrandmaxoptions; }
3480  void setSetlength_lengthrandmaxoptions(int64 val) { mySetlength_lengthrandmaxoptions = val; }
3482  {
3483  SOP_Node *thissop = cookparms.getNode();
3484  if (!thissop) return getSetlength_lengthrandmaxoptions();
3485  int64 result;
3486  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmaxoptions", cookparms.getCookTime(), 0);
3487  return result;
3488  }
3489  UT_Vector2D getSetlength_lengthrandmaxinrange() const { return mySetlength_lengthrandmaxinrange; }
3490  void setSetlength_lengthrandmaxinrange(UT_Vector2D val) { mySetlength_lengthrandmaxinrange = val; }
3492  {
3493  SOP_Node *thissop = cookparms.getNode();
3494  if (!thissop) return getSetlength_lengthrandmaxinrange();
3496  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmaxinrange", cookparms.getCookTime(), 0);
3497  return result;
3498  }
3499  UT_Vector2D getSetlength_lengthrandmaxoutrange() const { return mySetlength_lengthrandmaxoutrange; }
3500  void setSetlength_lengthrandmaxoutrange(UT_Vector2D val) { mySetlength_lengthrandmaxoutrange = val; }
3502  {
3503  SOP_Node *thissop = cookparms.getNode();
3504  if (!thissop) return getSetlength_lengthrandmaxoutrange();
3506  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmaxoutrange", cookparms.getCookTime(), 0);
3507  return result;
3508  }
3509  UT_SharedPtr<UT_Ramp> getSetlength_lengthrandmaxremapramp() const { return mySetlength_lengthrandmaxremapramp; }
3510  void setSetlength_lengthrandmaxremapramp(UT_SharedPtr<UT_Ramp> val) { mySetlength_lengthrandmaxremapramp = val; }
3512  {
3513  SOP_Node *thissop = cookparms.getNode();
3514  if (!thissop) return getSetlength_lengthrandmaxremapramp();
3516  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmaxremapramp", cookparms.getCookTime(), 0);
3517  return result;
3518  }
3519  const UT_StringHolder & getSetlength_lengthrandmaxcurveattrib() const { return mySetlength_lengthrandmaxcurveattrib; }
3520  void setSetlength_lengthrandmaxcurveattrib(const UT_StringHolder & val) { mySetlength_lengthrandmaxcurveattrib = val; }
3522  {
3523  SOP_Node *thissop = cookparms.getNode();
3524  if (!thissop) return getSetlength_lengthrandmaxcurveattrib();
3526  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmaxcurveattrib", cookparms.getCookTime(), 0);
3527  return result;
3528  }
3529  const UT_StringHolder & getSetlength_lengthrandmaxattrib() const { return mySetlength_lengthrandmaxattrib; }
3530  void setSetlength_lengthrandmaxattrib(const UT_StringHolder & val) { mySetlength_lengthrandmaxattrib = val; }
3532  {
3533  SOP_Node *thissop = cookparms.getNode();
3534  if (!thissop) return getSetlength_lengthrandmaxattrib();
3536  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmaxattrib", cookparms.getCookTime(), 0);
3537  return result;
3538  }
3539  const UT_StringHolder & getSetlength_lengthrandmaxtexture() const { return mySetlength_lengthrandmaxtexture; }
3540  void setSetlength_lengthrandmaxtexture(const UT_StringHolder & val) { mySetlength_lengthrandmaxtexture = val; }
3542  {
3543  SOP_Node *thissop = cookparms.getNode();
3544  if (!thissop) return getSetlength_lengthrandmaxtexture();
3546  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmaxtexture", cookparms.getCookTime(), 0);
3547  return result;
3548  }
3549  const UT_StringHolder & getSetlength_lengthrandmaxtextureprim() const { return mySetlength_lengthrandmaxtextureprim; }
3550  void setSetlength_lengthrandmaxtextureprim(const UT_StringHolder & val) { mySetlength_lengthrandmaxtextureprim = val; }
3552  {
3553  SOP_Node *thissop = cookparms.getNode();
3554  if (!thissop) return getSetlength_lengthrandmaxtextureprim();
3556  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmaxtextureprim", cookparms.getCookTime(), 0);
3557  return result;
3558  }
3560  void setSetlength_lengthrandmaxuvmode(Setlength_lengthrandmaxuvmode val) { mySetlength_lengthrandmaxuvmode = int64(val); }
3562  {
3563  SOP_Node *thissop = cookparms.getNode();
3564  if (!thissop) return getSetlength_lengthrandmaxuvmode();
3565  int64 result;
3566  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmaxuvmode", cookparms.getCookTime(), 0);
3567  return Setlength_lengthrandmaxuvmode(result);
3568  }
3569  fpreal64 getSetlength_scalefactor() const { return mySetlength_scalefactor; }
3570  void setSetlength_scalefactor(fpreal64 val) { mySetlength_scalefactor = val; }
3572  {
3573  SOP_Node *thissop = cookparms.getNode();
3574  if (!thissop) return getSetlength_scalefactor();
3575  fpreal64 result;
3576  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactor", cookparms.getCookTime(), 0);
3577  return result;
3578  }
3580  void setSetlength_scalefactoroverride(Setlength_scalefactoroverride val) { mySetlength_scalefactoroverride = int64(val); }
3582  {
3583  SOP_Node *thissop = cookparms.getNode();
3584  if (!thissop) return getSetlength_scalefactoroverride();
3585  int64 result;
3586  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactoroverride", cookparms.getCookTime(), 0);
3587  return Setlength_scalefactoroverride(result);
3588  }
3589  int64 getSetlength_scalefactoroptions() const { return mySetlength_scalefactoroptions; }
3590  void setSetlength_scalefactoroptions(int64 val) { mySetlength_scalefactoroptions = val; }
3592  {
3593  SOP_Node *thissop = cookparms.getNode();
3594  if (!thissop) return getSetlength_scalefactoroptions();
3595  int64 result;
3596  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactoroptions", cookparms.getCookTime(), 0);
3597  return result;
3598  }
3599  UT_Vector2D getSetlength_scalefactorinrange() const { return mySetlength_scalefactorinrange; }
3600  void setSetlength_scalefactorinrange(UT_Vector2D val) { mySetlength_scalefactorinrange = val; }
3602  {
3603  SOP_Node *thissop = cookparms.getNode();
3604  if (!thissop) return getSetlength_scalefactorinrange();
3606  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorinrange", cookparms.getCookTime(), 0);
3607  return result;
3608  }
3609  UT_Vector2D getSetlength_scalefactoroutrange() const { return mySetlength_scalefactoroutrange; }
3610  void setSetlength_scalefactoroutrange(UT_Vector2D val) { mySetlength_scalefactoroutrange = val; }
3612  {
3613  SOP_Node *thissop = cookparms.getNode();
3614  if (!thissop) return getSetlength_scalefactoroutrange();
3616  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactoroutrange", cookparms.getCookTime(), 0);
3617  return result;
3618  }
3619  UT_SharedPtr<UT_Ramp> getSetlength_scalefactorremapramp() const { return mySetlength_scalefactorremapramp; }
3620  void setSetlength_scalefactorremapramp(UT_SharedPtr<UT_Ramp> val) { mySetlength_scalefactorremapramp = val; }
3622  {
3623  SOP_Node *thissop = cookparms.getNode();
3624  if (!thissop) return getSetlength_scalefactorremapramp();
3626  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorremapramp", cookparms.getCookTime(), 0);
3627  return result;
3628  }
3629  const UT_StringHolder & getSetlength_scalefactorcurveattrib() const { return mySetlength_scalefactorcurveattrib; }
3630  void setSetlength_scalefactorcurveattrib(const UT_StringHolder & val) { mySetlength_scalefactorcurveattrib = val; }
3632  {
3633  SOP_Node *thissop = cookparms.getNode();
3634  if (!thissop) return getSetlength_scalefactorcurveattrib();
3636  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorcurveattrib", cookparms.getCookTime(), 0);
3637  return result;
3638  }
3639  const UT_StringHolder & getSetlength_scalefactorattrib() const { return mySetlength_scalefactorattrib; }
3640  void setSetlength_scalefactorattrib(const UT_StringHolder & val) { mySetlength_scalefactorattrib = val; }
3642  {
3643  SOP_Node *thissop = cookparms.getNode();
3644  if (!thissop) return getSetlength_scalefactorattrib();
3646  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorattrib", cookparms.getCookTime(), 0);
3647  return result;
3648  }
3649  const UT_StringHolder & getSetlength_scalefactortexture() const { return mySetlength_scalefactortexture; }
3650  void setSetlength_scalefactortexture(const UT_StringHolder & val) { mySetlength_scalefactortexture = val; }
3652  {
3653  SOP_Node *thissop = cookparms.getNode();
3654  if (!thissop) return getSetlength_scalefactortexture();
3656  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactortexture", cookparms.getCookTime(), 0);
3657  return result;
3658  }
3659  const UT_StringHolder & getSetlength_scalefactortextureprim() const { return mySetlength_scalefactortextureprim; }
3660  void setSetlength_scalefactortextureprim(const UT_StringHolder & val) { mySetlength_scalefactortextureprim = val; }
3662  {
3663  SOP_Node *thissop = cookparms.getNode();
3664  if (!thissop) return getSetlength_scalefactortextureprim();
3666  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactortextureprim", cookparms.getCookTime(), 0);
3667  return result;
3668  }
3670  void setSetlength_scalefactoruvmode(Setlength_scalefactoruvmode val) { mySetlength_scalefactoruvmode = int64(val); }
3672  {
3673  SOP_Node *thissop = cookparms.getNode();
3674  if (!thissop) return getSetlength_scalefactoruvmode();
3675  int64 result;
3676  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactoruvmode", cookparms.getCookTime(), 0);
3677  return Setlength_scalefactoruvmode(result);
3678  }
3679  fpreal64 getSetlength_scalefactorrandmin() const { return mySetlength_scalefactorrandmin; }
3680  void setSetlength_scalefactorrandmin(fpreal64 val) { mySetlength_scalefactorrandmin = val; }
3682  {
3683  SOP_Node *thissop = cookparms.getNode();
3684  if (!thissop) return getSetlength_scalefactorrandmin();
3685  fpreal64 result;
3686  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmin", cookparms.getCookTime(), 0);
3687  return result;
3688  }
3690  void setSetlength_scalefactorrandminoverride(Setlength_scalefactorrandminoverride val) { mySetlength_scalefactorrandminoverride = int64(val); }
3692  {
3693  SOP_Node *thissop = cookparms.getNode();
3694  if (!thissop) return getSetlength_scalefactorrandminoverride();
3695  int64 result;
3696  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandminoverride", cookparms.getCookTime(), 0);
3697  return Setlength_scalefactorrandminoverride(result);
3698  }
3699  int64 getSetlength_scalefactorrandminoptions() const { return mySetlength_scalefactorrandminoptions; }
3700  void setSetlength_scalefactorrandminoptions(int64 val) { mySetlength_scalefactorrandminoptions = val; }
3702  {
3703  SOP_Node *thissop = cookparms.getNode();
3704  if (!thissop) return getSetlength_scalefactorrandminoptions();
3705  int64 result;
3706  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandminoptions", cookparms.getCookTime(), 0);
3707  return result;
3708  }
3709  UT_Vector2D getSetlength_scalefactorrandmininrange() const { return mySetlength_scalefactorrandmininrange; }
3710  void setSetlength_scalefactorrandmininrange(UT_Vector2D val) { mySetlength_scalefactorrandmininrange = val; }
3712  {
3713  SOP_Node *thissop = cookparms.getNode();
3714  if (!thissop) return getSetlength_scalefactorrandmininrange();
3716  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmininrange", cookparms.getCookTime(), 0);
3717  return result;
3718  }
3719  UT_Vector2D getSetlength_scalefactorrandminoutrange() const { return mySetlength_scalefactorrandminoutrange; }
3720  void setSetlength_scalefactorrandminoutrange(UT_Vector2D val) { mySetlength_scalefactorrandminoutrange = val; }
3722  {
3723  SOP_Node *thissop = cookparms.getNode();
3724  if (!thissop) return getSetlength_scalefactorrandminoutrange();
3726  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandminoutrange", cookparms.getCookTime(), 0);
3727  return result;
3728  }
3729  UT_SharedPtr<UT_Ramp> getSetlength_scalefactorrandminremapramp() const { return mySetlength_scalefactorrandminremapramp; }
3730  void setSetlength_scalefactorrandminremapramp(UT_SharedPtr<UT_Ramp> val) { mySetlength_scalefactorrandminremapramp = val; }
3732  {
3733  SOP_Node *thissop = cookparms.getNode();
3734  if (!thissop) return getSetlength_scalefactorrandminremapramp();
3736  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandminremapramp", cookparms.getCookTime(), 0);
3737  return result;
3738  }
3739  const UT_StringHolder & getSetlength_scalefactorrandmincurveattrib() const { return mySetlength_scalefactorrandmincurveattrib; }
3740  void setSetlength_scalefactorrandmincurveattrib(const UT_StringHolder & val) { mySetlength_scalefactorrandmincurveattrib = val; }
3742  {
3743  SOP_Node *thissop = cookparms.getNode();
3744  if (!thissop) return getSetlength_scalefactorrandmincurveattrib();
3746  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmincurveattrib", cookparms.getCookTime(), 0);
3747  return result;
3748  }
3749  const UT_StringHolder & getSetlength_scalefactorrandminattrib() const { return mySetlength_scalefactorrandminattrib; }
3750  void setSetlength_scalefactorrandminattrib(const UT_StringHolder & val) { mySetlength_scalefactorrandminattrib = val; }
3752  {
3753  SOP_Node *thissop = cookparms.getNode();
3754  if (!thissop) return getSetlength_scalefactorrandminattrib();
3756  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandminattrib", cookparms.getCookTime(), 0);
3757  return result;
3758  }
3759  const UT_StringHolder & getSetlength_scalefactorrandmintexture() const { return mySetlength_scalefactorrandmintexture; }
3760  void setSetlength_scalefactorrandmintexture(const UT_StringHolder & val) { mySetlength_scalefactorrandmintexture = val; }
3762  {
3763  SOP_Node *thissop = cookparms.getNode();
3764  if (!thissop) return getSetlength_scalefactorrandmintexture();
3766  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmintexture", cookparms.getCookTime(), 0);
3767  return result;
3768  }
3769  const UT_StringHolder & getSetlength_scalefactorrandmintextureprim() const { return mySetlength_scalefactorrandmintextureprim; }
3770  void setSetlength_scalefactorrandmintextureprim(const UT_StringHolder & val) { mySetlength_scalefactorrandmintextureprim = val; }
3772  {
3773  SOP_Node *thissop = cookparms.getNode();
3774  if (!thissop) return getSetlength_scalefactorrandmintextureprim();
3776  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmintextureprim", cookparms.getCookTime(), 0);
3777  return result;
3778  }
3780  void setSetlength_scalefactorrandminuvmode(Setlength_scalefactorrandminuvmode val) { mySetlength_scalefactorrandminuvmode = int64(val); }
3782  {
3783  SOP_Node *thissop = cookparms.getNode();
3784  if (!thissop) return getSetlength_scalefactorrandminuvmode();
3785  int64 result;
3786  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandminuvmode", cookparms.getCookTime(), 0);
3787  return Setlength_scalefactorrandminuvmode(result);
3788  }
3789  fpreal64 getSetlength_scalefactorrandmax() const { return mySetlength_scalefactorrandmax; }
3790  void setSetlength_scalefactorrandmax(fpreal64 val) { mySetlength_scalefactorrandmax = val; }
3792  {
3793  SOP_Node *thissop = cookparms.getNode();
3794  if (!thissop) return getSetlength_scalefactorrandmax();
3795  fpreal64 result;
3796  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmax", cookparms.getCookTime(), 0);
3797  return result;
3798  }
3800  void setSetlength_scalefactorrandmaxoverride(Setlength_scalefactorrandmaxoverride val) { mySetlength_scalefactorrandmaxoverride = int64(val); }
3802  {
3803  SOP_Node *thissop = cookparms.getNode();
3804  if (!thissop) return getSetlength_scalefactorrandmaxoverride();
3805  int64 result;
3806  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmaxoverride", cookparms.getCookTime(), 0);
3807  return Setlength_scalefactorrandmaxoverride(result);
3808  }
3809  int64 getSetlength_scalefactorrandmaxoptions() const { return mySetlength_scalefactorrandmaxoptions; }
3810  void setSetlength_scalefactorrandmaxoptions(int64 val) { mySetlength_scalefactorrandmaxoptions = val; }
3812  {
3813  SOP_Node *thissop = cookparms.getNode();
3814  if (!thissop) return getSetlength_scalefactorrandmaxoptions();
3815  int64 result;
3816  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmaxoptions", cookparms.getCookTime(), 0);
3817  return result;
3818  }
3819  UT_Vector2D getSetlength_scalefactorrandmaxinrange() const { return mySetlength_scalefactorrandmaxinrange; }
3820  void setSetlength_scalefactorrandmaxinrange(UT_Vector2D val) { mySetlength_scalefactorrandmaxinrange = val; }
3822  {
3823  SOP_Node *thissop = cookparms.getNode();
3824  if (!thissop) return getSetlength_scalefactorrandmaxinrange();
3826  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmaxinrange", cookparms.getCookTime(), 0);
3827  return result;
3828  }
3829  UT_Vector2D getSetlength_scalefactorrandmaxoutrange() const { return mySetlength_scalefactorrandmaxoutrange; }
3830  void setSetlength_scalefactorrandmaxoutrange(UT_Vector2D val) { mySetlength_scalefactorrandmaxoutrange = val; }
3832  {
3833  SOP_Node *thissop = cookparms.getNode();
3834  if (!thissop) return getSetlength_scalefactorrandmaxoutrange();
3836  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmaxoutrange", cookparms.getCookTime(), 0);
3837  return result;
3838  }
3839  UT_SharedPtr<UT_Ramp> getSetlength_scalefactorrandmaxremapramp() const { return mySetlength_scalefactorrandmaxremapramp; }
3840  void setSetlength_scalefactorrandmaxremapramp(UT_SharedPtr<UT_Ramp> val) { mySetlength_scalefactorrandmaxremapramp = val; }
3842  {
3843  SOP_Node *thissop = cookparms.getNode();
3844  if (!thissop) return getSetlength_scalefactorrandmaxremapramp();
3846  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmaxremapramp", cookparms.getCookTime(), 0);
3847  return result;
3848  }
3849  const UT_StringHolder & getSetlength_scalefactorrandmaxcurveattrib() const { return mySetlength_scalefactorrandmaxcurveattrib; }
3850  void setSetlength_scalefactorrandmaxcurveattrib(const UT_StringHolder & val) { mySetlength_scalefactorrandmaxcurveattrib = val; }
3852  {
3853  SOP_Node *thissop = cookparms.getNode();
3854  if (!thissop) return getSetlength_scalefactorrandmaxcurveattrib();
3856  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmaxcurveattrib", cookparms.getCookTime(), 0);
3857  return result;
3858  }
3859  const UT_StringHolder & getSetlength_scalefactorrandmaxattrib() const { return mySetlength_scalefactorrandmaxattrib; }
3860  void setSetlength_scalefactorrandmaxattrib(const UT_StringHolder & val) { mySetlength_scalefactorrandmaxattrib = val; }
3862  {
3863  SOP_Node *thissop = cookparms.getNode();
3864  if (!thissop) return getSetlength_scalefactorrandmaxattrib();
3866  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmaxattrib", cookparms.getCookTime(), 0);
3867  return result;
3868  }
3869  const UT_StringHolder & getSetlength_scalefactorrandmaxtexture() const { return mySetlength_scalefactorrandmaxtexture; }
3870  void setSetlength_scalefactorrandmaxtexture(const UT_StringHolder & val) { mySetlength_scalefactorrandmaxtexture = val; }
3872  {
3873  SOP_Node *thissop = cookparms.getNode();
3874  if (!thissop) return getSetlength_scalefactorrandmaxtexture();
3876  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmaxtexture", cookparms.getCookTime(), 0);
3877  return result;
3878  }
3879  const UT_StringHolder & getSetlength_scalefactorrandmaxtextureprim() const { return mySetlength_scalefactorrandmaxtextureprim; }
3880  void setSetlength_scalefactorrandmaxtextureprim(const UT_StringHolder & val) { mySetlength_scalefactorrandmaxtextureprim = val; }
3882  {
3883  SOP_Node *thissop = cookparms.getNode();
3884  if (!thissop) return getSetlength_scalefactorrandmaxtextureprim();
3886  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmaxtextureprim", cookparms.getCookTime(), 0);
3887  return result;
3888  }
3890  void setSetlength_scalefactorrandmaxuvmode(Setlength_scalefactorrandmaxuvmode val) { mySetlength_scalefactorrandmaxuvmode = int64(val); }
3892  {
3893  SOP_Node *thissop = cookparms.getNode();
3894  if (!thissop) return getSetlength_scalefactorrandmaxuvmode();
3895  int64 result;
3896  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmaxuvmode", cookparms.getCookTime(), 0);
3897  return Setlength_scalefactorrandmaxuvmode(result);
3898  }
3899  bool getSetlength_cullzerolen() const { return mySetlength_cullzerolen; }
3900  void setSetlength_cullzerolen(bool val) { mySetlength_cullzerolen = val; }
3902  {
3903  SOP_Node *thissop = cookparms.getNode();
3904  if (!thissop) return getSetlength_cullzerolen();
3905  bool result;
3906  OP_Utils::evalOpParm(result, thissop, "setlength_cullzerolen", cookparms.getCookTime(), 0);
3907  return result;
3908  }
3909  fpreal64 getSetlength_cullthreshold() const { return mySetlength_cullthreshold; }
3910  void setSetlength_cullthreshold(fpreal64 val) { mySetlength_cullthreshold = val; }
3912  {
3913  SOP_Node *thissop = cookparms.getNode();
3914  if (!thissop) return getSetlength_cullthreshold();
3915  fpreal64 result;
3916  OP_Utils::evalOpParm(result, thissop, "setlength_cullthreshold", cookparms.getCookTime(), 0);
3917  return result;
3918  }
3919  fpreal64 getBend_blend() const { return myBend_blend; }
3920  void setBend_blend(fpreal64 val) { myBend_blend = val; }
3922  {
3923  SOP_Node *thissop = cookparms.getNode();
3924  if (!thissop) return getBend_blend();
3925  fpreal64 result;
3926  OP_Utils::evalOpParm(result, thissop, "bend_blend", cookparms.getCookTime(), 0);
3927  return result;
3928  }
3929  Bend_axismode getBend_axismode() const { return Bend_axismode(myBend_axismode); }
3930  void setBend_axismode(Bend_axismode val) { myBend_axismode = int64(val); }
3932  {
3933  SOP_Node *thissop = cookparms.getNode();
3934  if (!thissop) return getBend_axismode();
3935  int64 result;
3936  OP_Utils::evalOpParm(result, thissop, "bend_axismode", cookparms.getCookTime(), 0);
3937  return Bend_axismode(result);
3938  }
3939  UT_Vector3D getBend_axis() const { return myBend_axis; }
3940  void setBend_axis(UT_Vector3D val) { myBend_axis = val; }
3942  {
3943  SOP_Node *thissop = cookparms.getNode();
3944  if (!thissop) return getBend_axis();
3946  OP_Utils::evalOpParm(result, thissop, "bend_axis", cookparms.getCookTime(), 0);
3947  return result;
3948  }
3949  const UT_StringHolder & getBend_axiscurveattrib() const { return myBend_axiscurveattrib; }
3950  void setBend_axiscurveattrib(const UT_StringHolder & val) { myBend_axiscurveattrib = val; }
3952  {
3953  SOP_Node *thissop = cookparms.getNode();
3954  if (!thissop) return getBend_axiscurveattrib();
3956  OP_Utils::evalOpParm(result, thissop, "bend_axiscurveattrib", cookparms.getCookTime(), 0);
3957  return result;
3958  }
3959  const UT_StringHolder & getBend_axisskinattrib() const { return myBend_axisskinattrib; }
3960  void setBend_axisskinattrib(const UT_StringHolder & val) { myBend_axisskinattrib = val; }
3962  {
3963  SOP_Node *thissop = cookparms.getNode();
3964  if (!thissop) return getBend_axisskinattrib();
3966  OP_Utils::evalOpParm(result, thissop, "bend_axisskinattrib", cookparms.getCookTime(), 0);
3967  return result;
3968  }
3969  UT_Vector3D getBend_dir() const { return myBend_dir; }
3970  void setBend_dir(UT_Vector3D val) { myBend_dir = val; }
3972  {
3973  SOP_Node *thissop = cookparms.getNode();
3974  if (!thissop) return getBend_dir();
3976  OP_Utils::evalOpParm(result, thissop, "bend_dir", cookparms.getCookTime(), 0);
3977  return result;
3978  }
3979  const UT_StringHolder & getBend_dircurveattrib() const { return myBend_dircurveattrib; }
3980  void setBend_dircurveattrib(const UT_StringHolder & val) { myBend_dircurveattrib = val; }
3982  {
3983  SOP_Node *thissop = cookparms.getNode();
3984  if (!thissop) return getBend_dircurveattrib();
3986  OP_Utils::evalOpParm(result, thissop, "bend_dircurveattrib", cookparms.getCookTime(), 0);
3987  return result;
3988  }
3989  const UT_StringHolder & getBend_dirskinattrib() const { return myBend_dirskinattrib; }
3990  void setBend_dirskinattrib(const UT_StringHolder & val) { myBend_dirskinattrib = val; }
3992  {
3993  SOP_Node *thissop = cookparms.getNode();
3994  if (!thissop) return getBend_dirskinattrib();
3996  OP_Utils::evalOpParm(result, thissop, "bend_dirskinattrib", cookparms.getCookTime(), 0);
3997  return result;
3998  }
3999  Bend_dirtoaxis getBend_dirtoaxis() const { return Bend_dirtoaxis(myBend_dirtoaxis); }
4000  void setBend_dirtoaxis(Bend_dirtoaxis val) { myBend_dirtoaxis = int64(val); }
4002  {
4003  SOP_Node *thissop = cookparms.getNode();
4004  if (!thissop) return getBend_dirtoaxis();
4005  int64 result;
4006  OP_Utils::evalOpParm(result, thissop, "bend_dirtoaxis", cookparms.getCookTime(), 0);
4007  return Bend_dirtoaxis(result);
4008  }
4009  fpreal64 getBend_angle() const { return myBend_angle; }
4010  void setBend_angle(fpreal64 val) { myBend_angle = val; }
4012  {
4013  SOP_Node *thissop = cookparms.getNode();
4014  if (!thissop) return getBend_angle();
4015  fpreal64 result;
4016  OP_Utils::evalOpParm(result, thissop, "bend_angle", cookparms.getCookTime(), 0);
4017  return result;
4018  }
4019  Bend_angleoverride getBend_angleoverride() const { return Bend_angleoverride(myBend_angleoverride); }
4020  void setBend_angleoverride(Bend_angleoverride val) { myBend_angleoverride = int64(val); }
4022  {
4023  SOP_Node *thissop = cookparms.getNode();
4024  if (!thissop) return getBend_angleoverride();
4025  int64 result;
4026  OP_Utils::evalOpParm(result, thissop, "bend_angleoverride", cookparms.getCookTime(), 0);
4027  return Bend_angleoverride(result);
4028  }
4029  int64 getBend_angleoptions() const { return myBend_angleoptions; }
4030  void setBend_angleoptions(int64 val) { myBend_angleoptions = val; }
4032  {
4033  SOP_Node *thissop = cookparms.getNode();
4034  if (!thissop) return getBend_angleoptions();
4035  int64 result;
4036  OP_Utils::evalOpParm(result, thissop, "bend_angleoptions", cookparms.getCookTime(), 0);
4037  return result;
4038  }
4039  UT_Vector2D getBend_angleinrange() const { return myBend_angleinrange; }
4040  void setBend_angleinrange(UT_Vector2D val) { myBend_angleinrange = val; }
4042  {
4043  SOP_Node *thissop = cookparms.getNode();
4044  if (!thissop) return getBend_angleinrange();
4046  OP_Utils::evalOpParm(result, thissop, "bend_angleinrange", cookparms.getCookTime(), 0);
4047  return result;
4048  }
4049  UT_Vector2D getBend_angleoutrange() const { return myBend_angleoutrange; }
4050  void setBend_angleoutrange(UT_Vector2D val) { myBend_angleoutrange = val; }
4052  {
4053  SOP_Node *thissop = cookparms.getNode();
4054  if (!thissop) return getBend_angleoutrange();
4056  OP_Utils::evalOpParm(result, thissop, "bend_angleoutrange", cookparms.getCookTime(), 0);
4057  return result;
4058  }
4059  bool getBend_anglemapramptobarbs() const { return myBend_anglemapramptobarbs; }
4060  void setBend_anglemapramptobarbs(bool val) { myBend_anglemapramptobarbs = val; }
4062  {
4063  SOP_Node *thissop = cookparms.getNode();
4064  if (!thissop) return getBend_anglemapramptobarbs();
4065  bool result;
4066  OP_Utils::evalOpParm(result, thissop, "bend_anglemapramptobarbs", cookparms.getCookTime(), 0);
4067  return result;
4068  }
4069  UT_SharedPtr<UT_Ramp> getBend_angleremapramp() const { return myBend_angleremapramp; }
4070  void setBend_angleremapramp(UT_SharedPtr<UT_Ramp> val) { myBend_angleremapramp = val; }
4072  {
4073  SOP_Node *thissop = cookparms.getNode();
4074  if (!thissop) return getBend_angleremapramp();
4076  OP_Utils::evalOpParm(result, thissop, "bend_angleremapramp", cookparms.getCookTime(), 0);
4077  return result;
4078  }
4079  const UT_StringHolder & getBend_anglecurveattrib() const { return myBend_anglecurveattrib; }
4080  void setBend_anglecurveattrib(const UT_StringHolder & val) { myBend_anglecurveattrib = val; }
4082  {
4083  SOP_Node *thissop = cookparms.getNode();
4084  if (!thissop) return getBend_anglecurveattrib();
4086  OP_Utils::evalOpParm(result, thissop, "bend_anglecurveattrib", cookparms.getCookTime(), 0);
4087  return result;
4088  }
4089  const UT_StringHolder & getBend_angleattrib() const { return myBend_angleattrib; }
4090  void setBend_angleattrib(const UT_StringHolder & val) { myBend_angleattrib = val; }
4092  {
4093  SOP_Node *thissop = cookparms.getNode();
4094  if (!thissop) return getBend_angleattrib();
4096  OP_Utils::evalOpParm(result, thissop, "bend_angleattrib", cookparms.getCookTime(), 0);
4097  return result;
4098  }
4099  const UT_StringHolder & getBend_angletexture() const { return myBend_angletexture; }
4100  void setBend_angletexture(const UT_StringHolder & val) { myBend_angletexture = val; }
4102  {
4103  SOP_Node *thissop = cookparms.getNode();
4104  if (!thissop) return getBend_angletexture();
4106  OP_Utils::evalOpParm(result, thissop, "bend_angletexture", cookparms.getCookTime(), 0);
4107  return result;
4108  }
4109  const UT_StringHolder & getBend_angletextureprim() const { return myBend_angletextureprim; }
4110  void setBend_angletextureprim(const UT_StringHolder & val) { myBend_angletextureprim = val; }
4112  {
4113  SOP_Node *thissop = cookparms.getNode();
4114  if (!thissop) return getBend_angletextureprim();
4116  OP_Utils::evalOpParm(result, thissop, "bend_angletextureprim", cookparms.getCookTime(), 0);
4117  return result;
4118  }
4119  Bend_angleuvmode getBend_angleuvmode() const { return Bend_angleuvmode(myBend_angleuvmode); }
4120  void setBend_angleuvmode(Bend_angleuvmode val) { myBend_angleuvmode = int64(val); }
4122  {
4123  SOP_Node *thissop = cookparms.getNode();
4124  if (!thissop) return getBend_angleuvmode();
4125  int64 result;
4126  OP_Utils::evalOpParm(result, thissop, "bend_angleuvmode", cookparms.getCookTime(), 0);
4127  return Bend_angleuvmode(result);
4128  }
4129  fpreal64 getBend_anglerand() const { return myBend_anglerand; }
4130  void setBend_anglerand(fpreal64 val) { myBend_anglerand = val; }
4132  {
4133  SOP_Node *thissop = cookparms.getNode();
4134  if (!thissop) return getBend_anglerand();
4135  fpreal64 result;
4136  OP_Utils::evalOpParm(result, thissop, "bend_anglerand", cookparms.getCookTime(), 0);
4137  return result;
4138  }
4139  Bend_anglerandoverride getBend_anglerandoverride() const { return Bend_anglerandoverride(myBend_anglerandoverride); }
4140  void setBend_anglerandoverride(Bend_anglerandoverride val) { myBend_anglerandoverride = int64(val); }
4142  {
4143  SOP_Node *thissop = cookparms.getNode();
4144  if (!thissop) return getBend_anglerandoverride();
4145  int64 result;
4146  OP_Utils::evalOpParm(result, thissop, "bend_anglerandoverride", cookparms.getCookTime(), 0);
4147  return Bend_anglerandoverride(result);
4148  }
4149  int64 getBend_anglerandoptions() const { return myBend_anglerandoptions; }
4150  void setBend_anglerandoptions(int64 val) { myBend_anglerandoptions = val; }
4152  {
4153  SOP_Node *thissop = cookparms.getNode();
4154  if (!thissop) return getBend_anglerandoptions();
4155  int64 result;
4156  OP_Utils::evalOpParm(result, thissop, "bend_anglerandoptions", cookparms.getCookTime(), 0);
4157  return result;
4158  }
4159  UT_Vector2D getBend_anglerandinrange() const { return myBend_anglerandinrange; }
4160  void setBend_anglerandinrange(UT_Vector2D val) { myBend_anglerandinrange = val; }
4162  {
4163  SOP_Node *thissop = cookparms.getNode();
4164  if (!thissop) return getBend_anglerandinrange();
4166  OP_Utils::evalOpParm(result, thissop, "bend_anglerandinrange", cookparms.getCookTime(), 0);
4167  return result;
4168  }
4169  UT_Vector2D getBend_anglerandoutrange() const { return myBend_anglerandoutrange; }
4170  void setBend_anglerandoutrange(UT_Vector2D val) { myBend_anglerandoutrange = val; }
4172  {
4173  SOP_Node *thissop = cookparms.getNode();
4174  if (!thissop) return getBend_anglerandoutrange();
4176  OP_Utils::evalOpParm(result, thissop, "bend_anglerandoutrange", cookparms.getCookTime(), 0);
4177  return result;
4178  }
4179  UT_SharedPtr<UT_Ramp> getBend_anglerandremapramp() const { return myBend_anglerandremapramp; }
4180  void setBend_anglerandremapramp(UT_SharedPtr<UT_Ramp> val) { myBend_anglerandremapramp = val; }
4182  {
4183  SOP_Node *thissop = cookparms.getNode();
4184  if (!thissop) return getBend_anglerandremapramp();
4186  OP_Utils::evalOpParm(result, thissop, "bend_anglerandremapramp", cookparms.getCookTime(), 0);
4187  return result;
4188  }
4189  const UT_StringHolder & getBend_anglerandcurveattrib() const { return myBend_anglerandcurveattrib; }
4190  void setBend_anglerandcurveattrib(const UT_StringHolder & val) { myBend_anglerandcurveattrib = val; }
4192  {
4193  SOP_Node *thissop = cookparms.getNode();
4194  if (!thissop) return getBend_anglerandcurveattrib();
4196  OP_Utils::evalOpParm(result, thissop, "bend_anglerandcurveattrib", cookparms.getCookTime(), 0);
4197  return result;
4198  }
4199  const UT_StringHolder & getBend_anglerandattrib() const { return myBend_anglerandattrib; }
4200  void setBend_anglerandattrib(const UT_StringHolder & val) { myBend_anglerandattrib = val; }
4202  {
4203  SOP_Node *thissop = cookparms.getNode();
4204  if (!thissop) return getBend_anglerandattrib();
4206  OP_Utils::evalOpParm(result, thissop, "bend_anglerandattrib", cookparms.getCookTime(), 0);
4207  return result;
4208  }
4209  const UT_StringHolder & getBend_anglerandtexture() const { return myBend_anglerandtexture; }
4210  void setBend_anglerandtexture(const UT_StringHolder & val) { myBend_anglerandtexture = val; }
4212  {
4213  SOP_Node *thissop = cookparms.getNode();
4214  if (!thissop) return getBend_anglerandtexture();
4216  OP_Utils::evalOpParm(result, thissop, "bend_anglerandtexture", cookparms.getCookTime(), 0);
4217  return result;
4218  }
4219  const UT_StringHolder & getBend_anglerandtextureprim() const { return myBend_anglerandtextureprim; }
4220  void setBend_anglerandtextureprim(const UT_StringHolder & val) { myBend_anglerandtextureprim = val; }
4222  {
4223  SOP_Node *thissop = cookparms.getNode();
4224  if (!thissop) return getBend_anglerandtextureprim();
4226  OP_Utils::evalOpParm(result, thissop, "bend_anglerandtextureprim", cookparms.getCookTime(), 0);
4227  return result;
4228  }
4229  Bend_angleranduvmode getBend_angleranduvmode() const { return Bend_angleranduvmode(myBend_angleranduvmode); }
4230  void setBend_angleranduvmode(Bend_angleranduvmode val) { myBend_angleranduvmode = int64(val); }
4232  {
4233  SOP_Node *thissop = cookparms.getNode();
4234  if (!thissop) return getBend_angleranduvmode();
4235  int64 result;
4236  OP_Utils::evalOpParm(result, thissop, "bend_angleranduvmode", cookparms.getCookTime(), 0);
4237  return Bend_angleranduvmode(result);
4238  }
4239  fpreal64 getBend_anglerandbias() const { return myBend_anglerandbias; }
4240  void setBend_anglerandbias(fpreal64 val) { myBend_anglerandbias = val; }
4242  {
4243  SOP_Node *thissop = cookparms.getNode();
4244  if (!thissop) return getBend_anglerandbias();
4245  fpreal64 result;
4246  OP_Utils::evalOpParm(result, thissop, "bend_anglerandbias", cookparms.getCookTime(), 0);
4247  return result;
4248  }
4250  void