23 namespace SOP_HairGenCoreEnums
103 guideindexattrib =
"guides"_UTsh;
104 guideweightattrib =
"weights"_UTsh;
127 for (
int i = 0; i < list.
entries(); i++)
149 myUvattrib =
"uv"_UTsh;
150 myLimittobbox =
false;
154 myPruningratio = 0.9;
155 myPrunethicken =
false;
157 myUniformguidesegments =
false;
158 mySkininterp =
false;
159 myUseInterpMesh =
false;
160 mySkininterpguidesattrib =
"guides"_UTsh;
161 mySkininterpweightsattrib =
"weights"_UTsh;
163 myGuideblendmethod = 0;
164 myGuidegroup =
""_UTsh;
165 myInfluenceradius = 0.05;
166 myInfluenceradiusoverride = 0;
167 myInfluenceradiusoptions = 0;
170 myInfluenceradiusattrib =
"influenceradiusscale"_UTsh;
171 myInfluenceradiustexture =
""_UTsh;
172 myInfluenceradiustextureprim =
"influenceradiusscale"_UTsh;
173 myInfluencedecay = 2;
174 myInfluencedecayoverride = 0;
175 myInfluencedecayoptions = 0;
178 myInfluencedecayattrib =
"influencedecayscale"_UTsh;
179 myInfluencedecaytexture =
""_UTsh;
180 myInfluencedecaytextureprim =
"influencedecayscale"_UTsh;
181 myMaxguidecount = 10;
182 myMaxguidecountoverride = 0;
183 myMaxguidecountoptions = 0;
186 myMaxguidecountattrib =
"maxguidecountscale"_UTsh;
187 myMaxguidecounttexture =
""_UTsh;
188 myMaxguidecounttextureprim =
"maxguidecountscale"_UTsh;
189 myMaxguideangle = 90;
190 myMaxguideangleoverride = 0;
191 myMaxguideangleoptions = 0;
194 myMaxguideangleattrib =
"maxguideanglescale"_UTsh;
195 myMaxguideangletexture =
""_UTsh;
196 myMaxguideangletextureprim =
"maxguideanglescale"_UTsh;
197 myClumpcrossover = 0;
198 myClumpcrossoveroverride = 0;
199 myClumpcrossoveroptions = 0;
202 myClumpcrossoverattrib =
"clumpcrossoverscale"_UTsh;
203 myClumpcrossovertexture =
""_UTsh;
204 myClumpcrossovertextureprim =
"clumpcrossoverscale"_UTsh;
205 myGrowunguided =
true;
206 myUseinitdirattrib =
true;
207 myInitdirattrib =
"furdirection"_UTsh;
208 myUnguidedsegments = 8;
209 myUnguidedlength = 0.05;
210 myUnguidedlengthoverride = 0;
211 myUnguidedlengthoptions = 0;
214 myUnguidedlengthattrib =
"unguidedlengthscale"_UTsh;
215 myUnguidedlengthtexture =
""_UTsh;
216 myUnguidedlengthtextureprim =
"unguidedlengthscale"_UTsh;
217 myUnguidedminlength = 1e-05;
218 myCreateweightattribs =
false;
219 myCreaterestrootattrib =
true;
220 myClumpidattrib =
"clumpid"_UTsh;
221 myOutputthicknessattrib =
true;
222 myThicknessattrib =
"width"_UTsh;
224 myThicknessoverride = 0;
225 myThicknessskinattrib =
"thicknessscale"_UTsh;
226 myThicknesstexture =
""_UTsh;
228 myPointattribs =
""_UTsh;
229 myVertattribs =
""_UTsh;
230 myPrimattribs =
""_UTsh;
231 myDetailattribs =
""_UTsh;
232 myGuidepointattribs =
""_UTsh;
233 myGuideprimattribs =
""_UTsh;
234 myWeightArrayPairs.setSize(0);
247 if (myMode != src.myMode)
return false;
248 if (myGroup != src.myGroup)
return false;
249 if (myUvattrib != src.myUvattrib)
return false;
250 if (myLimittobbox != src.myLimittobbox)
return false;
251 if (myBBoxSize != src.myBBoxSize)
return false;
252 if (myBBoxCenter != src.myBBoxCenter)
return false;
253 if (myPrune != src.myPrune)
return false;
254 if (myPruningratio != src.myPruningratio)
return false;
255 if (myPrunethicken != src.myPrunethicken)
return false;
256 if (myUseguides != src.myUseguides)
return false;
257 if (myUniformguidesegments != src.myUniformguidesegments)
return false;
258 if (mySkininterp != src.mySkininterp)
return false;
259 if (myUseInterpMesh != src.myUseInterpMesh)
return false;
260 if (mySkininterpguidesattrib != src.mySkininterpguidesattrib)
return false;
261 if (mySkininterpweightsattrib != src.mySkininterpweightsattrib)
return false;
262 if (mySkinguidemode != src.mySkinguidemode)
return false;
263 if (myGuideblendmethod != src.myGuideblendmethod)
return false;
264 if (myGuidegroup != src.myGuidegroup)
return false;
265 if (myInfluenceradius != src.myInfluenceradius)
return false;
266 if (myInfluenceradiusoverride != src.myInfluenceradiusoverride)
return false;
267 if (myInfluenceradiusoptions != src.myInfluenceradiusoptions)
return false;
268 if (myInfluenceradiusinrange != src.myInfluenceradiusinrange)
return false;
269 if (myInfluenceradiusoutrange != src.myInfluenceradiusoutrange)
return false;
270 if (myInfluenceradiusattrib != src.myInfluenceradiusattrib)
return false;
271 if (myInfluenceradiustexture != src.myInfluenceradiustexture)
return false;
272 if (myInfluenceradiustextureprim != src.myInfluenceradiustextureprim)
return false;
273 if (myInfluencedecay != src.myInfluencedecay)
return false;
274 if (myInfluencedecayoverride != src.myInfluencedecayoverride)
return false;
275 if (myInfluencedecayoptions != src.myInfluencedecayoptions)
return false;
276 if (myInfluencedecayinrange != src.myInfluencedecayinrange)
return false;
277 if (myInfluencedecayoutrange != src.myInfluencedecayoutrange)
return false;
278 if (myInfluencedecayattrib != src.myInfluencedecayattrib)
return false;
279 if (myInfluencedecaytexture != src.myInfluencedecaytexture)
return false;
280 if (myInfluencedecaytextureprim != src.myInfluencedecaytextureprim)
return false;
281 if (myMaxguidecount != src.myMaxguidecount)
return false;
282 if (myMaxguidecountoverride != src.myMaxguidecountoverride)
return false;
283 if (myMaxguidecountoptions != src.myMaxguidecountoptions)
return false;
284 if (myMaxguidecountinrange != src.myMaxguidecountinrange)
return false;
285 if (myMaxguidecountoutrange != src.myMaxguidecountoutrange)
return false;
286 if (myMaxguidecountattrib != src.myMaxguidecountattrib)
return false;
287 if (myMaxguidecounttexture != src.myMaxguidecounttexture)
return false;
288 if (myMaxguidecounttextureprim != src.myMaxguidecounttextureprim)
return false;
289 if (myMaxguideangle != src.myMaxguideangle)
return false;
290 if (myMaxguideangleoverride != src.myMaxguideangleoverride)
return false;
291 if (myMaxguideangleoptions != src.myMaxguideangleoptions)
return false;
292 if (myMaxguideangleinrange != src.myMaxguideangleinrange)
return false;
293 if (myMaxguideangleoutrange != src.myMaxguideangleoutrange)
return false;
294 if (myMaxguideangleattrib != src.myMaxguideangleattrib)
return false;
295 if (myMaxguideangletexture != src.myMaxguideangletexture)
return false;
296 if (myMaxguideangletextureprim != src.myMaxguideangletextureprim)
return false;
297 if (myClumpcrossover != src.myClumpcrossover)
return false;
298 if (myClumpcrossoveroverride != src.myClumpcrossoveroverride)
return false;
299 if (myClumpcrossoveroptions != src.myClumpcrossoveroptions)
return false;
300 if (myClumpcrossoverinrange != src.myClumpcrossoverinrange)
return false;
301 if (myClumpcrossoveroutrange != src.myClumpcrossoveroutrange)
return false;
302 if (myClumpcrossoverattrib != src.myClumpcrossoverattrib)
return false;
303 if (myClumpcrossovertexture != src.myClumpcrossovertexture)
return false;
304 if (myClumpcrossovertextureprim != src.myClumpcrossovertextureprim)
return false;
305 if (myGrowunguided != src.myGrowunguided)
return false;
306 if (myUseinitdirattrib != src.myUseinitdirattrib)
return false;
307 if (myInitdirattrib != src.myInitdirattrib)
return false;
308 if (myUnguidedsegments != src.myUnguidedsegments)
return false;
309 if (myUnguidedlength != src.myUnguidedlength)
return false;
310 if (myUnguidedlengthoverride != src.myUnguidedlengthoverride)
return false;
311 if (myUnguidedlengthoptions != src.myUnguidedlengthoptions)
return false;
312 if (myUnguidedlengthinrange != src.myUnguidedlengthinrange)
return false;
313 if (myUnguidedlengthoutrange != src.myUnguidedlengthoutrange)
return false;
314 if (myUnguidedlengthattrib != src.myUnguidedlengthattrib)
return false;
315 if (myUnguidedlengthtexture != src.myUnguidedlengthtexture)
return false;
316 if (myUnguidedlengthtextureprim != src.myUnguidedlengthtextureprim)
return false;
317 if (myUnguidedminlength != src.myUnguidedminlength)
return false;
318 if (myCreateweightattribs != src.myCreateweightattribs)
return false;
319 if (myCreaterestrootattrib != src.myCreaterestrootattrib)
return false;
320 if (myClumpidattrib != src.myClumpidattrib)
return false;
321 if (myOutputthicknessattrib != src.myOutputthicknessattrib)
return false;
322 if (myThicknessattrib != src.myThicknessattrib)
return false;
323 if (myThickness != src.myThickness)
return false;
324 if (myThicknessoverride != src.myThicknessoverride)
return false;
325 if (myThicknessskinattrib != src.myThicknessskinattrib)
return false;
326 if (myThicknesstexture != src.myThicknesstexture)
return false;
327 if (myHairprofile != src.myHairprofile)
328 {
if (!myHairprofile || !src.myHairprofile || !(*myHairprofile == *src.myHairprofile))
return false; }
329 if (myPointattribs != src.myPointattribs)
return false;
330 if (myVertattribs != src.myVertattribs)
return false;
331 if (myPrimattribs != src.myPrimattribs)
return false;
332 if (myDetailattribs != src.myDetailattribs)
return false;
333 if (myGuidepointattribs != src.myGuidepointattribs)
return false;
334 if (myGuideprimattribs != src.myGuideprimattribs)
return false;
335 if (myWeightArrayPairs != src.myWeightArrayPairs)
return false;
360 graph->
evalOpParm(myMode, nodeidx,
"mode", time, 0);
363 graph->
evalOpParm(myGroup, nodeidx,
"group", time, 0);
364 myUvattrib =
"uv"_UTsh;
366 graph->
evalOpParm(myUvattrib, nodeidx,
"uvattrib", time, 0);
367 myLimittobbox =
false;
369 graph->
evalOpParm(myLimittobbox, nodeidx,
"limittobbox", time, 0);
371 if (
true && ( (
true&&!(((getLimittobbox()==0)))) ) )
372 graph->
evalOpParm(myBBoxSize, nodeidx,
"bboxsize", time, 0);
374 if (
true && ( (
true&&!(((getLimittobbox()==0)))) ) )
375 graph->
evalOpParm(myBBoxCenter, nodeidx,
"bboxcenter", time, 0);
378 graph->
evalOpParm(myPrune, nodeidx,
"prune", time, 0);
379 myPruningratio = 0.9;
380 if (
true && ( (
true&&!(((getPrune()==0)))) ) )
381 graph->
evalOpParm(myPruningratio, nodeidx,
"pruningratio", time, 0);
382 myPrunethicken =
false;
383 if (
true && ( (
true&&!(((getPrune()==0)))) ) )
384 graph->
evalOpParm(myPrunethicken, nodeidx,
"prunethicken", time, 0);
387 graph->
evalOpParm(myUseguides, nodeidx,
"useguides", time, 0);
388 myUniformguidesegments =
false;
389 if (
true && ( (
true&&!(((getUseguides()==0)))) ) )
390 graph->
evalOpParm(myUniformguidesegments, nodeidx,
"uniformguidesegments", time, 0);
391 mySkininterp =
false;
392 if (
true && ( (
true&&!(((getUseguides()==0)))) ) )
393 graph->
evalOpParm(mySkininterp, nodeidx,
"skininterp", time, 0);
394 myUseInterpMesh =
false;
395 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==0)))) ) )
396 graph->
evalOpParm(myUseInterpMesh, nodeidx,
"useinterpmesh", time, 0);
397 mySkininterpguidesattrib =
"guides"_UTsh;
398 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==0))||((getUseInterpMesh()==0)))) ) )
399 graph->
evalOpParm(mySkininterpguidesattrib, nodeidx,
"skininterpguidesattrib", time, 0);
400 mySkininterpweightsattrib =
"weights"_UTsh;
401 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==0))||((getUseInterpMesh()==0)))) ) )
402 graph->
evalOpParm(mySkininterpweightsattrib, nodeidx,
"skininterpweightsattrib", time, 0);
405 graph->
evalOpParm(mySkinguidemode, nodeidx,
"skinguidemode", time, 0);
406 myGuideblendmethod = 0;
408 graph->
evalOpParm(myGuideblendmethod, nodeidx,
"guideblendmethod", time, 0);
409 myGuidegroup =
""_UTsh;
410 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
411 graph->
evalOpParm(myGuidegroup, nodeidx,
"guidegroup", time, 0);
412 myInfluenceradius = 0.05;
413 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
414 graph->
evalOpParm(myInfluenceradius, nodeidx,
"influenceradius", time, 0);
415 myInfluenceradiusoverride = 0;
416 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
417 graph->
evalOpParm(myInfluenceradiusoverride, nodeidx,
"influenceradiusoverride", time, 0);
418 myInfluenceradiusoptions = 0;
419 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
420 graph->
evalOpParm(myInfluenceradiusoptions, nodeidx,
"influenceradiusoptions", time, 0);
422 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluenceradiusoverride())==0))||((getInfluenceradiusoptions()!=1)&&(getInfluenceradiusoptions()!=3)))) ) )
423 graph->
evalOpParm(myInfluenceradiusinrange, nodeidx,
"influenceradiusinrange", time, 0);
425 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluenceradiusoverride())==0))||((getInfluenceradiusoptions()!=1)&&(getInfluenceradiusoptions()!=3)))) ) )
426 graph->
evalOpParm(myInfluenceradiusoutrange, nodeidx,
"influenceradiusoutrange", time, 0);
427 myInfluenceradiusattrib =
"influenceradiusscale"_UTsh;
428 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluenceradiusoverride())!=1)))) ) )
429 graph->
evalOpParm(myInfluenceradiusattrib, nodeidx,
"influenceradiusattrib", time, 0);
430 myInfluenceradiustexture =
""_UTsh;
431 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluenceradiusoverride())!=2)))) ) )
432 graph->
evalOpParm(myInfluenceradiustexture, nodeidx,
"influenceradiustexture", time, 0);
433 myInfluenceradiustextureprim =
"influenceradiusscale"_UTsh;
434 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluenceradiusoverride())!=3)))) ) )
435 graph->
evalOpParm(myInfluenceradiustextureprim, nodeidx,
"influenceradiustextureprim", time, 0);
436 myInfluencedecay = 2;
437 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
438 graph->
evalOpParm(myInfluencedecay, nodeidx,
"influencedecay", time, 0);
439 myInfluencedecayoverride = 0;
440 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
441 graph->
evalOpParm(myInfluencedecayoverride, nodeidx,
"influencedecayoverride", time, 0);
442 myInfluencedecayoptions = 0;
443 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
444 graph->
evalOpParm(myInfluencedecayoptions, nodeidx,
"influencedecayoptions", time, 0);
446 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluencedecayoverride())==0))||((getInfluencedecayoptions()!=1)&&(getInfluencedecayoptions()!=3)))) ) )
447 graph->
evalOpParm(myInfluencedecayinrange, nodeidx,
"influencedecayinrange", time, 0);
449 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluencedecayoverride())==0))||((getInfluencedecayoptions()!=1)&&(getInfluencedecayoptions()!=3)))) ) )
450 graph->
evalOpParm(myInfluencedecayoutrange, nodeidx,
"influencedecayoutrange", time, 0);
451 myInfluencedecayattrib =
"influencedecayscale"_UTsh;
452 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluencedecayoverride())!=1)))) ) )
453 graph->
evalOpParm(myInfluencedecayattrib, nodeidx,
"influencedecayattrib", time, 0);
454 myInfluencedecaytexture =
""_UTsh;
455 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluencedecayoverride())!=2)))) ) )
456 graph->
evalOpParm(myInfluencedecaytexture, nodeidx,
"influencedecaytexture", time, 0);
457 myInfluencedecaytextureprim =
"influencedecayscale"_UTsh;
458 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluencedecayoverride())!=3)))) ) )
459 graph->
evalOpParm(myInfluencedecaytextureprim, nodeidx,
"influencedecaytextureprim", time, 0);
460 myMaxguidecount = 10;
461 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
462 graph->
evalOpParm(myMaxguidecount, nodeidx,
"maxguidecount", time, 0);
463 myMaxguidecountoverride = 0;
464 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
465 graph->
evalOpParm(myMaxguidecountoverride, nodeidx,
"maxguidecountoverride", time, 0);
466 myMaxguidecountoptions = 0;
467 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
468 graph->
evalOpParm(myMaxguidecountoptions, nodeidx,
"maxguidecountoptions", time, 0);
470 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguidecountoverride())==0))||((getMaxguidecountoptions()!=1)&&(getMaxguidecountoptions()!=3)))) ) )
471 graph->
evalOpParm(myMaxguidecountinrange, nodeidx,
"maxguidecountinrange", time, 0);
473 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguidecountoverride())==0))||((getMaxguidecountoptions()!=1)&&(getMaxguidecountoptions()!=3)))) ) )
474 graph->
evalOpParm(myMaxguidecountoutrange, nodeidx,
"maxguidecountoutrange", time, 0);
475 myMaxguidecountattrib =
"maxguidecountscale"_UTsh;
476 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguidecountoverride())!=1)))) ) )
477 graph->
evalOpParm(myMaxguidecountattrib, nodeidx,
"maxguidecountattrib", time, 0);
478 myMaxguidecounttexture =
""_UTsh;
479 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguidecountoverride())!=2)))) ) )
480 graph->
evalOpParm(myMaxguidecounttexture, nodeidx,
"maxguidecounttexture", time, 0);
481 myMaxguidecounttextureprim =
"maxguidecountscale"_UTsh;
482 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguidecountoverride())!=3)))) ) )
483 graph->
evalOpParm(myMaxguidecounttextureprim, nodeidx,
"maxguidecounttextureprim", time, 0);
484 myMaxguideangle = 90;
485 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
486 graph->
evalOpParm(myMaxguideangle, nodeidx,
"maxguideangle", time, 0);
487 myMaxguideangleoverride = 0;
488 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
489 graph->
evalOpParm(myMaxguideangleoverride, nodeidx,
"maxguideangleoverride", time, 0);
490 myMaxguideangleoptions = 0;
491 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
492 graph->
evalOpParm(myMaxguideangleoptions, nodeidx,
"maxguideangleoptions", time, 0);
494 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguideangleoverride())==0))||((getMaxguideangleoptions()!=1)&&(getMaxguideangleoptions()!=3)))) ) )
495 graph->
evalOpParm(myMaxguideangleinrange, nodeidx,
"maxguideangleinrange", time, 0);
497 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguideangleoverride())==0))||((getMaxguideangleoptions()!=1)&&(getMaxguideangleoptions()!=3)))) ) )
498 graph->
evalOpParm(myMaxguideangleoutrange, nodeidx,
"maxguideangleoutrange", time, 0);
499 myMaxguideangleattrib =
"maxguideanglescale"_UTsh;
500 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguideangleoverride())!=1)))) ) )
501 graph->
evalOpParm(myMaxguideangleattrib, nodeidx,
"maxguideangleattrib", time, 0);
502 myMaxguideangletexture =
""_UTsh;
503 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguideangleoverride())!=2)))) ) )
504 graph->
evalOpParm(myMaxguideangletexture, nodeidx,
"maxguideangletexture", time, 0);
505 myMaxguideangletextureprim =
"maxguideanglescale"_UTsh;
506 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguideangleoverride())!=3)))) ) )
507 graph->
evalOpParm(myMaxguideangletextureprim, nodeidx,
"maxguideangletextureprim", time, 0);
508 myClumpcrossover = 0;
509 if (
true && ( (
true&&!(((getUseguides()==0)))) ) )
510 graph->
evalOpParm(myClumpcrossover, nodeidx,
"clumpcrossover", time, 0);
511 myClumpcrossoveroverride = 0;
512 if (
true && ( (
true&&!(((getUseguides()==0)))) ) )
513 graph->
evalOpParm(myClumpcrossoveroverride, nodeidx,
"clumpcrossoveroverride", time, 0);
514 myClumpcrossoveroptions = 0;
515 if (
true && ( (
true&&!(((getUseguides()==0)))) ) )
516 graph->
evalOpParm(myClumpcrossoveroptions, nodeidx,
"clumpcrossoveroptions", time, 0);
518 if (
true && ( (
true&&!(((getUseguides()==0))||((
int64(getClumpcrossoveroverride())==0))||((getClumpcrossoveroptions()!=1)&&(getClumpcrossoveroptions()!=3)))) ) )
519 graph->
evalOpParm(myClumpcrossoverinrange, nodeidx,
"clumpcrossoverinrange", time, 0);
521 if (
true && ( (
true&&!(((getUseguides()==0))||((
int64(getClumpcrossoveroverride())==0))||((getClumpcrossoveroptions()!=1)&&(getClumpcrossoveroptions()!=3)))) ) )
522 graph->
evalOpParm(myClumpcrossoveroutrange, nodeidx,
"clumpcrossoveroutrange", time, 0);
523 myClumpcrossoverattrib =
"clumpcrossoverscale"_UTsh;
524 if (
true && ( (
true&&!(((getUseguides()==0))||((
int64(getClumpcrossoveroverride())!=1)))) ) )
525 graph->
evalOpParm(myClumpcrossoverattrib, nodeidx,
"clumpcrossoverattrib", time, 0);
526 myClumpcrossovertexture =
""_UTsh;
527 if (
true && ( (
true&&!(((getUseguides()==0))||((
int64(getClumpcrossoveroverride())!=2)))) ) )
528 graph->
evalOpParm(myClumpcrossovertexture, nodeidx,
"clumpcrossovertexture", time, 0);
529 myClumpcrossovertextureprim =
"clumpcrossoverscale"_UTsh;
530 if (
true && ( (
true&&!(((getUseguides()==0))||((
int64(getClumpcrossoveroverride())!=3)))) ) )
531 graph->
evalOpParm(myClumpcrossovertextureprim, nodeidx,
"clumpcrossovertextureprim", time, 0);
532 myGrowunguided =
true;
533 if (
true && ( (
true&&!(((getUseguides()==0)))) ) )
534 graph->
evalOpParm(myGrowunguided, nodeidx,
"growunguided", time, 0);
535 myUseinitdirattrib =
true;
536 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0)))) ) )
537 graph->
evalOpParm(myUseinitdirattrib, nodeidx,
"useinitdirattrib", time, 0);
538 myInitdirattrib =
"furdirection"_UTsh;
539 if (
true && ( (
true&&!(((getUseinitdirattrib()==0))||((getUseguides()==1)&&(getGrowunguided()==0)))) ) )
540 graph->
evalOpParm(myInitdirattrib, nodeidx,
"initdirattrib", time, 0);
541 myUnguidedsegments = 8;
542 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0)))) ) )
543 graph->
evalOpParm(myUnguidedsegments, nodeidx,
"unguidedsegments", time, 0);
544 myUnguidedlength = 0.05;
545 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0)))) ) )
546 graph->
evalOpParm(myUnguidedlength, nodeidx,
"unguidedlength", time, 0);
547 myUnguidedlengthoverride = 0;
548 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0)))) ) )
549 graph->
evalOpParm(myUnguidedlengthoverride, nodeidx,
"unguidedlengthoverride", time, 0);
550 myUnguidedlengthoptions = 0;
551 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0)))) ) )
552 graph->
evalOpParm(myUnguidedlengthoptions, nodeidx,
"unguidedlengthoptions", time, 0);
554 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0))||((
int64(getUnguidedlengthoverride())==0))||((getUnguidedlengthoptions()!=1)&&(getUnguidedlengthoptions()!=3)))) ) )
555 graph->
evalOpParm(myUnguidedlengthinrange, nodeidx,
"unguidedlengthinrange", time, 0);
557 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0))||((
int64(getUnguidedlengthoverride())==0))||((getUnguidedlengthoptions()!=1)&&(getUnguidedlengthoptions()!=3)))) ) )
558 graph->
evalOpParm(myUnguidedlengthoutrange, nodeidx,
"unguidedlengthoutrange", time, 0);
559 myUnguidedlengthattrib =
"unguidedlengthscale"_UTsh;
560 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0))||((
int64(getUnguidedlengthoverride())!=1)))) ) )
561 graph->
evalOpParm(myUnguidedlengthattrib, nodeidx,
"unguidedlengthattrib", time, 0);
562 myUnguidedlengthtexture =
""_UTsh;
563 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0))||((
int64(getUnguidedlengthoverride())!=2)))) ) )
564 graph->
evalOpParm(myUnguidedlengthtexture, nodeidx,
"unguidedlengthtexture", time, 0);
565 myUnguidedlengthtextureprim =
"unguidedlengthscale"_UTsh;
566 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0))||((
int64(getUnguidedlengthoverride())!=3)))) ) )
567 graph->
evalOpParm(myUnguidedlengthtextureprim, nodeidx,
"unguidedlengthtextureprim", time, 0);
568 myUnguidedminlength = 1e-05;
569 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0)))) ) )
570 graph->
evalOpParm(myUnguidedminlength, nodeidx,
"unguidedminlength", time, 0);
571 myCreateweightattribs =
false;
572 if (
true && ( (
true&&!(((getUseguides()==0)))) ) )
573 graph->
evalOpParm(myCreateweightattribs, nodeidx,
"createweightattribs", time, 0);
574 myCreaterestrootattrib =
true;
576 graph->
evalOpParm(myCreaterestrootattrib, nodeidx,
"createrestrootattrib", time, 0);
577 myClumpidattrib =
"clumpid"_UTsh;
579 graph->
evalOpParm(myClumpidattrib, nodeidx,
"clumpidattrib", time, 0);
580 myOutputthicknessattrib =
true;
582 graph->
evalOpParm(myOutputthicknessattrib, nodeidx,
"outputthicknessattrib", time, 0);
583 myThicknessattrib =
"width"_UTsh;
584 if (
true && ( (
true&&!(((getOutputthicknessattrib()==0)))) ) )
585 graph->
evalOpParm(myThicknessattrib, nodeidx,
"thicknessattrib", time, 0);
587 if (
true && ( (
true&&!(((getOutputthicknessattrib()==0)))) ) )
588 graph->
evalOpParm(myThickness, nodeidx,
"thickness", time, 0);
589 myThicknessoverride = 0;
590 if (
true && ( (
true&&!(((getOutputthicknessattrib()==0)))) ) )
591 graph->
evalOpParm(myThicknessoverride, nodeidx,
"thicknessoverride", time, 0);
592 myThicknessskinattrib =
"thicknessscale"_UTsh;
593 if (
true && ( (
true&&!(((getOutputthicknessattrib()==0))||((
int64(getThicknessoverride())!=1)))) ) )
594 graph->
evalOpParm(myThicknessskinattrib, nodeidx,
"thicknessskinattrib", time, 0);
595 myThicknesstexture =
""_UTsh;
596 if (
true && ( (
true&&!(((getOutputthicknessattrib()==0))||((
int64(getThicknessoverride())!=2)))) ) )
597 graph->
evalOpParm(myThicknesstexture, nodeidx,
"thicknesstexture", time, 0);
599 if (
true && ( (
true&&!(((getOutputthicknessattrib()==0)))) ) )
600 graph->
evalOpParm(myHairprofile, nodeidx,
"hairprofile", time, 0);
601 myPointattribs =
""_UTsh;
603 graph->
evalOpParm(myPointattribs, nodeidx,
"pointattribs", time, 0);
604 myVertattribs =
""_UTsh;
605 if (
true && ( (
true&&!(((
int64(getMode())!=0)))) ) )
606 graph->
evalOpParm(myVertattribs, nodeidx,
"vertattribs", time, 0);
607 myPrimattribs =
""_UTsh;
608 if (
true && ( (
true&&!(((
int64(getMode())!=0)))) ) )
609 graph->
evalOpParm(myPrimattribs, nodeidx,
"primattribs", time, 0);
610 myDetailattribs =
""_UTsh;
612 graph->
evalOpParm(myDetailattribs, nodeidx,
"detailattribs", time, 0);
613 myGuidepointattribs =
""_UTsh;
615 graph->
evalOpParm(myGuidepointattribs, nodeidx,
"guidepointattribs", time, 0);
616 myGuideprimattribs =
""_UTsh;
618 graph->
evalOpParm(myGuideprimattribs, nodeidx,
"guideprimattribs", time, 0);
622 graph->
evalOpParm(length, nodeidx,
"folder_weightarraypairs", time, 0);
623 if (length < 0) length = 0;
624 myWeightArrayPairs.setSize(length);
631 auto && _curentry = myWeightArrayPairs(i);
633 _curentry.guideindexattrib =
"guides"_UTsh;
635 graph->
evalOpParmInst(_curentry.guideindexattrib, nodeidx,
"guideindexattrib#", parmidx, offsets, time, 0, 2-1);
636 _curentry.guideweightattrib =
"weights"_UTsh;
638 graph->
evalOpParmInst(_curentry.guideweightattrib, nodeidx,
"guideweightattrib#", parmidx, offsets, time, 0, 2-1);
643 myWeightArrayPairs.clear();
659 template <
typename T>
666 if (idx.
size() != instance.
size()+1)
934 else if (instance[0] < myWeightArrayPairs.entries())
936 auto && _data = myWeightArrayPairs(instance[0]);
963 { doGetParmValue(idx, instance, value); }
965 { doGetParmValue(idx, instance, value); }
967 { doGetParmValue(idx, instance, value); }
969 { doGetParmValue(idx, instance, value); }
971 { doGetParmValue(idx, instance, value); }
973 { doGetParmValue(idx, instance, value); }
975 { doGetParmValue(idx, instance, value); }
977 { doGetParmValue(idx, instance, value); }
979 { doGetParmValue(idx, instance, value); }
981 { doGetParmValue(idx, instance, value); }
983 { doGetParmValue(idx, instance, value); }
985 template <
typename T>
992 if (idx.
size() != instance.
size()+1)
1027 coerceValue(myUniformguidesegments, ( ( value ) ));
1036 coerceValue(mySkininterpguidesattrib, ( ( value ) ));
1039 coerceValue(mySkininterpweightsattrib, ( ( value ) ));
1057 coerceValue(myInfluenceradiusoptions, ( ( value ) ));
1060 coerceValue(myInfluenceradiusinrange, ( ( value ) ));
1063 coerceValue(myInfluenceradiusoutrange, ( ( value ) ));
1066 coerceValue(myInfluenceradiusattrib, ( ( value ) ));
1069 coerceValue(myInfluenceradiustexture, ( ( value ) ));
1072 coerceValue(myInfluenceradiustextureprim, ( ( value ) ));
1081 coerceValue(myInfluencedecayoptions, ( ( value ) ));
1084 coerceValue(myInfluencedecayinrange, ( ( value ) ));
1087 coerceValue(myInfluencedecayoutrange, ( ( value ) ));
1090 coerceValue(myInfluencedecayattrib, ( ( value ) ));
1093 coerceValue(myInfluencedecaytexture, ( ( value ) ));
1096 coerceValue(myInfluencedecaytextureprim, ( ( value ) ));
1105 coerceValue(myMaxguidecountoptions, ( ( value ) ));
1108 coerceValue(myMaxguidecountinrange, ( ( value ) ));
1111 coerceValue(myMaxguidecountoutrange, ( ( value ) ));
1114 coerceValue(myMaxguidecountattrib, ( ( value ) ));
1117 coerceValue(myMaxguidecounttexture, ( ( value ) ));
1120 coerceValue(myMaxguidecounttextureprim, ( ( value ) ));
1129 coerceValue(myMaxguideangleoptions, ( ( value ) ));
1132 coerceValue(myMaxguideangleinrange, ( ( value ) ));
1135 coerceValue(myMaxguideangleoutrange, ( ( value ) ));
1138 coerceValue(myMaxguideangleattrib, ( ( value ) ));
1141 coerceValue(myMaxguideangletexture, ( ( value ) ));
1144 coerceValue(myMaxguideangletextureprim, ( ( value ) ));
1153 coerceValue(myClumpcrossoveroptions, ( ( value ) ));
1156 coerceValue(myClumpcrossoverinrange, ( ( value ) ));
1159 coerceValue(myClumpcrossoveroutrange, ( ( value ) ));
1162 coerceValue(myClumpcrossoverattrib, ( ( value ) ));
1165 coerceValue(myClumpcrossovertexture, ( ( value ) ));
1168 coerceValue(myClumpcrossovertextureprim, ( ( value ) ));
1189 coerceValue(myUnguidedlengthoptions, ( ( value ) ));
1192 coerceValue(myUnguidedlengthinrange, ( ( value ) ));
1195 coerceValue(myUnguidedlengthoutrange, ( ( value ) ));
1198 coerceValue(myUnguidedlengthattrib, ( ( value ) ));
1201 coerceValue(myUnguidedlengthtexture, ( ( value ) ));
1204 coerceValue(myUnguidedlengthtextureprim, ( ( value ) ));
1210 coerceValue(myCreateweightattribs, ( ( value ) ));
1213 coerceValue(myCreaterestrootattrib, ( ( value ) ));
1219 coerceValue(myOutputthicknessattrib, ( ( value ) ));
1231 coerceValue(myThicknessskinattrib, ( ( value ) ));
1258 if (idx.
size() == 1)
1262 if (newsize < 0) newsize = 0;
1263 myWeightArrayPairs.setSize(newsize);
1267 if (instance[0] < 0)
1269 myWeightArrayPairs.setSizeIfNeeded(instance[0]+1);
1270 auto && _data = myWeightArrayPairs(instance[0]);
1288 { doSetParmValue(idx, instance, value); }
1290 { doSetParmValue(idx, instance, value); }
1292 { doSetParmValue(idx, instance, value); }
1294 { doSetParmValue(idx, instance, value); }
1296 { doSetParmValue(idx, instance, value); }
1298 { doSetParmValue(idx, instance, value); }
1300 { doSetParmValue(idx, instance, value); }
1302 { doSetParmValue(idx, instance, value); }
1304 { doSetParmValue(idx, instance, value); }
1306 { doSetParmValue(idx, instance, value); }
1308 { doSetParmValue(idx, instance, value); }
1312 if (idx.
size() == 0)
1326 if (fieldnum.
size() < 1)
1328 switch (fieldnum[0])
1337 return "limittobbox";
1341 return "bboxcenter";
1345 return "pruningratio";
1347 return "prunethicken";
1351 return "uniformguidesegments";
1353 return "skininterp";
1355 return "useinterpmesh";
1357 return "skininterpguidesattrib";
1359 return "skininterpweightsattrib";
1361 return "skinguidemode";
1363 return "guideblendmethod";
1365 return "guidegroup";
1367 return "influenceradius";
1369 return "influenceradiusoverride";
1371 return "influenceradiusoptions";
1373 return "influenceradiusinrange";
1375 return "influenceradiusoutrange";
1377 return "influenceradiusattrib";
1379 return "influenceradiustexture";
1381 return "influenceradiustextureprim";
1383 return "influencedecay";
1385 return "influencedecayoverride";
1387 return "influencedecayoptions";
1389 return "influencedecayinrange";
1391 return "influencedecayoutrange";
1393 return "influencedecayattrib";
1395 return "influencedecaytexture";
1397 return "influencedecaytextureprim";
1399 return "maxguidecount";
1401 return "maxguidecountoverride";
1403 return "maxguidecountoptions";
1405 return "maxguidecountinrange";
1407 return "maxguidecountoutrange";
1409 return "maxguidecountattrib";
1411 return "maxguidecounttexture";
1413 return "maxguidecounttextureprim";
1415 return "maxguideangle";
1417 return "maxguideangleoverride";
1419 return "maxguideangleoptions";
1421 return "maxguideangleinrange";
1423 return "maxguideangleoutrange";
1425 return "maxguideangleattrib";
1427 return "maxguideangletexture";
1429 return "maxguideangletextureprim";
1431 return "clumpcrossover";
1433 return "clumpcrossoveroverride";
1435 return "clumpcrossoveroptions";
1437 return "clumpcrossoverinrange";
1439 return "clumpcrossoveroutrange";
1441 return "clumpcrossoverattrib";
1443 return "clumpcrossovertexture";
1445 return "clumpcrossovertextureprim";
1447 return "growunguided";
1449 return "useinitdirattrib";
1451 return "initdirattrib";
1453 return "unguidedsegments";
1455 return "unguidedlength";
1457 return "unguidedlengthoverride";
1459 return "unguidedlengthoptions";
1461 return "unguidedlengthinrange";
1463 return "unguidedlengthoutrange";
1465 return "unguidedlengthattrib";
1467 return "unguidedlengthtexture";
1469 return "unguidedlengthtextureprim";
1471 return "unguidedminlength";
1473 return "createweightattribs";
1475 return "createrestrootattrib";
1477 return "clumpidattrib";
1479 return "outputthicknessattrib";
1481 return "thicknessattrib";
1485 return "thicknessoverride";
1487 return "thicknessskinattrib";
1489 return "thicknesstexture";
1491 return "hairprofile";
1493 return "pointattribs";
1495 return "vertattribs";
1497 return "primattribs";
1499 return "detailattribs";
1501 return "guidepointattribs";
1503 return "guideprimattribs";
1505 if (fieldnum.
size() == 1)
1506 return "folder_weightarraypairs";
1507 switch (fieldnum[1])
1510 return "guideindexattrib#";
1512 return "guideweightattrib#";
1523 if (fieldnum.
size() < 1)
1524 return PARM_UNSUPPORTED;
1525 switch (fieldnum[0])
1702 if (fieldnum.
size() == 1)
1703 return PARM_MULTIPARM;
1704 switch (fieldnum[1])
1720 { is.
bread(&v, 1); }
1734 {
for (
int r = 0;
r < 2;
r++)
for (
int c = 0; c < 2; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
1736 {
for (
int r = 0;
r < 3;
r++)
for (
int c = 0; c < 3; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
1738 {
for (
int r = 0;
r < 4;
r++)
for (
int c = 0; c < 4; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
1751 loadData(is, rampdata);
1769 int typelen = colon - data.
buffer();
1781 { UTwrite(os, &v); }
1783 {
int64 iv =
v; UTwrite(os, &iv); }
1785 { UTwrite<fpreal64>(os, &
v); }
1787 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1789 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1790 UTwrite<fpreal64>(os, &v.
z()); }
1792 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1793 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1805 if (s) s->save(ostr);
1806 result = ostr.
str();
1807 saveData(os, result);
1814 ostr << s->getDataTypeToken();
1816 s->saveBinary(ostr);
1818 result = ostr.
str();
1819 saveData(os, result);
1827 saveData(os, myMode);
1828 saveData(os, myGroup);
1829 saveData(os, myUvattrib);
1830 saveData(os, myLimittobbox);
1831 saveData(os, myBBoxSize);
1832 saveData(os, myBBoxCenter);
1833 saveData(os, myPrune);
1834 saveData(os, myPruningratio);
1835 saveData(os, myPrunethicken);
1836 saveData(os, myUseguides);
1837 saveData(os, myUniformguidesegments);
1838 saveData(os, mySkininterp);
1839 saveData(os, myUseInterpMesh);
1840 saveData(os, mySkininterpguidesattrib);
1841 saveData(os, mySkininterpweightsattrib);
1842 saveData(os, mySkinguidemode);
1843 saveData(os, myGuideblendmethod);
1844 saveData(os, myGuidegroup);
1845 saveData(os, myInfluenceradius);
1846 saveData(os, myInfluenceradiusoverride);
1847 saveData(os, myInfluenceradiusoptions);
1848 saveData(os, myInfluenceradiusinrange);
1849 saveData(os, myInfluenceradiusoutrange);
1850 saveData(os, myInfluenceradiusattrib);
1851 saveData(os, myInfluenceradiustexture);
1852 saveData(os, myInfluenceradiustextureprim);
1853 saveData(os, myInfluencedecay);
1854 saveData(os, myInfluencedecayoverride);
1855 saveData(os, myInfluencedecayoptions);
1856 saveData(os, myInfluencedecayinrange);
1857 saveData(os, myInfluencedecayoutrange);
1858 saveData(os, myInfluencedecayattrib);
1859 saveData(os, myInfluencedecaytexture);
1860 saveData(os, myInfluencedecaytextureprim);
1861 saveData(os, myMaxguidecount);
1862 saveData(os, myMaxguidecountoverride);
1863 saveData(os, myMaxguidecountoptions);
1864 saveData(os, myMaxguidecountinrange);
1865 saveData(os, myMaxguidecountoutrange);
1866 saveData(os, myMaxguidecountattrib);
1867 saveData(os, myMaxguidecounttexture);
1868 saveData(os, myMaxguidecounttextureprim);
1869 saveData(os, myMaxguideangle);
1870 saveData(os, myMaxguideangleoverride);
1871 saveData(os, myMaxguideangleoptions);
1872 saveData(os, myMaxguideangleinrange);
1873 saveData(os, myMaxguideangleoutrange);
1874 saveData(os, myMaxguideangleattrib);
1875 saveData(os, myMaxguideangletexture);
1876 saveData(os, myMaxguideangletextureprim);
1877 saveData(os, myClumpcrossover);
1878 saveData(os, myClumpcrossoveroverride);
1879 saveData(os, myClumpcrossoveroptions);
1880 saveData(os, myClumpcrossoverinrange);
1881 saveData(os, myClumpcrossoveroutrange);
1882 saveData(os, myClumpcrossoverattrib);
1883 saveData(os, myClumpcrossovertexture);
1884 saveData(os, myClumpcrossovertextureprim);
1885 saveData(os, myGrowunguided);
1886 saveData(os, myUseinitdirattrib);
1887 saveData(os, myInitdirattrib);
1888 saveData(os, myUnguidedsegments);
1889 saveData(os, myUnguidedlength);
1890 saveData(os, myUnguidedlengthoverride);
1891 saveData(os, myUnguidedlengthoptions);
1892 saveData(os, myUnguidedlengthinrange);
1893 saveData(os, myUnguidedlengthoutrange);
1894 saveData(os, myUnguidedlengthattrib);
1895 saveData(os, myUnguidedlengthtexture);
1896 saveData(os, myUnguidedlengthtextureprim);
1897 saveData(os, myUnguidedminlength);
1898 saveData(os, myCreateweightattribs);
1899 saveData(os, myCreaterestrootattrib);
1900 saveData(os, myClumpidattrib);
1901 saveData(os, myOutputthicknessattrib);
1902 saveData(os, myThicknessattrib);
1903 saveData(os, myThickness);
1904 saveData(os, myThicknessoverride);
1905 saveData(os, myThicknessskinattrib);
1906 saveData(os, myThicknesstexture);
1907 saveData(os, myHairprofile);
1908 saveData(os, myPointattribs);
1909 saveData(os, myVertattribs);
1910 saveData(os, myPrimattribs);
1911 saveData(os, myDetailattribs);
1912 saveData(os, myGuidepointattribs);
1913 saveData(os, myGuideprimattribs);
1916 UTwrite(os, &length);
1919 auto && _curentry = myWeightArrayPairs(i);
1921 saveData(os, _curentry.guideindexattrib);
1922 saveData(os, _curentry.guideweightattrib);
1938 loadData(is, myMode);
1939 loadData(is, myGroup);
1940 loadData(is, myUvattrib);
1941 loadData(is, myLimittobbox);
1942 loadData(is, myBBoxSize);
1943 loadData(is, myBBoxCenter);
1944 loadData(is, myPrune);
1945 loadData(is, myPruningratio);
1946 loadData(is, myPrunethicken);
1947 loadData(is, myUseguides);
1948 loadData(is, myUniformguidesegments);
1949 loadData(is, mySkininterp);
1950 loadData(is, myUseInterpMesh);
1951 loadData(is, mySkininterpguidesattrib);
1952 loadData(is, mySkininterpweightsattrib);
1953 loadData(is, mySkinguidemode);
1954 loadData(is, myGuideblendmethod);
1955 loadData(is, myGuidegroup);
1956 loadData(is, myInfluenceradius);
1957 loadData(is, myInfluenceradiusoverride);
1958 loadData(is, myInfluenceradiusoptions);
1959 loadData(is, myInfluenceradiusinrange);
1960 loadData(is, myInfluenceradiusoutrange);
1961 loadData(is, myInfluenceradiusattrib);
1962 loadData(is, myInfluenceradiustexture);
1963 loadData(is, myInfluenceradiustextureprim);
1964 loadData(is, myInfluencedecay);
1965 loadData(is, myInfluencedecayoverride);
1966 loadData(is, myInfluencedecayoptions);
1967 loadData(is, myInfluencedecayinrange);
1968 loadData(is, myInfluencedecayoutrange);
1969 loadData(is, myInfluencedecayattrib);
1970 loadData(is, myInfluencedecaytexture);
1971 loadData(is, myInfluencedecaytextureprim);
1972 loadData(is, myMaxguidecount);
1973 loadData(is, myMaxguidecountoverride);
1974 loadData(is, myMaxguidecountoptions);
1975 loadData(is, myMaxguidecountinrange);
1976 loadData(is, myMaxguidecountoutrange);
1977 loadData(is, myMaxguidecountattrib);
1978 loadData(is, myMaxguidecounttexture);
1979 loadData(is, myMaxguidecounttextureprim);
1980 loadData(is, myMaxguideangle);
1981 loadData(is, myMaxguideangleoverride);
1982 loadData(is, myMaxguideangleoptions);
1983 loadData(is, myMaxguideangleinrange);
1984 loadData(is, myMaxguideangleoutrange);
1985 loadData(is, myMaxguideangleattrib);
1986 loadData(is, myMaxguideangletexture);
1987 loadData(is, myMaxguideangletextureprim);
1988 loadData(is, myClumpcrossover);
1989 loadData(is, myClumpcrossoveroverride);
1990 loadData(is, myClumpcrossoveroptions);
1991 loadData(is, myClumpcrossoverinrange);
1992 loadData(is, myClumpcrossoveroutrange);
1993 loadData(is, myClumpcrossoverattrib);
1994 loadData(is, myClumpcrossovertexture);
1995 loadData(is, myClumpcrossovertextureprim);
1996 loadData(is, myGrowunguided);
1997 loadData(is, myUseinitdirattrib);
1998 loadData(is, myInitdirattrib);
1999 loadData(is, myUnguidedsegments);
2000 loadData(is, myUnguidedlength);
2001 loadData(is, myUnguidedlengthoverride);
2002 loadData(is, myUnguidedlengthoptions);
2003 loadData(is, myUnguidedlengthinrange);
2004 loadData(is, myUnguidedlengthoutrange);
2005 loadData(is, myUnguidedlengthattrib);
2006 loadData(is, myUnguidedlengthtexture);
2007 loadData(is, myUnguidedlengthtextureprim);
2008 loadData(is, myUnguidedminlength);
2009 loadData(is, myCreateweightattribs);
2010 loadData(is, myCreaterestrootattrib);
2011 loadData(is, myClumpidattrib);
2012 loadData(is, myOutputthicknessattrib);
2013 loadData(is, myThicknessattrib);
2014 loadData(is, myThickness);
2015 loadData(is, myThicknessoverride);
2016 loadData(is, myThicknessskinattrib);
2017 loadData(is, myThicknesstexture);
2018 loadData(is, myHairprofile);
2019 loadData(is, myPointattribs);
2020 loadData(is, myVertattribs);
2021 loadData(is, myPrimattribs);
2022 loadData(is, myDetailattribs);
2023 loadData(is, myGuidepointattribs);
2024 loadData(is, myGuideprimattribs);
2027 is.
read(&length, 1);
2028 myWeightArrayPairs.setSize(length);
2031 auto && _curentry = myWeightArrayPairs(i);
2033 loadData(is, _curentry.guideindexattrib);
2034 loadData(is, _curentry.guideweightattrib);
2047 if (!thissop)
return getMode();
2049 OP_Utils::evalOpParm(result, thissop,
"mode", cookparms.
getCookTime(), 0);
2050 return Mode(result);
2057 if (!thissop)
return getGroup();
2059 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
2067 if (!thissop)
return getUvattrib();
2069 OP_Utils::evalOpParm(result, thissop,
"uvattrib", cookparms.
getCookTime(), 0);
2077 if (!thissop)
return getLimittobbox();
2079 OP_Utils::evalOpParm(result, thissop,
"limittobbox", cookparms.
getCookTime(), 0);
2087 if (!thissop)
return getBBoxSize();
2089 OP_Utils::evalOpParm(result, thissop,
"bboxsize", cookparms.
getCookTime(), 0);
2097 if (!thissop)
return getBBoxCenter();
2099 OP_Utils::evalOpParm(result, thissop,
"bboxcenter", cookparms.
getCookTime(), 0);
2107 if (!thissop)
return getPrune();
2109 OP_Utils::evalOpParm(result, thissop,
"prune", cookparms.
getCookTime(), 0);
2117 if (!thissop)
return getPruningratio();
2119 OP_Utils::evalOpParm(result, thissop,
"pruningratio", cookparms.
getCookTime(), 0);
2127 if (!thissop)
return getPrunethicken();
2129 OP_Utils::evalOpParm(result, thissop,
"prunethicken", cookparms.
getCookTime(), 0);
2137 if (!thissop)
return getUseguides();
2139 OP_Utils::evalOpParm(result, thissop,
"useguides", cookparms.
getCookTime(), 0);
2147 if (!thissop)
return getUniformguidesegments();
2149 OP_Utils::evalOpParm(result, thissop,
"uniformguidesegments", cookparms.
getCookTime(), 0);
2157 if (!thissop)
return getSkininterp();
2159 OP_Utils::evalOpParm(result, thissop,
"skininterp", cookparms.
getCookTime(), 0);
2167 if (!thissop)
return getUseInterpMesh();
2169 OP_Utils::evalOpParm(result, thissop,
"useinterpmesh", cookparms.
getCookTime(), 0);
2177 if (!thissop)
return getSkininterpguidesattrib();
2179 OP_Utils::evalOpParm(result, thissop,
"skininterpguidesattrib", cookparms.
getCookTime(), 0);
2187 if (!thissop)
return getSkininterpweightsattrib();
2189 OP_Utils::evalOpParm(result, thissop,
"skininterpweightsattrib", cookparms.
getCookTime(), 0);
2197 if (!thissop)
return getSkinguidemode();
2199 OP_Utils::evalOpParm(result, thissop,
"skinguidemode", cookparms.
getCookTime(), 0);
2207 if (!thissop)
return getGuideblendmethod();
2209 OP_Utils::evalOpParm(result, thissop,
"guideblendmethod", cookparms.
getCookTime(), 0);
2217 if (!thissop)
return getGuidegroup();
2219 OP_Utils::evalOpParm(result, thissop,
"guidegroup", cookparms.
getCookTime(), 0);
2227 if (!thissop)
return getInfluenceradius();
2229 OP_Utils::evalOpParm(result, thissop,
"influenceradius", cookparms.
getCookTime(), 0);
2237 if (!thissop)
return getInfluenceradiusoverride();
2239 OP_Utils::evalOpParm(result, thissop,
"influenceradiusoverride", cookparms.
getCookTime(), 0);
2247 if (!thissop)
return getInfluenceradiusoptions();
2249 OP_Utils::evalOpParm(result, thissop,
"influenceradiusoptions", cookparms.
getCookTime(), 0);
2257 if (!thissop)
return getInfluenceradiusinrange();
2259 OP_Utils::evalOpParm(result, thissop,
"influenceradiusinrange", cookparms.
getCookTime(), 0);
2267 if (!thissop)
return getInfluenceradiusoutrange();
2269 OP_Utils::evalOpParm(result, thissop,
"influenceradiusoutrange", cookparms.
getCookTime(), 0);
2277 if (!thissop)
return getInfluenceradiusattrib();
2279 OP_Utils::evalOpParm(result, thissop,
"influenceradiusattrib", cookparms.
getCookTime(), 0);
2287 if (!thissop)
return getInfluenceradiustexture();
2289 OP_Utils::evalOpParm(result, thissop,
"influenceradiustexture", cookparms.
getCookTime(), 0);
2297 if (!thissop)
return getInfluenceradiustextureprim();
2299 OP_Utils::evalOpParm(result, thissop,
"influenceradiustextureprim", cookparms.
getCookTime(), 0);
2307 if (!thissop)
return getInfluencedecay();
2309 OP_Utils::evalOpParm(result, thissop,
"influencedecay", cookparms.
getCookTime(), 0);
2317 if (!thissop)
return getInfluencedecayoverride();
2319 OP_Utils::evalOpParm(result, thissop,
"influencedecayoverride", cookparms.
getCookTime(), 0);
2327 if (!thissop)
return getInfluencedecayoptions();
2329 OP_Utils::evalOpParm(result, thissop,
"influencedecayoptions", cookparms.
getCookTime(), 0);
2337 if (!thissop)
return getInfluencedecayinrange();
2339 OP_Utils::evalOpParm(result, thissop,
"influencedecayinrange", cookparms.
getCookTime(), 0);
2347 if (!thissop)
return getInfluencedecayoutrange();
2349 OP_Utils::evalOpParm(result, thissop,
"influencedecayoutrange", cookparms.
getCookTime(), 0);
2357 if (!thissop)
return getInfluencedecayattrib();
2359 OP_Utils::evalOpParm(result, thissop,
"influencedecayattrib", cookparms.
getCookTime(), 0);
2367 if (!thissop)
return getInfluencedecaytexture();
2369 OP_Utils::evalOpParm(result, thissop,
"influencedecaytexture", cookparms.
getCookTime(), 0);
2377 if (!thissop)
return getInfluencedecaytextureprim();
2379 OP_Utils::evalOpParm(result, thissop,
"influencedecaytextureprim", cookparms.
getCookTime(), 0);
2387 if (!thissop)
return getMaxguidecount();
2389 OP_Utils::evalOpParm(result, thissop,
"maxguidecount", cookparms.
getCookTime(), 0);
2397 if (!thissop)
return getMaxguidecountoverride();
2399 OP_Utils::evalOpParm(result, thissop,
"maxguidecountoverride", cookparms.
getCookTime(), 0);
2407 if (!thissop)
return getMaxguidecountoptions();
2409 OP_Utils::evalOpParm(result, thissop,
"maxguidecountoptions", cookparms.
getCookTime(), 0);
2417 if (!thissop)
return getMaxguidecountinrange();
2419 OP_Utils::evalOpParm(result, thissop,
"maxguidecountinrange", cookparms.
getCookTime(), 0);
2427 if (!thissop)
return getMaxguidecountoutrange();
2429 OP_Utils::evalOpParm(result, thissop,
"maxguidecountoutrange", cookparms.
getCookTime(), 0);
2437 if (!thissop)
return getMaxguidecountattrib();
2439 OP_Utils::evalOpParm(result, thissop,
"maxguidecountattrib", cookparms.
getCookTime(), 0);
2447 if (!thissop)
return getMaxguidecounttexture();
2449 OP_Utils::evalOpParm(result, thissop,
"maxguidecounttexture", cookparms.
getCookTime(), 0);
2457 if (!thissop)
return getMaxguidecounttextureprim();
2459 OP_Utils::evalOpParm(result, thissop,
"maxguidecounttextureprim", cookparms.
getCookTime(), 0);
2467 if (!thissop)
return getMaxguideangle();
2469 OP_Utils::evalOpParm(result, thissop,
"maxguideangle", cookparms.
getCookTime(), 0);
2477 if (!thissop)
return getMaxguideangleoverride();
2479 OP_Utils::evalOpParm(result, thissop,
"maxguideangleoverride", cookparms.
getCookTime(), 0);
2487 if (!thissop)
return getMaxguideangleoptions();
2489 OP_Utils::evalOpParm(result, thissop,
"maxguideangleoptions", cookparms.
getCookTime(), 0);
2497 if (!thissop)
return getMaxguideangleinrange();
2499 OP_Utils::evalOpParm(result, thissop,
"maxguideangleinrange", cookparms.
getCookTime(), 0);
2507 if (!thissop)
return getMaxguideangleoutrange();
2509 OP_Utils::evalOpParm(result, thissop,
"maxguideangleoutrange", cookparms.
getCookTime(), 0);
2517 if (!thissop)
return getMaxguideangleattrib();
2519 OP_Utils::evalOpParm(result, thissop,
"maxguideangleattrib", cookparms.
getCookTime(), 0);
2527 if (!thissop)
return getMaxguideangletexture();
2529 OP_Utils::evalOpParm(result, thissop,
"maxguideangletexture", cookparms.
getCookTime(), 0);
2537 if (!thissop)
return getMaxguideangletextureprim();
2539 OP_Utils::evalOpParm(result, thissop,
"maxguideangletextureprim", cookparms.
getCookTime(), 0);
2547 if (!thissop)
return getClumpcrossover();
2549 OP_Utils::evalOpParm(result, thissop,
"clumpcrossover", cookparms.
getCookTime(), 0);
2557 if (!thissop)
return getClumpcrossoveroverride();
2559 OP_Utils::evalOpParm(result, thissop,
"clumpcrossoveroverride", cookparms.
getCookTime(), 0);
2567 if (!thissop)
return getClumpcrossoveroptions();
2569 OP_Utils::evalOpParm(result, thissop,
"clumpcrossoveroptions", cookparms.
getCookTime(), 0);
2577 if (!thissop)
return getClumpcrossoverinrange();
2579 OP_Utils::evalOpParm(result, thissop,
"clumpcrossoverinrange", cookparms.
getCookTime(), 0);
2587 if (!thissop)
return getClumpcrossoveroutrange();
2589 OP_Utils::evalOpParm(result, thissop,
"clumpcrossoveroutrange", cookparms.
getCookTime(), 0);
2597 if (!thissop)
return getClumpcrossoverattrib();
2599 OP_Utils::evalOpParm(result, thissop,
"clumpcrossoverattrib", cookparms.
getCookTime(), 0);
2607 if (!thissop)
return getClumpcrossovertexture();
2609 OP_Utils::evalOpParm(result, thissop,
"clumpcrossovertexture", cookparms.
getCookTime(), 0);
2617 if (!thissop)
return getClumpcrossovertextureprim();
2619 OP_Utils::evalOpParm(result, thissop,
"clumpcrossovertextureprim", cookparms.
getCookTime(), 0);
2627 if (!thissop)
return getGrowunguided();
2629 OP_Utils::evalOpParm(result, thissop,
"growunguided", cookparms.
getCookTime(), 0);
2637 if (!thissop)
return getUseinitdirattrib();
2639 OP_Utils::evalOpParm(result, thissop,
"useinitdirattrib", cookparms.
getCookTime(), 0);
2647 if (!thissop)
return getInitdirattrib();
2649 OP_Utils::evalOpParm(result, thissop,
"initdirattrib", cookparms.
getCookTime(), 0);
2657 if (!thissop)
return getUnguidedsegments();
2659 OP_Utils::evalOpParm(result, thissop,
"unguidedsegments", cookparms.
getCookTime(), 0);
2667 if (!thissop)
return getUnguidedlength();
2669 OP_Utils::evalOpParm(result, thissop,
"unguidedlength", cookparms.
getCookTime(), 0);
2677 if (!thissop)
return getUnguidedlengthoverride();
2679 OP_Utils::evalOpParm(result, thissop,
"unguidedlengthoverride", cookparms.
getCookTime(), 0);
2687 if (!thissop)
return getUnguidedlengthoptions();
2689 OP_Utils::evalOpParm(result, thissop,
"unguidedlengthoptions", cookparms.
getCookTime(), 0);
2697 if (!thissop)
return getUnguidedlengthinrange();
2699 OP_Utils::evalOpParm(result, thissop,
"unguidedlengthinrange", cookparms.
getCookTime(), 0);
2707 if (!thissop)
return getUnguidedlengthoutrange();
2709 OP_Utils::evalOpParm(result, thissop,
"unguidedlengthoutrange", cookparms.
getCookTime(), 0);
2717 if (!thissop)
return getUnguidedlengthattrib();
2719 OP_Utils::evalOpParm(result, thissop,
"unguidedlengthattrib", cookparms.
getCookTime(), 0);
2727 if (!thissop)
return getUnguidedlengthtexture();
2729 OP_Utils::evalOpParm(result, thissop,
"unguidedlengthtexture", cookparms.
getCookTime(), 0);
2737 if (!thissop)
return getUnguidedlengthtextureprim();
2739 OP_Utils::evalOpParm(result, thissop,
"unguidedlengthtextureprim", cookparms.
getCookTime(), 0);
2747 if (!thissop)
return getUnguidedminlength();
2749 OP_Utils::evalOpParm(result, thissop,
"unguidedminlength", cookparms.
getCookTime(), 0);
2757 if (!thissop)
return getCreateweightattribs();
2759 OP_Utils::evalOpParm(result, thissop,
"createweightattribs", cookparms.
getCookTime(), 0);
2767 if (!thissop)
return getCreaterestrootattrib();
2769 OP_Utils::evalOpParm(result, thissop,
"createrestrootattrib", cookparms.
getCookTime(), 0);
2777 if (!thissop)
return getClumpidattrib();
2779 OP_Utils::evalOpParm(result, thissop,
"clumpidattrib", cookparms.
getCookTime(), 0);
2787 if (!thissop)
return getOutputthicknessattrib();
2789 OP_Utils::evalOpParm(result, thissop,
"outputthicknessattrib", cookparms.
getCookTime(), 0);
2797 if (!thissop)
return getThicknessattrib();
2799 OP_Utils::evalOpParm(result, thissop,
"thicknessattrib", cookparms.
getCookTime(), 0);
2807 if (!thissop)
return getThickness();
2809 OP_Utils::evalOpParm(result, thissop,
"thickness", cookparms.
getCookTime(), 0);
2817 if (!thissop)
return getThicknessoverride();
2819 OP_Utils::evalOpParm(result, thissop,
"thicknessoverride", cookparms.
getCookTime(), 0);
2827 if (!thissop)
return getThicknessskinattrib();
2829 OP_Utils::evalOpParm(result, thissop,
"thicknessskinattrib", cookparms.
getCookTime(), 0);
2837 if (!thissop)
return getThicknesstexture();
2839 OP_Utils::evalOpParm(result, thissop,
"thicknesstexture", cookparms.
getCookTime(), 0);
2847 if (!thissop)
return getHairprofile();
2849 OP_Utils::evalOpParm(result, thissop,
"hairprofile", cookparms.
getCookTime(), 0);
2857 if (!thissop)
return getPointattribs();
2859 OP_Utils::evalOpParm(result, thissop,
"pointattribs", cookparms.
getCookTime(), 0);
2867 if (!thissop)
return getVertattribs();
2869 OP_Utils::evalOpParm(result, thissop,
"vertattribs", cookparms.
getCookTime(), 0);
2877 if (!thissop)
return getPrimattribs();
2879 OP_Utils::evalOpParm(result, thissop,
"primattribs", cookparms.
getCookTime(), 0);
2887 if (!thissop)
return getDetailattribs();
2889 OP_Utils::evalOpParm(result, thissop,
"detailattribs", cookparms.
getCookTime(), 0);
2897 if (!thissop)
return getGuidepointattribs();
2899 OP_Utils::evalOpParm(result, thissop,
"guidepointattribs", cookparms.
getCookTime(), 0);
2907 if (!thissop)
return getGuideprimattribs();
2909 OP_Utils::evalOpParm(result, thissop,
"guideprimattribs", cookparms.
getCookTime(), 0);
2917 if (!thissop)
return getWeightArrayPairs().entries();
2919 OP_Utils::evalOpParm(result, thissop,
"folder_weightarraypairs", cookparms.
getCookTime(), 0);
2923 {
return opinstWeightArrayPairs_guideindexattrib(cookparms, &_idx); }
2927 if (!thissop)
return (myWeightArrayPairs(_idx[0]).guideindexattrib);
2929 _parmidx[1-1] = _idx[1-1] + 0;
2932 OP_Utils::evalOpParmInst(result, thissop,
"guideindexattrib#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2936 {
return opinstWeightArrayPairs_guideweightattrib(cookparms, &_idx); }
2940 if (!thissop)
return (myWeightArrayPairs(_idx[0]).guideweightattrib);
2942 _parmidx[1-1] = _idx[1-1] + 0;
2945 OP_Utils::evalOpParmInst(result, thissop,
"guideweightattrib#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2959 bool myPrunethicken;
2961 bool myUniformguidesegments;
2963 bool myUseInterpMesh;
2966 int64 mySkinguidemode;
2967 int64 myGuideblendmethod;
2970 int64 myInfluenceradiusoverride;
2971 int64 myInfluenceradiusoptions;
2978 int64 myInfluencedecayoverride;
2979 int64 myInfluencedecayoptions;
2985 int64 myMaxguidecount;
2986 int64 myMaxguidecountoverride;
2987 int64 myMaxguidecountoptions;
2994 int64 myMaxguideangleoverride;
2995 int64 myMaxguideangleoptions;
3002 int64 myClumpcrossoveroverride;
3003 int64 myClumpcrossoveroptions;
3009 bool myGrowunguided;
3010 bool myUseinitdirattrib;
3012 int64 myUnguidedsegments;
3014 int64 myUnguidedlengthoverride;
3015 int64 myUnguidedlengthoptions;
3022 bool myCreateweightattribs;
3023 bool myCreaterestrootattrib;
3025 bool myOutputthicknessattrib;
3028 int64 myThicknessoverride;
Influenceradiusoverride getInfluenceradiusoverride() const
UT_StringHolder opVertattribs(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getUnguidedlength() const
UT_Vector2D opMaxguidecountoutrange(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
Thicknessoverride getThicknessoverride() const
int64 opMaxguideangleoptions(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opInfluenceradiustexture(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D getClumpcrossoverinrange() const
UT_Vector2D opInfluenceradiusoutrange(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getPointattribs() const
static void saveData(std::ostream &os, fpreal64 v)
void setThicknessoverride(Thicknessoverride val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
void setClumpcrossovertextureprim(const UT_StringHolder &val)
const UT_StringHolder & getPrimattribs() const
static void saveData(std::ostream &os, UT_Vector4D v)
GLenum GLuint GLenum GLsizei const GLchar * buf
void setMaxguideangleinrange(UT_Vector2D val)
void setUnguidedlength(fpreal64 val)
void setSkininterp(bool val)
bool opUseInterpMesh(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opPruningratio(const SOP_NodeVerb::CookParms &cookparms) const
SOP_Node * getNode() const
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
void setMaxguidecountoptions(int64 val)
void setGuidegroup(const UT_StringHolder &val)
bool getGrowunguided() const
int64 getMaxguideangleoptions() const
int64 opClumpcrossoveroptions(const SOP_NodeVerb::CookParms &cookparms) const
const char * getNestParmName(TempIndex fieldnum) const override
Maxguideangleoverride getMaxguideangleoverride() const
void setMaxguidecount(int64 val)
const UT_StringHolder & getInfluenceradiusattrib() const
void setThicknesstexture(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_Vector4I &v)
UT_StringHolder opMaxguidecountattrib(const SOP_NodeVerb::CookParms &cookparms) const
void setMaxguideangleoutrange(UT_Vector2D val)
UT_StringHolder createString(const UT_Array< WeightArrayPairs > &list) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
void setCreaterestrootattrib(bool val)
T clampMaxValue(fpreal maxvalue, const T &src) const
UT_StringHolder opDetailattribs(const SOP_NodeVerb::CookParms &cookparms) const
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
const UT_StringHolder & getMaxguidecounttextureprim() const
void setClumpcrossoveroutrange(UT_Vector2D val)
bool getUniformguidesegments() const
const UT_StringHolder & getDetailattribs() const
void setInfluenceradiusoptions(int64 val)
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
UT_StringHolder opGuidegroup(const SOP_NodeVerb::CookParms &cookparms) const
void setMaxguidecounttextureprim(const UT_StringHolder &val)
void setClumpcrossoverattrib(const UT_StringHolder &val)
void setLimittobbox(bool val)
fpreal64 getPruningratio() const
static void saveData(std::ostream &os, UT_Matrix2D v)
fpreal64 getMaxguideangle() const
UT_Vector2T< fpreal64 > UT_Vector2D
void copyFrom(const OP_NodeParms *src) override
const UT_StringHolder & getInfluenceradiustexture() const
fpreal64 getInfluenceradius() const
UT_StringHolder guideindexattrib
int64 getUnguidedsegments() const
UT_StringHolder opMaxguidecounttexture(const SOP_NodeVerb::CookParms &cookparms) const
void setMaxguideangleattrib(const UT_StringHolder &val)
UT_StringHolder opUnguidedlengthtextureprim(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D opInfluenceradiusinrange(const SOP_NodeVerb::CookParms &cookparms) const
void setMaxguidecountattrib(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_Vector3D &v)
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const
void setGroup(const UT_StringHolder &val)
const OP_Context & context() const
void setInitdirattrib(const UT_StringHolder &val)
UT_StringHolder opMaxguidecounttextureprim(const SOP_NodeVerb::CookParms &cookparms) const
void setPrunethicken(bool val)
constexpr SYS_FORCE_INLINE T & z() noexcept
void setSkininterpguidesattrib(const UT_StringHolder &val)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
void setUnguidedlengthinrange(UT_Vector2D val)
int64 opMaxguidecountoptions(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D getInfluenceradiusoutrange() const
SYS_FORCE_INLINE const char * buffer() const
static void loadData(UT_IStream &is, bool &v)
GLuint GLsizei GLsizei * length
const UT_StringHolder & getInfluencedecayattrib() const
void setClumpcrossoveroptions(int64 val)
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
An output stream object that owns its own string buffer storage.
const UT_StringHolder & getThicknessskinattrib() const
Skinguidemode getSkinguidemode() const
UT_Vector2D opMaxguidecountinrange(const SOP_NodeVerb::CookParms &cookparms) const
Maxguidecountoverride getMaxguidecountoverride() const
void setInfluencedecaytexture(const UT_StringHolder &val)
UT_StringHolder opInfluencedecayattrib(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector2D &v)
UT_Vector2D opUnguidedlengthoutrange(const SOP_NodeVerb::CookParms &cookparms) const
**But if you need a result
void setMaxguideangletexture(const UT_StringHolder &val)
bool load(UT_IStream &is)
bool operator!=(const SOP_HairGenCoreParms &src) const
bool getCreaterestrootattrib() const
T clampMinValue(fpreal minvalue, const T &src) const
void setInfluenceradiusoverride(Influenceradiusoverride val)
UT_StringHolder opThicknesstexture(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getInfluencedecaytexture() const
const UT_StringHolder & getMaxguidecountattrib() const
void save(std::ostream &os) const
bool getSkininterp() const
UT_StringHolder opUnguidedlengthattrib(const SOP_NodeVerb::CookParms &cookparms) const
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
Guideblendmethod opGuideblendmethod(const SOP_NodeVerb::CookParms &cookparms) const
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
const UT_StringHolder & getThicknessattrib() const
void setMaxguideangleoverride(Maxguideangleoverride val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
int64 opInfluencedecayoptions(const SOP_NodeVerb::CookParms &cookparms) const
bool opOutputthicknessattrib(const SOP_NodeVerb::CookParms &cookparms) const
void setUnguidedsegments(int64 val)
constexpr SYS_FORCE_INLINE T & x() noexcept
bool getUseInterpMesh() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
static void loadData(UT_IStream &is, UT_Vector3I &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
bool operator==(const SOP_HairGenCoreParms &src) const
exint opWeightArrayPairs(const SOP_NodeVerb::CookParms &cookparms) const
void setClumpcrossoverinrange(UT_Vector2D val)
GLuint GLsizei const GLuint const GLintptr * offsets
UT_StringHolder opMaxguideangletextureprim(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & x() noexcept
void setSkininterpweightsattrib(const UT_StringHolder &val)
fpreal64 getInfluencedecay() const
void setUvattrib(const UT_StringHolder &val)
const UT_StringHolder & getGroup() const
UT_StringHolder opUnguidedlengthtexture(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opClumpcrossoverattrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D opBBoxCenter(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
bool getCreateweightattribs() const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
int64 getInfluencedecayoptions() const
void setUnguidedlengthoverride(Unguidedlengthoverride val)
void setGuideprimattribs(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_Matrix3D &v)
void setMaxguideangletextureprim(const UT_StringHolder &val)
void setPrimattribs(const UT_StringHolder &val)
const UT_StringHolder & getMaxguidecounttexture() const
const UT_StringHolder & getClumpcrossoverattrib() const
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
void setUnguidedminlength(fpreal64 val)
Maxguidecountoverride opMaxguidecountoverride(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
void setHairprofile(UT_SharedPtr< UT_Ramp > val)
Influenceradiusoverride opInfluenceradiusoverride(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opMaxguideangleattrib(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opMaxguideangle(const SOP_NodeVerb::CookParms &cookparms) const
void setClumpidattrib(const UT_StringHolder &val)
fpreal64 opUnguidedminlength(const SOP_NodeVerb::CookParms &cookparms) const
void setGrowunguided(bool val)
static void loadData(UT_IStream &is, fpreal64 &v)
UT_Vector3D getBBoxSize() const
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
UT_SharedPtr< UT_Ramp > opHairprofile(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & z() noexcept
Clumpcrossoveroverride opClumpcrossoveroverride(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opThicknessskinattrib(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opInfluenceradius(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getUnguidedlengthattrib() const
bool operator!=(const WeightArrayPairs &src) const
UT_StringHolder opClumpcrossovertexture(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getInfluencedecaytextureprim() const
UT_StringHolder opInfluencedecaytextureprim(const SOP_NodeVerb::CookParms &cookparms) const
Clumpcrossoveroverride getClumpcrossoveroverride() const
bool getOutputthicknessattrib() const
bool getUseinitdirattrib() const
exint read(bool *array, exint sz=1)
const OP_GraphProxy * graph() const
bool opCreateweightattribs(const SOP_NodeVerb::CookParms &cookparms) const
void setThickness(fpreal64 val)
const UT_StringHolder & getVertattribs() const
UT_Vector2D getMaxguideangleinrange() const
static void loadData(UT_IStream &is, UT_Vector4D &v)
void setInfluencedecayoverride(Influencedecayoverride val)
bool getPrunethicken() const
void setGuidepointattribs(const UT_StringHolder &val)
const UT_StringHolder & getInitdirattrib() const
void setUseguides(bool val)
virtual void evalOpParmInst(int64 &v, NodeIdx node, const char *parmname, const int *inst, const int *offsets, fpreal time, DEP_MicroNode *depnode, int nestlevel=1) const =0
const UT_StringHolder & getSkininterpguidesattrib() const
const UT_StringHolder & getMaxguideangletexture() const
UT_Vector2D getInfluenceradiusinrange() const
bool opPrunethicken(const SOP_NodeVerb::CookParms &cookparms) const
void setOutputthicknessattrib(bool val)
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
UT_StringHolder opThicknessattrib(const SOP_NodeVerb::CookParms &cookparms) const
void setUseInterpMesh(bool val)
Skinguidemode opSkinguidemode(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
UT_StringHolder guideweightattrib
void setMaxguidecountoverride(Maxguidecountoverride val)
void setInfluencedecayattrib(const UT_StringHolder &val)
const UT_StringHolder & getMaxguideangletextureprim() const
UT_Vector3T< fpreal64 > UT_Vector3D
int64 getUnguidedlengthoptions() const
UT_Vector2D opInfluencedecayoutrange(const SOP_NodeVerb::CookParms &cookparms) const
void setUnguidedlengthoutrange(UT_Vector2D val)
UT_StringHolder opWeightArrayPairs_guideindexattrib(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
const UT_StringHolder & getClumpcrossovertexture() const
bool opUniformguidesegments(const SOP_NodeVerb::CookParms &cookparms) const
void setUnguidedlengthtexture(const UT_StringHolder &val)
void setMaxguidecounttexture(const UT_StringHolder &val)
UT_StringHolder opSkininterpweightsattrib(const SOP_NodeVerb::CookParms &cookparms) const
Influencedecayoverride opInfluencedecayoverride(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D getInfluencedecayoutrange() const
static void saveData(std::ostream &os, bool v)
bool opSkininterp(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getUnguidedminlength() const
int64 opUnguidedsegments(const SOP_NodeVerb::CookParms &cookparms) const
void setGuideblendmethod(Guideblendmethod val)
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
fpreal64 opThickness(const SOP_NodeVerb::CookParms &cookparms) const
void setInfluenceradiusinrange(UT_Vector2D val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
Mode opMode(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
SYS_FORCE_INLINE void strcat(const char *src)
UT_StringHolder opinstWeightArrayPairs_guideweightattrib(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void saveBinary(std::ostream &os) const
Save string to binary stream.
UT_StringHolder opClumpidattrib(const SOP_NodeVerb::CookParms &cookparms) const
Guideblendmethod getGuideblendmethod() const
UT_Vector3D getBBoxCenter() const
UT_Vector2D opClumpcrossoverinrange(const SOP_NodeVerb::CookParms &cookparms) const
GT_API const UT_StringHolder version
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
static void saveData(std::ostream &os, int64 v)
exint entries() const
Alias of size(). size() is preferred.
bool opCreaterestrootattrib(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getUvattrib() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
void setVertattribs(const UT_StringHolder &val)
void setMaxguideangleoptions(int64 val)
UT_Vector2D getUnguidedlengthoutrange() const
UT_Vector2D opInfluencedecayinrange(const SOP_NodeVerb::CookParms &cookparms) const
void setMaxguidecountoutrange(UT_Vector2D val)
static void loadData(UT_IStream &is, int64 &v)
const UT_StringHolder & getClumpidattrib() const
UT_StringHolder opPrimattribs(const SOP_NodeVerb::CookParms &cookparms) const
int64 opUnguidedlengthoptions(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D opBBoxSize(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getThickness() const
void setMaxguideangle(fpreal64 val)
int64 getMaxguidecount() const
void setDetailattribs(const UT_StringHolder &val)
void coerceValue(T &result, const S &src) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
UT_StringHolder opInfluencedecaytexture(const SOP_NodeVerb::CookParms &cookparms) const
void setWeightArrayPairs(const UT_Array< WeightArrayPairs > &val)
int64 opInfluenceradiusoptions(const SOP_NodeVerb::CookParms &cookparms) const
bool opPrune(const SOP_NodeVerb::CookParms &cookparms) const
ParmType getNestParmType(TempIndex fieldnum) const override
UT_Vector2D getMaxguidecountoutrange() const
void setUniformguidesegments(bool val)
Maxguideangleoverride opMaxguideangleoverride(const SOP_NodeVerb::CookParms &cookparms) const
DEP_MicroNode * depnode() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
const UT_StringHolder & getMaxguideangleattrib() const
Unguidedlengthoverride getUnguidedlengthoverride() const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
void setUnguidedlengthtextureprim(const UT_StringHolder &val)
Utility class for containing a color ramp.
void setBBoxSize(UT_Vector3D val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
static void loadData(UT_IStream &is, UT_Vector2I &v)
bool isParmColorRamp(exint idx) const override
void setClumpcrossoveroverride(Clumpcrossoveroverride val)
int64 getMaxguidecountoptions() const
UT_StringHolder opUvattrib(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & w() noexcept
SYS_FORCE_INLINE void append(char character)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
Thicknessoverride opThicknessoverride(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D getMaxguideangleoutrange() const
static void saveData(std::ostream &os, UT_Vector2D v)
const UT_StringHolder & getGuideprimattribs() const
void setInfluenceradius(fpreal64 val)
void setInfluencedecayoptions(int64 val)
bool operator==(const WeightArrayPairs &src) const
UT_StringHolder opinstWeightArrayPairs_guideindexattrib(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
Unguidedlengthoverride opUnguidedlengthoverride(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getSkininterpweightsattrib() const
fpreal64 opUnguidedlength(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opInfluenceradiustextureprim(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getGuidepointattribs() const
UT_StringHolder opMaxguideangletexture(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D getUnguidedlengthinrange() const
fpreal getCookTime() const
UT_Vector2D opMaxguideangleinrange(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseguides(const SOP_NodeVerb::CookParms &cookparms) const
void setUnguidedlengthattrib(const UT_StringHolder &val)
static void saveData(std::ostream &os, UT_Matrix3D v)
void setBBoxCenter(UT_Vector3D val)
bool opGrowunguided(const SOP_NodeVerb::CookParms &cookparms) const
const char * findChar(int c) const
UT_StringHolder opInitdirattrib(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getClumpcrossover() const
void setPruningratio(fpreal64 val)
UT_Vector2D getMaxguidecountinrange() const
void setPointattribs(const UT_StringHolder &val)
exint getNestNumParms(TempIndex idx) const override
void setInfluencedecay(fpreal64 val)
const UT_StringHolder & getThicknesstexture() const
void setInfluencedecayoutrange(UT_Vector2D val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
UT_StringHolder opSkininterpguidesattrib(const SOP_NodeVerb::CookParms &cookparms) const
void setClumpcrossovertexture(const UT_StringHolder &val)
void setInfluencedecaytextureprim(const UT_StringHolder &val)
bool opUseinitdirattrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opGuidepointattribs(const SOP_NodeVerb::CookParms &cookparms) const
void setInfluencedecayinrange(UT_Vector2D val)
UT_StringHolder opWeightArrayPairs_guideweightattrib(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setUnguidedlengthoptions(int64 val)
bool getLimittobbox() const
void setUseinitdirattrib(bool val)
static void saveData(std::ostream &os, UT_Vector3D v)
UT_StringHolder opPointattribs(const SOP_NodeVerb::CookParms &cookparms) const
int64 getClumpcrossoveroptions() const
UT_Vector2D getClumpcrossoveroutrange() const
void setThicknessattrib(const UT_StringHolder &val)
fpreal64 opClumpcrossover(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & y() noexcept
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
static void loadData(UT_IStream &is, UT_StringHolder &v)
void setSkinguidemode(Skinguidemode val)
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
UT_SharedPtr< UT_Ramp > getHairprofile() const
UT_StringHolder opGuideprimattribs(const SOP_NodeVerb::CookParms &cookparms) const
int64 opMaxguidecount(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D opUnguidedlengthinrange(const SOP_NodeVerb::CookParms &cookparms) const
const UT_Array< WeightArrayPairs > & getWeightArrayPairs() const
void setCreateweightattribs(bool val)
void setClumpcrossover(fpreal64 val)
const UT_StringHolder & getUnguidedlengthtexture() const
Influencedecayoverride getInfluencedecayoverride() const
void setMaxguidecountinrange(UT_Vector2D val)
fpreal64 opInfluencedecay(const SOP_NodeVerb::CookParms &cookparms) const
void loadFromOpSubclass(const LoadParms &loadparms) override
UT_Vector2D getInfluencedecayinrange() const
void setThicknessskinattrib(const UT_StringHolder &val)
const UT_StringHolder & getInfluenceradiustextureprim() const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
bool getUseguides() const
int64 getInfluenceradiusoptions() const
constexpr SYS_FORCE_INLINE T & y() noexcept
static void saveData(std::ostream &os, UT_StringHolder s)
void setInfluenceradiusoutrange(UT_Vector2D val)
static void saveData(std::ostream &os, UT_Matrix4D v)
SYS_FORCE_INLINE bool isstring() const
UT_Vector2D opMaxguideangleoutrange(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getClumpcrossovertextureprim() const
UT_StringHolder opInfluenceradiusattrib(const SOP_NodeVerb::CookParms &cookparms) const
bool opLimittobbox(const SOP_NodeVerb::CookParms &cookparms) const
OP_NodeParms & operator=(const OP_NodeParms &)=default
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
UT_StringHolder opClumpcrossovertextureprim(const SOP_NodeVerb::CookParms &cookparms) const
void setInfluenceradiusattrib(const UT_StringHolder &val)
const UT_StringHolder & getUnguidedlengthtextureprim() const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
void setInfluenceradiustextureprim(const UT_StringHolder &val)
const UT_StringHolder & getGuidegroup() const
constexpr SYS_FORCE_INLINE T & x() noexcept
void setInfluenceradiustexture(const UT_StringHolder &val)
UT_Vector2D opClumpcrossoveroutrange(const SOP_NodeVerb::CookParms &cookparms) const