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 using namespace UT::Literal;
23 
24 class DEP_MicroNode;
25 namespace SOP_GuideProcessCoreEnums
26 {
27  enum class Grouptype
28  {
29  PRIMITIVE = 0,
30  POINT,
31  EDGE
32  };
33  enum class Blendoverride
34  {
35  NONE = 0,
36  CURVEATTRIB,
37  SKINATTRIB,
38  TEXTURE
39  };
40  enum class Op
41  {
42  SETLENGTH = 0
43  };
44  enum class Setlength_mode
45  {
46  SET = 0,
47  MULTIPLY,
48  ADD,
49  SUBTRACT,
50  SETMIN,
51  SETMAX
52  };
53  enum class Setlength_method
54  {
55  SCALE = 0,
56  CUTEXTEND
57  };
59  {
60  NONE = 0,
61  CURVEATTRIB,
62  SKINATTRIB,
63  TEXTURE
64  };
66  {
67  NONE = 0,
68  CURVEATTRIB,
69  SKINATTRIB,
70  TEXTURE
71  };
73  {
74  NONE = 0,
75  CURVEATTRIB,
76  SKINATTRIB,
77  TEXTURE
78  };
80  {
81  NONE = 0,
82  CURVEATTRIB,
83  SKINATTRIB,
84  TEXTURE
85  };
87  {
88  NONE = 0,
89  CURVEATTRIB,
90  SKINATTRIB,
91  TEXTURE
92  };
94  {
95  NONE = 0,
96  CURVEATTRIB,
97  SKINATTRIB,
98  TEXTURE
99  };
100 }
101 
102 
104 {
105 public:
106  static int version() { return 1; }
107 
109  {
110  myUvattrib = "uv"_sh;
111  myGrouptype = 0;
112  myGroup = ""_sh;
113  mySeed = 0;
114  myVismasks = true;
115  myBlend = 1;
116  myBlendoverride = 0;
117  myBlendcurveattrib = "mask"_sh;
118  myBlendattrib = "mask"_sh;
119  myBlendtexture = ""_sh;
120  myOp = 0;
121  mySetlength_mode = 0;
122  mySetlength_method = 1;
123  mySetlength_blend = 1;
124  mySetlength_randomize = false;
125  mySetlength_length = 0.1;
126  mySetlength_lengthoverride = 0;
127  mySetlength_lengthcurveattrib = "length"_sh;
128  mySetlength_lengthattrib = "length"_sh;
129  mySetlength_lengthtexture = ""_sh;
130  mySetlength_lengthrandmin = 0.1;
131  mySetlength_lengthrandminoverride = 0;
132  mySetlength_lengthrandmincurveattrib = "minlength"_sh;
133  mySetlength_lengthrandminattrib = "minlength"_sh;
134  mySetlength_lengthrandmintexture = ""_sh;
135  mySetlength_lengthrandmax = 0.2;
136  mySetlength_lengthrandmaxoverride = 0;
137  mySetlength_lengthrandmaxcurveattrib = "maxlength"_sh;
138  mySetlength_lengthrandmaxattrib = "maxlength"_sh;
139  mySetlength_lengthrandmaxtexture = ""_sh;
140  mySetlength_scalefactor = 1;
141  mySetlength_scalefactoroverride = 0;
142  mySetlength_scalefactorcurveattrib = "scalefactor"_sh;
143  mySetlength_scalefactorattrib = "scalefactor"_sh;
144  mySetlength_scalefactortexture = ""_sh;
145  mySetlength_scalefactorrandmin = 1;
146  mySetlength_scalefactorrandminoverride = 0;
147  mySetlength_scalefactorrandmincurveattrib = "scalefactormin"_sh;
148  mySetlength_scalefactorrandminattrib = "scalefactormin"_sh;
149  mySetlength_scalefactorrandmintexture = ""_sh;
150  mySetlength_scalefactorrandmax = 1;
151  mySetlength_scalefactorrandmaxoverride = 0;
152  mySetlength_scalefactorrandmaxcurveattrib = "scalefactormax"_sh;
153  mySetlength_scalefactorrandmaxattrib = "scalefactormax"_sh;
154  mySetlength_scalefactorrandmaxtexture = ""_sh;
155  mySetlength_cullzerolen = true;
156  mySetlength_cullthreshold = 0.0001;
157 
158  }
159 
160  explicit SOP_GuideProcessCoreParms(const SOP_GuideProcessCoreParms &) = default;
161 
163 
165  {
166  if (myUvattrib != src.myUvattrib) return false;
167  if (myGrouptype != src.myGrouptype) return false;
168  if (myGroup != src.myGroup) return false;
169  if (mySeed != src.mySeed) return false;
170  if (myVismasks != src.myVismasks) return false;
171  if (myBlend != src.myBlend) return false;
172  if (myBlendoverride != src.myBlendoverride) return false;
173  if (myBlendcurveattrib != src.myBlendcurveattrib) return false;
174  if (myBlendattrib != src.myBlendattrib) return false;
175  if (myBlendtexture != src.myBlendtexture) return false;
176  if (myOp != src.myOp) return false;
177  if (mySetlength_mode != src.mySetlength_mode) return false;
178  if (mySetlength_method != src.mySetlength_method) return false;
179  if (mySetlength_blend != src.mySetlength_blend) return false;
180  if (mySetlength_randomize != src.mySetlength_randomize) return false;
181  if (mySetlength_length != src.mySetlength_length) return false;
182  if (mySetlength_lengthoverride != src.mySetlength_lengthoverride) return false;
183  if (mySetlength_lengthcurveattrib != src.mySetlength_lengthcurveattrib) return false;
184  if (mySetlength_lengthattrib != src.mySetlength_lengthattrib) return false;
185  if (mySetlength_lengthtexture != src.mySetlength_lengthtexture) return false;
186  if (mySetlength_lengthrandmin != src.mySetlength_lengthrandmin) return false;
187  if (mySetlength_lengthrandminoverride != src.mySetlength_lengthrandminoverride) return false;
188  if (mySetlength_lengthrandmincurveattrib != src.mySetlength_lengthrandmincurveattrib) return false;
189  if (mySetlength_lengthrandminattrib != src.mySetlength_lengthrandminattrib) return false;
190  if (mySetlength_lengthrandmintexture != src.mySetlength_lengthrandmintexture) return false;
191  if (mySetlength_lengthrandmax != src.mySetlength_lengthrandmax) return false;
192  if (mySetlength_lengthrandmaxoverride != src.mySetlength_lengthrandmaxoverride) return false;
193  if (mySetlength_lengthrandmaxcurveattrib != src.mySetlength_lengthrandmaxcurveattrib) return false;
194  if (mySetlength_lengthrandmaxattrib != src.mySetlength_lengthrandmaxattrib) return false;
195  if (mySetlength_lengthrandmaxtexture != src.mySetlength_lengthrandmaxtexture) return false;
196  if (mySetlength_scalefactor != src.mySetlength_scalefactor) return false;
197  if (mySetlength_scalefactoroverride != src.mySetlength_scalefactoroverride) return false;
198  if (mySetlength_scalefactorcurveattrib != src.mySetlength_scalefactorcurveattrib) return false;
199  if (mySetlength_scalefactorattrib != src.mySetlength_scalefactorattrib) return false;
200  if (mySetlength_scalefactortexture != src.mySetlength_scalefactortexture) return false;
201  if (mySetlength_scalefactorrandmin != src.mySetlength_scalefactorrandmin) return false;
202  if (mySetlength_scalefactorrandminoverride != src.mySetlength_scalefactorrandminoverride) return false;
203  if (mySetlength_scalefactorrandmincurveattrib != src.mySetlength_scalefactorrandmincurveattrib) return false;
204  if (mySetlength_scalefactorrandminattrib != src.mySetlength_scalefactorrandminattrib) return false;
205  if (mySetlength_scalefactorrandmintexture != src.mySetlength_scalefactorrandmintexture) return false;
206  if (mySetlength_scalefactorrandmax != src.mySetlength_scalefactorrandmax) return false;
207  if (mySetlength_scalefactorrandmaxoverride != src.mySetlength_scalefactorrandmaxoverride) return false;
208  if (mySetlength_scalefactorrandmaxcurveattrib != src.mySetlength_scalefactorrandmaxcurveattrib) return false;
209  if (mySetlength_scalefactorrandmaxattrib != src.mySetlength_scalefactorrandmaxattrib) return false;
210  if (mySetlength_scalefactorrandmaxtexture != src.mySetlength_scalefactorrandmaxtexture) return false;
211  if (mySetlength_cullzerolen != src.mySetlength_cullzerolen) return false;
212  if (mySetlength_cullthreshold != src.mySetlength_cullthreshold) return false;
213 
214  return true;
215  }
217  {
218  return !operator==(src);
219  }
231 
232 
233 
234  void buildFromOp(const SOP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
235  {
236  myUvattrib = "uv"_sh;
237  if (true)
238  graph->evalOpParm(myUvattrib, nodeidx, "uvattrib", time, 0);
239  myGrouptype = 0;
240  if (true)
241  graph->evalOpParm(myGrouptype, nodeidx, "grouptype", time, 0);
242  myGroup = ""_sh;
243  if (true)
244  graph->evalOpParm(myGroup, nodeidx, "group", time, 0);
245  mySeed = 0;
246  if (true)
247  graph->evalOpParm(mySeed, nodeidx, "seed", time, 0);
248  myVismasks = true;
249  if (true)
250  graph->evalOpParm(myVismasks, nodeidx, "vismasks", time, 0);
251  myBlend = 1;
252  if (true)
253  graph->evalOpParm(myBlend, nodeidx, "blend", time, 0);
254  myBlendoverride = 0;
255  if (true)
256  graph->evalOpParm(myBlendoverride, nodeidx, "blendoverride", time, 0);
257  myBlendcurveattrib = "mask"_sh;
258  if (true && ( (true&&!(((int64(getBlendoverride())!=1)))) ) )
259  graph->evalOpParm(myBlendcurveattrib, nodeidx, "blendcurveattrib", time, 0);
260  myBlendattrib = "mask"_sh;
261  if (true && ( (true&&!(((int64(getBlendoverride())!=2)))) ) )
262  graph->evalOpParm(myBlendattrib, nodeidx, "blendattrib", time, 0);
263  myBlendtexture = ""_sh;
264  if (true && ( (true&&!(((int64(getBlendoverride())!=3)))) ) )
265  graph->evalOpParm(myBlendtexture, nodeidx, "blendtexture", time, 0);
266  myOp = 0;
267  if (true)
268  graph->evalOpParm(myOp, nodeidx, "op", time, 0);
269  mySetlength_mode = 0;
270  if (true && ( (true&&!(((int64(getOp())!=0)))) ) )
271  graph->evalOpParm(mySetlength_mode, nodeidx, "setlength_mode", time, 0);
272  mySetlength_method = 1;
273  if (true && ( (true&&!(((int64(getOp())!=0)))) ) )
274  graph->evalOpParm(mySetlength_method, nodeidx, "setlength_method", time, 0);
275  mySetlength_blend = 1;
276  if (true && ( (true&&!(((int64(getOp())!=0)))) ) )
277  graph->evalOpParm(mySetlength_blend, nodeidx, "setlength_blend", time, 0);
278  mySetlength_randomize = false;
279  if (true && ( (true&&!(((int64(getOp())!=0)))) ) )
280  graph->evalOpParm(mySetlength_randomize, nodeidx, "setlength_randomize", time, 0);
281  mySetlength_length = 0.1;
282  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()!=0)))) ) )
283  graph->evalOpParm(mySetlength_length, nodeidx, "setlength_length", time, 0);
284  mySetlength_lengthoverride = 0;
285  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()!=0)))) ) )
286  graph->evalOpParm(mySetlength_lengthoverride, nodeidx, "setlength_lengthoverride", time, 0);
287  mySetlength_lengthcurveattrib = "length"_sh;
288  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()!=0))||((int64(getSetlength_lengthoverride())!=1)))) ) )
289  graph->evalOpParm(mySetlength_lengthcurveattrib, nodeidx, "setlength_lengthcurveattrib", time, 0);
290  mySetlength_lengthattrib = "length"_sh;
291  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()!=0))||((int64(getSetlength_lengthoverride())!=2)))) ) )
292  graph->evalOpParm(mySetlength_lengthattrib, nodeidx, "setlength_lengthattrib", time, 0);
293  mySetlength_lengthtexture = ""_sh;
294  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()!=0))||((int64(getSetlength_lengthoverride())!=3)))) ) )
295  graph->evalOpParm(mySetlength_lengthtexture, nodeidx, "setlength_lengthtexture", time, 0);
296  mySetlength_lengthrandmin = 0.1;
297  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0)))) ) )
298  graph->evalOpParm(mySetlength_lengthrandmin, nodeidx, "setlength_lengthrandmin", time, 0);
299  mySetlength_lengthrandminoverride = 0;
300  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0)))) ) )
301  graph->evalOpParm(mySetlength_lengthrandminoverride, nodeidx, "setlength_lengthrandminoverride", time, 0);
302  mySetlength_lengthrandmincurveattrib = "minlength"_sh;
303  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((int64(getSetlength_lengthrandminoverride())!=1)))) ) )
304  graph->evalOpParm(mySetlength_lengthrandmincurveattrib, nodeidx, "setlength_lengthrandmincurveattrib", time, 0);
305  mySetlength_lengthrandminattrib = "minlength"_sh;
306  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((int64(getSetlength_lengthrandminoverride())!=2)))) ) )
307  graph->evalOpParm(mySetlength_lengthrandminattrib, nodeidx, "setlength_lengthrandminattrib", time, 0);
308  mySetlength_lengthrandmintexture = ""_sh;
309  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((int64(getSetlength_lengthrandminoverride())!=3)))) ) )
310  graph->evalOpParm(mySetlength_lengthrandmintexture, nodeidx, "setlength_lengthrandmintexture", time, 0);
311  mySetlength_lengthrandmax = 0.2;
312  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0)))) ) )
313  graph->evalOpParm(mySetlength_lengthrandmax, nodeidx, "setlength_lengthrandmax", time, 0);
314  mySetlength_lengthrandmaxoverride = 0;
315  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0)))) ) )
316  graph->evalOpParm(mySetlength_lengthrandmaxoverride, nodeidx, "setlength_lengthrandmaxoverride", time, 0);
317  mySetlength_lengthrandmaxcurveattrib = "maxlength"_sh;
318  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((int64(getSetlength_lengthrandmaxoverride())!=1)))) ) )
319  graph->evalOpParm(mySetlength_lengthrandmaxcurveattrib, nodeidx, "setlength_lengthrandmaxcurveattrib", time, 0);
320  mySetlength_lengthrandmaxattrib = "maxlength"_sh;
321  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((int64(getSetlength_lengthrandmaxoverride())!=2)))) ) )
322  graph->evalOpParm(mySetlength_lengthrandmaxattrib, nodeidx, "setlength_lengthrandmaxattrib", time, 0);
323  mySetlength_lengthrandmaxtexture = ""_sh;
324  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())==1))||((getSetlength_randomize()==0))||((int64(getSetlength_lengthrandmaxoverride())!=3)))) ) )
325  graph->evalOpParm(mySetlength_lengthrandmaxtexture, nodeidx, "setlength_lengthrandmaxtexture", time, 0);
326  mySetlength_scalefactor = 1;
327  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==1)))) ) )
328  graph->evalOpParm(mySetlength_scalefactor, nodeidx, "setlength_scalefactor", time, 0);
329  mySetlength_scalefactoroverride = 0;
330  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==1)))) ) )
331  graph->evalOpParm(mySetlength_scalefactoroverride, nodeidx, "setlength_scalefactoroverride", time, 0);
332  mySetlength_scalefactorcurveattrib = "scalefactor"_sh;
333  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==1))||((int64(getSetlength_scalefactoroverride())!=1)))) ) )
334  graph->evalOpParm(mySetlength_scalefactorcurveattrib, nodeidx, "setlength_scalefactorcurveattrib", time, 0);
335  mySetlength_scalefactorattrib = "scalefactor"_sh;
336  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==1))||((int64(getSetlength_scalefactoroverride())!=2)))) ) )
337  graph->evalOpParm(mySetlength_scalefactorattrib, nodeidx, "setlength_scalefactorattrib", time, 0);
338  mySetlength_scalefactortexture = ""_sh;
339  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==1))||((int64(getSetlength_scalefactoroverride())!=3)))) ) )
340  graph->evalOpParm(mySetlength_scalefactortexture, nodeidx, "setlength_scalefactortexture", time, 0);
341  mySetlength_scalefactorrandmin = 1;
342  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0)))) ) )
343  graph->evalOpParm(mySetlength_scalefactorrandmin, nodeidx, "setlength_scalefactorrandmin", time, 0);
344  mySetlength_scalefactorrandminoverride = 0;
345  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0)))) ) )
346  graph->evalOpParm(mySetlength_scalefactorrandminoverride, nodeidx, "setlength_scalefactorrandminoverride", time, 0);
347  mySetlength_scalefactorrandmincurveattrib = "scalefactormin"_sh;
348  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((int64(getSetlength_scalefactorrandminoverride())!=1)))) ) )
349  graph->evalOpParm(mySetlength_scalefactorrandmincurveattrib, nodeidx, "setlength_scalefactorrandmincurveattrib", time, 0);
350  mySetlength_scalefactorrandminattrib = "scalefactormin"_sh;
351  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((int64(getSetlength_scalefactorrandminoverride())!=2)))) ) )
352  graph->evalOpParm(mySetlength_scalefactorrandminattrib, nodeidx, "setlength_scalefactorrandminattrib", time, 0);
353  mySetlength_scalefactorrandmintexture = ""_sh;
354  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((int64(getSetlength_scalefactorrandminoverride())!=3)))) ) )
355  graph->evalOpParm(mySetlength_scalefactorrandmintexture, nodeidx, "setlength_scalefactorrandmintexture", time, 0);
356  mySetlength_scalefactorrandmax = 1;
357  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0)))) ) )
358  graph->evalOpParm(mySetlength_scalefactorrandmax, nodeidx, "setlength_scalefactorrandmax", time, 0);
359  mySetlength_scalefactorrandmaxoverride = 0;
360  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0)))) ) )
361  graph->evalOpParm(mySetlength_scalefactorrandmaxoverride, nodeidx, "setlength_scalefactorrandmaxoverride", time, 0);
362  mySetlength_scalefactorrandmaxcurveattrib = "scalefactormax"_sh;
363  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((int64(getSetlength_scalefactorrandmaxoverride())!=1)))) ) )
364  graph->evalOpParm(mySetlength_scalefactorrandmaxcurveattrib, nodeidx, "setlength_scalefactorrandmaxcurveattrib", time, 0);
365  mySetlength_scalefactorrandmaxattrib = "scalefactormax"_sh;
366  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((int64(getSetlength_scalefactorrandmaxoverride())!=2)))) ) )
367  graph->evalOpParm(mySetlength_scalefactorrandmaxattrib, nodeidx, "setlength_scalefactorrandmaxattrib", time, 0);
368  mySetlength_scalefactorrandmaxtexture = ""_sh;
369  if (true && ( (true&&!(((int64(getOp())!=0))||((int64(getSetlength_mode())!=1))||((getSetlength_randomize()==0))||((int64(getSetlength_scalefactorrandmaxoverride())!=3)))) ) )
370  graph->evalOpParm(mySetlength_scalefactorrandmaxtexture, nodeidx, "setlength_scalefactorrandmaxtexture", time, 0);
371  mySetlength_cullzerolen = true;
372  if (true && ( (true&&!(((int64(getOp())!=0)))) ) )
373  graph->evalOpParm(mySetlength_cullzerolen, nodeidx, "setlength_cullzerolen", time, 0);
374  mySetlength_cullthreshold = 0.0001;
375  if (true && ( (true&&!(((getSetlength_cullzerolen()==0))||((int64(getOp())!=0)))) ) )
376  graph->evalOpParm(mySetlength_cullthreshold, nodeidx, "setlength_cullthreshold", time, 0);
377 
378  }
379 
380 
381  void loadFromOpSubclass(const LoadParms &loadparms) override
382  {
383  buildFromOp(loadparms.graph(), loadparms.nodeIdx(), loadparms.context().getTime(), loadparms.depnode());
384  }
385 
386 
387  void copyFrom(const SOP_NodeParms *src) override
388  {
389  *this = *((const SOP_GuideProcessCoreParms *)src);
390  }
391 
392  template <typename T>
393  void
394  doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
395  {
396  if (idx.size() < 1)
397  return;
398  UT_ASSERT(idx.size() == instance.size()+1);
399  if (idx.size() != instance.size()+1)
400  return;
401  switch (idx[0])
402  {
403  case 0:
404  coerceValue(value, myUvattrib);
405  break;
406  case 1:
407  coerceValue(value, myGrouptype);
408  break;
409  case 2:
410  coerceValue(value, myGroup);
411  break;
412  case 3:
413  coerceValue(value, mySeed);
414  break;
415  case 4:
416  coerceValue(value, myVismasks);
417  break;
418  case 5:
419  coerceValue(value, myBlend);
420  break;
421  case 6:
422  coerceValue(value, myBlendoverride);
423  break;
424  case 7:
425  coerceValue(value, myBlendcurveattrib);
426  break;
427  case 8:
428  coerceValue(value, myBlendattrib);
429  break;
430  case 9:
431  coerceValue(value, myBlendtexture);
432  break;
433  case 10:
434  coerceValue(value, myOp);
435  break;
436  case 11:
437  coerceValue(value, mySetlength_mode);
438  break;
439  case 12:
440  coerceValue(value, mySetlength_method);
441  break;
442  case 13:
443  coerceValue(value, mySetlength_blend);
444  break;
445  case 14:
446  coerceValue(value, mySetlength_randomize);
447  break;
448  case 15:
449  coerceValue(value, mySetlength_length);
450  break;
451  case 16:
452  coerceValue(value, mySetlength_lengthoverride);
453  break;
454  case 17:
455  coerceValue(value, mySetlength_lengthcurveattrib);
456  break;
457  case 18:
458  coerceValue(value, mySetlength_lengthattrib);
459  break;
460  case 19:
461  coerceValue(value, mySetlength_lengthtexture);
462  break;
463  case 20:
464  coerceValue(value, mySetlength_lengthrandmin);
465  break;
466  case 21:
467  coerceValue(value, mySetlength_lengthrandminoverride);
468  break;
469  case 22:
470  coerceValue(value, mySetlength_lengthrandmincurveattrib);
471  break;
472  case 23:
473  coerceValue(value, mySetlength_lengthrandminattrib);
474  break;
475  case 24:
476  coerceValue(value, mySetlength_lengthrandmintexture);
477  break;
478  case 25:
479  coerceValue(value, mySetlength_lengthrandmax);
480  break;
481  case 26:
482  coerceValue(value, mySetlength_lengthrandmaxoverride);
483  break;
484  case 27:
485  coerceValue(value, mySetlength_lengthrandmaxcurveattrib);
486  break;
487  case 28:
488  coerceValue(value, mySetlength_lengthrandmaxattrib);
489  break;
490  case 29:
491  coerceValue(value, mySetlength_lengthrandmaxtexture);
492  break;
493  case 30:
494  coerceValue(value, mySetlength_scalefactor);
495  break;
496  case 31:
497  coerceValue(value, mySetlength_scalefactoroverride);
498  break;
499  case 32:
500  coerceValue(value, mySetlength_scalefactorcurveattrib);
501  break;
502  case 33:
503  coerceValue(value, mySetlength_scalefactorattrib);
504  break;
505  case 34:
506  coerceValue(value, mySetlength_scalefactortexture);
507  break;
508  case 35:
509  coerceValue(value, mySetlength_scalefactorrandmin);
510  break;
511  case 36:
512  coerceValue(value, mySetlength_scalefactorrandminoverride);
513  break;
514  case 37:
515  coerceValue(value, mySetlength_scalefactorrandmincurveattrib);
516  break;
517  case 38:
518  coerceValue(value, mySetlength_scalefactorrandminattrib);
519  break;
520  case 39:
521  coerceValue(value, mySetlength_scalefactorrandmintexture);
522  break;
523  case 40:
524  coerceValue(value, mySetlength_scalefactorrandmax);
525  break;
526  case 41:
527  coerceValue(value, mySetlength_scalefactorrandmaxoverride);
528  break;
529  case 42:
530  coerceValue(value, mySetlength_scalefactorrandmaxcurveattrib);
531  break;
532  case 43:
533  coerceValue(value, mySetlength_scalefactorrandmaxattrib);
534  break;
535  case 44:
536  coerceValue(value, mySetlength_scalefactorrandmaxtexture);
537  break;
538  case 45:
539  coerceValue(value, mySetlength_cullzerolen);
540  break;
541  case 46:
542  coerceValue(value, mySetlength_cullthreshold);
543  break;
544 
545  }
546  }
547 
548  void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
549  { doGetParmValue(idx, instance, value); }
550  void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
551  { doGetParmValue(idx, instance, value); }
552  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
553  { doGetParmValue(idx, instance, value); }
554  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
555  { doGetParmValue(idx, instance, value); }
556  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
557  { doGetParmValue(idx, instance, value); }
558  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
559  { doGetParmValue(idx, instance, value); }
560  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
561  { doGetParmValue(idx, instance, value); }
562  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
563  { doGetParmValue(idx, instance, value); }
564  void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
565  { doGetParmValue(idx, instance, value); }
566  void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr<UT_Ramp> &value) const override
567  { doGetParmValue(idx, instance, value); }
568  void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
569  { doGetParmValue(idx, instance, value); }
570 
571  template <typename T>
572  void
573  doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
574  {
575  if (idx.size() < 1)
576  return;
577  UT_ASSERT(idx.size() == instance.size()+1);
578  if (idx.size() != instance.size()+1)
579  return;
580  switch (idx[0])
581  {
582  case 0:
583  coerceValue(myUvattrib, ( ( value ) ));
584  break;
585  case 1:
586  coerceValue(myGrouptype, clampMinValue(0, clampMaxValue(2, value ) ));
587  break;
588  case 2:
589  coerceValue(myGroup, ( ( value ) ));
590  break;
591  case 3:
592  coerceValue(mySeed, ( ( value ) ));
593  break;
594  case 4:
595  coerceValue(myVismasks, ( ( value ) ));
596  break;
597  case 5:
598  coerceValue(myBlend, clampMinValue(0, clampMaxValue(1, value ) ));
599  break;
600  case 6:
601  coerceValue(myBlendoverride, clampMinValue(0, clampMaxValue(3, value ) ));
602  break;
603  case 7:
604  coerceValue(myBlendcurveattrib, ( ( value ) ));
605  break;
606  case 8:
607  coerceValue(myBlendattrib, ( ( value ) ));
608  break;
609  case 9:
610  coerceValue(myBlendtexture, ( ( value ) ));
611  break;
612  case 10:
613  coerceValue(myOp, clampMinValue(0, clampMaxValue(0, value ) ));
614  break;
615  case 11:
616  coerceValue(mySetlength_mode, clampMinValue(0, clampMaxValue(5, value ) ));
617  break;
618  case 12:
619  coerceValue(mySetlength_method, clampMinValue(0, clampMaxValue(1, value ) ));
620  break;
621  case 13:
622  coerceValue(mySetlength_blend, clampMinValue(0, clampMaxValue(1, value ) ));
623  break;
624  case 14:
625  coerceValue(mySetlength_randomize, ( ( value ) ));
626  break;
627  case 15:
628  coerceValue(mySetlength_length, clampMinValue(0, ( value ) ));
629  break;
630  case 16:
631  coerceValue(mySetlength_lengthoverride, clampMinValue(0, clampMaxValue(3, value ) ));
632  break;
633  case 17:
634  coerceValue(mySetlength_lengthcurveattrib, ( ( value ) ));
635  break;
636  case 18:
637  coerceValue(mySetlength_lengthattrib, ( ( value ) ));
638  break;
639  case 19:
640  coerceValue(mySetlength_lengthtexture, ( ( value ) ));
641  break;
642  case 20:
643  coerceValue(mySetlength_lengthrandmin, clampMinValue(0, ( value ) ));
644  break;
645  case 21:
646  coerceValue(mySetlength_lengthrandminoverride, clampMinValue(0, clampMaxValue(3, value ) ));
647  break;
648  case 22:
649  coerceValue(mySetlength_lengthrandmincurveattrib, ( ( value ) ));
650  break;
651  case 23:
652  coerceValue(mySetlength_lengthrandminattrib, ( ( value ) ));
653  break;
654  case 24:
655  coerceValue(mySetlength_lengthrandmintexture, ( ( value ) ));
656  break;
657  case 25:
658  coerceValue(mySetlength_lengthrandmax, clampMinValue(0, ( value ) ));
659  break;
660  case 26:
661  coerceValue(mySetlength_lengthrandmaxoverride, clampMinValue(0, clampMaxValue(3, value ) ));
662  break;
663  case 27:
664  coerceValue(mySetlength_lengthrandmaxcurveattrib, ( ( value ) ));
665  break;
666  case 28:
667  coerceValue(mySetlength_lengthrandmaxattrib, ( ( value ) ));
668  break;
669  case 29:
670  coerceValue(mySetlength_lengthrandmaxtexture, ( ( value ) ));
671  break;
672  case 30:
673  coerceValue(mySetlength_scalefactor, ( ( value ) ));
674  break;
675  case 31:
676  coerceValue(mySetlength_scalefactoroverride, clampMinValue(0, clampMaxValue(3, value ) ));
677  break;
678  case 32:
679  coerceValue(mySetlength_scalefactorcurveattrib, ( ( value ) ));
680  break;
681  case 33:
682  coerceValue(mySetlength_scalefactorattrib, ( ( value ) ));
683  break;
684  case 34:
685  coerceValue(mySetlength_scalefactortexture, ( ( value ) ));
686  break;
687  case 35:
688  coerceValue(mySetlength_scalefactorrandmin, ( ( value ) ));
689  break;
690  case 36:
691  coerceValue(mySetlength_scalefactorrandminoverride, clampMinValue(0, clampMaxValue(3, value ) ));
692  break;
693  case 37:
694  coerceValue(mySetlength_scalefactorrandmincurveattrib, ( ( value ) ));
695  break;
696  case 38:
697  coerceValue(mySetlength_scalefactorrandminattrib, ( ( value ) ));
698  break;
699  case 39:
700  coerceValue(mySetlength_scalefactorrandmintexture, ( ( value ) ));
701  break;
702  case 40:
703  coerceValue(mySetlength_scalefactorrandmax, ( ( value ) ));
704  break;
705  case 41:
706  coerceValue(mySetlength_scalefactorrandmaxoverride, clampMinValue(0, clampMaxValue(3, value ) ));
707  break;
708  case 42:
709  coerceValue(mySetlength_scalefactorrandmaxcurveattrib, ( ( value ) ));
710  break;
711  case 43:
712  coerceValue(mySetlength_scalefactorrandmaxattrib, ( ( value ) ));
713  break;
714  case 44:
715  coerceValue(mySetlength_scalefactorrandmaxtexture, ( ( value ) ));
716  break;
717  case 45:
718  coerceValue(mySetlength_cullzerolen, ( ( value ) ));
719  break;
720  case 46:
721  coerceValue(mySetlength_cullthreshold, ( clampMaxValue(-10, value ) ));
722  break;
723 
724  }
725  }
726 
727  void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
728  { doSetParmValue(idx, instance, value); }
729  void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
730  { doSetParmValue(idx, instance, value); }
731  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
732  { doSetParmValue(idx, instance, value); }
733  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
734  { doSetParmValue(idx, instance, value); }
735  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
736  { doSetParmValue(idx, instance, value); }
737  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
738  { doSetParmValue(idx, instance, value); }
739  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
740  { doSetParmValue(idx, instance, value); }
741  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
742  { doSetParmValue(idx, instance, value); }
743  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
744  { doSetParmValue(idx, instance, value); }
745  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr<UT_Ramp> &value) override
746  { doSetParmValue(idx, instance, value); }
747  void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
748  { doSetParmValue(idx, instance, value); }
749 
750  exint getNestNumParms(TempIndex idx) const override
751  {
752  if (idx.size() == 0)
753  return 47;
754  switch (idx[0])
755  {
756 
757  }
758  // Invalid
759  return 0;
760  }
761 
762  const char *getNestParmName(TempIndex fieldnum) const override
763  {
764  if (fieldnum.size() < 1)
765  return 0;
766  switch (fieldnum[0])
767  {
768  case 0:
769  return "uvattrib";
770  case 1:
771  return "grouptype";
772  case 2:
773  return "group";
774  case 3:
775  return "seed";
776  case 4:
777  return "vismasks";
778  case 5:
779  return "blend";
780  case 6:
781  return "blendoverride";
782  case 7:
783  return "blendcurveattrib";
784  case 8:
785  return "blendattrib";
786  case 9:
787  return "blendtexture";
788  case 10:
789  return "op";
790  case 11:
791  return "setlength_mode";
792  case 12:
793  return "setlength_method";
794  case 13:
795  return "setlength_blend";
796  case 14:
797  return "setlength_randomize";
798  case 15:
799  return "setlength_length";
800  case 16:
801  return "setlength_lengthoverride";
802  case 17:
803  return "setlength_lengthcurveattrib";
804  case 18:
805  return "setlength_lengthattrib";
806  case 19:
807  return "setlength_lengthtexture";
808  case 20:
809  return "setlength_lengthrandmin";
810  case 21:
811  return "setlength_lengthrandminoverride";
812  case 22:
813  return "setlength_lengthrandmincurveattrib";
814  case 23:
815  return "setlength_lengthrandminattrib";
816  case 24:
817  return "setlength_lengthrandmintexture";
818  case 25:
819  return "setlength_lengthrandmax";
820  case 26:
821  return "setlength_lengthrandmaxoverride";
822  case 27:
823  return "setlength_lengthrandmaxcurveattrib";
824  case 28:
825  return "setlength_lengthrandmaxattrib";
826  case 29:
827  return "setlength_lengthrandmaxtexture";
828  case 30:
829  return "setlength_scalefactor";
830  case 31:
831  return "setlength_scalefactoroverride";
832  case 32:
833  return "setlength_scalefactorcurveattrib";
834  case 33:
835  return "setlength_scalefactorattrib";
836  case 34:
837  return "setlength_scalefactortexture";
838  case 35:
839  return "setlength_scalefactorrandmin";
840  case 36:
841  return "setlength_scalefactorrandminoverride";
842  case 37:
843  return "setlength_scalefactorrandmincurveattrib";
844  case 38:
845  return "setlength_scalefactorrandminattrib";
846  case 39:
847  return "setlength_scalefactorrandmintexture";
848  case 40:
849  return "setlength_scalefactorrandmax";
850  case 41:
851  return "setlength_scalefactorrandmaxoverride";
852  case 42:
853  return "setlength_scalefactorrandmaxcurveattrib";
854  case 43:
855  return "setlength_scalefactorrandmaxattrib";
856  case 44:
857  return "setlength_scalefactorrandmaxtexture";
858  case 45:
859  return "setlength_cullzerolen";
860  case 46:
861  return "setlength_cullthreshold";
862 
863  }
864  return 0;
865  }
866 
867  ParmType getNestParmType(TempIndex fieldnum) const override
868  {
869  if (fieldnum.size() < 1)
870  return PARM_UNSUPPORTED;
871  switch (fieldnum[0])
872  {
873  case 0:
874  return PARM_STRING;
875  case 1:
876  return PARM_INTEGER;
877  case 2:
878  return PARM_STRING;
879  case 3:
880  return PARM_FLOAT;
881  case 4:
882  return PARM_INTEGER;
883  case 5:
884  return PARM_FLOAT;
885  case 6:
886  return PARM_INTEGER;
887  case 7:
888  return PARM_STRING;
889  case 8:
890  return PARM_STRING;
891  case 9:
892  return PARM_STRING;
893  case 10:
894  return PARM_INTEGER;
895  case 11:
896  return PARM_INTEGER;
897  case 12:
898  return PARM_INTEGER;
899  case 13:
900  return PARM_FLOAT;
901  case 14:
902  return PARM_INTEGER;
903  case 15:
904  return PARM_FLOAT;
905  case 16:
906  return PARM_INTEGER;
907  case 17:
908  return PARM_STRING;
909  case 18:
910  return PARM_STRING;
911  case 19:
912  return PARM_STRING;
913  case 20:
914  return PARM_FLOAT;
915  case 21:
916  return PARM_INTEGER;
917  case 22:
918  return PARM_STRING;
919  case 23:
920  return PARM_STRING;
921  case 24:
922  return PARM_STRING;
923  case 25:
924  return PARM_FLOAT;
925  case 26:
926  return PARM_INTEGER;
927  case 27:
928  return PARM_STRING;
929  case 28:
930  return PARM_STRING;
931  case 29:
932  return PARM_STRING;
933  case 30:
934  return PARM_FLOAT;
935  case 31:
936  return PARM_INTEGER;
937  case 32:
938  return PARM_STRING;
939  case 33:
940  return PARM_STRING;
941  case 34:
942  return PARM_STRING;
943  case 35:
944  return PARM_FLOAT;
945  case 36:
946  return PARM_INTEGER;
947  case 37:
948  return PARM_STRING;
949  case 38:
950  return PARM_STRING;
951  case 39:
952  return PARM_STRING;
953  case 40:
954  return PARM_FLOAT;
955  case 41:
956  return PARM_INTEGER;
957  case 42:
958  return PARM_STRING;
959  case 43:
960  return PARM_STRING;
961  case 44:
962  return PARM_STRING;
963  case 45:
964  return PARM_INTEGER;
965  case 46:
966  return PARM_FLOAT;
967 
968  }
969  return PARM_UNSUPPORTED;
970  }
971 
972  // Boiler plate to load individual types.
973  static void loadData(UT_IStream &is, int64 &v)
974  { is.bread(&v, 1); }
975  static void loadData(UT_IStream &is, bool &v)
976  { int64 iv; is.bread(&iv, 1); v = iv; }
977  static void loadData(UT_IStream &is, fpreal64 &v)
978  { is.bread<fpreal64>(&v, 1); }
979  static void loadData(UT_IStream &is, UT_Vector2D &v)
980  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
981  static void loadData(UT_IStream &is, UT_Vector3D &v)
982  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
983  is.bread<fpreal64>(&v.z(), 1); }
984  static void loadData(UT_IStream &is, UT_Vector4D &v)
985  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
986  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
987  static void loadData(UT_IStream &is, UT_Matrix2D &v)
988  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
989  static void loadData(UT_IStream &is, UT_Matrix3D &v)
990  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
991  static void loadData(UT_IStream &is, UT_Matrix4D &v)
992  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
993  static void loadData(UT_IStream &is, UT_Vector2I &v)
994  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
995  static void loadData(UT_IStream &is, UT_Vector3I &v)
996  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
997  is.bread<int64>(&v.z(), 1); }
998  static void loadData(UT_IStream &is, UT_Vector4I &v)
999  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
1000  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
1002  { is.bread(v); }
1004  { UT_StringHolder rampdata;
1005  loadData(is, rampdata);
1006  if (rampdata.isstring())
1007  {
1008  v.reset(new UT_Ramp());
1009  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
1010  v->load(istr);
1011  }
1012  else v.reset();
1013  }
1016  loadData(is, data);
1017  if (data.isstring())
1018  {
1019  // Find the data type.
1020  const char *colon = UT_StringWrap(data).findChar(':');
1021  if (colon)
1022  {
1023  int typelen = colon - data.buffer();
1025  type.strncpy(data.buffer(), typelen);
1026  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
1027 
1028  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
1029  }
1030  }
1031  else v.reset();
1032  }
1033 
1034  static void saveData(std::ostream &os, int64 v)
1035  { UTwrite(os, &v); }
1036  static void saveData(std::ostream &os, bool v)
1037  { int64 iv = v; UTwrite(os, &iv); }
1038  static void saveData(std::ostream &os, fpreal64 v)
1039  { UTwrite<fpreal64>(os, &v); }
1040  static void saveData(std::ostream &os, UT_Vector2D v)
1041  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
1042  static void saveData(std::ostream &os, UT_Vector3D v)
1043  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
1044  UTwrite<fpreal64>(os, &v.z()); }
1045  static void saveData(std::ostream &os, UT_Vector4D v)
1046  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
1047  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
1048  static void saveData(std::ostream &os, UT_Matrix2D v)
1050  static void saveData(std::ostream &os, UT_Matrix3D v)
1052  static void saveData(std::ostream &os, UT_Matrix4D v)
1054  static void saveData(std::ostream &os, UT_StringHolder s)
1055  { UT_StringWrap(s).saveBinary(os); }
1056  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
1058  UT_OStringStream ostr;
1059  if (s) s->save(ostr);
1060  result = ostr.str();
1061  saveData(os, result);
1062  }
1063  static void saveData(std::ostream &os, PRM_DataItemHandle s)
1065  UT_OStringStream ostr;
1066  if (s)
1067  {
1068  ostr << s->getDataTypeToken();
1069  ostr << ":";
1070  s->saveBinary(ostr);
1071  }
1072  result = ostr.str();
1073  saveData(os, result);
1074  }
1075 
1076 
1077  void save(std::ostream &os) const
1078  {
1079  int32 v = version();
1080  UTwrite(os, &v);
1081  saveData(os, myUvattrib);
1082  saveData(os, myGrouptype);
1083  saveData(os, myGroup);
1084  saveData(os, mySeed);
1085  saveData(os, myVismasks);
1086  saveData(os, myBlend);
1087  saveData(os, myBlendoverride);
1088  saveData(os, myBlendcurveattrib);
1089  saveData(os, myBlendattrib);
1090  saveData(os, myBlendtexture);
1091  saveData(os, myOp);
1092  saveData(os, mySetlength_mode);
1093  saveData(os, mySetlength_method);
1094  saveData(os, mySetlength_blend);
1095  saveData(os, mySetlength_randomize);
1096  saveData(os, mySetlength_length);
1097  saveData(os, mySetlength_lengthoverride);
1098  saveData(os, mySetlength_lengthcurveattrib);
1099  saveData(os, mySetlength_lengthattrib);
1100  saveData(os, mySetlength_lengthtexture);
1101  saveData(os, mySetlength_lengthrandmin);
1102  saveData(os, mySetlength_lengthrandminoverride);
1103  saveData(os, mySetlength_lengthrandmincurveattrib);
1104  saveData(os, mySetlength_lengthrandminattrib);
1105  saveData(os, mySetlength_lengthrandmintexture);
1106  saveData(os, mySetlength_lengthrandmax);
1107  saveData(os, mySetlength_lengthrandmaxoverride);
1108  saveData(os, mySetlength_lengthrandmaxcurveattrib);
1109  saveData(os, mySetlength_lengthrandmaxattrib);
1110  saveData(os, mySetlength_lengthrandmaxtexture);
1111  saveData(os, mySetlength_scalefactor);
1112  saveData(os, mySetlength_scalefactoroverride);
1113  saveData(os, mySetlength_scalefactorcurveattrib);
1114  saveData(os, mySetlength_scalefactorattrib);
1115  saveData(os, mySetlength_scalefactortexture);
1116  saveData(os, mySetlength_scalefactorrandmin);
1117  saveData(os, mySetlength_scalefactorrandminoverride);
1118  saveData(os, mySetlength_scalefactorrandmincurveattrib);
1119  saveData(os, mySetlength_scalefactorrandminattrib);
1120  saveData(os, mySetlength_scalefactorrandmintexture);
1121  saveData(os, mySetlength_scalefactorrandmax);
1122  saveData(os, mySetlength_scalefactorrandmaxoverride);
1123  saveData(os, mySetlength_scalefactorrandmaxcurveattrib);
1124  saveData(os, mySetlength_scalefactorrandmaxattrib);
1125  saveData(os, mySetlength_scalefactorrandmaxtexture);
1126  saveData(os, mySetlength_cullzerolen);
1127  saveData(os, mySetlength_cullthreshold);
1128 
1129  }
1130 
1131  bool load(UT_IStream &is)
1132  {
1133  int32 v;
1134  is.bread(&v, 1);
1135  if (version() != v)
1136  {
1137  // Fail incompatible versions
1138  return false;
1139  }
1140  loadData(is, myUvattrib);
1141  loadData(is, myGrouptype);
1142  loadData(is, myGroup);
1143  loadData(is, mySeed);
1144  loadData(is, myVismasks);
1145  loadData(is, myBlend);
1146  loadData(is, myBlendoverride);
1147  loadData(is, myBlendcurveattrib);
1148  loadData(is, myBlendattrib);
1149  loadData(is, myBlendtexture);
1150  loadData(is, myOp);
1151  loadData(is, mySetlength_mode);
1152  loadData(is, mySetlength_method);
1153  loadData(is, mySetlength_blend);
1154  loadData(is, mySetlength_randomize);
1155  loadData(is, mySetlength_length);
1156  loadData(is, mySetlength_lengthoverride);
1157  loadData(is, mySetlength_lengthcurveattrib);
1158  loadData(is, mySetlength_lengthattrib);
1159  loadData(is, mySetlength_lengthtexture);
1160  loadData(is, mySetlength_lengthrandmin);
1161  loadData(is, mySetlength_lengthrandminoverride);
1162  loadData(is, mySetlength_lengthrandmincurveattrib);
1163  loadData(is, mySetlength_lengthrandminattrib);
1164  loadData(is, mySetlength_lengthrandmintexture);
1165  loadData(is, mySetlength_lengthrandmax);
1166  loadData(is, mySetlength_lengthrandmaxoverride);
1167  loadData(is, mySetlength_lengthrandmaxcurveattrib);
1168  loadData(is, mySetlength_lengthrandmaxattrib);
1169  loadData(is, mySetlength_lengthrandmaxtexture);
1170  loadData(is, mySetlength_scalefactor);
1171  loadData(is, mySetlength_scalefactoroverride);
1172  loadData(is, mySetlength_scalefactorcurveattrib);
1173  loadData(is, mySetlength_scalefactorattrib);
1174  loadData(is, mySetlength_scalefactortexture);
1175  loadData(is, mySetlength_scalefactorrandmin);
1176  loadData(is, mySetlength_scalefactorrandminoverride);
1177  loadData(is, mySetlength_scalefactorrandmincurveattrib);
1178  loadData(is, mySetlength_scalefactorrandminattrib);
1179  loadData(is, mySetlength_scalefactorrandmintexture);
1180  loadData(is, mySetlength_scalefactorrandmax);
1181  loadData(is, mySetlength_scalefactorrandmaxoverride);
1182  loadData(is, mySetlength_scalefactorrandmaxcurveattrib);
1183  loadData(is, mySetlength_scalefactorrandmaxattrib);
1184  loadData(is, mySetlength_scalefactorrandmaxtexture);
1185  loadData(is, mySetlength_cullzerolen);
1186  loadData(is, mySetlength_cullthreshold);
1187 
1188  return true;
1189  }
1190 
1191  const UT_StringHolder & getUvattrib() const { return myUvattrib; }
1192  void setUvattrib(const UT_StringHolder & val) { myUvattrib = val; }
1194  {
1195  SOP_Node *thissop = cookparms.getNode();
1196  if (!thissop) return getUvattrib();
1198  OP_Utils::evalOpParm(result, thissop, "uvattrib", cookparms.getCookTime(), 0);
1199  return result;
1200  }
1201  Grouptype getGrouptype() const { return Grouptype(myGrouptype); }
1202  void setGrouptype(Grouptype val) { myGrouptype = int64(val); }
1204  {
1205  SOP_Node *thissop = cookparms.getNode();
1206  if (!thissop) return getGrouptype();
1207  int64 result;
1208  OP_Utils::evalOpParm(result, thissop, "grouptype", cookparms.getCookTime(), 0);
1209  return Grouptype(result);
1210  }
1211  const UT_StringHolder & getGroup() const { return myGroup; }
1212  void setGroup(const UT_StringHolder & val) { myGroup = val; }
1214  {
1215  SOP_Node *thissop = cookparms.getNode();
1216  if (!thissop) return getGroup();
1218  OP_Utils::evalOpParm(result, thissop, "group", cookparms.getCookTime(), 0);
1219  return result;
1220  }
1221  fpreal64 getSeed() const { return mySeed; }
1222  void setSeed(fpreal64 val) { mySeed = val; }
1223  fpreal64 opSeed(const SOP_NodeVerb::CookParms &cookparms) const
1224  {
1225  SOP_Node *thissop = cookparms.getNode();
1226  if (!thissop) return getSeed();
1227  fpreal64 result;
1228  OP_Utils::evalOpParm(result, thissop, "seed", cookparms.getCookTime(), 0);
1229  return result;
1230  }
1231  bool getVismasks() const { return myVismasks; }
1232  void setVismasks(bool val) { myVismasks = val; }
1233  bool opVismasks(const SOP_NodeVerb::CookParms &cookparms) const
1234  {
1235  SOP_Node *thissop = cookparms.getNode();
1236  if (!thissop) return getVismasks();
1237  bool result;
1238  OP_Utils::evalOpParm(result, thissop, "vismasks", cookparms.getCookTime(), 0);
1239  return result;
1240  }
1241  fpreal64 getBlend() const { return myBlend; }
1242  void setBlend(fpreal64 val) { myBlend = val; }
1243  fpreal64 opBlend(const SOP_NodeVerb::CookParms &cookparms) const
1244  {
1245  SOP_Node *thissop = cookparms.getNode();
1246  if (!thissop) return getBlend();
1247  fpreal64 result;
1248  OP_Utils::evalOpParm(result, thissop, "blend", cookparms.getCookTime(), 0);
1249  return result;
1250  }
1251  Blendoverride getBlendoverride() const { return Blendoverride(myBlendoverride); }
1252  void setBlendoverride(Blendoverride val) { myBlendoverride = int64(val); }
1254  {
1255  SOP_Node *thissop = cookparms.getNode();
1256  if (!thissop) return getBlendoverride();
1257  int64 result;
1258  OP_Utils::evalOpParm(result, thissop, "blendoverride", cookparms.getCookTime(), 0);
1259  return Blendoverride(result);
1260  }
1261  const UT_StringHolder & getBlendcurveattrib() const { return myBlendcurveattrib; }
1262  void setBlendcurveattrib(const UT_StringHolder & val) { myBlendcurveattrib = val; }
1264  {
1265  SOP_Node *thissop = cookparms.getNode();
1266  if (!thissop) return getBlendcurveattrib();
1268  OP_Utils::evalOpParm(result, thissop, "blendcurveattrib", cookparms.getCookTime(), 0);
1269  return result;
1270  }
1271  const UT_StringHolder & getBlendattrib() const { return myBlendattrib; }
1272  void setBlendattrib(const UT_StringHolder & val) { myBlendattrib = val; }
1274  {
1275  SOP_Node *thissop = cookparms.getNode();
1276  if (!thissop) return getBlendattrib();
1278  OP_Utils::evalOpParm(result, thissop, "blendattrib", cookparms.getCookTime(), 0);
1279  return result;
1280  }
1281  const UT_StringHolder & getBlendtexture() const { return myBlendtexture; }
1282  void setBlendtexture(const UT_StringHolder & val) { myBlendtexture = val; }
1284  {
1285  SOP_Node *thissop = cookparms.getNode();
1286  if (!thissop) return getBlendtexture();
1288  OP_Utils::evalOpParm(result, thissop, "blendtexture", cookparms.getCookTime(), 0);
1289  return result;
1290  }
1291  Op getOp() const { return Op(myOp); }
1292  void setOp(Op val) { myOp = int64(val); }
1293  Op opOp(const SOP_NodeVerb::CookParms &cookparms) const
1294  {
1295  SOP_Node *thissop = cookparms.getNode();
1296  if (!thissop) return getOp();
1297  int64 result;
1298  OP_Utils::evalOpParm(result, thissop, "op", cookparms.getCookTime(), 0);
1299  return Op(result);
1300  }
1301  Setlength_mode getSetlength_mode() const { return Setlength_mode(mySetlength_mode); }
1302  void setSetlength_mode(Setlength_mode val) { mySetlength_mode = int64(val); }
1304  {
1305  SOP_Node *thissop = cookparms.getNode();
1306  if (!thissop) return getSetlength_mode();
1307  int64 result;
1308  OP_Utils::evalOpParm(result, thissop, "setlength_mode", cookparms.getCookTime(), 0);
1309  return Setlength_mode(result);
1310  }
1311  Setlength_method getSetlength_method() const { return Setlength_method(mySetlength_method); }
1312  void setSetlength_method(Setlength_method val) { mySetlength_method = int64(val); }
1314  {
1315  SOP_Node *thissop = cookparms.getNode();
1316  if (!thissop) return getSetlength_method();
1317  int64 result;
1318  OP_Utils::evalOpParm(result, thissop, "setlength_method", cookparms.getCookTime(), 0);
1319  return Setlength_method(result);
1320  }
1321  fpreal64 getSetlength_blend() const { return mySetlength_blend; }
1322  void setSetlength_blend(fpreal64 val) { mySetlength_blend = val; }
1324  {
1325  SOP_Node *thissop = cookparms.getNode();
1326  if (!thissop) return getSetlength_blend();
1327  fpreal64 result;
1328  OP_Utils::evalOpParm(result, thissop, "setlength_blend", cookparms.getCookTime(), 0);
1329  return result;
1330  }
1331  bool getSetlength_randomize() const { return mySetlength_randomize; }
1332  void setSetlength_randomize(bool val) { mySetlength_randomize = val; }
1333  bool opSetlength_randomize(const SOP_NodeVerb::CookParms &cookparms) const
1334  {
1335  SOP_Node *thissop = cookparms.getNode();
1336  if (!thissop) return getSetlength_randomize();
1337  bool result;
1338  OP_Utils::evalOpParm(result, thissop, "setlength_randomize", cookparms.getCookTime(), 0);
1339  return result;
1340  }
1341  fpreal64 getSetlength_length() const { return mySetlength_length; }
1342  void setSetlength_length(fpreal64 val) { mySetlength_length = val; }
1344  {
1345  SOP_Node *thissop = cookparms.getNode();
1346  if (!thissop) return getSetlength_length();
1347  fpreal64 result;
1348  OP_Utils::evalOpParm(result, thissop, "setlength_length", cookparms.getCookTime(), 0);
1349  return result;
1350  }
1352  void setSetlength_lengthoverride(Setlength_lengthoverride val) { mySetlength_lengthoverride = int64(val); }
1354  {
1355  SOP_Node *thissop = cookparms.getNode();
1356  if (!thissop) return getSetlength_lengthoverride();
1357  int64 result;
1358  OP_Utils::evalOpParm(result, thissop, "setlength_lengthoverride", cookparms.getCookTime(), 0);
1359  return Setlength_lengthoverride(result);
1360  }
1361  const UT_StringHolder & getSetlength_lengthcurveattrib() const { return mySetlength_lengthcurveattrib; }
1362  void setSetlength_lengthcurveattrib(const UT_StringHolder & val) { mySetlength_lengthcurveattrib = val; }
1364  {
1365  SOP_Node *thissop = cookparms.getNode();
1366  if (!thissop) return getSetlength_lengthcurveattrib();
1368  OP_Utils::evalOpParm(result, thissop, "setlength_lengthcurveattrib", cookparms.getCookTime(), 0);
1369  return result;
1370  }
1371  const UT_StringHolder & getSetlength_lengthattrib() const { return mySetlength_lengthattrib; }
1372  void setSetlength_lengthattrib(const UT_StringHolder & val) { mySetlength_lengthattrib = val; }
1374  {
1375  SOP_Node *thissop = cookparms.getNode();
1376  if (!thissop) return getSetlength_lengthattrib();
1378  OP_Utils::evalOpParm(result, thissop, "setlength_lengthattrib", cookparms.getCookTime(), 0);
1379  return result;
1380  }
1381  const UT_StringHolder & getSetlength_lengthtexture() const { return mySetlength_lengthtexture; }
1382  void setSetlength_lengthtexture(const UT_StringHolder & val) { mySetlength_lengthtexture = val; }
1384  {
1385  SOP_Node *thissop = cookparms.getNode();
1386  if (!thissop) return getSetlength_lengthtexture();
1388  OP_Utils::evalOpParm(result, thissop, "setlength_lengthtexture", cookparms.getCookTime(), 0);
1389  return result;
1390  }
1391  fpreal64 getSetlength_lengthrandmin() const { return mySetlength_lengthrandmin; }
1392  void setSetlength_lengthrandmin(fpreal64 val) { mySetlength_lengthrandmin = val; }
1394  {
1395  SOP_Node *thissop = cookparms.getNode();
1396  if (!thissop) return getSetlength_lengthrandmin();
1397  fpreal64 result;
1398  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmin", cookparms.getCookTime(), 0);
1399  return result;
1400  }
1402  void setSetlength_lengthrandminoverride(Setlength_lengthrandminoverride val) { mySetlength_lengthrandminoverride = int64(val); }
1404  {
1405  SOP_Node *thissop = cookparms.getNode();
1406  if (!thissop) return getSetlength_lengthrandminoverride();
1407  int64 result;
1408  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandminoverride", cookparms.getCookTime(), 0);
1409  return Setlength_lengthrandminoverride(result);
1410  }
1411  const UT_StringHolder & getSetlength_lengthrandmincurveattrib() const { return mySetlength_lengthrandmincurveattrib; }
1412  void setSetlength_lengthrandmincurveattrib(const UT_StringHolder & val) { mySetlength_lengthrandmincurveattrib = val; }
1414  {
1415  SOP_Node *thissop = cookparms.getNode();
1416  if (!thissop) return getSetlength_lengthrandmincurveattrib();
1418  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmincurveattrib", cookparms.getCookTime(), 0);
1419  return result;
1420  }
1421  const UT_StringHolder & getSetlength_lengthrandminattrib() const { return mySetlength_lengthrandminattrib; }
1422  void setSetlength_lengthrandminattrib(const UT_StringHolder & val) { mySetlength_lengthrandminattrib = val; }
1424  {
1425  SOP_Node *thissop = cookparms.getNode();
1426  if (!thissop) return getSetlength_lengthrandminattrib();
1428  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandminattrib", cookparms.getCookTime(), 0);
1429  return result;
1430  }
1431  const UT_StringHolder & getSetlength_lengthrandmintexture() const { return mySetlength_lengthrandmintexture; }
1432  void setSetlength_lengthrandmintexture(const UT_StringHolder & val) { mySetlength_lengthrandmintexture = val; }
1434  {
1435  SOP_Node *thissop = cookparms.getNode();
1436  if (!thissop) return getSetlength_lengthrandmintexture();
1438  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmintexture", cookparms.getCookTime(), 0);
1439  return result;
1440  }
1441  fpreal64 getSetlength_lengthrandmax() const { return mySetlength_lengthrandmax; }
1442  void setSetlength_lengthrandmax(fpreal64 val) { mySetlength_lengthrandmax = val; }
1444  {
1445  SOP_Node *thissop = cookparms.getNode();
1446  if (!thissop) return getSetlength_lengthrandmax();
1447  fpreal64 result;
1448  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmax", cookparms.getCookTime(), 0);
1449  return result;
1450  }
1452  void setSetlength_lengthrandmaxoverride(Setlength_lengthrandmaxoverride val) { mySetlength_lengthrandmaxoverride = int64(val); }
1454  {
1455  SOP_Node *thissop = cookparms.getNode();
1456  if (!thissop) return getSetlength_lengthrandmaxoverride();
1457  int64 result;
1458  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmaxoverride", cookparms.getCookTime(), 0);
1459  return Setlength_lengthrandmaxoverride(result);
1460  }
1461  const UT_StringHolder & getSetlength_lengthrandmaxcurveattrib() const { return mySetlength_lengthrandmaxcurveattrib; }
1462  void setSetlength_lengthrandmaxcurveattrib(const UT_StringHolder & val) { mySetlength_lengthrandmaxcurveattrib = val; }
1464  {
1465  SOP_Node *thissop = cookparms.getNode();
1466  if (!thissop) return getSetlength_lengthrandmaxcurveattrib();
1468  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmaxcurveattrib", cookparms.getCookTime(), 0);
1469  return result;
1470  }
1471  const UT_StringHolder & getSetlength_lengthrandmaxattrib() const { return mySetlength_lengthrandmaxattrib; }
1472  void setSetlength_lengthrandmaxattrib(const UT_StringHolder & val) { mySetlength_lengthrandmaxattrib = val; }
1474  {
1475  SOP_Node *thissop = cookparms.getNode();
1476  if (!thissop) return getSetlength_lengthrandmaxattrib();
1478  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmaxattrib", cookparms.getCookTime(), 0);
1479  return result;
1480  }
1481  const UT_StringHolder & getSetlength_lengthrandmaxtexture() const { return mySetlength_lengthrandmaxtexture; }
1482  void setSetlength_lengthrandmaxtexture(const UT_StringHolder & val) { mySetlength_lengthrandmaxtexture = val; }
1484  {
1485  SOP_Node *thissop = cookparms.getNode();
1486  if (!thissop) return getSetlength_lengthrandmaxtexture();
1488  OP_Utils::evalOpParm(result, thissop, "setlength_lengthrandmaxtexture", cookparms.getCookTime(), 0);
1489  return result;
1490  }
1491  fpreal64 getSetlength_scalefactor() const { return mySetlength_scalefactor; }
1492  void setSetlength_scalefactor(fpreal64 val) { mySetlength_scalefactor = val; }
1494  {
1495  SOP_Node *thissop = cookparms.getNode();
1496  if (!thissop) return getSetlength_scalefactor();
1497  fpreal64 result;
1498  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactor", cookparms.getCookTime(), 0);
1499  return result;
1500  }
1502  void setSetlength_scalefactoroverride(Setlength_scalefactoroverride val) { mySetlength_scalefactoroverride = int64(val); }
1504  {
1505  SOP_Node *thissop = cookparms.getNode();
1506  if (!thissop) return getSetlength_scalefactoroverride();
1507  int64 result;
1508  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactoroverride", cookparms.getCookTime(), 0);
1509  return Setlength_scalefactoroverride(result);
1510  }
1511  const UT_StringHolder & getSetlength_scalefactorcurveattrib() const { return mySetlength_scalefactorcurveattrib; }
1512  void setSetlength_scalefactorcurveattrib(const UT_StringHolder & val) { mySetlength_scalefactorcurveattrib = val; }
1514  {
1515  SOP_Node *thissop = cookparms.getNode();
1516  if (!thissop) return getSetlength_scalefactorcurveattrib();
1518  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorcurveattrib", cookparms.getCookTime(), 0);
1519  return result;
1520  }
1521  const UT_StringHolder & getSetlength_scalefactorattrib() const { return mySetlength_scalefactorattrib; }
1522  void setSetlength_scalefactorattrib(const UT_StringHolder & val) { mySetlength_scalefactorattrib = val; }
1524  {
1525  SOP_Node *thissop = cookparms.getNode();
1526  if (!thissop) return getSetlength_scalefactorattrib();
1528  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorattrib", cookparms.getCookTime(), 0);
1529  return result;
1530  }
1531  const UT_StringHolder & getSetlength_scalefactortexture() const { return mySetlength_scalefactortexture; }
1532  void setSetlength_scalefactortexture(const UT_StringHolder & val) { mySetlength_scalefactortexture = val; }
1534  {
1535  SOP_Node *thissop = cookparms.getNode();
1536  if (!thissop) return getSetlength_scalefactortexture();
1538  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactortexture", cookparms.getCookTime(), 0);
1539  return result;
1540  }
1541  fpreal64 getSetlength_scalefactorrandmin() const { return mySetlength_scalefactorrandmin; }
1542  void setSetlength_scalefactorrandmin(fpreal64 val) { mySetlength_scalefactorrandmin = val; }
1544  {
1545  SOP_Node *thissop = cookparms.getNode();
1546  if (!thissop) return getSetlength_scalefactorrandmin();
1547  fpreal64 result;
1548  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmin", cookparms.getCookTime(), 0);
1549  return result;
1550  }
1552  void setSetlength_scalefactorrandminoverride(Setlength_scalefactorrandminoverride val) { mySetlength_scalefactorrandminoverride = int64(val); }
1554  {
1555  SOP_Node *thissop = cookparms.getNode();
1556  if (!thissop) return getSetlength_scalefactorrandminoverride();
1557  int64 result;
1558  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandminoverride", cookparms.getCookTime(), 0);
1559  return Setlength_scalefactorrandminoverride(result);
1560  }
1561  const UT_StringHolder & getSetlength_scalefactorrandmincurveattrib() const { return mySetlength_scalefactorrandmincurveattrib; }
1562  void setSetlength_scalefactorrandmincurveattrib(const UT_StringHolder & val) { mySetlength_scalefactorrandmincurveattrib = val; }
1564  {
1565  SOP_Node *thissop = cookparms.getNode();
1566  if (!thissop) return getSetlength_scalefactorrandmincurveattrib();
1568  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmincurveattrib", cookparms.getCookTime(), 0);
1569  return result;
1570  }
1571  const UT_StringHolder & getSetlength_scalefactorrandminattrib() const { return mySetlength_scalefactorrandminattrib; }
1572  void setSetlength_scalefactorrandminattrib(const UT_StringHolder & val) { mySetlength_scalefactorrandminattrib = val; }
1574  {
1575  SOP_Node *thissop = cookparms.getNode();
1576  if (!thissop) return getSetlength_scalefactorrandminattrib();
1578  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandminattrib", cookparms.getCookTime(), 0);
1579  return result;
1580  }
1581  const UT_StringHolder & getSetlength_scalefactorrandmintexture() const { return mySetlength_scalefactorrandmintexture; }
1582  void setSetlength_scalefactorrandmintexture(const UT_StringHolder & val) { mySetlength_scalefactorrandmintexture = val; }
1584  {
1585  SOP_Node *thissop = cookparms.getNode();
1586  if (!thissop) return getSetlength_scalefactorrandmintexture();
1588  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmintexture", cookparms.getCookTime(), 0);
1589  return result;
1590  }
1591  fpreal64 getSetlength_scalefactorrandmax() const { return mySetlength_scalefactorrandmax; }
1592  void setSetlength_scalefactorrandmax(fpreal64 val) { mySetlength_scalefactorrandmax = val; }
1594  {
1595  SOP_Node *thissop = cookparms.getNode();
1596  if (!thissop) return getSetlength_scalefactorrandmax();
1597  fpreal64 result;
1598  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmax", cookparms.getCookTime(), 0);
1599  return result;
1600  }
1602  void setSetlength_scalefactorrandmaxoverride(Setlength_scalefactorrandmaxoverride val) { mySetlength_scalefactorrandmaxoverride = int64(val); }
1604  {
1605  SOP_Node *thissop = cookparms.getNode();
1606  if (!thissop) return getSetlength_scalefactorrandmaxoverride();
1607  int64 result;
1608  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmaxoverride", cookparms.getCookTime(), 0);
1609  return Setlength_scalefactorrandmaxoverride(result);
1610  }
1611  const UT_StringHolder & getSetlength_scalefactorrandmaxcurveattrib() const { return mySetlength_scalefactorrandmaxcurveattrib; }
1612  void setSetlength_scalefactorrandmaxcurveattrib(const UT_StringHolder & val) { mySetlength_scalefactorrandmaxcurveattrib = val; }
1614  {
1615  SOP_Node *thissop = cookparms.getNode();
1616  if (!thissop) return getSetlength_scalefactorrandmaxcurveattrib();
1618  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmaxcurveattrib", cookparms.getCookTime(), 0);
1619  return result;
1620  }
1621  const UT_StringHolder & getSetlength_scalefactorrandmaxattrib() const { return mySetlength_scalefactorrandmaxattrib; }
1622  void setSetlength_scalefactorrandmaxattrib(const UT_StringHolder & val) { mySetlength_scalefactorrandmaxattrib = val; }
1624  {
1625  SOP_Node *thissop = cookparms.getNode();
1626  if (!thissop) return getSetlength_scalefactorrandmaxattrib();
1628  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmaxattrib", cookparms.getCookTime(), 0);
1629  return result;
1630  }
1631  const UT_StringHolder & getSetlength_scalefactorrandmaxtexture() const { return mySetlength_scalefactorrandmaxtexture; }
1632  void setSetlength_scalefactorrandmaxtexture(const UT_StringHolder & val) { mySetlength_scalefactorrandmaxtexture = val; }
1634  {
1635  SOP_Node *thissop = cookparms.getNode();
1636  if (!thissop) return getSetlength_scalefactorrandmaxtexture();
1638  OP_Utils::evalOpParm(result, thissop, "setlength_scalefactorrandmaxtexture", cookparms.getCookTime(), 0);
1639  return result;
1640  }
1641  bool getSetlength_cullzerolen() const { return mySetlength_cullzerolen; }
1642  void setSetlength_cullzerolen(bool val) { mySetlength_cullzerolen = val; }
1644  {
1645  SOP_Node *thissop = cookparms.getNode();
1646  if (!thissop) return getSetlength_cullzerolen();
1647  bool result;
1648  OP_Utils::evalOpParm(result, thissop, "setlength_cullzerolen", cookparms.getCookTime(), 0);
1649  return result;
1650  }
1651  fpreal64 getSetlength_cullthreshold() const { return mySetlength_cullthreshold; }
1652  void setSetlength_cullthreshold(fpreal64 val) { mySetlength_cullthreshold = val; }
1654  {
1655  SOP_Node *thissop = cookparms.getNode();
1656  if (!thissop) return getSetlength_cullthreshold();
1657  fpreal64 result;
1658  OP_Utils::evalOpParm(result, thissop, "setlength_cullthreshold", cookparms.getCookTime(), 0);
1659  return result;
1660  }
1661 
1662 private:
1663  UT_StringHolder myUvattrib;
1664  int64 myGrouptype;
1665  UT_StringHolder myGroup;
1666  fpreal64 mySeed;
1667  bool myVismasks;
1668  fpreal64 myBlend;
1669  int64 myBlendoverride;
1670  UT_StringHolder myBlendcurveattrib;
1671  UT_StringHolder myBlendattrib;
1672  UT_StringHolder myBlendtexture;
1673  int64 myOp;
1674  int64 mySetlength_mode;
1675  int64 mySetlength_method;
1676  fpreal64 mySetlength_blend;
1677  bool mySetlength_randomize;
1678  fpreal64 mySetlength_length;
1679  int64 mySetlength_lengthoverride;
1680  UT_StringHolder mySetlength_lengthcurveattrib;
1681  UT_StringHolder mySetlength_lengthattrib;
1682  UT_StringHolder mySetlength_lengthtexture;
1683  fpreal64 mySetlength_lengthrandmin;
1684  int64 mySetlength_lengthrandminoverride;
1685  UT_StringHolder mySetlength_lengthrandmincurveattrib;
1686  UT_StringHolder mySetlength_lengthrandminattrib;
1687  UT_StringHolder mySetlength_lengthrandmintexture;
1688  fpreal64 mySetlength_lengthrandmax;
1689  int64 mySetlength_lengthrandmaxoverride;
1690  UT_StringHolder mySetlength_lengthrandmaxcurveattrib;
1691  UT_StringHolder mySetlength_lengthrandmaxattrib;
1692  UT_StringHolder mySetlength_lengthrandmaxtexture;
1693  fpreal64 mySetlength_scalefactor;
1694  int64 mySetlength_scalefactoroverride;
1695  UT_StringHolder mySetlength_scalefactorcurveattrib;
1696  UT_StringHolder mySetlength_scalefactorattrib;
1697  UT_StringHolder mySetlength_scalefactortexture;
1698  fpreal64 mySetlength_scalefactorrandmin;
1699  int64 mySetlength_scalefactorrandminoverride;
1700  UT_StringHolder mySetlength_scalefactorrandmincurveattrib;
1701  UT_StringHolder mySetlength_scalefactorrandminattrib;
1702  UT_StringHolder mySetlength_scalefactorrandmintexture;
1703  fpreal64 mySetlength_scalefactorrandmax;
1704  int64 mySetlength_scalefactorrandmaxoverride;
1705  UT_StringHolder mySetlength_scalefactorrandmaxcurveattrib;
1706  UT_StringHolder mySetlength_scalefactorrandmaxattrib;
1707  UT_StringHolder mySetlength_scalefactorrandmaxtexture;
1708  bool mySetlength_cullzerolen;
1709  fpreal64 mySetlength_cullthreshold;
1710 
1711 };
fpreal64 opSeed(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, int64 v)
type
Definition: core.h:977
fpreal64 opSetlength_lengthrandmax(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opSetlength_scalefactortexture(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
const UT_StringHolder & getSetlength_scalefactorrandminattrib() const
UT_StringHolder opSetlength_scalefactorrandmaxattrib(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getBlendattrib() const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
UT_StringHolder opSetlength_scalefactorrandmaxcurveattrib(const SOP_NodeVerb::CookParms &cookparms) const
exint nodeIdx() const
Definition: SOP_NodeVerb.h:102
void setSetlength_lengthrandmaxcurveattrib(const UT_StringHolder &val)
int int32
Definition: SYS_Types.h:39
SOP_Node * getNode() const
Definition: SOP_NodeVerb.h:734
static void loadData(UT_IStream &is, UT_Vector3I &v)
static void loadData(UT_IStream &is, UT_Matrix3D &v)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
fpreal64 opBlend(const SOP_NodeVerb::CookParms &cookparms) const
void setBlendcurveattrib(const UT_StringHolder &val)
UT_StringHolder opSetlength_lengthcurveattrib(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector4I &v)
void setSetlength_lengthrandmaxoverride(Setlength_lengthrandmaxoverride val)
fpreal64 opSetlength_scalefactorrandmin(const SOP_NodeVerb::CookParms &cookparms) const
void setSetlength_lengthrandminattrib(const UT_StringHolder &val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
void setSetlength_lengthrandmintexture(const UT_StringHolder &val)
void setSetlength_scalefactorrandmax(fpreal64 val)
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
const UT_StringHolder & getSetlength_scalefactorcurveattrib() const
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
fpreal getTime() const
Definition: OP_Context.h:60
static void saveData(std::ostream &os, UT_Matrix4D v)
bool operator!=(const SOP_GuideProcessCoreParms &src) const
void setSetlength_scalefactorrandmaxoverride(Setlength_scalefactorrandmaxoverride val)
static void saveData(std::ostream &os, UT_StringHolder s)
void setSetlength_scalefactorrandmintexture(const UT_StringHolder &val)
const GLfloat * c
Definition: glew.h:16631
Setlength_lengthrandmaxoverride getSetlength_lengthrandmaxoverride() const
int64 exint
Definition: SYS_Types.h:125
void setSetlength_scalefactorrandminattrib(const UT_StringHolder &val)
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)
const SOP_GraphProxy * graph() const
Definition: SOP_NodeVerb.h:101
static void saveData(std::ostream &os, UT_Vector3D v)
Setlength_method getSetlength_method() const
Blendoverride opBlendoverride(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opSetlength_scalefactorrandmax(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getSetlength_lengthattrib() const
An output stream object that owns its own string buffer storage.
Blendoverride getBlendoverride() const
fpreal64 getSetlength_scalefactorrandmax() const
void loadFromOpSubclass(const LoadParms &loadparms) override
UT_StringHolder opSetlength_lengthrandmaxcurveattrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opSetlength_scalefactorrandmaxtexture(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opSetlength_lengthattrib(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
void setSetlength_lengthrandmincurveattrib(const UT_StringHolder &val)
static void saveData(std::ostream &os, UT_Matrix3D v)
GLenum src
Definition: glcorearb.h:1792
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
void setSetlength_scalefactorrandmincurveattrib(const UT_StringHolder &val)
void setSetlength_lengthattrib(const UT_StringHolder &val)
void setSetlength_scalefactoroverride(Setlength_scalefactoroverride val)
UT_StringHolder opSetlength_lengthrandmaxtexture(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opSetlength_scalefactorrandmincurveattrib(const SOP_NodeVerb::CookParms &cookparms) const
double fpreal64
Definition: SYS_Types.h:201
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
UT_StringHolder opSetlength_lengthtexture(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Definition: Dimensions.h:137
void setSetlength_lengthrandminoverride(Setlength_lengthrandminoverride val)
void buildFromOp(const SOP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
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)
Setlength_scalefactorrandminoverride opSetlength_scalefactorrandminoverride(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3D &v)
const UT_StringHolder & getSetlength_lengthrandmincurveattrib() const
void setSetlength_lengthrandmaxattrib(const UT_StringHolder &val)
void copyFrom(const SOP_NodeParms *src) override
static void loadData(UT_IStream &is, fpreal64 &v)
fpreal64 getSetlength_scalefactorrandmin() const
SYS_FORCE_INLINE T & y()
Definition: UT_Vector3.h:508
static void saveData(std::ostream &os, bool v)
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
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
Definition: UT_SharedPtr.h:30
const UT_StringHolder & getSetlength_scalefactorrandmaxcurveattrib() const
const UT_StringHolder & getSetlength_lengthrandmaxattrib() const
const UT_StringHolder & getSetlength_lengthrandmintexture() const
void setSetlength_scalefactorcurveattrib(const UT_StringHolder &val)
const UT_StringHolder & getSetlength_scalefactorrandmaxtexture() const
Setlength_mode getSetlength_mode() const
Setlength_scalefactoroverride getSetlength_scalefactoroverride() const
const GLdouble * v
Definition: glcorearb.h:836
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
SYS_FORCE_INLINE T & z()
Definition: UT_Vector3.h:510
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
Setlength_lengthrandmaxoverride opSetlength_lengthrandmaxoverride(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opSetlength_lengthrandmaxattrib(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
static void saveData(std::ostream &os, UT_Matrix2D v)
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
long long int64
Definition: SYS_Types.h:116
Setlength_scalefactoroverride opSetlength_scalefactoroverride(const SOP_NodeVerb::CookParms &cookparms) const
bool opSetlength_randomize(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
const UT_StringHolder & getSetlength_lengthcurveattrib() const
void setSetlength_scalefactorrandmaxcurveattrib(const UT_StringHolder &val)
void setSetlength_scalefactorrandmin(fpreal64 val)
static void loadData(UT_IStream &is, UT_Vector4D &v)
static void loadData(UT_IStream &is, UT_Vector2D &v)
void setBlendtexture(const UT_StringHolder &val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
fpreal64 opSetlength_blend(const SOP_NodeVerb::CookParms &cookparms) const
void save(std::ostream &os) const
const UT_StringHolder & getSetlength_lengthrandminattrib() const
void setBlendoverride(Blendoverride val)
void saveBinary(std::ostream &os) const
Save string to binary stream.
Definition: UT_String.h:287
const UT_StringHolder & getSetlength_lengthtexture() const
Grouptype opGrouptype(const SOP_NodeVerb::CookParms &cookparms) const
GT_API const UT_StringHolder version
DEP_MicroNode * depnode() const
Definition: SOP_NodeVerb.h:109
static void loadData(UT_IStream &is, bool &v)
UT_StringHolder opSetlength_scalefactorrandminattrib(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getSetlength_scalefactorattrib() const
GLboolean * data
Definition: glcorearb.h:130
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)
GLuint GLfloat * val
Definition: glcorearb.h:1607
Setlength_lengthoverride getSetlength_lengthoverride() const
Setlength_lengthrandminoverride opSetlength_lengthrandminoverride(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_scalefactorrandmaxtexture(const UT_StringHolder &val)
const UT_StringHolder & getSetlength_scalefactortexture() 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
static void saveData(std::ostream &os, PRM_DataItemHandle s)
void setSetlength_scalefactorattrib(const UT_StringHolder &val)
void setSetlength_method(Setlength_method val)
fpreal64 fpreal
Definition: SYS_Types.h:277
UT_StringHolder opSetlength_scalefactorrandmintexture(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opBlendattrib(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getUvattrib() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
Utility class for containing a color ramp.
Definition: UT_Ramp.h:84
fpreal64 opSetlength_length(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, int64 &v)
static void loadData(UT_IStream &is, UT_Vector2I &v)
fpreal64 opSetlength_cullthreshold(const SOP_NodeVerb::CookParms &cookparms) const
#define SOP_API
Definition: SOP_API.h:10
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
Op opOp(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
void setSetlength_scalefactorrandmaxattrib(const UT_StringHolder &val)
const UT_StringHolder & getSetlength_scalefactorrandmintexture() const
GLsizei const GLfloat * value
Definition: glcorearb.h:823
UT_StringHolder opSetlength_lengthrandmincurveattrib(const SOP_NodeVerb::CookParms &cookparms) const
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
const UT_StringHolder & getBlendcurveattrib() const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
SYS_FORCE_INLINE T & x()
Definition: UT_Vector3.h:506
fpreal getCookTime() const
Definition: SOP_NodeVerb.h:748
void setBlendattrib(const UT_StringHolder &val)
Setlength_method opSetlength_method(const SOP_NodeVerb::CookParms &cookparms) const
void setUvattrib(const UT_StringHolder &val)
const char * findChar(int c) const
Definition: UT_String.h:1371
#define UT_ASSERT(ZZ)
Definition: UT_Assert.h:171
ParmType getNestParmType(TempIndex fieldnum) const override
UT_StringHolder opBlendcurveattrib(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getSetlength_lengthrandmaxtexture() const
const UT_StringHolder & getBlendtexture() const
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
Setlength_scalefactorrandmaxoverride getSetlength_scalefactorrandmaxoverride() const
UT_StringHolder opBlendtexture(const SOP_NodeVerb::CookParms &cookparms) const
void setSetlength_scalefactorrandminoverride(Setlength_scalefactorrandminoverride val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
GLboolean r
Definition: glcorearb.h:1221
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
fpreal64 opSetlength_scalefactor(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opUvattrib(const SOP_NodeVerb::CookParms &cookparms) const
GLdouble s
Definition: glew.h:1395
UT_StringHolder opSetlength_scalefactorcurveattrib(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
const OP_Context & context() const
Definition: SOP_NodeVerb.h:107
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
Definition: PRM_Parm.h:89
void setSetlength_lengthrandmaxtexture(const UT_StringHolder &val)
SYS_FORCE_INLINE bool isstring() const
const char * getNestParmName(TempIndex fieldnum) const override
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
bool opSetlength_cullzerolen(const SOP_NodeVerb::CookParms &cookparms) const
void setSetlength_lengthtexture(const UT_StringHolder &val)
const UT_StringHolder & getGroup() const
bool opVismasks(const SOP_NodeVerb::CookParms &cookparms) const
exint getNestNumParms(TempIndex idx) const override
static void saveData(std::ostream &os, UT_Vector2D v)
fpreal64 opSetlength_lengthrandmin(const SOP_NodeVerb::CookParms &cookparms) const