23 namespace SOP_HairGenCoreEnums
34 using namespace UT::Literal;
51 using namespace UT::Literal;
68 using namespace UT::Literal;
87 using namespace UT::Literal;
108 using namespace UT::Literal;
109 switch (enum_value) {
129 using namespace UT::Literal;
130 switch (enum_value) {
150 using namespace UT::Literal;
151 switch (enum_value) {
171 using namespace UT::Literal;
172 switch (enum_value) {
192 using namespace UT::Literal;
193 switch (enum_value) {
212 using namespace UT::Literal;
213 switch (enum_value) {
236 guideindexattrib =
"guides"_UTsh;
237 guideweightattrib =
"weights"_UTsh;
260 for (
int i = 0; i < list.
entries(); i++)
282 myUvattrib =
"uv"_UTsh;
283 myLimittobbox =
false;
287 myPruningratio = 0.9;
288 myPrunethicken =
false;
290 myUniformguidesegments =
false;
291 mySkininterp =
false;
292 myUseInterpMesh =
false;
293 mySkininterpguidesattrib =
"guides"_UTsh;
294 mySkininterpweightsattrib =
"weights"_UTsh;
296 myGuideblendmethod = 0;
297 myGuidegroup =
""_UTsh;
298 myInfluenceradius = 0.05;
299 myInfluenceradiusoverride = 0;
300 myInfluenceradiusoptions = 0;
303 myInfluenceradiusattrib =
"influenceradiusscale"_UTsh;
304 myInfluenceradiustexture =
""_UTsh;
305 myInfluenceradiustextureprim =
"influenceradiusscale"_UTsh;
306 myInfluencedecay = 2;
307 myInfluencedecayoverride = 0;
308 myInfluencedecayoptions = 0;
311 myInfluencedecayattrib =
"influencedecayscale"_UTsh;
312 myInfluencedecaytexture =
""_UTsh;
313 myInfluencedecaytextureprim =
"influencedecayscale"_UTsh;
314 myMaxguidecount = 10;
315 myMaxguidecountoverride = 0;
316 myMaxguidecountoptions = 0;
319 myMaxguidecountattrib =
"maxguidecountscale"_UTsh;
320 myMaxguidecounttexture =
""_UTsh;
321 myMaxguidecounttextureprim =
"maxguidecountscale"_UTsh;
322 myMaxguideangle = 90;
323 myMaxguideangleoverride = 0;
324 myMaxguideangleoptions = 0;
327 myMaxguideangleattrib =
"maxguideanglescale"_UTsh;
328 myMaxguideangletexture =
""_UTsh;
329 myMaxguideangletextureprim =
"maxguideanglescale"_UTsh;
330 myClumpcrossover = 0;
331 myClumpcrossoveroverride = 0;
332 myClumpcrossoveroptions = 0;
335 myClumpcrossoverattrib =
"clumpcrossoverscale"_UTsh;
336 myClumpcrossovertexture =
""_UTsh;
337 myClumpcrossovertextureprim =
"clumpcrossoverscale"_UTsh;
338 myGrowunguided =
true;
339 myUseinitdirattrib =
true;
340 myInitdirattrib =
"furdirection"_UTsh;
341 myUnguidedsegments = 8;
342 myUnguidedlength = 0.05;
343 myUnguidedlengthoverride = 0;
344 myUnguidedlengthoptions = 0;
347 myUnguidedlengthattrib =
"unguidedlengthscale"_UTsh;
348 myUnguidedlengthtexture =
""_UTsh;
349 myUnguidedlengthtextureprim =
"unguidedlengthscale"_UTsh;
350 myUnguidedminlength = 1e-05;
351 myCreateweightattribs =
false;
352 myCreaterestrootattrib =
true;
353 myClumpidattrib =
"clumpid"_UTsh;
354 myOutputthicknessattrib =
true;
355 myThicknessattrib =
"width"_UTsh;
357 myThicknessoverride = 0;
358 myThicknessskinattrib =
"thicknessscale"_UTsh;
359 myThicknesstexture =
""_UTsh;
360 myHairprofile =
UT_Ramp::buildFromDefault(
"1pos ( 0.17753121256828308 ) 1value ( 1 ) 1interp ( bspline ) 2pos ( 0.85230350494384766 ) 2value ( 1 ) 2interp ( bspline ) 3pos ( 1 ) 3value ( 0 ) 3interp ( bspline )");
361 myPointattribs =
""_UTsh;
362 myVertattribs =
""_UTsh;
363 myPrimattribs =
""_UTsh;
364 myDetailattribs =
""_UTsh;
365 myGuidepointattribs =
""_UTsh;
366 myGuideprimattribs =
""_UTsh;
367 myWeightArrayPairs.setSize(0);
380 if (myMode != src.myMode)
return false;
381 if (myGroup != src.myGroup)
return false;
382 if (myUvattrib != src.myUvattrib)
return false;
383 if (myLimittobbox != src.myLimittobbox)
return false;
384 if (myBBoxSize != src.myBBoxSize)
return false;
385 if (myBBoxCenter != src.myBBoxCenter)
return false;
386 if (myPrune != src.myPrune)
return false;
387 if (myPruningratio != src.myPruningratio)
return false;
388 if (myPrunethicken != src.myPrunethicken)
return false;
389 if (myUseguides != src.myUseguides)
return false;
390 if (myUniformguidesegments != src.myUniformguidesegments)
return false;
391 if (mySkininterp != src.mySkininterp)
return false;
392 if (myUseInterpMesh != src.myUseInterpMesh)
return false;
393 if (mySkininterpguidesattrib != src.mySkininterpguidesattrib)
return false;
394 if (mySkininterpweightsattrib != src.mySkininterpweightsattrib)
return false;
395 if (mySkinguidemode != src.mySkinguidemode)
return false;
396 if (myGuideblendmethod != src.myGuideblendmethod)
return false;
397 if (myGuidegroup != src.myGuidegroup)
return false;
398 if (myInfluenceradius != src.myInfluenceradius)
return false;
399 if (myInfluenceradiusoverride != src.myInfluenceradiusoverride)
return false;
400 if (myInfluenceradiusoptions != src.myInfluenceradiusoptions)
return false;
401 if (myInfluenceradiusinrange != src.myInfluenceradiusinrange)
return false;
402 if (myInfluenceradiusoutrange != src.myInfluenceradiusoutrange)
return false;
403 if (myInfluenceradiusattrib != src.myInfluenceradiusattrib)
return false;
404 if (myInfluenceradiustexture != src.myInfluenceradiustexture)
return false;
405 if (myInfluenceradiustextureprim != src.myInfluenceradiustextureprim)
return false;
406 if (myInfluencedecay != src.myInfluencedecay)
return false;
407 if (myInfluencedecayoverride != src.myInfluencedecayoverride)
return false;
408 if (myInfluencedecayoptions != src.myInfluencedecayoptions)
return false;
409 if (myInfluencedecayinrange != src.myInfluencedecayinrange)
return false;
410 if (myInfluencedecayoutrange != src.myInfluencedecayoutrange)
return false;
411 if (myInfluencedecayattrib != src.myInfluencedecayattrib)
return false;
412 if (myInfluencedecaytexture != src.myInfluencedecaytexture)
return false;
413 if (myInfluencedecaytextureprim != src.myInfluencedecaytextureprim)
return false;
414 if (myMaxguidecount != src.myMaxguidecount)
return false;
415 if (myMaxguidecountoverride != src.myMaxguidecountoverride)
return false;
416 if (myMaxguidecountoptions != src.myMaxguidecountoptions)
return false;
417 if (myMaxguidecountinrange != src.myMaxguidecountinrange)
return false;
418 if (myMaxguidecountoutrange != src.myMaxguidecountoutrange)
return false;
419 if (myMaxguidecountattrib != src.myMaxguidecountattrib)
return false;
420 if (myMaxguidecounttexture != src.myMaxguidecounttexture)
return false;
421 if (myMaxguidecounttextureprim != src.myMaxguidecounttextureprim)
return false;
422 if (myMaxguideangle != src.myMaxguideangle)
return false;
423 if (myMaxguideangleoverride != src.myMaxguideangleoverride)
return false;
424 if (myMaxguideangleoptions != src.myMaxguideangleoptions)
return false;
425 if (myMaxguideangleinrange != src.myMaxguideangleinrange)
return false;
426 if (myMaxguideangleoutrange != src.myMaxguideangleoutrange)
return false;
427 if (myMaxguideangleattrib != src.myMaxguideangleattrib)
return false;
428 if (myMaxguideangletexture != src.myMaxguideangletexture)
return false;
429 if (myMaxguideangletextureprim != src.myMaxguideangletextureprim)
return false;
430 if (myClumpcrossover != src.myClumpcrossover)
return false;
431 if (myClumpcrossoveroverride != src.myClumpcrossoveroverride)
return false;
432 if (myClumpcrossoveroptions != src.myClumpcrossoveroptions)
return false;
433 if (myClumpcrossoverinrange != src.myClumpcrossoverinrange)
return false;
434 if (myClumpcrossoveroutrange != src.myClumpcrossoveroutrange)
return false;
435 if (myClumpcrossoverattrib != src.myClumpcrossoverattrib)
return false;
436 if (myClumpcrossovertexture != src.myClumpcrossovertexture)
return false;
437 if (myClumpcrossovertextureprim != src.myClumpcrossovertextureprim)
return false;
438 if (myGrowunguided != src.myGrowunguided)
return false;
439 if (myUseinitdirattrib != src.myUseinitdirattrib)
return false;
440 if (myInitdirattrib != src.myInitdirattrib)
return false;
441 if (myUnguidedsegments != src.myUnguidedsegments)
return false;
442 if (myUnguidedlength != src.myUnguidedlength)
return false;
443 if (myUnguidedlengthoverride != src.myUnguidedlengthoverride)
return false;
444 if (myUnguidedlengthoptions != src.myUnguidedlengthoptions)
return false;
445 if (myUnguidedlengthinrange != src.myUnguidedlengthinrange)
return false;
446 if (myUnguidedlengthoutrange != src.myUnguidedlengthoutrange)
return false;
447 if (myUnguidedlengthattrib != src.myUnguidedlengthattrib)
return false;
448 if (myUnguidedlengthtexture != src.myUnguidedlengthtexture)
return false;
449 if (myUnguidedlengthtextureprim != src.myUnguidedlengthtextureprim)
return false;
450 if (myUnguidedminlength != src.myUnguidedminlength)
return false;
451 if (myCreateweightattribs != src.myCreateweightattribs)
return false;
452 if (myCreaterestrootattrib != src.myCreaterestrootattrib)
return false;
453 if (myClumpidattrib != src.myClumpidattrib)
return false;
454 if (myOutputthicknessattrib != src.myOutputthicknessattrib)
return false;
455 if (myThicknessattrib != src.myThicknessattrib)
return false;
456 if (myThickness != src.myThickness)
return false;
457 if (myThicknessoverride != src.myThicknessoverride)
return false;
458 if (myThicknessskinattrib != src.myThicknessskinattrib)
return false;
459 if (myThicknesstexture != src.myThicknesstexture)
return false;
460 if (myHairprofile != src.myHairprofile)
461 {
if (!myHairprofile || !src.myHairprofile || !(*myHairprofile == *src.myHairprofile))
return false; }
462 if (myPointattribs != src.myPointattribs)
return false;
463 if (myVertattribs != src.myVertattribs)
return false;
464 if (myPrimattribs != src.myPrimattribs)
return false;
465 if (myDetailattribs != src.myDetailattribs)
return false;
466 if (myGuidepointattribs != src.myGuidepointattribs)
return false;
467 if (myGuideprimattribs != src.myGuideprimattribs)
return false;
468 if (myWeightArrayPairs != src.myWeightArrayPairs)
return false;
499 graph->
evalOpParm(myGroup, nodeidx,
"group", time, graph->
isDirect()?
nullptr:depnode);
500 myUvattrib =
"uv"_UTsh;
502 graph->
evalOpParm(myUvattrib, nodeidx,
"uvattrib", time, graph->
isDirect()?
nullptr:depnode);
503 myLimittobbox =
false;
505 graph->
evalOpParm(myLimittobbox, nodeidx,
"limittobbox", time, graph->
isDirect()?
nullptr:depnode);
507 if (
true && ( (
true&&!(((getLimittobbox()==0)))) ) )
508 graph->
evalOpParm(myBBoxSize, nodeidx,
"bboxsize", time, graph->
isDirect()?
nullptr:depnode);
510 if (
true && ( (
true&&!(((getLimittobbox()==0)))) ) )
511 graph->
evalOpParm(myBBoxCenter, nodeidx,
"bboxcenter", time, graph->
isDirect()?
nullptr:depnode);
514 graph->
evalOpParm(myPrune, nodeidx,
"prune", time, graph->
isDirect()?
nullptr:depnode);
515 myPruningratio = 0.9;
516 if (
true && ( (
true&&!(((getPrune()==0)))) ) )
517 graph->
evalOpParm(myPruningratio, nodeidx,
"pruningratio", time, graph->
isDirect()?
nullptr:depnode);
518 myPrunethicken =
false;
519 if (
true && ( (
true&&!(((getPrune()==0)))) ) )
520 graph->
evalOpParm(myPrunethicken, nodeidx,
"prunethicken", time, graph->
isDirect()?
nullptr:depnode);
523 graph->
evalOpParm(myUseguides, nodeidx,
"useguides", time, graph->
isDirect()?
nullptr:depnode);
524 myUniformguidesegments =
false;
525 if (
true && ( (
true&&!(((getUseguides()==0)))) ) )
526 graph->
evalOpParm(myUniformguidesegments, nodeidx,
"uniformguidesegments", time, graph->
isDirect()?
nullptr:depnode);
527 mySkininterp =
false;
528 if (
true && ( (
true&&!(((getUseguides()==0)))) ) )
529 graph->
evalOpParm(mySkininterp, nodeidx,
"skininterp", time, graph->
isDirect()?
nullptr:depnode);
530 myUseInterpMesh =
false;
531 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==0)))) ) )
532 graph->
evalOpParm(myUseInterpMesh, nodeidx,
"useinterpmesh", time, graph->
isDirect()?
nullptr:depnode);
533 mySkininterpguidesattrib =
"guides"_UTsh;
534 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==0))||((getUseInterpMesh()==0)))) ) )
535 graph->
evalOpParm(mySkininterpguidesattrib, nodeidx,
"skininterpguidesattrib", time, graph->
isDirect()?
nullptr:depnode);
536 mySkininterpweightsattrib =
"weights"_UTsh;
537 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==0))||((getUseInterpMesh()==0)))) ) )
538 graph->
evalOpParm(mySkininterpweightsattrib, nodeidx,
"skininterpweightsattrib", time, graph->
isDirect()?
nullptr:depnode);
541 graph->
evalOpParm(mySkinguidemode, nodeidx,
"skinguidemode", time, graph->
isDirect()?
nullptr:depnode);
542 myGuideblendmethod = 0;
544 graph->
evalOpParm(myGuideblendmethod, nodeidx,
"guideblendmethod", time, graph->
isDirect()?
nullptr:depnode);
545 myGuidegroup =
""_UTsh;
546 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
547 graph->
evalOpParm(myGuidegroup, nodeidx,
"guidegroup", time, graph->
isDirect()?
nullptr:depnode);
548 myInfluenceradius = 0.05;
549 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
550 graph->
evalOpParm(myInfluenceradius, nodeidx,
"influenceradius", time, graph->
isDirect()?
nullptr:depnode);
551 myInfluenceradiusoverride = 0;
552 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
553 graph->
evalOpParm(myInfluenceradiusoverride, nodeidx,
"influenceradiusoverride", time, graph->
isDirect()?
nullptr:depnode);
554 myInfluenceradiusoptions = 0;
555 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
556 graph->
evalOpParm(myInfluenceradiusoptions, nodeidx,
"influenceradiusoptions", time, graph->
isDirect()?
nullptr:depnode);
558 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluenceradiusoverride())==0))||((getInfluenceradiusoptions()!=1)&&(getInfluenceradiusoptions()!=3)))) ) )
559 graph->
evalOpParm(myInfluenceradiusinrange, nodeidx,
"influenceradiusinrange", time, graph->
isDirect()?
nullptr:depnode);
561 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluenceradiusoverride())==0))||((getInfluenceradiusoptions()!=1)&&(getInfluenceradiusoptions()!=3)))) ) )
562 graph->
evalOpParm(myInfluenceradiusoutrange, nodeidx,
"influenceradiusoutrange", time, graph->
isDirect()?
nullptr:depnode);
563 myInfluenceradiusattrib =
"influenceradiusscale"_UTsh;
564 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluenceradiusoverride())!=1)))) ) )
565 graph->
evalOpParm(myInfluenceradiusattrib, nodeidx,
"influenceradiusattrib", time, graph->
isDirect()?
nullptr:depnode);
566 myInfluenceradiustexture =
""_UTsh;
567 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluenceradiusoverride())!=2)))) ) )
568 graph->
evalOpParm(myInfluenceradiustexture, nodeidx,
"influenceradiustexture", time, graph->
isDirect()?
nullptr:depnode);
569 myInfluenceradiustextureprim =
"influenceradiusscale"_UTsh;
570 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluenceradiusoverride())!=3)))) ) )
571 graph->
evalOpParm(myInfluenceradiustextureprim, nodeidx,
"influenceradiustextureprim", time, graph->
isDirect()?
nullptr:depnode);
572 myInfluencedecay = 2;
573 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
574 graph->
evalOpParm(myInfluencedecay, nodeidx,
"influencedecay", time, graph->
isDirect()?
nullptr:depnode);
575 myInfluencedecayoverride = 0;
576 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
577 graph->
evalOpParm(myInfluencedecayoverride, nodeidx,
"influencedecayoverride", time, graph->
isDirect()?
nullptr:depnode);
578 myInfluencedecayoptions = 0;
579 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
580 graph->
evalOpParm(myInfluencedecayoptions, nodeidx,
"influencedecayoptions", time, graph->
isDirect()?
nullptr:depnode);
582 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluencedecayoverride())==0))||((getInfluencedecayoptions()!=1)&&(getInfluencedecayoptions()!=3)))) ) )
583 graph->
evalOpParm(myInfluencedecayinrange, nodeidx,
"influencedecayinrange", time, graph->
isDirect()?
nullptr:depnode);
585 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluencedecayoverride())==0))||((getInfluencedecayoptions()!=1)&&(getInfluencedecayoptions()!=3)))) ) )
586 graph->
evalOpParm(myInfluencedecayoutrange, nodeidx,
"influencedecayoutrange", time, graph->
isDirect()?
nullptr:depnode);
587 myInfluencedecayattrib =
"influencedecayscale"_UTsh;
588 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluencedecayoverride())!=1)))) ) )
589 graph->
evalOpParm(myInfluencedecayattrib, nodeidx,
"influencedecayattrib", time, graph->
isDirect()?
nullptr:depnode);
590 myInfluencedecaytexture =
""_UTsh;
591 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluencedecayoverride())!=2)))) ) )
592 graph->
evalOpParm(myInfluencedecaytexture, nodeidx,
"influencedecaytexture", time, graph->
isDirect()?
nullptr:depnode);
593 myInfluencedecaytextureprim =
"influencedecayscale"_UTsh;
594 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getInfluencedecayoverride())!=3)))) ) )
595 graph->
evalOpParm(myInfluencedecaytextureprim, nodeidx,
"influencedecaytextureprim", time, graph->
isDirect()?
nullptr:depnode);
596 myMaxguidecount = 10;
597 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
598 graph->
evalOpParm(myMaxguidecount, nodeidx,
"maxguidecount", time, graph->
isDirect()?
nullptr:depnode);
599 myMaxguidecountoverride = 0;
600 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
601 graph->
evalOpParm(myMaxguidecountoverride, nodeidx,
"maxguidecountoverride", time, graph->
isDirect()?
nullptr:depnode);
602 myMaxguidecountoptions = 0;
603 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
604 graph->
evalOpParm(myMaxguidecountoptions, nodeidx,
"maxguidecountoptions", time, graph->
isDirect()?
nullptr:depnode);
606 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguidecountoverride())==0))||((getMaxguidecountoptions()!=1)&&(getMaxguidecountoptions()!=3)))) ) )
607 graph->
evalOpParm(myMaxguidecountinrange, nodeidx,
"maxguidecountinrange", time, graph->
isDirect()?
nullptr:depnode);
609 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguidecountoverride())==0))||((getMaxguidecountoptions()!=1)&&(getMaxguidecountoptions()!=3)))) ) )
610 graph->
evalOpParm(myMaxguidecountoutrange, nodeidx,
"maxguidecountoutrange", time, graph->
isDirect()?
nullptr:depnode);
611 myMaxguidecountattrib =
"maxguidecountscale"_UTsh;
612 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguidecountoverride())!=1)))) ) )
613 graph->
evalOpParm(myMaxguidecountattrib, nodeidx,
"maxguidecountattrib", time, graph->
isDirect()?
nullptr:depnode);
614 myMaxguidecounttexture =
""_UTsh;
615 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguidecountoverride())!=2)))) ) )
616 graph->
evalOpParm(myMaxguidecounttexture, nodeidx,
"maxguidecounttexture", time, graph->
isDirect()?
nullptr:depnode);
617 myMaxguidecounttextureprim =
"maxguidecountscale"_UTsh;
618 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguidecountoverride())!=3)))) ) )
619 graph->
evalOpParm(myMaxguidecounttextureprim, nodeidx,
"maxguidecounttextureprim", time, graph->
isDirect()?
nullptr:depnode);
620 myMaxguideangle = 90;
621 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
622 graph->
evalOpParm(myMaxguideangle, nodeidx,
"maxguideangle", time, graph->
isDirect()?
nullptr:depnode);
623 myMaxguideangleoverride = 0;
624 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
625 graph->
evalOpParm(myMaxguideangleoverride, nodeidx,
"maxguideangleoverride", time, graph->
isDirect()?
nullptr:depnode);
626 myMaxguideangleoptions = 0;
627 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1)))) ) )
628 graph->
evalOpParm(myMaxguideangleoptions, nodeidx,
"maxguideangleoptions", time, graph->
isDirect()?
nullptr:depnode);
630 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguideangleoverride())==0))||((getMaxguideangleoptions()!=1)&&(getMaxguideangleoptions()!=3)))) ) )
631 graph->
evalOpParm(myMaxguideangleinrange, nodeidx,
"maxguideangleinrange", time, graph->
isDirect()?
nullptr:depnode);
633 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguideangleoverride())==0))||((getMaxguideangleoptions()!=1)&&(getMaxguideangleoptions()!=3)))) ) )
634 graph->
evalOpParm(myMaxguideangleoutrange, nodeidx,
"maxguideangleoutrange", time, graph->
isDirect()?
nullptr:depnode);
635 myMaxguideangleattrib =
"maxguideanglescale"_UTsh;
636 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguideangleoverride())!=1)))) ) )
637 graph->
evalOpParm(myMaxguideangleattrib, nodeidx,
"maxguideangleattrib", time, graph->
isDirect()?
nullptr:depnode);
638 myMaxguideangletexture =
""_UTsh;
639 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguideangleoverride())!=2)))) ) )
640 graph->
evalOpParm(myMaxguideangletexture, nodeidx,
"maxguideangletexture", time, graph->
isDirect()?
nullptr:depnode);
641 myMaxguideangletextureprim =
"maxguideanglescale"_UTsh;
642 if (
true && ( (
true&&!(((getUseguides()==0))||((getSkininterp()==1))||((
int64(getMaxguideangleoverride())!=3)))) ) )
643 graph->
evalOpParm(myMaxguideangletextureprim, nodeidx,
"maxguideangletextureprim", time, graph->
isDirect()?
nullptr:depnode);
644 myClumpcrossover = 0;
645 if (
true && ( (
true&&!(((getUseguides()==0)))) ) )
646 graph->
evalOpParm(myClumpcrossover, nodeidx,
"clumpcrossover", time, graph->
isDirect()?
nullptr:depnode);
647 myClumpcrossoveroverride = 0;
648 if (
true && ( (
true&&!(((getUseguides()==0)))) ) )
649 graph->
evalOpParm(myClumpcrossoveroverride, nodeidx,
"clumpcrossoveroverride", time, graph->
isDirect()?
nullptr:depnode);
650 myClumpcrossoveroptions = 0;
651 if (
true && ( (
true&&!(((getUseguides()==0)))) ) )
652 graph->
evalOpParm(myClumpcrossoveroptions, nodeidx,
"clumpcrossoveroptions", time, graph->
isDirect()?
nullptr:depnode);
654 if (
true && ( (
true&&!(((getUseguides()==0))||((
int64(getClumpcrossoveroverride())==0))||((getClumpcrossoveroptions()!=1)&&(getClumpcrossoveroptions()!=3)))) ) )
655 graph->
evalOpParm(myClumpcrossoverinrange, nodeidx,
"clumpcrossoverinrange", time, graph->
isDirect()?
nullptr:depnode);
657 if (
true && ( (
true&&!(((getUseguides()==0))||((
int64(getClumpcrossoveroverride())==0))||((getClumpcrossoveroptions()!=1)&&(getClumpcrossoveroptions()!=3)))) ) )
658 graph->
evalOpParm(myClumpcrossoveroutrange, nodeidx,
"clumpcrossoveroutrange", time, graph->
isDirect()?
nullptr:depnode);
659 myClumpcrossoverattrib =
"clumpcrossoverscale"_UTsh;
660 if (
true && ( (
true&&!(((getUseguides()==0))||((
int64(getClumpcrossoveroverride())!=1)))) ) )
661 graph->
evalOpParm(myClumpcrossoverattrib, nodeidx,
"clumpcrossoverattrib", time, graph->
isDirect()?
nullptr:depnode);
662 myClumpcrossovertexture =
""_UTsh;
663 if (
true && ( (
true&&!(((getUseguides()==0))||((
int64(getClumpcrossoveroverride())!=2)))) ) )
664 graph->
evalOpParm(myClumpcrossovertexture, nodeidx,
"clumpcrossovertexture", time, graph->
isDirect()?
nullptr:depnode);
665 myClumpcrossovertextureprim =
"clumpcrossoverscale"_UTsh;
666 if (
true && ( (
true&&!(((getUseguides()==0))||((
int64(getClumpcrossoveroverride())!=3)))) ) )
667 graph->
evalOpParm(myClumpcrossovertextureprim, nodeidx,
"clumpcrossovertextureprim", time, graph->
isDirect()?
nullptr:depnode);
668 myGrowunguided =
true;
669 if (
true && ( (
true&&!(((getUseguides()==0)))) ) )
670 graph->
evalOpParm(myGrowunguided, nodeidx,
"growunguided", time, graph->
isDirect()?
nullptr:depnode);
671 myUseinitdirattrib =
true;
672 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0)))) ) )
673 graph->
evalOpParm(myUseinitdirattrib, nodeidx,
"useinitdirattrib", time, graph->
isDirect()?
nullptr:depnode);
674 myInitdirattrib =
"furdirection"_UTsh;
675 if (
true && ( (
true&&!(((getUseinitdirattrib()==0))||((getUseguides()==1)&&(getGrowunguided()==0)))) ) )
676 graph->
evalOpParm(myInitdirattrib, nodeidx,
"initdirattrib", time, graph->
isDirect()?
nullptr:depnode);
677 myUnguidedsegments = 8;
678 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0)))) ) )
679 graph->
evalOpParm(myUnguidedsegments, nodeidx,
"unguidedsegments", time, graph->
isDirect()?
nullptr:depnode);
680 myUnguidedlength = 0.05;
681 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0)))) ) )
682 graph->
evalOpParm(myUnguidedlength, nodeidx,
"unguidedlength", time, graph->
isDirect()?
nullptr:depnode);
683 myUnguidedlengthoverride = 0;
684 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0)))) ) )
685 graph->
evalOpParm(myUnguidedlengthoverride, nodeidx,
"unguidedlengthoverride", time, graph->
isDirect()?
nullptr:depnode);
686 myUnguidedlengthoptions = 0;
687 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0)))) ) )
688 graph->
evalOpParm(myUnguidedlengthoptions, nodeidx,
"unguidedlengthoptions", time, graph->
isDirect()?
nullptr:depnode);
690 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0))||((
int64(getUnguidedlengthoverride())==0))||((getUnguidedlengthoptions()!=1)&&(getUnguidedlengthoptions()!=3)))) ) )
691 graph->
evalOpParm(myUnguidedlengthinrange, nodeidx,
"unguidedlengthinrange", time, graph->
isDirect()?
nullptr:depnode);
693 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0))||((
int64(getUnguidedlengthoverride())==0))||((getUnguidedlengthoptions()!=1)&&(getUnguidedlengthoptions()!=3)))) ) )
694 graph->
evalOpParm(myUnguidedlengthoutrange, nodeidx,
"unguidedlengthoutrange", time, graph->
isDirect()?
nullptr:depnode);
695 myUnguidedlengthattrib =
"unguidedlengthscale"_UTsh;
696 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0))||((
int64(getUnguidedlengthoverride())!=1)))) ) )
697 graph->
evalOpParm(myUnguidedlengthattrib, nodeidx,
"unguidedlengthattrib", time, graph->
isDirect()?
nullptr:depnode);
698 myUnguidedlengthtexture =
""_UTsh;
699 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0))||((
int64(getUnguidedlengthoverride())!=2)))) ) )
700 graph->
evalOpParm(myUnguidedlengthtexture, nodeidx,
"unguidedlengthtexture", time, graph->
isDirect()?
nullptr:depnode);
701 myUnguidedlengthtextureprim =
"unguidedlengthscale"_UTsh;
702 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0))||((
int64(getUnguidedlengthoverride())!=3)))) ) )
703 graph->
evalOpParm(myUnguidedlengthtextureprim, nodeidx,
"unguidedlengthtextureprim", time, graph->
isDirect()?
nullptr:depnode);
704 myUnguidedminlength = 1e-05;
705 if (
true && ( (
true&&!(((getUseguides()==1)&&(getGrowunguided()==0)))) ) )
706 graph->
evalOpParm(myUnguidedminlength, nodeidx,
"unguidedminlength", time, graph->
isDirect()?
nullptr:depnode);
707 myCreateweightattribs =
false;
708 if (
true && ( (
true&&!(((getUseguides()==0)))) ) )
709 graph->
evalOpParm(myCreateweightattribs, nodeidx,
"createweightattribs", time, graph->
isDirect()?
nullptr:depnode);
710 myCreaterestrootattrib =
true;
712 graph->
evalOpParm(myCreaterestrootattrib, nodeidx,
"createrestrootattrib", time, graph->
isDirect()?
nullptr:depnode);
713 myClumpidattrib =
"clumpid"_UTsh;
715 graph->
evalOpParm(myClumpidattrib, nodeidx,
"clumpidattrib", time, graph->
isDirect()?
nullptr:depnode);
716 myOutputthicknessattrib =
true;
718 graph->
evalOpParm(myOutputthicknessattrib, nodeidx,
"outputthicknessattrib", time, graph->
isDirect()?
nullptr:depnode);
719 myThicknessattrib =
"width"_UTsh;
720 if (
true && ( (
true&&!(((getOutputthicknessattrib()==0)))) ) )
721 graph->
evalOpParm(myThicknessattrib, nodeidx,
"thicknessattrib", time, graph->
isDirect()?
nullptr:depnode);
723 if (
true && ( (
true&&!(((getOutputthicknessattrib()==0)))) ) )
724 graph->
evalOpParm(myThickness, nodeidx,
"thickness", time, graph->
isDirect()?
nullptr:depnode);
725 myThicknessoverride = 0;
726 if (
true && ( (
true&&!(((getOutputthicknessattrib()==0)))) ) )
727 graph->
evalOpParm(myThicknessoverride, nodeidx,
"thicknessoverride", time, graph->
isDirect()?
nullptr:depnode);
728 myThicknessskinattrib =
"thicknessscale"_UTsh;
729 if (
true && ( (
true&&!(((getOutputthicknessattrib()==0))||((
int64(getThicknessoverride())!=1)))) ) )
730 graph->
evalOpParm(myThicknessskinattrib, nodeidx,
"thicknessskinattrib", time, graph->
isDirect()?
nullptr:depnode);
731 myThicknesstexture =
""_UTsh;
732 if (
true && ( (
true&&!(((getOutputthicknessattrib()==0))||((
int64(getThicknessoverride())!=2)))) ) )
733 graph->
evalOpParm(myThicknesstexture, nodeidx,
"thicknesstexture", time, graph->
isDirect()?
nullptr:depnode);
734 myHairprofile =
UT_Ramp::buildFromDefault(
"1pos ( 0.17753121256828308 ) 1value ( 1 ) 1interp ( bspline ) 2pos ( 0.85230350494384766 ) 2value ( 1 ) 2interp ( bspline ) 3pos ( 1 ) 3value ( 0 ) 3interp ( bspline )");
735 if (
true && ( (
true&&!(((getOutputthicknessattrib()==0)))) ) )
736 graph->
evalOpParm(myHairprofile, nodeidx,
"hairprofile", time, graph->
isDirect()?
nullptr:depnode);
737 myPointattribs =
""_UTsh;
739 graph->
evalOpParm(myPointattribs, nodeidx,
"pointattribs", time, graph->
isDirect()?
nullptr:depnode);
740 myVertattribs =
""_UTsh;
741 if (
true && ( (
true&&!(((
int64(getMode())!=0)))) ) )
742 graph->
evalOpParm(myVertattribs, nodeidx,
"vertattribs", time, graph->
isDirect()?
nullptr:depnode);
743 myPrimattribs =
""_UTsh;
744 if (
true && ( (
true&&!(((
int64(getMode())!=0)))) ) )
745 graph->
evalOpParm(myPrimattribs, nodeidx,
"primattribs", time, graph->
isDirect()?
nullptr:depnode);
746 myDetailattribs =
""_UTsh;
748 graph->
evalOpParm(myDetailattribs, nodeidx,
"detailattribs", time, graph->
isDirect()?
nullptr:depnode);
749 myGuidepointattribs =
""_UTsh;
751 graph->
evalOpParm(myGuidepointattribs, nodeidx,
"guidepointattribs", time, graph->
isDirect()?
nullptr:depnode);
752 myGuideprimattribs =
""_UTsh;
754 graph->
evalOpParm(myGuideprimattribs, nodeidx,
"guideprimattribs", time, graph->
isDirect()?
nullptr:depnode);
758 graph->
evalOpParm(length, nodeidx,
"folder_weightarraypairs", time, graph->
isDirect()?
nullptr:depnode);
759 if (length < 0) length = 0;
760 myWeightArrayPairs.setSize(length);
767 auto && _curentry = myWeightArrayPairs(i);
769 _curentry.guideindexattrib =
"guides"_UTsh;
771 graph->
evalOpParmInst(_curentry.guideindexattrib, nodeidx,
"guideindexattrib#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
772 _curentry.guideweightattrib =
"weights"_UTsh;
774 graph->
evalOpParmInst(_curentry.guideweightattrib, nodeidx,
"guideweightattrib#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
779 myWeightArrayPairs.clear();
795 template <
typename T>
802 if (idx.
size() != instance.
size()+1)
807 coerceValue(value, myMode);
810 coerceValue(value, myGroup);
813 coerceValue(value, myUvattrib);
816 coerceValue(value, myLimittobbox);
819 coerceValue(value, myBBoxSize);
822 coerceValue(value, myBBoxCenter);
825 coerceValue(value, myPrune);
828 coerceValue(value, myPruningratio);
831 coerceValue(value, myPrunethicken);
834 coerceValue(value, myUseguides);
837 coerceValue(value, myUniformguidesegments);
840 coerceValue(value, mySkininterp);
843 coerceValue(value, myUseInterpMesh);
846 coerceValue(value, mySkininterpguidesattrib);
849 coerceValue(value, mySkininterpweightsattrib);
852 coerceValue(value, mySkinguidemode);
855 coerceValue(value, myGuideblendmethod);
858 coerceValue(value, myGuidegroup);
861 coerceValue(value, myInfluenceradius);
864 coerceValue(value, myInfluenceradiusoverride);
867 coerceValue(value, myInfluenceradiusoptions);
870 coerceValue(value, myInfluenceradiusinrange);
873 coerceValue(value, myInfluenceradiusoutrange);
876 coerceValue(value, myInfluenceradiusattrib);
879 coerceValue(value, myInfluenceradiustexture);
882 coerceValue(value, myInfluenceradiustextureprim);
885 coerceValue(value, myInfluencedecay);
888 coerceValue(value, myInfluencedecayoverride);
891 coerceValue(value, myInfluencedecayoptions);
894 coerceValue(value, myInfluencedecayinrange);
897 coerceValue(value, myInfluencedecayoutrange);
900 coerceValue(value, myInfluencedecayattrib);
903 coerceValue(value, myInfluencedecaytexture);
906 coerceValue(value, myInfluencedecaytextureprim);
909 coerceValue(value, myMaxguidecount);
912 coerceValue(value, myMaxguidecountoverride);
915 coerceValue(value, myMaxguidecountoptions);
918 coerceValue(value, myMaxguidecountinrange);
921 coerceValue(value, myMaxguidecountoutrange);
924 coerceValue(value, myMaxguidecountattrib);
927 coerceValue(value, myMaxguidecounttexture);
930 coerceValue(value, myMaxguidecounttextureprim);
933 coerceValue(value, myMaxguideangle);
936 coerceValue(value, myMaxguideangleoverride);
939 coerceValue(value, myMaxguideangleoptions);
942 coerceValue(value, myMaxguideangleinrange);
945 coerceValue(value, myMaxguideangleoutrange);
948 coerceValue(value, myMaxguideangleattrib);
951 coerceValue(value, myMaxguideangletexture);
954 coerceValue(value, myMaxguideangletextureprim);
957 coerceValue(value, myClumpcrossover);
960 coerceValue(value, myClumpcrossoveroverride);
963 coerceValue(value, myClumpcrossoveroptions);
966 coerceValue(value, myClumpcrossoverinrange);
969 coerceValue(value, myClumpcrossoveroutrange);
972 coerceValue(value, myClumpcrossoverattrib);
975 coerceValue(value, myClumpcrossovertexture);
978 coerceValue(value, myClumpcrossovertextureprim);
981 coerceValue(value, myGrowunguided);
984 coerceValue(value, myUseinitdirattrib);
987 coerceValue(value, myInitdirattrib);
990 coerceValue(value, myUnguidedsegments);
993 coerceValue(value, myUnguidedlength);
996 coerceValue(value, myUnguidedlengthoverride);
999 coerceValue(value, myUnguidedlengthoptions);
1002 coerceValue(value, myUnguidedlengthinrange);
1005 coerceValue(value, myUnguidedlengthoutrange);
1008 coerceValue(value, myUnguidedlengthattrib);
1011 coerceValue(value, myUnguidedlengthtexture);
1014 coerceValue(value, myUnguidedlengthtextureprim);
1017 coerceValue(value, myUnguidedminlength);
1020 coerceValue(value, myCreateweightattribs);
1023 coerceValue(value, myCreaterestrootattrib);
1026 coerceValue(value, myClumpidattrib);
1029 coerceValue(value, myOutputthicknessattrib);
1032 coerceValue(value, myThicknessattrib);
1035 coerceValue(value, myThickness);
1038 coerceValue(value, myThicknessoverride);
1041 coerceValue(value, myThicknessskinattrib);
1044 coerceValue(value, myThicknesstexture);
1047 coerceValue(value, myHairprofile);
1050 coerceValue(value, myPointattribs);
1053 coerceValue(value, myVertattribs);
1056 coerceValue(value, myPrimattribs);
1059 coerceValue(value, myDetailattribs);
1062 coerceValue(value, myGuidepointattribs);
1065 coerceValue(value, myGuideprimattribs);
1068 if (idx.
size() == 1)
1069 coerceValue(value, myWeightArrayPairs.entries());
1070 else if (instance[0] < myWeightArrayPairs.entries())
1072 auto && _data = myWeightArrayPairs(instance[0]);
1076 coerceValue(value, _data.guideindexattrib);
1079 coerceValue(value, _data.guideweightattrib);
1099 { doGetParmValue(idx, instance, value); }
1101 { doGetParmValue(idx, instance, value); }
1103 { doGetParmValue(idx, instance, value); }
1105 { doGetParmValue(idx, instance, value); }
1107 { doGetParmValue(idx, instance, value); }
1109 { doGetParmValue(idx, instance, value); }
1111 { doGetParmValue(idx, instance, value); }
1113 { doGetParmValue(idx, instance, value); }
1115 { doGetParmValue(idx, instance, value); }
1117 { doGetParmValue(idx, instance, value); }
1119 { doGetParmValue(idx, instance, value); }
1121 template <
typename T>
1128 if (idx.
size() != instance.
size()+1)
1133 coerceValue(myMode, clampMinValue(0, clampMaxValue(1, value ) ));
1136 coerceValue(myGroup, ( ( value ) ));
1139 coerceValue(myUvattrib, ( ( value ) ));
1142 coerceValue(myLimittobbox, ( ( value ) ));
1145 coerceValue(myBBoxSize, ( ( value ) ));
1148 coerceValue(myBBoxCenter, ( ( value ) ));
1151 coerceValue(myPrune, ( ( value ) ));
1154 coerceValue(myPruningratio, ( ( value ) ));
1157 coerceValue(myPrunethicken, ( ( value ) ));
1160 coerceValue(myUseguides, ( ( value ) ));
1163 coerceValue(myUniformguidesegments, ( ( value ) ));
1166 coerceValue(mySkininterp, ( ( value ) ));
1169 coerceValue(myUseInterpMesh, ( ( value ) ));
1172 coerceValue(mySkininterpguidesattrib, ( ( value ) ));
1175 coerceValue(mySkininterpweightsattrib, ( ( value ) ));
1178 coerceValue(mySkinguidemode, clampMinValue(0, clampMaxValue(1, value ) ));
1181 coerceValue(myGuideblendmethod, clampMinValue(0, clampMaxValue(1, value ) ));
1184 coerceValue(myGuidegroup, ( ( value ) ));
1187 coerceValue(myInfluenceradius, ( ( value ) ));
1190 coerceValue(myInfluenceradiusoverride, clampMinValue(0, clampMaxValue(3, value ) ));
1193 coerceValue(myInfluenceradiusoptions, ( ( value ) ));
1196 coerceValue(myInfluenceradiusinrange, ( ( value ) ));
1199 coerceValue(myInfluenceradiusoutrange, ( ( value ) ));
1202 coerceValue(myInfluenceradiusattrib, ( ( value ) ));
1205 coerceValue(myInfluenceradiustexture, ( ( value ) ));
1208 coerceValue(myInfluenceradiustextureprim, ( ( value ) ));
1211 coerceValue(myInfluencedecay, ( ( value ) ));
1214 coerceValue(myInfluencedecayoverride, clampMinValue(0, clampMaxValue(3, value ) ));
1217 coerceValue(myInfluencedecayoptions, ( ( value ) ));
1220 coerceValue(myInfluencedecayinrange, ( ( value ) ));
1223 coerceValue(myInfluencedecayoutrange, ( ( value ) ));
1226 coerceValue(myInfluencedecayattrib, ( ( value ) ));
1229 coerceValue(myInfluencedecaytexture, ( ( value ) ));
1232 coerceValue(myInfluencedecaytextureprim, ( ( value ) ));
1235 coerceValue(myMaxguidecount, ( ( value ) ));
1238 coerceValue(myMaxguidecountoverride, clampMinValue(0, clampMaxValue(3, value ) ));
1241 coerceValue(myMaxguidecountoptions, ( ( value ) ));
1244 coerceValue(myMaxguidecountinrange, ( ( value ) ));
1247 coerceValue(myMaxguidecountoutrange, ( ( value ) ));
1250 coerceValue(myMaxguidecountattrib, ( ( value ) ));
1253 coerceValue(myMaxguidecounttexture, ( ( value ) ));
1256 coerceValue(myMaxguidecounttextureprim, ( ( value ) ));
1259 coerceValue(myMaxguideangle, clampMinValue(0, clampMaxValue(180, value ) ));
1262 coerceValue(myMaxguideangleoverride, clampMinValue(0, clampMaxValue(3, value ) ));
1265 coerceValue(myMaxguideangleoptions, ( ( value ) ));
1268 coerceValue(myMaxguideangleinrange, ( ( value ) ));
1271 coerceValue(myMaxguideangleoutrange, ( ( value ) ));
1274 coerceValue(myMaxguideangleattrib, ( ( value ) ));
1277 coerceValue(myMaxguideangletexture, ( ( value ) ));
1280 coerceValue(myMaxguideangletextureprim, ( ( value ) ));
1283 coerceValue(myClumpcrossover, ( ( value ) ));
1286 coerceValue(myClumpcrossoveroverride, clampMinValue(0, clampMaxValue(3, value ) ));
1289 coerceValue(myClumpcrossoveroptions, ( ( value ) ));
1292 coerceValue(myClumpcrossoverinrange, ( ( value ) ));
1295 coerceValue(myClumpcrossoveroutrange, ( ( value ) ));
1298 coerceValue(myClumpcrossoverattrib, ( ( value ) ));
1301 coerceValue(myClumpcrossovertexture, ( ( value ) ));
1304 coerceValue(myClumpcrossovertextureprim, ( ( value ) ));
1307 coerceValue(myGrowunguided, ( ( value ) ));
1310 coerceValue(myUseinitdirattrib, ( ( value ) ));
1313 coerceValue(myInitdirattrib, ( ( value ) ));
1316 coerceValue(myUnguidedsegments, clampMinValue(1, ( value ) ));
1319 coerceValue(myUnguidedlength, ( ( value ) ));
1322 coerceValue(myUnguidedlengthoverride, clampMinValue(0, clampMaxValue(3, value ) ));
1325 coerceValue(myUnguidedlengthoptions, ( ( value ) ));
1328 coerceValue(myUnguidedlengthinrange, ( ( value ) ));
1331 coerceValue(myUnguidedlengthoutrange, ( ( value ) ));
1334 coerceValue(myUnguidedlengthattrib, ( ( value ) ));
1337 coerceValue(myUnguidedlengthtexture, ( ( value ) ));
1340 coerceValue(myUnguidedlengthtextureprim, ( ( value ) ));
1343 coerceValue(myUnguidedminlength, ( ( value ) ));
1346 coerceValue(myCreateweightattribs, ( ( value ) ));
1349 coerceValue(myCreaterestrootattrib, ( ( value ) ));
1352 coerceValue(myClumpidattrib, ( ( value ) ));
1355 coerceValue(myOutputthicknessattrib, ( ( value ) ));
1358 coerceValue(myThicknessattrib, ( ( value ) ));
1361 coerceValue(myThickness, ( ( value ) ));
1364 coerceValue(myThicknessoverride, clampMinValue(0, clampMaxValue(2, value ) ));
1367 coerceValue(myThicknessskinattrib, ( ( value ) ));
1370 coerceValue(myThicknesstexture, ( ( value ) ));
1373 coerceValue(myHairprofile, clampMinValue(1, ( value ) ));
1376 coerceValue(myPointattribs, ( ( value ) ));
1379 coerceValue(myVertattribs, ( ( value ) ));
1382 coerceValue(myPrimattribs, ( ( value ) ));
1385 coerceValue(myDetailattribs, ( ( value ) ));
1388 coerceValue(myGuidepointattribs, ( ( value ) ));
1391 coerceValue(myGuideprimattribs, ( ( value ) ));
1394 if (idx.
size() == 1)
1397 coerceValue(newsize, value);
1398 if (newsize < 0) newsize = 0;
1399 myWeightArrayPairs.setSize(newsize);
1403 if (instance[0] < 0)
1405 myWeightArrayPairs.setSizeIfNeeded(instance[0]+1);
1406 auto && _data = myWeightArrayPairs(instance[0]);
1410 coerceValue(_data.guideindexattrib, value);
1413 coerceValue(_data.guideweightattrib, value);
1424 { doSetParmValue(idx, instance, value); }
1426 { doSetParmValue(idx, instance, value); }
1428 { doSetParmValue(idx, instance, value); }
1430 { doSetParmValue(idx, instance, value); }
1432 { doSetParmValue(idx, instance, value); }
1434 { doSetParmValue(idx, instance, value); }
1436 { doSetParmValue(idx, instance, value); }
1438 { doSetParmValue(idx, instance, value); }
1440 { doSetParmValue(idx, instance, value); }
1442 { doSetParmValue(idx, instance, value); }
1444 { doSetParmValue(idx, instance, value); }
1448 if (idx.
size() == 0)
1462 if (fieldnum.
size() < 1)
1464 switch (fieldnum[0])
1473 return "limittobbox";
1477 return "bboxcenter";
1481 return "pruningratio";
1483 return "prunethicken";
1487 return "uniformguidesegments";
1489 return "skininterp";
1491 return "useinterpmesh";
1493 return "skininterpguidesattrib";
1495 return "skininterpweightsattrib";
1497 return "skinguidemode";
1499 return "guideblendmethod";
1501 return "guidegroup";
1503 return "influenceradius";
1505 return "influenceradiusoverride";
1507 return "influenceradiusoptions";
1509 return "influenceradiusinrange";
1511 return "influenceradiusoutrange";
1513 return "influenceradiusattrib";
1515 return "influenceradiustexture";
1517 return "influenceradiustextureprim";
1519 return "influencedecay";
1521 return "influencedecayoverride";
1523 return "influencedecayoptions";
1525 return "influencedecayinrange";
1527 return "influencedecayoutrange";
1529 return "influencedecayattrib";
1531 return "influencedecaytexture";
1533 return "influencedecaytextureprim";
1535 return "maxguidecount";
1537 return "maxguidecountoverride";
1539 return "maxguidecountoptions";
1541 return "maxguidecountinrange";
1543 return "maxguidecountoutrange";
1545 return "maxguidecountattrib";
1547 return "maxguidecounttexture";
1549 return "maxguidecounttextureprim";
1551 return "maxguideangle";
1553 return "maxguideangleoverride";
1555 return "maxguideangleoptions";
1557 return "maxguideangleinrange";
1559 return "maxguideangleoutrange";
1561 return "maxguideangleattrib";
1563 return "maxguideangletexture";
1565 return "maxguideangletextureprim";
1567 return "clumpcrossover";
1569 return "clumpcrossoveroverride";
1571 return "clumpcrossoveroptions";
1573 return "clumpcrossoverinrange";
1575 return "clumpcrossoveroutrange";
1577 return "clumpcrossoverattrib";
1579 return "clumpcrossovertexture";
1581 return "clumpcrossovertextureprim";
1583 return "growunguided";
1585 return "useinitdirattrib";
1587 return "initdirattrib";
1589 return "unguidedsegments";
1591 return "unguidedlength";
1593 return "unguidedlengthoverride";
1595 return "unguidedlengthoptions";
1597 return "unguidedlengthinrange";
1599 return "unguidedlengthoutrange";
1601 return "unguidedlengthattrib";
1603 return "unguidedlengthtexture";
1605 return "unguidedlengthtextureprim";
1607 return "unguidedminlength";
1609 return "createweightattribs";
1611 return "createrestrootattrib";
1613 return "clumpidattrib";
1615 return "outputthicknessattrib";
1617 return "thicknessattrib";
1621 return "thicknessoverride";
1623 return "thicknessskinattrib";
1625 return "thicknesstexture";
1627 return "hairprofile";
1629 return "pointattribs";
1631 return "vertattribs";
1633 return "primattribs";
1635 return "detailattribs";
1637 return "guidepointattribs";
1639 return "guideprimattribs";
1641 if (fieldnum.
size() == 1)
1642 return "folder_weightarraypairs";
1643 switch (fieldnum[1])
1646 return "guideindexattrib#";
1648 return "guideweightattrib#";
1659 if (fieldnum.
size() < 1)
1660 return PARM_UNSUPPORTED;
1661 switch (fieldnum[0])
1664 return PARM_INTEGER;
1670 return PARM_INTEGER;
1672 return PARM_VECTOR3;
1674 return PARM_VECTOR3;
1676 return PARM_INTEGER;
1680 return PARM_INTEGER;
1682 return PARM_INTEGER;
1684 return PARM_INTEGER;
1686 return PARM_INTEGER;
1688 return PARM_INTEGER;
1694 return PARM_INTEGER;
1696 return PARM_INTEGER;
1702 return PARM_INTEGER;
1704 return PARM_INTEGER;
1706 return PARM_VECTOR2;
1708 return PARM_VECTOR2;
1718 return PARM_INTEGER;
1720 return PARM_INTEGER;
1722 return PARM_VECTOR2;
1724 return PARM_VECTOR2;
1732 return PARM_INTEGER;
1734 return PARM_INTEGER;
1736 return PARM_INTEGER;
1738 return PARM_VECTOR2;
1740 return PARM_VECTOR2;
1750 return PARM_INTEGER;
1752 return PARM_INTEGER;
1754 return PARM_VECTOR2;
1756 return PARM_VECTOR2;
1766 return PARM_INTEGER;
1768 return PARM_INTEGER;
1770 return PARM_VECTOR2;
1772 return PARM_VECTOR2;
1780 return PARM_INTEGER;
1782 return PARM_INTEGER;
1786 return PARM_INTEGER;
1790 return PARM_INTEGER;
1792 return PARM_INTEGER;
1794 return PARM_VECTOR2;
1796 return PARM_VECTOR2;
1806 return PARM_INTEGER;
1808 return PARM_INTEGER;
1812 return PARM_INTEGER;
1818 return PARM_INTEGER;
1838 if (fieldnum.
size() == 1)
1839 return PARM_MULTIPARM;
1840 switch (fieldnum[1])
1848 return PARM_UNSUPPORTED;
1851 return PARM_UNSUPPORTED;
1856 { is.
bread(&v, 1); }
1887 loadData(is, rampdata);
1905 int typelen = colon - data.
buffer();
1917 { UTwrite(os, &v); }
1919 {
int64 iv =
v; UTwrite(os, &iv); }
1921 { UTwrite<fpreal64>(os, &
v); }
1923 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1925 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1926 UTwrite<fpreal64>(os, &v.
z()); }
1928 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1929 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1941 if (s) s->save(ostr);
1942 result = ostr.
str();
1943 saveData(os, result);
1950 ostr << s->getDataTypeToken();
1952 s->saveBinary(ostr);
1954 result = ostr.
str();
1955 saveData(os, result);
1963 saveData(os, myMode);
1964 saveData(os, myGroup);
1965 saveData(os, myUvattrib);
1966 saveData(os, myLimittobbox);
1967 saveData(os, myBBoxSize);
1968 saveData(os, myBBoxCenter);
1969 saveData(os, myPrune);
1970 saveData(os, myPruningratio);
1971 saveData(os, myPrunethicken);
1972 saveData(os, myUseguides);
1973 saveData(os, myUniformguidesegments);
1974 saveData(os, mySkininterp);
1975 saveData(os, myUseInterpMesh);
1976 saveData(os, mySkininterpguidesattrib);
1977 saveData(os, mySkininterpweightsattrib);
1978 saveData(os, mySkinguidemode);
1979 saveData(os, myGuideblendmethod);
1980 saveData(os, myGuidegroup);
1981 saveData(os, myInfluenceradius);
1982 saveData(os, myInfluenceradiusoverride);
1983 saveData(os, myInfluenceradiusoptions);
1984 saveData(os, myInfluenceradiusinrange);
1985 saveData(os, myInfluenceradiusoutrange);
1986 saveData(os, myInfluenceradiusattrib);
1987 saveData(os, myInfluenceradiustexture);
1988 saveData(os, myInfluenceradiustextureprim);
1989 saveData(os, myInfluencedecay);
1990 saveData(os, myInfluencedecayoverride);
1991 saveData(os, myInfluencedecayoptions);
1992 saveData(os, myInfluencedecayinrange);
1993 saveData(os, myInfluencedecayoutrange);
1994 saveData(os, myInfluencedecayattrib);
1995 saveData(os, myInfluencedecaytexture);
1996 saveData(os, myInfluencedecaytextureprim);
1997 saveData(os, myMaxguidecount);
1998 saveData(os, myMaxguidecountoverride);
1999 saveData(os, myMaxguidecountoptions);
2000 saveData(os, myMaxguidecountinrange);
2001 saveData(os, myMaxguidecountoutrange);
2002 saveData(os, myMaxguidecountattrib);
2003 saveData(os, myMaxguidecounttexture);
2004 saveData(os, myMaxguidecounttextureprim);
2005 saveData(os, myMaxguideangle);
2006 saveData(os, myMaxguideangleoverride);
2007 saveData(os, myMaxguideangleoptions);
2008 saveData(os, myMaxguideangleinrange);
2009 saveData(os, myMaxguideangleoutrange);
2010 saveData(os, myMaxguideangleattrib);
2011 saveData(os, myMaxguideangletexture);
2012 saveData(os, myMaxguideangletextureprim);
2013 saveData(os, myClumpcrossover);
2014 saveData(os, myClumpcrossoveroverride);
2015 saveData(os, myClumpcrossoveroptions);
2016 saveData(os, myClumpcrossoverinrange);
2017 saveData(os, myClumpcrossoveroutrange);
2018 saveData(os, myClumpcrossoverattrib);
2019 saveData(os, myClumpcrossovertexture);
2020 saveData(os, myClumpcrossovertextureprim);
2021 saveData(os, myGrowunguided);
2022 saveData(os, myUseinitdirattrib);
2023 saveData(os, myInitdirattrib);
2024 saveData(os, myUnguidedsegments);
2025 saveData(os, myUnguidedlength);
2026 saveData(os, myUnguidedlengthoverride);
2027 saveData(os, myUnguidedlengthoptions);
2028 saveData(os, myUnguidedlengthinrange);
2029 saveData(os, myUnguidedlengthoutrange);
2030 saveData(os, myUnguidedlengthattrib);
2031 saveData(os, myUnguidedlengthtexture);
2032 saveData(os, myUnguidedlengthtextureprim);
2033 saveData(os, myUnguidedminlength);
2034 saveData(os, myCreateweightattribs);
2035 saveData(os, myCreaterestrootattrib);
2036 saveData(os, myClumpidattrib);
2037 saveData(os, myOutputthicknessattrib);
2038 saveData(os, myThicknessattrib);
2039 saveData(os, myThickness);
2040 saveData(os, myThicknessoverride);
2041 saveData(os, myThicknessskinattrib);
2042 saveData(os, myThicknesstexture);
2043 saveData(os, myHairprofile);
2044 saveData(os, myPointattribs);
2045 saveData(os, myVertattribs);
2046 saveData(os, myPrimattribs);
2047 saveData(os, myDetailattribs);
2048 saveData(os, myGuidepointattribs);
2049 saveData(os, myGuideprimattribs);
2052 UTwrite(os, &length);
2055 auto && _curentry = myWeightArrayPairs(i);
2057 saveData(os, _curentry.guideindexattrib);
2058 saveData(os, _curentry.guideweightattrib);
2074 loadData(is, myMode);
2075 loadData(is, myGroup);
2076 loadData(is, myUvattrib);
2077 loadData(is, myLimittobbox);
2078 loadData(is, myBBoxSize);
2079 loadData(is, myBBoxCenter);
2080 loadData(is, myPrune);
2081 loadData(is, myPruningratio);
2082 loadData(is, myPrunethicken);
2083 loadData(is, myUseguides);
2084 loadData(is, myUniformguidesegments);
2085 loadData(is, mySkininterp);
2086 loadData(is, myUseInterpMesh);
2087 loadData(is, mySkininterpguidesattrib);
2088 loadData(is, mySkininterpweightsattrib);
2089 loadData(is, mySkinguidemode);
2090 loadData(is, myGuideblendmethod);
2091 loadData(is, myGuidegroup);
2092 loadData(is, myInfluenceradius);
2093 loadData(is, myInfluenceradiusoverride);
2094 loadData(is, myInfluenceradiusoptions);
2095 loadData(is, myInfluenceradiusinrange);
2096 loadData(is, myInfluenceradiusoutrange);
2097 loadData(is, myInfluenceradiusattrib);
2098 loadData(is, myInfluenceradiustexture);
2099 loadData(is, myInfluenceradiustextureprim);
2100 loadData(is, myInfluencedecay);
2101 loadData(is, myInfluencedecayoverride);
2102 loadData(is, myInfluencedecayoptions);
2103 loadData(is, myInfluencedecayinrange);
2104 loadData(is, myInfluencedecayoutrange);
2105 loadData(is, myInfluencedecayattrib);
2106 loadData(is, myInfluencedecaytexture);
2107 loadData(is, myInfluencedecaytextureprim);
2108 loadData(is, myMaxguidecount);
2109 loadData(is, myMaxguidecountoverride);
2110 loadData(is, myMaxguidecountoptions);
2111 loadData(is, myMaxguidecountinrange);
2112 loadData(is, myMaxguidecountoutrange);
2113 loadData(is, myMaxguidecountattrib);
2114 loadData(is, myMaxguidecounttexture);
2115 loadData(is, myMaxguidecounttextureprim);
2116 loadData(is, myMaxguideangle);
2117 loadData(is, myMaxguideangleoverride);
2118 loadData(is, myMaxguideangleoptions);
2119 loadData(is, myMaxguideangleinrange);
2120 loadData(is, myMaxguideangleoutrange);
2121 loadData(is, myMaxguideangleattrib);
2122 loadData(is, myMaxguideangletexture);
2123 loadData(is, myMaxguideangletextureprim);
2124 loadData(is, myClumpcrossover);
2125 loadData(is, myClumpcrossoveroverride);
2126 loadData(is, myClumpcrossoveroptions);
2127 loadData(is, myClumpcrossoverinrange);
2128 loadData(is, myClumpcrossoveroutrange);
2129 loadData(is, myClumpcrossoverattrib);
2130 loadData(is, myClumpcrossovertexture);
2131 loadData(is, myClumpcrossovertextureprim);
2132 loadData(is, myGrowunguided);
2133 loadData(is, myUseinitdirattrib);
2134 loadData(is, myInitdirattrib);
2135 loadData(is, myUnguidedsegments);
2136 loadData(is, myUnguidedlength);
2137 loadData(is, myUnguidedlengthoverride);
2138 loadData(is, myUnguidedlengthoptions);
2139 loadData(is, myUnguidedlengthinrange);
2140 loadData(is, myUnguidedlengthoutrange);
2141 loadData(is, myUnguidedlengthattrib);
2142 loadData(is, myUnguidedlengthtexture);
2143 loadData(is, myUnguidedlengthtextureprim);
2144 loadData(is, myUnguidedminlength);
2145 loadData(is, myCreateweightattribs);
2146 loadData(is, myCreaterestrootattrib);
2147 loadData(is, myClumpidattrib);
2148 loadData(is, myOutputthicknessattrib);
2149 loadData(is, myThicknessattrib);
2150 loadData(is, myThickness);
2151 loadData(is, myThicknessoverride);
2152 loadData(is, myThicknessskinattrib);
2153 loadData(is, myThicknesstexture);
2154 loadData(is, myHairprofile);
2155 loadData(is, myPointattribs);
2156 loadData(is, myVertattribs);
2157 loadData(is, myPrimattribs);
2158 loadData(is, myDetailattribs);
2159 loadData(is, myGuidepointattribs);
2160 loadData(is, myGuideprimattribs);
2163 is.
read(&length, 1);
2164 myWeightArrayPairs.setSize(length);
2167 auto && _curentry = myWeightArrayPairs(i);
2169 loadData(is, _curentry.guideindexattrib);
2170 loadData(is, _curentry.guideweightattrib);
2183 if (!thissop)
return getMode();
2185 OP_Utils::evalOpParm(result, thissop,
"mode", cookparms.
getCookTime(), 0);
2186 return Mode(result);
2193 if (!thissop)
return getGroup();
2195 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
2203 if (!thissop)
return getUvattrib();
2205 OP_Utils::evalOpParm(result, thissop,
"uvattrib", cookparms.
getCookTime(), 0);
2213 if (!thissop)
return getLimittobbox();
2215 OP_Utils::evalOpParm(result, thissop,
"limittobbox", cookparms.
getCookTime(), 0);
2223 if (!thissop)
return getBBoxSize();
2225 OP_Utils::evalOpParm(result, thissop,
"bboxsize", cookparms.
getCookTime(), 0);
2233 if (!thissop)
return getBBoxCenter();
2235 OP_Utils::evalOpParm(result, thissop,
"bboxcenter", cookparms.
getCookTime(), 0);
2243 if (!thissop)
return getPrune();
2245 OP_Utils::evalOpParm(result, thissop,
"prune", cookparms.
getCookTime(), 0);
2253 if (!thissop)
return getPruningratio();
2255 OP_Utils::evalOpParm(result, thissop,
"pruningratio", cookparms.
getCookTime(), 0);
2263 if (!thissop)
return getPrunethicken();
2265 OP_Utils::evalOpParm(result, thissop,
"prunethicken", cookparms.
getCookTime(), 0);
2273 if (!thissop)
return getUseguides();
2275 OP_Utils::evalOpParm(result, thissop,
"useguides", cookparms.
getCookTime(), 0);
2283 if (!thissop)
return getUniformguidesegments();
2285 OP_Utils::evalOpParm(result, thissop,
"uniformguidesegments", cookparms.
getCookTime(), 0);
2293 if (!thissop)
return getSkininterp();
2295 OP_Utils::evalOpParm(result, thissop,
"skininterp", cookparms.
getCookTime(), 0);
2303 if (!thissop)
return getUseInterpMesh();
2305 OP_Utils::evalOpParm(result, thissop,
"useinterpmesh", cookparms.
getCookTime(), 0);
2313 if (!thissop)
return getSkininterpguidesattrib();
2315 OP_Utils::evalOpParm(result, thissop,
"skininterpguidesattrib", cookparms.
getCookTime(), 0);
2323 if (!thissop)
return getSkininterpweightsattrib();
2325 OP_Utils::evalOpParm(result, thissop,
"skininterpweightsattrib", cookparms.
getCookTime(), 0);
2333 if (!thissop)
return getSkinguidemode();
2335 OP_Utils::evalOpParm(result, thissop,
"skinguidemode", cookparms.
getCookTime(), 0);
2343 if (!thissop)
return getGuideblendmethod();
2345 OP_Utils::evalOpParm(result, thissop,
"guideblendmethod", cookparms.
getCookTime(), 0);
2353 if (!thissop)
return getGuidegroup();
2355 OP_Utils::evalOpParm(result, thissop,
"guidegroup", cookparms.
getCookTime(), 0);
2363 if (!thissop)
return getInfluenceradius();
2365 OP_Utils::evalOpParm(result, thissop,
"influenceradius", cookparms.
getCookTime(), 0);
2373 if (!thissop)
return getInfluenceradiusoverride();
2375 OP_Utils::evalOpParm(result, thissop,
"influenceradiusoverride", cookparms.
getCookTime(), 0);
2383 if (!thissop)
return getInfluenceradiusoptions();
2385 OP_Utils::evalOpParm(result, thissop,
"influenceradiusoptions", cookparms.
getCookTime(), 0);
2393 if (!thissop)
return getInfluenceradiusinrange();
2395 OP_Utils::evalOpParm(result, thissop,
"influenceradiusinrange", cookparms.
getCookTime(), 0);
2403 if (!thissop)
return getInfluenceradiusoutrange();
2405 OP_Utils::evalOpParm(result, thissop,
"influenceradiusoutrange", cookparms.
getCookTime(), 0);
2413 if (!thissop)
return getInfluenceradiusattrib();
2415 OP_Utils::evalOpParm(result, thissop,
"influenceradiusattrib", cookparms.
getCookTime(), 0);
2423 if (!thissop)
return getInfluenceradiustexture();
2425 OP_Utils::evalOpParm(result, thissop,
"influenceradiustexture", cookparms.
getCookTime(), 0);
2433 if (!thissop)
return getInfluenceradiustextureprim();
2435 OP_Utils::evalOpParm(result, thissop,
"influenceradiustextureprim", cookparms.
getCookTime(), 0);
2443 if (!thissop)
return getInfluencedecay();
2445 OP_Utils::evalOpParm(result, thissop,
"influencedecay", cookparms.
getCookTime(), 0);
2453 if (!thissop)
return getInfluencedecayoverride();
2455 OP_Utils::evalOpParm(result, thissop,
"influencedecayoverride", cookparms.
getCookTime(), 0);
2463 if (!thissop)
return getInfluencedecayoptions();
2465 OP_Utils::evalOpParm(result, thissop,
"influencedecayoptions", cookparms.
getCookTime(), 0);
2473 if (!thissop)
return getInfluencedecayinrange();
2475 OP_Utils::evalOpParm(result, thissop,
"influencedecayinrange", cookparms.
getCookTime(), 0);
2483 if (!thissop)
return getInfluencedecayoutrange();
2485 OP_Utils::evalOpParm(result, thissop,
"influencedecayoutrange", cookparms.
getCookTime(), 0);
2493 if (!thissop)
return getInfluencedecayattrib();
2495 OP_Utils::evalOpParm(result, thissop,
"influencedecayattrib", cookparms.
getCookTime(), 0);
2503 if (!thissop)
return getInfluencedecaytexture();
2505 OP_Utils::evalOpParm(result, thissop,
"influencedecaytexture", cookparms.
getCookTime(), 0);
2513 if (!thissop)
return getInfluencedecaytextureprim();
2515 OP_Utils::evalOpParm(result, thissop,
"influencedecaytextureprim", cookparms.
getCookTime(), 0);
2523 if (!thissop)
return getMaxguidecount();
2525 OP_Utils::evalOpParm(result, thissop,
"maxguidecount", cookparms.
getCookTime(), 0);
2533 if (!thissop)
return getMaxguidecountoverride();
2535 OP_Utils::evalOpParm(result, thissop,
"maxguidecountoverride", cookparms.
getCookTime(), 0);
2543 if (!thissop)
return getMaxguidecountoptions();
2545 OP_Utils::evalOpParm(result, thissop,
"maxguidecountoptions", cookparms.
getCookTime(), 0);
2553 if (!thissop)
return getMaxguidecountinrange();
2555 OP_Utils::evalOpParm(result, thissop,
"maxguidecountinrange", cookparms.
getCookTime(), 0);
2563 if (!thissop)
return getMaxguidecountoutrange();
2565 OP_Utils::evalOpParm(result, thissop,
"maxguidecountoutrange", cookparms.
getCookTime(), 0);
2573 if (!thissop)
return getMaxguidecountattrib();
2575 OP_Utils::evalOpParm(result, thissop,
"maxguidecountattrib", cookparms.
getCookTime(), 0);
2583 if (!thissop)
return getMaxguidecounttexture();
2585 OP_Utils::evalOpParm(result, thissop,
"maxguidecounttexture", cookparms.
getCookTime(), 0);
2593 if (!thissop)
return getMaxguidecounttextureprim();
2595 OP_Utils::evalOpParm(result, thissop,
"maxguidecounttextureprim", cookparms.
getCookTime(), 0);
2603 if (!thissop)
return getMaxguideangle();
2605 OP_Utils::evalOpParm(result, thissop,
"maxguideangle", cookparms.
getCookTime(), 0);
2613 if (!thissop)
return getMaxguideangleoverride();
2615 OP_Utils::evalOpParm(result, thissop,
"maxguideangleoverride", cookparms.
getCookTime(), 0);
2623 if (!thissop)
return getMaxguideangleoptions();
2625 OP_Utils::evalOpParm(result, thissop,
"maxguideangleoptions", cookparms.
getCookTime(), 0);
2633 if (!thissop)
return getMaxguideangleinrange();
2635 OP_Utils::evalOpParm(result, thissop,
"maxguideangleinrange", cookparms.
getCookTime(), 0);
2643 if (!thissop)
return getMaxguideangleoutrange();
2645 OP_Utils::evalOpParm(result, thissop,
"maxguideangleoutrange", cookparms.
getCookTime(), 0);
2653 if (!thissop)
return getMaxguideangleattrib();
2655 OP_Utils::evalOpParm(result, thissop,
"maxguideangleattrib", cookparms.
getCookTime(), 0);
2663 if (!thissop)
return getMaxguideangletexture();
2665 OP_Utils::evalOpParm(result, thissop,
"maxguideangletexture", cookparms.
getCookTime(), 0);
2673 if (!thissop)
return getMaxguideangletextureprim();
2675 OP_Utils::evalOpParm(result, thissop,
"maxguideangletextureprim", cookparms.
getCookTime(), 0);
2683 if (!thissop)
return getClumpcrossover();
2685 OP_Utils::evalOpParm(result, thissop,
"clumpcrossover", cookparms.
getCookTime(), 0);
2693 if (!thissop)
return getClumpcrossoveroverride();
2695 OP_Utils::evalOpParm(result, thissop,
"clumpcrossoveroverride", cookparms.
getCookTime(), 0);
2703 if (!thissop)
return getClumpcrossoveroptions();
2705 OP_Utils::evalOpParm(result, thissop,
"clumpcrossoveroptions", cookparms.
getCookTime(), 0);
2713 if (!thissop)
return getClumpcrossoverinrange();
2715 OP_Utils::evalOpParm(result, thissop,
"clumpcrossoverinrange", cookparms.
getCookTime(), 0);
2723 if (!thissop)
return getClumpcrossoveroutrange();
2725 OP_Utils::evalOpParm(result, thissop,
"clumpcrossoveroutrange", cookparms.
getCookTime(), 0);
2733 if (!thissop)
return getClumpcrossoverattrib();
2735 OP_Utils::evalOpParm(result, thissop,
"clumpcrossoverattrib", cookparms.
getCookTime(), 0);
2743 if (!thissop)
return getClumpcrossovertexture();
2745 OP_Utils::evalOpParm(result, thissop,
"clumpcrossovertexture", cookparms.
getCookTime(), 0);
2753 if (!thissop)
return getClumpcrossovertextureprim();
2755 OP_Utils::evalOpParm(result, thissop,
"clumpcrossovertextureprim", cookparms.
getCookTime(), 0);
2763 if (!thissop)
return getGrowunguided();
2765 OP_Utils::evalOpParm(result, thissop,
"growunguided", cookparms.
getCookTime(), 0);
2773 if (!thissop)
return getUseinitdirattrib();
2775 OP_Utils::evalOpParm(result, thissop,
"useinitdirattrib", cookparms.
getCookTime(), 0);
2783 if (!thissop)
return getInitdirattrib();
2785 OP_Utils::evalOpParm(result, thissop,
"initdirattrib", cookparms.
getCookTime(), 0);
2793 if (!thissop)
return getUnguidedsegments();
2795 OP_Utils::evalOpParm(result, thissop,
"unguidedsegments", cookparms.
getCookTime(), 0);
2803 if (!thissop)
return getUnguidedlength();
2805 OP_Utils::evalOpParm(result, thissop,
"unguidedlength", cookparms.
getCookTime(), 0);
2813 if (!thissop)
return getUnguidedlengthoverride();
2815 OP_Utils::evalOpParm(result, thissop,
"unguidedlengthoverride", cookparms.
getCookTime(), 0);
2823 if (!thissop)
return getUnguidedlengthoptions();
2825 OP_Utils::evalOpParm(result, thissop,
"unguidedlengthoptions", cookparms.
getCookTime(), 0);
2833 if (!thissop)
return getUnguidedlengthinrange();
2835 OP_Utils::evalOpParm(result, thissop,
"unguidedlengthinrange", cookparms.
getCookTime(), 0);
2843 if (!thissop)
return getUnguidedlengthoutrange();
2845 OP_Utils::evalOpParm(result, thissop,
"unguidedlengthoutrange", cookparms.
getCookTime(), 0);
2853 if (!thissop)
return getUnguidedlengthattrib();
2855 OP_Utils::evalOpParm(result, thissop,
"unguidedlengthattrib", cookparms.
getCookTime(), 0);
2863 if (!thissop)
return getUnguidedlengthtexture();
2865 OP_Utils::evalOpParm(result, thissop,
"unguidedlengthtexture", cookparms.
getCookTime(), 0);
2873 if (!thissop)
return getUnguidedlengthtextureprim();
2875 OP_Utils::evalOpParm(result, thissop,
"unguidedlengthtextureprim", cookparms.
getCookTime(), 0);
2883 if (!thissop)
return getUnguidedminlength();
2885 OP_Utils::evalOpParm(result, thissop,
"unguidedminlength", cookparms.
getCookTime(), 0);
2893 if (!thissop)
return getCreateweightattribs();
2895 OP_Utils::evalOpParm(result, thissop,
"createweightattribs", cookparms.
getCookTime(), 0);
2903 if (!thissop)
return getCreaterestrootattrib();
2905 OP_Utils::evalOpParm(result, thissop,
"createrestrootattrib", cookparms.
getCookTime(), 0);
2913 if (!thissop)
return getClumpidattrib();
2915 OP_Utils::evalOpParm(result, thissop,
"clumpidattrib", cookparms.
getCookTime(), 0);
2923 if (!thissop)
return getOutputthicknessattrib();
2925 OP_Utils::evalOpParm(result, thissop,
"outputthicknessattrib", cookparms.
getCookTime(), 0);
2933 if (!thissop)
return getThicknessattrib();
2935 OP_Utils::evalOpParm(result, thissop,
"thicknessattrib", cookparms.
getCookTime(), 0);
2943 if (!thissop)
return getThickness();
2945 OP_Utils::evalOpParm(result, thissop,
"thickness", cookparms.
getCookTime(), 0);
2953 if (!thissop)
return getThicknessoverride();
2955 OP_Utils::evalOpParm(result, thissop,
"thicknessoverride", cookparms.
getCookTime(), 0);
2963 if (!thissop)
return getThicknessskinattrib();
2965 OP_Utils::evalOpParm(result, thissop,
"thicknessskinattrib", cookparms.
getCookTime(), 0);
2973 if (!thissop)
return getThicknesstexture();
2975 OP_Utils::evalOpParm(result, thissop,
"thicknesstexture", cookparms.
getCookTime(), 0);
2983 if (!thissop)
return getHairprofile();
2985 OP_Utils::evalOpParm(result, thissop,
"hairprofile", cookparms.
getCookTime(), 0);
2993 if (!thissop)
return getPointattribs();
2995 OP_Utils::evalOpParm(result, thissop,
"pointattribs", cookparms.
getCookTime(), 0);
3003 if (!thissop)
return getVertattribs();
3005 OP_Utils::evalOpParm(result, thissop,
"vertattribs", cookparms.
getCookTime(), 0);
3013 if (!thissop)
return getPrimattribs();
3015 OP_Utils::evalOpParm(result, thissop,
"primattribs", cookparms.
getCookTime(), 0);
3023 if (!thissop)
return getDetailattribs();
3025 OP_Utils::evalOpParm(result, thissop,
"detailattribs", cookparms.
getCookTime(), 0);
3033 if (!thissop)
return getGuidepointattribs();
3035 OP_Utils::evalOpParm(result, thissop,
"guidepointattribs", cookparms.
getCookTime(), 0);
3043 if (!thissop)
return getGuideprimattribs();
3045 OP_Utils::evalOpParm(result, thissop,
"guideprimattribs", cookparms.
getCookTime(), 0);
3053 if (!thissop)
return getWeightArrayPairs().entries();
3055 OP_Utils::evalOpParm(result, thissop,
"folder_weightarraypairs", cookparms.
getCookTime(), 0);
3059 {
return opinstWeightArrayPairs_guideindexattrib(cookparms, &_idx); }
3063 if (!thissop)
return (myWeightArrayPairs(_idx[0]).guideindexattrib);
3065 _parmidx[1-1] = _idx[1-1] + 0;
3068 OP_Utils::evalOpParmInst(result, thissop,
"guideindexattrib#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
3072 {
return opinstWeightArrayPairs_guideweightattrib(cookparms, &_idx); }
3076 if (!thissop)
return (myWeightArrayPairs(_idx[0]).guideweightattrib);
3078 _parmidx[1-1] = _idx[1-1] + 0;
3081 OP_Utils::evalOpParmInst(result, thissop,
"guideweightattrib#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
3095 bool myPrunethicken;
3097 bool myUniformguidesegments;
3099 bool myUseInterpMesh;
3102 int64 mySkinguidemode;
3103 int64 myGuideblendmethod;
3106 int64 myInfluenceradiusoverride;
3107 int64 myInfluenceradiusoptions;
3114 int64 myInfluencedecayoverride;
3115 int64 myInfluencedecayoptions;
3121 int64 myMaxguidecount;
3122 int64 myMaxguidecountoverride;
3123 int64 myMaxguidecountoptions;
3130 int64 myMaxguideangleoverride;
3131 int64 myMaxguideangleoptions;
3138 int64 myClumpcrossoveroverride;
3139 int64 myClumpcrossoveroptions;
3145 bool myGrowunguided;
3146 bool myUseinitdirattrib;
3148 int64 myUnguidedsegments;
3150 int64 myUnguidedlengthoverride;
3151 int64 myUnguidedlengthoptions;
3158 bool myCreateweightattribs;
3159 bool myCreaterestrootattrib;
3161 bool myOutputthicknessattrib;
3164 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 UT_SharedPtr< UT_Ramp > buildFromDefault(const char *def)
Returns a ramp constructed from the canonical default strings.
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)
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
GLsizei const GLfloat * value
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
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
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
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.
SYS_FORCE_INLINE UT_StringHolder getToken(Mode enum_value)
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 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)
LeafData & operator=(const LeafData &)=delete
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
virtual UT_StringHolder baseGetSignature() const
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
virtual bool isDirect() const =0
Direct proxies mirror actual nodes:
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
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
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