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