23 namespace SOP_GuideGroomCoreEnums
37 using namespace UT::Literal;
57 using namespace UT::Literal;
74 using namespace UT::Literal;
91 using namespace UT::Literal;
108 using namespace UT::Literal;
109 switch (enum_value) {
125 using namespace UT::Literal;
126 switch (enum_value) {
143 using namespace UT::Literal;
144 switch (enum_value) {
162 using namespace UT::Literal;
163 switch (enum_value) {
180 using namespace UT::Literal;
181 switch (enum_value) {
197 using namespace UT::Literal;
198 switch (enum_value) {
216 using namespace UT::Literal;
217 switch (enum_value) {
236 using namespace UT::Literal;
237 switch (enum_value) {
256 using namespace UT::Literal;
257 switch (enum_value) {
279 using namespace UT::Literal;
280 switch (enum_value) {
304 using namespace UT::Literal;
305 switch (enum_value) {
326 using namespace UT::Literal;
327 switch (enum_value) {
359 if (groupcolor != src.
groupcolor)
return false;
360 if (groupname != src.
groupname)
return false;
377 for (
int i = 0; i < list.
entries(); i++)
383 buf.
appendSprintf(
"(%f, %f, %f)", list(i).groupcolor.x(), list(i).groupcolor.y(), list(i).groupcolor.z());
399 myStashnode =
".."_UTsh;
403 myMirrorbrush =
false;
405 myMirrorgroup =
""_UTsh;
408 myDeltatools =
false;
411 myStrandmode =
false;
412 myCollidewithskin =
true;
413 myCreateorient =
false;
414 myOrientname =
"orient"_UTsh;
416 myOrientupattrib =
"tangent"_UTsh;
417 myOrientupattribflip =
false;
418 myTemplatesourcegroup =
""_UTsh;
419 myCreatewidth =
true;
420 myWidthoverride =
true;
422 myBrushsurface =
false;
423 myUsepartinglines =
true;
429 myBrushmaintainlength = 0;
430 myBrushsnaptosurface =
false;
432 myBrushbendfalloff = 0;
435 myAdjustlengthmode = 0;
436 myAdjustlengthvalue = 0.1;
437 myAdjustlengthlength = 0.1;
438 myAdjustlengthmethod = 1;
439 myMoverotatewithskin =
false;
440 mySculptdoconstrain =
true;
441 mySculptlockroot =
true;
442 mySculptmaintainevensegments =
false;
443 mySmoothtargetsmoothness = 0.5;
444 mySmoothposition =
true;
445 mySmoothorient =
true;
446 myBlurinskinspace =
false;
447 myBlurperpoint =
false;
449 myBlurlength =
false;
450 myBlurorient =
false;
452 myClumpperpoint =
false;
454 myPlantinterpolateguides =
true;
455 myPlantinterpolaterelskin =
true;
456 myPlantinterpolateorient =
true;
457 myPlanttemplatesource = 1;
458 myPlantlength = 0.01;
460 myDrawonskin =
false;
461 myDrawinterpolateorient =
false;
462 myDrawtemplatesource = 1;
463 myDrawlimitlength =
false;
467 myDrawseglength = 0.05;
468 myOrientbrushupmode = 0;
469 myOrientbrushperpoint =
false;
470 myPainttemplateallowblending =
false;
471 myEditactiveprim = 0;
476 myResamplesegmode = 0;
477 myResamplesegcount = 8;
478 myResampleseglength = 0.05;
480 myCurvemaskramp =
UT_Ramp::buildFromDefault(
"1pos ( 0 ) 1value ( 1 ) 1interp ( bspline ) 2pos ( 0.14254385232925415 ) 2value ( 0.48605579137802124 ) 2interp ( bspline ) 3pos ( 0.56798243522644043 ) 3value ( 0.11952191591262817 ) 3interp ( bspline ) 4pos ( 1 ) 4value ( 0 ) 4interp ( bspline )");
484 myPreviewutil =
true;
485 myPaintmaskpoints =
false;
486 myPaintmaskattribname =
""_UTsh;
487 myGroupnewprims =
false;
488 myNamenewprims =
true;
489 myActivegroup =
""_UTsh;
490 myNameattrib =
""_UTsh;
491 myActivename =
""_UTsh;
492 myOverridecolor =
false;
493 myColorbyname =
false;
512 myCursordisplace = 0;
531 if (myStashnode != src.myStashnode)
return false;
532 if (myGroup != src.myGroup)
return false;
533 if (myGrouptype != src.myGrouptype)
return false;
534 if (myUsemask != src.myUsemask)
return false;
535 if (myMirrorbrush != src.myMirrorbrush)
return false;
536 if (myMirror != src.myMirror)
return false;
537 if (myMirrorgroup != src.myMirrorgroup)
return false;
538 if (myMirrororigin != src.myMirrororigin)
return false;
539 if (myMirrordir != src.myMirrordir)
return false;
540 if (myDeltatools != src.myDeltatools)
return false;
541 if (myTool != src.myTool)
return false;
542 if (myRaybias != src.myRaybias)
return false;
543 if (myStrandmode != src.myStrandmode)
return false;
544 if (myCollidewithskin != src.myCollidewithskin)
return false;
545 if (myCreateorient != src.myCreateorient)
return false;
546 if (myOrientname != src.myOrientname)
return false;
547 if (myOrientup != src.myOrientup)
return false;
548 if (myOrientupattrib != src.myOrientupattrib)
return false;
549 if (myOrientupattribflip != src.myOrientupattribflip)
return false;
550 if (myTemplatesourcegroup != src.myTemplatesourcegroup)
return false;
551 if (myCreatewidth != src.myCreatewidth)
return false;
552 if (myWidthoverride != src.myWidthoverride)
return false;
553 if (myWidth != src.myWidth)
return false;
554 if (myBrushsurface != src.myBrushsurface)
return false;
555 if (myUsepartinglines != src.myUsepartinglines)
return false;
556 if (myScreenradius != src.myScreenradius)
return false;
557 if (myObjectradius != src.myObjectradius)
return false;
558 if (mySoft != src.mySoft)
return false;
559 if (mySpacing != src.mySpacing)
return false;
560 if (myDensity != src.myDensity)
return false;
561 if (myBrushmaintainlength != src.myBrushmaintainlength)
return false;
562 if (myBrushsnaptosurface != src.myBrushsnaptosurface)
return false;
563 if (myBrushbend != src.myBrushbend)
return false;
564 if (myBrushbendfalloff != src.myBrushbendfalloff)
return false;
565 if (myLiftmode != src.myLiftmode)
return false;
566 if (myLiftangle != src.myLiftangle)
return false;
567 if (myAdjustlengthmode != src.myAdjustlengthmode)
return false;
568 if (myAdjustlengthvalue != src.myAdjustlengthvalue)
return false;
569 if (myAdjustlengthlength != src.myAdjustlengthlength)
return false;
570 if (myAdjustlengthmethod != src.myAdjustlengthmethod)
return false;
571 if (myMoverotatewithskin != src.myMoverotatewithskin)
return false;
572 if (mySculptdoconstrain != src.mySculptdoconstrain)
return false;
573 if (mySculptlockroot != src.mySculptlockroot)
return false;
574 if (mySculptmaintainevensegments != src.mySculptmaintainevensegments)
return false;
575 if (mySmoothtargetsmoothness != src.mySmoothtargetsmoothness)
return false;
576 if (mySmoothposition != src.mySmoothposition)
return false;
577 if (mySmoothorient != src.mySmoothorient)
return false;
578 if (myBlurinskinspace != src.myBlurinskinspace)
return false;
579 if (myBlurperpoint != src.myBlurperpoint)
return false;
580 if (myBlurshape != src.myBlurshape)
return false;
581 if (myBlurlength != src.myBlurlength)
return false;
582 if (myBlurorient != src.myBlurorient)
return false;
583 if (myCutmode != src.myCutmode)
return false;
584 if (myClumpperpoint != src.myClumpperpoint)
return false;
585 if (myPlantmode != src.myPlantmode)
return false;
586 if (myPlantinterpolateguides != src.myPlantinterpolateguides)
return false;
587 if (myPlantinterpolaterelskin != src.myPlantinterpolaterelskin)
return false;
588 if (myPlantinterpolateorient != src.myPlantinterpolateorient)
return false;
589 if (myPlanttemplatesource != src.myPlanttemplatesource)
return false;
590 if (myPlantlength != src.myPlantlength)
return false;
591 if (myPlantsegcount != src.myPlantsegcount)
return false;
592 if (myDrawonskin != src.myDrawonskin)
return false;
593 if (myDrawinterpolateorient != src.myDrawinterpolateorient)
return false;
594 if (myDrawtemplatesource != src.myDrawtemplatesource)
return false;
595 if (myDrawlimitlength != src.myDrawlimitlength)
return false;
596 if (myDrawcurvetype != src.myDrawcurvetype)
return false;
597 if (myDrawsegmode != src.myDrawsegmode)
return false;
598 if (myDrawsegcount != src.myDrawsegcount)
return false;
599 if (myDrawseglength != src.myDrawseglength)
return false;
600 if (myOrientbrushupmode != src.myOrientbrushupmode)
return false;
601 if (myOrientbrushperpoint != src.myOrientbrushperpoint)
return false;
602 if (myPainttemplateallowblending != src.myPainttemplateallowblending)
return false;
603 if (myEditactiveprim != src.myEditactiveprim)
return false;
604 if (myEditsoft != src.myEditsoft)
return false;
605 if (myEditsoftmode != src.myEditsoftmode)
return false;
606 if (myEditcurvefrac != src.myEditcurvefrac)
return false;
607 if (myEditcurvedist != src.myEditcurvedist)
return false;
608 if (myResamplesegmode != src.myResamplesegmode)
return false;
609 if (myResamplesegcount != src.myResamplesegcount)
return false;
610 if (myResampleseglength != src.myResampleseglength)
return false;
611 if (myTwistangle != src.myTwistangle)
return false;
612 if (myCurvemaskramp != src.myCurvemaskramp)
613 {
if (!myCurvemaskramp || !src.myCurvemaskramp || !(*myCurvemaskramp == *src.myCurvemaskramp))
return false; }
614 if (myGroom != src.myGroom)
616 if (myStrands != src.myStrands)
618 if (myStrokes != src.myStrokes)
620 if (myPreviewutil != src.myPreviewutil)
return false;
621 if (myPaintmaskpoints != src.myPaintmaskpoints)
return false;
622 if (myPaintmaskattribname != src.myPaintmaskattribname)
return false;
623 if (myGroupnewprims != src.myGroupnewprims)
return false;
624 if (myNamenewprims != src.myNamenewprims)
return false;
625 if (myActivegroup != src.myActivegroup)
return false;
626 if (myNameattrib != src.myNameattrib)
return false;
627 if (myActivename != src.myActivename)
return false;
628 if (myOverridecolor != src.myOverridecolor)
return false;
629 if (myColorbyname != src.myColorbyname)
return false;
630 if (myDefaultcolor != src.myDefaultcolor)
return false;
631 if (myTemplatecolor != src.myTemplatecolor)
return false;
632 if (myColorseed != src.myColorseed)
return false;
633 if (myFolder_grouplist != src.myFolder_grouplist)
return false;
634 if (myXord != src.myXord)
return false;
635 if (myRord != src.myRord)
return false;
636 if (myT != src.myT)
return false;
637 if (myR != src.myR)
return false;
638 if (myS != src.myS)
return false;
639 if (myShear != src.myShear)
return false;
640 if (myScale != src.myScale)
return false;
641 if (myP != src.myP)
return false;
642 if (myPr != src.myPr)
return false;
643 if (myCamxform0 != src.myCamxform0)
return false;
644 if (myCamxform1 != src.myCamxform1)
return false;
645 if (myCamxform2 != src.myCamxform2)
return false;
646 if (myCamxform3 != src.myCamxform3)
return false;
647 if (myCampos != src.myCampos)
return false;
648 if (myCursorpos != src.myCursorpos)
return false;
649 if (myCursordisplace != src.myCursordisplace)
return false;
650 if (myRaypos != src.myRaypos)
return false;
651 if (myRaydir != src.myRaydir)
return false;
652 if (myStrengthscale != src.myStrengthscale)
return false;
653 if (myButton != src.myButton)
return false;
654 if (myShiftkey != src.myShiftkey)
return false;
655 if (myCtrlkey != src.myCtrlkey)
return false;
687 myStashnode =
".."_UTsh;
689 graph->
evalOpParm(myStashnode, nodeidx,
"stashnode", time, graph->
isDirect()?
nullptr:depnode);
692 graph->
evalOpParm(myGroup, nodeidx,
"group", time, graph->
isDirect()?
nullptr:depnode);
695 graph->
evalOpParm(myGrouptype, nodeidx,
"grouptype", time, graph->
isDirect()?
nullptr:depnode);
698 graph->
evalOpParm(myUsemask, nodeidx,
"usemask", time, graph->
isDirect()?
nullptr:depnode);
699 myMirrorbrush =
false;
701 graph->
evalOpParm(myMirrorbrush, nodeidx,
"mirrorbrush", time, graph->
isDirect()?
nullptr:depnode);
704 graph->
evalOpParm(myMirror, nodeidx,
"mirror", time, graph->
isDirect()?
nullptr:depnode);
705 myMirrorgroup =
""_UTsh;
707 graph->
evalOpParm(myMirrorgroup, nodeidx,
"mirrorgroup", time, graph->
isDirect()?
nullptr:depnode);
710 graph->
evalOpParm(myMirrororigin, nodeidx,
"mirrororigin", time, graph->
isDirect()?
nullptr:depnode);
713 graph->
evalOpParm(myMirrordir, nodeidx,
"mirrordir", time, graph->
isDirect()?
nullptr:depnode);
714 myDeltatools =
false;
716 graph->
evalOpParm(myDeltatools, nodeidx,
"deltatools", time, graph->
isDirect()?
nullptr:depnode);
722 graph->
evalOpParm(myRaybias, nodeidx,
"raybias", time, graph->
isDirect()?
nullptr:depnode);
723 myStrandmode =
false;
725 graph->
evalOpParm(myStrandmode, nodeidx,
"strandmode", time, graph->
isDirect()?
nullptr:depnode);
726 myCollidewithskin =
true;
728 graph->
evalOpParm(myCollidewithskin, nodeidx,
"collidewithskin", time, graph->
isDirect()?
nullptr:depnode);
729 myCreateorient =
false;
731 graph->
evalOpParm(myCreateorient, nodeidx,
"createorient", time, graph->
isDirect()?
nullptr:depnode);
732 myOrientname =
"orient"_UTsh;
734 graph->
evalOpParm(myOrientname, nodeidx,
"orientname", time, graph->
isDirect()?
nullptr:depnode);
737 graph->
evalOpParm(myOrientup, nodeidx,
"orientup", time, graph->
isDirect()?
nullptr:depnode);
738 myOrientupattrib =
"tangent"_UTsh;
740 graph->
evalOpParm(myOrientupattrib, nodeidx,
"orientupattrib", time, graph->
isDirect()?
nullptr:depnode);
741 myOrientupattribflip =
false;
743 graph->
evalOpParm(myOrientupattribflip, nodeidx,
"orientupattribflip", time, graph->
isDirect()?
nullptr:depnode);
744 myTemplatesourcegroup =
""_UTsh;
746 graph->
evalOpParm(myTemplatesourcegroup, nodeidx,
"templatesourcegroup", time, graph->
isDirect()?
nullptr:depnode);
747 myCreatewidth =
true;
749 graph->
evalOpParm(myCreatewidth, nodeidx,
"createwidth", time, graph->
isDirect()?
nullptr:depnode);
750 myWidthoverride =
true;
752 graph->
evalOpParm(myWidthoverride, nodeidx,
"widthoverride", time, graph->
isDirect()?
nullptr:depnode);
755 graph->
evalOpParm(myWidth, nodeidx,
"width", time, graph->
isDirect()?
nullptr:depnode);
756 myBrushsurface =
false;
758 graph->
evalOpParm(myBrushsurface, nodeidx,
"brushsurface", time, graph->
isDirect()?
nullptr:depnode);
759 myUsepartinglines =
true;
761 graph->
evalOpParm(myUsepartinglines, nodeidx,
"usepartinglines", time, graph->
isDirect()?
nullptr:depnode);
764 graph->
evalOpParm(myScreenradius, nodeidx,
"screenradius", time, graph->
isDirect()?
nullptr:depnode);
767 graph->
evalOpParm(myObjectradius, nodeidx,
"objectradius", time, graph->
isDirect()?
nullptr:depnode);
773 graph->
evalOpParm(mySpacing, nodeidx,
"spacing", time, graph->
isDirect()?
nullptr:depnode);
776 graph->
evalOpParm(myDensity, nodeidx,
"density", time, graph->
isDirect()?
nullptr:depnode);
777 myBrushmaintainlength = 0;
779 graph->
evalOpParm(myBrushmaintainlength, nodeidx,
"brushmaintainlength", time, graph->
isDirect()?
nullptr:depnode);
780 myBrushsnaptosurface =
false;
782 graph->
evalOpParm(myBrushsnaptosurface, nodeidx,
"brushsnaptosurface", time, graph->
isDirect()?
nullptr:depnode);
785 graph->
evalOpParm(myBrushbend, nodeidx,
"brushbend", time, graph->
isDirect()?
nullptr:depnode);
786 myBrushbendfalloff = 0;
788 graph->
evalOpParm(myBrushbendfalloff, nodeidx,
"brushbendfalloff", time, graph->
isDirect()?
nullptr:depnode);
791 graph->
evalOpParm(myLiftmode, nodeidx,
"liftmode", time, graph->
isDirect()?
nullptr:depnode);
794 graph->
evalOpParm(myLiftangle, nodeidx,
"liftangle", time, graph->
isDirect()?
nullptr:depnode);
795 myAdjustlengthmode = 0;
797 graph->
evalOpParm(myAdjustlengthmode, nodeidx,
"adjustlengthmode", time, graph->
isDirect()?
nullptr:depnode);
798 myAdjustlengthvalue = 0.1;
800 graph->
evalOpParm(myAdjustlengthvalue, nodeidx,
"adjustlengthvalue", time, graph->
isDirect()?
nullptr:depnode);
801 myAdjustlengthlength = 0.1;
803 graph->
evalOpParm(myAdjustlengthlength, nodeidx,
"adjustlengthlength", time, graph->
isDirect()?
nullptr:depnode);
804 myAdjustlengthmethod = 1;
806 graph->
evalOpParm(myAdjustlengthmethod, nodeidx,
"adjustlengthmethod", time, graph->
isDirect()?
nullptr:depnode);
807 myMoverotatewithskin =
false;
809 graph->
evalOpParm(myMoverotatewithskin, nodeidx,
"moverotatewithskin", time, graph->
isDirect()?
nullptr:depnode);
810 mySculptdoconstrain =
true;
812 graph->
evalOpParm(mySculptdoconstrain, nodeidx,
"sculptdoconstrain", time, graph->
isDirect()?
nullptr:depnode);
813 mySculptlockroot =
true;
815 graph->
evalOpParm(mySculptlockroot, nodeidx,
"sculptlockroot", time, graph->
isDirect()?
nullptr:depnode);
816 mySculptmaintainevensegments =
false;
818 graph->
evalOpParm(mySculptmaintainevensegments, nodeidx,
"sculptmaintainevensegments", time, graph->
isDirect()?
nullptr:depnode);
819 mySmoothtargetsmoothness = 0.5;
821 graph->
evalOpParm(mySmoothtargetsmoothness, nodeidx,
"smoothtargetsmoothness", time, graph->
isDirect()?
nullptr:depnode);
822 mySmoothposition =
true;
824 graph->
evalOpParm(mySmoothposition, nodeidx,
"smoothposition", time, graph->
isDirect()?
nullptr:depnode);
825 mySmoothorient =
true;
827 graph->
evalOpParm(mySmoothorient, nodeidx,
"smoothorient", time, graph->
isDirect()?
nullptr:depnode);
828 myBlurinskinspace =
false;
830 graph->
evalOpParm(myBlurinskinspace, nodeidx,
"blurinskinspace", time, graph->
isDirect()?
nullptr:depnode);
831 myBlurperpoint =
false;
833 graph->
evalOpParm(myBlurperpoint, nodeidx,
"blurperpoint", time, graph->
isDirect()?
nullptr:depnode);
836 graph->
evalOpParm(myBlurshape, nodeidx,
"blurshape", time, graph->
isDirect()?
nullptr:depnode);
837 myBlurlength =
false;
839 graph->
evalOpParm(myBlurlength, nodeidx,
"blurlength", time, graph->
isDirect()?
nullptr:depnode);
840 myBlurorient =
false;
842 graph->
evalOpParm(myBlurorient, nodeidx,
"blurorient", time, graph->
isDirect()?
nullptr:depnode);
845 graph->
evalOpParm(myCutmode, nodeidx,
"cutmode", time, graph->
isDirect()?
nullptr:depnode);
846 myClumpperpoint =
false;
848 graph->
evalOpParm(myClumpperpoint, nodeidx,
"clumpperpoint", time, graph->
isDirect()?
nullptr:depnode);
851 graph->
evalOpParm(myPlantmode, nodeidx,
"plantmode", time, graph->
isDirect()?
nullptr:depnode);
852 myPlantinterpolateguides =
true;
854 graph->
evalOpParm(myPlantinterpolateguides, nodeidx,
"plantinterpolateguides", time, graph->
isDirect()?
nullptr:depnode);
855 myPlantinterpolaterelskin =
true;
857 graph->
evalOpParm(myPlantinterpolaterelskin, nodeidx,
"plantinterpolaterelskin", time, graph->
isDirect()?
nullptr:depnode);
858 myPlantinterpolateorient =
true;
860 graph->
evalOpParm(myPlantinterpolateorient, nodeidx,
"plantinterpolateorient", time, graph->
isDirect()?
nullptr:depnode);
861 myPlanttemplatesource = 1;
863 graph->
evalOpParm(myPlanttemplatesource, nodeidx,
"planttemplatesource", time, graph->
isDirect()?
nullptr:depnode);
864 myPlantlength = 0.01;
866 graph->
evalOpParm(myPlantlength, nodeidx,
"plantlength", time, graph->
isDirect()?
nullptr:depnode);
869 graph->
evalOpParm(myPlantsegcount, nodeidx,
"plantsegcount", time, graph->
isDirect()?
nullptr:depnode);
870 myDrawonskin =
false;
872 graph->
evalOpParm(myDrawonskin, nodeidx,
"drawonskin", time, graph->
isDirect()?
nullptr:depnode);
873 myDrawinterpolateorient =
false;
875 graph->
evalOpParm(myDrawinterpolateorient, nodeidx,
"drawinterpolateorient", time, graph->
isDirect()?
nullptr:depnode);
876 myDrawtemplatesource = 1;
878 graph->
evalOpParm(myDrawtemplatesource, nodeidx,
"drawtemplatesource", time, graph->
isDirect()?
nullptr:depnode);
879 myDrawlimitlength =
false;
881 graph->
evalOpParm(myDrawlimitlength, nodeidx,
"drawlimitlength", time, graph->
isDirect()?
nullptr:depnode);
884 graph->
evalOpParm(myDrawcurvetype, nodeidx,
"drawcurvetype", time, graph->
isDirect()?
nullptr:depnode);
887 graph->
evalOpParm(myDrawsegmode, nodeidx,
"drawsegmode", time, graph->
isDirect()?
nullptr:depnode);
890 graph->
evalOpParm(myDrawsegcount, nodeidx,
"drawsegcount", time, graph->
isDirect()?
nullptr:depnode);
891 myDrawseglength = 0.05;
893 graph->
evalOpParm(myDrawseglength, nodeidx,
"drawseglength", time, graph->
isDirect()?
nullptr:depnode);
894 myOrientbrushupmode = 0;
896 graph->
evalOpParm(myOrientbrushupmode, nodeidx,
"orientbrushupmode", time, graph->
isDirect()?
nullptr:depnode);
897 myOrientbrushperpoint =
false;
899 graph->
evalOpParm(myOrientbrushperpoint, nodeidx,
"orientbrushperpoint", time, graph->
isDirect()?
nullptr:depnode);
900 myPainttemplateallowblending =
false;
902 graph->
evalOpParm(myPainttemplateallowblending, nodeidx,
"painttemplateallowblending", time, graph->
isDirect()?
nullptr:depnode);
903 myEditactiveprim = 0;
905 graph->
evalOpParm(myEditactiveprim, nodeidx,
"editactiveprim", time, graph->
isDirect()?
nullptr:depnode);
908 graph->
evalOpParm(myEditsoft, nodeidx,
"editsoft", time, graph->
isDirect()?
nullptr:depnode);
911 graph->
evalOpParm(myEditsoftmode, nodeidx,
"editsoftmode", time, graph->
isDirect()?
nullptr:depnode);
914 graph->
evalOpParm(myEditcurvefrac, nodeidx,
"editcurvefrac", time, graph->
isDirect()?
nullptr:depnode);
917 graph->
evalOpParm(myEditcurvedist, nodeidx,
"editcurvedist", time, graph->
isDirect()?
nullptr:depnode);
918 myResamplesegmode = 0;
920 graph->
evalOpParm(myResamplesegmode, nodeidx,
"resamplesegmode", time, graph->
isDirect()?
nullptr:depnode);
921 myResamplesegcount = 8;
923 graph->
evalOpParm(myResamplesegcount, nodeidx,
"resamplesegcount", time, graph->
isDirect()?
nullptr:depnode);
924 myResampleseglength = 0.05;
926 graph->
evalOpParm(myResampleseglength, nodeidx,
"resampleseglength", time, graph->
isDirect()?
nullptr:depnode);
929 graph->
evalOpParm(myTwistangle, nodeidx,
"twistangle", time, graph->
isDirect()?
nullptr:depnode);
930 myCurvemaskramp =
UT_Ramp::buildFromDefault(
"1pos ( 0 ) 1value ( 1 ) 1interp ( bspline ) 2pos ( 0.14254385232925415 ) 2value ( 0.48605579137802124 ) 2interp ( bspline ) 3pos ( 0.56798243522644043 ) 3value ( 0.11952191591262817 ) 3interp ( bspline ) 4pos ( 1 ) 4value ( 0 ) 4interp ( bspline )");
932 graph->
evalOpParm(myCurvemaskramp, nodeidx,
"curvemaskramp", time, graph->
isDirect()?
nullptr:depnode);
935 graph->
evalOpParm(myGroom, nodeidx,
"groom", time, graph->
isDirect()?
nullptr:depnode);
938 graph->
evalOpParm(myStrands, nodeidx,
"strands", time, graph->
isDirect()?
nullptr:depnode);
941 graph->
evalOpParm(myStrokes, nodeidx,
"strokes", time, graph->
isDirect()?
nullptr:depnode);
942 myPreviewutil =
true;
944 graph->
evalOpParm(myPreviewutil, nodeidx,
"previewutil", time, graph->
isDirect()?
nullptr:depnode);
945 myPaintmaskpoints =
false;
947 graph->
evalOpParm(myPaintmaskpoints, nodeidx,
"paintmaskpoints", time, graph->
isDirect()?
nullptr:depnode);
948 myPaintmaskattribname =
""_UTsh;
950 graph->
evalOpParm(myPaintmaskattribname, nodeidx,
"paintmaskattribname", time, graph->
isDirect()?
nullptr:depnode);
951 myGroupnewprims =
false;
953 graph->
evalOpParm(myGroupnewprims, nodeidx,
"groupnewprims", time, graph->
isDirect()?
nullptr:depnode);
954 myNamenewprims =
true;
956 graph->
evalOpParm(myNamenewprims, nodeidx,
"namenewprims", time, graph->
isDirect()?
nullptr:depnode);
957 myActivegroup =
""_UTsh;
959 graph->
evalOpParm(myActivegroup, nodeidx,
"activegroup", time, graph->
isDirect()?
nullptr:depnode);
960 myNameattrib =
""_UTsh;
962 graph->
evalOpParm(myNameattrib, nodeidx,
"nameattrib", time, graph->
isDirect()?
nullptr:depnode);
963 myActivename =
""_UTsh;
965 graph->
evalOpParm(myActivename, nodeidx,
"activename", time, graph->
isDirect()?
nullptr:depnode);
966 myOverridecolor =
false;
968 graph->
evalOpParm(myOverridecolor, nodeidx,
"overridecolor", time, graph->
isDirect()?
nullptr:depnode);
969 myColorbyname =
false;
971 graph->
evalOpParm(myColorbyname, nodeidx,
"colorbyname", time, graph->
isDirect()?
nullptr:depnode);
974 graph->
evalOpParm(myDefaultcolor, nodeidx,
"defaultcolor", time, graph->
isDirect()?
nullptr:depnode);
977 graph->
evalOpParm(myTemplatecolor, nodeidx,
"templatecolor", time, graph->
isDirect()?
nullptr:depnode);
980 graph->
evalOpParm(myColorseed, nodeidx,
"colorseed", time, graph->
isDirect()?
nullptr:depnode);
984 graph->
evalOpParm(length, nodeidx,
"folder_grouplist", time, graph->
isDirect()?
nullptr:depnode);
985 if (length < 0) length = 0;
986 myFolder_grouplist.setSize(length);
993 auto && _curentry = myFolder_grouplist(i);
997 graph->
evalOpParmInst(_curentry.groupcolor, nodeidx,
"groupcolor#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
998 _curentry.groupname =
""_UTsh;
1000 graph->
evalOpParmInst(_curentry.groupname, nodeidx,
"groupname#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
1001 _curentry.groupoptions = 0;
1003 graph->
evalOpParmInst(_curentry.groupoptions, nodeidx,
"groupoptions#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
1008 myFolder_grouplist.clear();
1026 graph->
evalOpParm(myShear, nodeidx,
"shear", time, graph->
isDirect()?
nullptr:depnode);
1029 graph->
evalOpParm(myScale, nodeidx,
"scale", time, graph->
isDirect()?
nullptr:depnode);
1038 graph->
evalOpParm(myCamxform0, nodeidx,
"camxform0", time, graph->
isDirect()?
nullptr:depnode);
1041 graph->
evalOpParm(myCamxform1, nodeidx,
"camxform1", time, graph->
isDirect()?
nullptr:depnode);
1044 graph->
evalOpParm(myCamxform2, nodeidx,
"camxform2", time, graph->
isDirect()?
nullptr:depnode);
1047 graph->
evalOpParm(myCamxform3, nodeidx,
"camxform3", time, graph->
isDirect()?
nullptr:depnode);
1050 graph->
evalOpParm(myCampos, nodeidx,
"campos", time, graph->
isDirect()?
nullptr:depnode);
1053 graph->
evalOpParm(myCursorpos, nodeidx,
"cursorpos", time, graph->
isDirect()?
nullptr:depnode);
1054 myCursordisplace = 0;
1056 graph->
evalOpParm(myCursordisplace, nodeidx,
"cursordisplace", time, graph->
isDirect()?
nullptr:depnode);
1059 graph->
evalOpParm(myRaypos, nodeidx,
"raypos", time, graph->
isDirect()?
nullptr:depnode);
1062 graph->
evalOpParm(myRaydir, nodeidx,
"raydir", time, graph->
isDirect()?
nullptr:depnode);
1063 myStrengthscale = 0;
1065 graph->
evalOpParm(myStrengthscale, nodeidx,
"strengthscale", time, graph->
isDirect()?
nullptr:depnode);
1068 graph->
evalOpParm(myButton, nodeidx,
"button", time, graph->
isDirect()?
nullptr:depnode);
1071 graph->
evalOpParm(myShiftkey, nodeidx,
"shiftkey", time, graph->
isDirect()?
nullptr:depnode);
1074 graph->
evalOpParm(myCtrlkey, nodeidx,
"ctrlkey", time, graph->
isDirect()?
nullptr:depnode);
1090 template <
typename T>
1097 if (idx.
size() != instance.
size()+1)
1102 coerceValue(value, myStashnode);
1105 coerceValue(value, myGroup);
1108 coerceValue(value, myGrouptype);
1111 coerceValue(value, myUsemask);
1114 coerceValue(value, myMirrorbrush);
1117 coerceValue(value, myMirror);
1120 coerceValue(value, myMirrorgroup);
1123 coerceValue(value, myMirrororigin);
1126 coerceValue(value, myMirrordir);
1129 coerceValue(value, myDeltatools);
1132 coerceValue(value, myTool);
1135 coerceValue(value, myRaybias);
1138 coerceValue(value, myStrandmode);
1141 coerceValue(value, myCollidewithskin);
1144 coerceValue(value, myCreateorient);
1147 coerceValue(value, myOrientname);
1150 coerceValue(value, myOrientup);
1153 coerceValue(value, myOrientupattrib);
1156 coerceValue(value, myOrientupattribflip);
1159 coerceValue(value, myTemplatesourcegroup);
1162 coerceValue(value, myCreatewidth);
1165 coerceValue(value, myWidthoverride);
1168 coerceValue(value, myWidth);
1171 coerceValue(value, myBrushsurface);
1174 coerceValue(value, myUsepartinglines);
1177 coerceValue(value, myScreenradius);
1180 coerceValue(value, myObjectradius);
1183 coerceValue(value, mySoft);
1186 coerceValue(value, mySpacing);
1189 coerceValue(value, myDensity);
1192 coerceValue(value, myBrushmaintainlength);
1195 coerceValue(value, myBrushsnaptosurface);
1198 coerceValue(value, myBrushbend);
1201 coerceValue(value, myBrushbendfalloff);
1204 coerceValue(value, myLiftmode);
1207 coerceValue(value, myLiftangle);
1210 coerceValue(value, myAdjustlengthmode);
1213 coerceValue(value, myAdjustlengthvalue);
1216 coerceValue(value, myAdjustlengthlength);
1219 coerceValue(value, myAdjustlengthmethod);
1222 coerceValue(value, myMoverotatewithskin);
1225 coerceValue(value, mySculptdoconstrain);
1228 coerceValue(value, mySculptlockroot);
1231 coerceValue(value, mySculptmaintainevensegments);
1234 coerceValue(value, mySmoothtargetsmoothness);
1237 coerceValue(value, mySmoothposition);
1240 coerceValue(value, mySmoothorient);
1243 coerceValue(value, myBlurinskinspace);
1246 coerceValue(value, myBlurperpoint);
1249 coerceValue(value, myBlurshape);
1252 coerceValue(value, myBlurlength);
1255 coerceValue(value, myBlurorient);
1258 coerceValue(value, myCutmode);
1261 coerceValue(value, myClumpperpoint);
1264 coerceValue(value, myPlantmode);
1267 coerceValue(value, myPlantinterpolateguides);
1270 coerceValue(value, myPlantinterpolaterelskin);
1273 coerceValue(value, myPlantinterpolateorient);
1276 coerceValue(value, myPlanttemplatesource);
1279 coerceValue(value, myPlantlength);
1282 coerceValue(value, myPlantsegcount);
1285 coerceValue(value, myDrawonskin);
1288 coerceValue(value, myDrawinterpolateorient);
1291 coerceValue(value, myDrawtemplatesource);
1294 coerceValue(value, myDrawlimitlength);
1297 coerceValue(value, myDrawcurvetype);
1300 coerceValue(value, myDrawsegmode);
1303 coerceValue(value, myDrawsegcount);
1306 coerceValue(value, myDrawseglength);
1309 coerceValue(value, myOrientbrushupmode);
1312 coerceValue(value, myOrientbrushperpoint);
1315 coerceValue(value, myPainttemplateallowblending);
1318 coerceValue(value, myEditactiveprim);
1321 coerceValue(value, myEditsoft);
1324 coerceValue(value, myEditsoftmode);
1327 coerceValue(value, myEditcurvefrac);
1330 coerceValue(value, myEditcurvedist);
1333 coerceValue(value, myResamplesegmode);
1336 coerceValue(value, myResamplesegcount);
1339 coerceValue(value, myResampleseglength);
1342 coerceValue(value, myTwistangle);
1345 coerceValue(value, myCurvemaskramp);
1348 coerceValue(value, myGroom);
1351 coerceValue(value, myStrands);
1354 coerceValue(value, myStrokes);
1357 coerceValue(value, myPreviewutil);
1360 coerceValue(value, myPaintmaskpoints);
1363 coerceValue(value, myPaintmaskattribname);
1366 coerceValue(value, myGroupnewprims);
1369 coerceValue(value, myNamenewprims);
1372 coerceValue(value, myActivegroup);
1375 coerceValue(value, myNameattrib);
1378 coerceValue(value, myActivename);
1381 coerceValue(value, myOverridecolor);
1384 coerceValue(value, myColorbyname);
1387 coerceValue(value, myDefaultcolor);
1390 coerceValue(value, myTemplatecolor);
1393 coerceValue(value, myColorseed);
1396 if (idx.
size() == 1)
1397 coerceValue(value, myFolder_grouplist.entries());
1398 else if (instance[0] < myFolder_grouplist.entries())
1400 auto && _data = myFolder_grouplist(instance[0]);
1404 coerceValue(value, _data.groupcolor);
1407 coerceValue(value, _data.groupname);
1410 coerceValue(value, _data.groupoptions);
1417 coerceValue(value, myXord);
1420 coerceValue(value, myRord);
1423 coerceValue(value, myT);
1426 coerceValue(value, myR);
1429 coerceValue(value, myS);
1432 coerceValue(value, myShear);
1435 coerceValue(value, myScale);
1438 coerceValue(value, myP);
1441 coerceValue(value, myPr);
1444 coerceValue(value, myCamxform0);
1447 coerceValue(value, myCamxform1);
1450 coerceValue(value, myCamxform2);
1453 coerceValue(value, myCamxform3);
1456 coerceValue(value, myCampos);
1459 coerceValue(value, myCursorpos);
1462 coerceValue(value, myCursordisplace);
1465 coerceValue(value, myRaypos);
1468 coerceValue(value, myRaydir);
1471 coerceValue(value, myStrengthscale);
1474 coerceValue(value, myButton);
1477 coerceValue(value, myShiftkey);
1480 coerceValue(value, myCtrlkey);
1496 { doGetParmValue(idx, instance, value); }
1498 { doGetParmValue(idx, instance, value); }
1500 { doGetParmValue(idx, instance, value); }
1502 { doGetParmValue(idx, instance, value); }
1504 { doGetParmValue(idx, instance, value); }
1506 { doGetParmValue(idx, instance, value); }
1508 { doGetParmValue(idx, instance, value); }
1510 { doGetParmValue(idx, instance, value); }
1512 { doGetParmValue(idx, instance, value); }
1514 { doGetParmValue(idx, instance, value); }
1516 { doGetParmValue(idx, instance, value); }
1518 template <
typename T>
1525 if (idx.
size() != instance.
size()+1)
1530 coerceValue(myStashnode, ( ( value ) ));
1533 coerceValue(myGroup, ( ( value ) ));
1536 coerceValue(myGrouptype, clampMinValue(0, clampMaxValue(4, value ) ));
1539 coerceValue(myUsemask, ( ( value ) ));
1542 coerceValue(myMirrorbrush, ( ( value ) ));
1545 coerceValue(myMirror, ( ( value ) ));
1548 coerceValue(myMirrorgroup, ( ( value ) ));
1551 coerceValue(myMirrororigin, ( ( value ) ));
1554 coerceValue(myMirrordir, ( ( value ) ));
1557 coerceValue(myDeltatools, ( ( value ) ));
1560 coerceValue(myTool, ( ( value ) ));
1563 coerceValue(myRaybias, ( ( value ) ));
1566 coerceValue(myStrandmode, ( ( value ) ));
1569 coerceValue(myCollidewithskin, ( ( value ) ));
1572 coerceValue(myCreateorient, ( ( value ) ));
1575 coerceValue(myOrientname, ( ( value ) ));
1578 coerceValue(myOrientup, ( ( value ) ));
1581 coerceValue(myOrientupattrib, ( ( value ) ));
1584 coerceValue(myOrientupattribflip, ( ( value ) ));
1587 coerceValue(myTemplatesourcegroup, ( ( value ) ));
1590 coerceValue(myCreatewidth, ( ( value ) ));
1593 coerceValue(myWidthoverride, ( ( value ) ));
1596 coerceValue(myWidth, ( ( value ) ));
1599 coerceValue(myBrushsurface, ( ( value ) ));
1602 coerceValue(myUsepartinglines, ( ( value ) ));
1605 coerceValue(myScreenradius, ( ( value ) ));
1608 coerceValue(myObjectradius, ( ( value ) ));
1611 coerceValue(mySoft, ( ( value ) ));
1614 coerceValue(mySpacing, ( ( value ) ));
1617 coerceValue(myDensity, ( ( value ) ));
1620 coerceValue(myBrushmaintainlength, ( ( value ) ));
1623 coerceValue(myBrushsnaptosurface, ( ( value ) ));
1626 coerceValue(myBrushbend, ( ( value ) ));
1629 coerceValue(myBrushbendfalloff, ( ( value ) ));
1632 coerceValue(myLiftmode, clampMinValue(0, clampMaxValue(1, value ) ));
1635 coerceValue(myLiftangle, ( ( value ) ));
1638 coerceValue(myAdjustlengthmode, clampMinValue(0, clampMaxValue(1, value ) ));
1641 coerceValue(myAdjustlengthvalue, ( ( value ) ));
1644 coerceValue(myAdjustlengthlength, ( ( value ) ));
1647 coerceValue(myAdjustlengthmethod, clampMinValue(0, clampMaxValue(1, value ) ));
1650 coerceValue(myMoverotatewithskin, ( ( value ) ));
1653 coerceValue(mySculptdoconstrain, ( ( value ) ));
1656 coerceValue(mySculptlockroot, ( ( value ) ));
1659 coerceValue(mySculptmaintainevensegments, ( ( value ) ));
1662 coerceValue(mySmoothtargetsmoothness, ( ( value ) ));
1665 coerceValue(mySmoothposition, ( ( value ) ));
1668 coerceValue(mySmoothorient, ( ( value ) ));
1671 coerceValue(myBlurinskinspace, ( ( value ) ));
1674 coerceValue(myBlurperpoint, ( ( value ) ));
1677 coerceValue(myBlurshape, ( ( value ) ));
1680 coerceValue(myBlurlength, ( ( value ) ));
1683 coerceValue(myBlurorient, ( ( value ) ));
1686 coerceValue(myCutmode, clampMinValue(0, clampMaxValue(1, value ) ));
1689 coerceValue(myClumpperpoint, ( ( value ) ));
1692 coerceValue(myPlantmode, clampMinValue(0, clampMaxValue(1, value ) ));
1695 coerceValue(myPlantinterpolateguides, ( ( value ) ));
1698 coerceValue(myPlantinterpolaterelskin, ( ( value ) ));
1701 coerceValue(myPlantinterpolateorient, ( ( value ) ));
1704 coerceValue(myPlanttemplatesource, clampMinValue(0, clampMaxValue(2, value ) ));
1707 coerceValue(myPlantlength, ( ( value ) ));
1710 coerceValue(myPlantsegcount, ( ( value ) ));
1713 coerceValue(myDrawonskin, ( ( value ) ));
1716 coerceValue(myDrawinterpolateorient, ( ( value ) ));
1719 coerceValue(myDrawtemplatesource, clampMinValue(0, clampMaxValue(2, value ) ));
1722 coerceValue(myDrawlimitlength, ( ( value ) ));
1725 coerceValue(myDrawcurvetype, clampMinValue(0, clampMaxValue(1, value ) ));
1728 coerceValue(myDrawsegmode, clampMinValue(0, clampMaxValue(1, value ) ));
1731 coerceValue(myDrawsegcount, ( ( value ) ));
1734 coerceValue(myDrawseglength, ( ( value ) ));
1737 coerceValue(myOrientbrushupmode, clampMinValue(0, clampMaxValue(3, value ) ));
1740 coerceValue(myOrientbrushperpoint, ( ( value ) ));
1743 coerceValue(myPainttemplateallowblending, ( ( value ) ));
1746 coerceValue(myEditactiveprim, ( ( value ) ));
1749 coerceValue(myEditsoft, ( ( value ) ));
1752 coerceValue(myEditsoftmode, clampMinValue(0, clampMaxValue(2, value ) ));
1755 coerceValue(myEditcurvefrac, ( ( value ) ));
1758 coerceValue(myEditcurvedist, ( ( value ) ));
1761 coerceValue(myResamplesegmode, clampMinValue(0, clampMaxValue(3, value ) ));
1764 coerceValue(myResamplesegcount, ( ( value ) ));
1767 coerceValue(myResampleseglength, ( ( value ) ));
1770 coerceValue(myTwistangle, ( ( value ) ));
1773 coerceValue(myCurvemaskramp, clampMinValue(0, ( value ) ));
1776 coerceValue(myGroom, ( ( value ) ));
1779 coerceValue(myStrands, ( ( value ) ));
1782 coerceValue(myStrokes, ( ( value ) ));
1785 coerceValue(myPreviewutil, ( ( value ) ));
1788 coerceValue(myPaintmaskpoints, ( ( value ) ));
1791 coerceValue(myPaintmaskattribname, ( ( value ) ));
1794 coerceValue(myGroupnewprims, ( ( value ) ));
1797 coerceValue(myNamenewprims, ( ( value ) ));
1800 coerceValue(myActivegroup, ( ( value ) ));
1803 coerceValue(myNameattrib, ( ( value ) ));
1806 coerceValue(myActivename, ( ( value ) ));
1809 coerceValue(myOverridecolor, ( ( value ) ));
1812 coerceValue(myColorbyname, ( ( value ) ));
1815 coerceValue(myDefaultcolor, ( ( value ) ));
1818 coerceValue(myTemplatecolor, ( ( value ) ));
1821 coerceValue(myColorseed, ( ( value ) ));
1824 if (idx.
size() == 1)
1827 coerceValue(newsize, value);
1828 if (newsize < 0) newsize = 0;
1829 myFolder_grouplist.setSize(newsize);
1833 if (instance[0] < 0)
1835 myFolder_grouplist.setSizeIfNeeded(instance[0]+1);
1836 auto && _data = myFolder_grouplist(instance[0]);
1840 coerceValue(_data.groupcolor, value);
1843 coerceValue(_data.groupname, value);
1846 coerceValue(_data.groupoptions, value);
1853 coerceValue(myXord, clampMinValue(0, clampMaxValue(5, value ) ));
1856 coerceValue(myRord, clampMinValue(0, clampMaxValue(5, value ) ));
1859 coerceValue(myT, ( ( value ) ));
1862 coerceValue(myR, ( ( value ) ));
1865 coerceValue(myS, ( ( value ) ));
1868 coerceValue(myShear, ( ( value ) ));
1871 coerceValue(myScale, ( ( value ) ));
1874 coerceValue(myP, ( ( value ) ));
1877 coerceValue(myPr, ( ( value ) ));
1880 coerceValue(myCamxform0, ( ( value ) ));
1883 coerceValue(myCamxform1, ( ( value ) ));
1886 coerceValue(myCamxform2, ( ( value ) ));
1889 coerceValue(myCamxform3, ( ( value ) ));
1892 coerceValue(myCampos, ( ( value ) ));
1895 coerceValue(myCursorpos, ( ( value ) ));
1898 coerceValue(myCursordisplace, ( ( value ) ));
1901 coerceValue(myRaypos, ( ( value ) ));
1904 coerceValue(myRaydir, ( ( value ) ));
1907 coerceValue(myStrengthscale, ( ( value ) ));
1910 coerceValue(myButton, clampMinValue(0, clampMaxValue(2, value ) ));
1913 coerceValue(myShiftkey, ( ( value ) ));
1916 coerceValue(myCtrlkey, ( ( value ) ));
1923 { doSetParmValue(idx, instance, value); }
1925 { doSetParmValue(idx, instance, value); }
1927 { doSetParmValue(idx, instance, value); }
1929 { doSetParmValue(idx, instance, value); }
1931 { doSetParmValue(idx, instance, value); }
1933 { doSetParmValue(idx, instance, value); }
1935 { doSetParmValue(idx, instance, value); }
1937 { doSetParmValue(idx, instance, value); }
1939 { doSetParmValue(idx, instance, value); }
1941 { doSetParmValue(idx, instance, value); }
1943 { doSetParmValue(idx, instance, value); }
1947 if (idx.
size() == 0)
1961 if (fieldnum.
size() < 1)
1963 switch (fieldnum[0])
1974 return "mirrorbrush";
1978 return "mirrorgroup";
1980 return "mirrororigin";
1984 return "deltatools";
1990 return "strandmode";
1992 return "collidewithskin";
1994 return "createorient";
1996 return "orientname";
2000 return "orientupattrib";
2002 return "orientupattribflip";
2004 return "templatesourcegroup";
2006 return "createwidth";
2008 return "widthoverride";
2012 return "brushsurface";
2014 return "usepartinglines";
2016 return "screenradius";
2018 return "objectradius";
2026 return "brushmaintainlength";
2028 return "brushsnaptosurface";
2032 return "brushbendfalloff";
2038 return "adjustlengthmode";
2040 return "adjustlengthvalue";
2042 return "adjustlengthlength";
2044 return "adjustlengthmethod";
2046 return "moverotatewithskin";
2048 return "sculptdoconstrain";
2050 return "sculptlockroot";
2052 return "sculptmaintainevensegments";
2054 return "smoothtargetsmoothness";
2056 return "smoothposition";
2058 return "smoothorient";
2060 return "blurinskinspace";
2062 return "blurperpoint";
2066 return "blurlength";
2068 return "blurorient";
2072 return "clumpperpoint";
2076 return "plantinterpolateguides";
2078 return "plantinterpolaterelskin";
2080 return "plantinterpolateorient";
2082 return "planttemplatesource";
2084 return "plantlength";
2086 return "plantsegcount";
2088 return "drawonskin";
2090 return "drawinterpolateorient";
2092 return "drawtemplatesource";
2094 return "drawlimitlength";
2096 return "drawcurvetype";
2098 return "drawsegmode";
2100 return "drawsegcount";
2102 return "drawseglength";
2104 return "orientbrushupmode";
2106 return "orientbrushperpoint";
2108 return "painttemplateallowblending";
2110 return "editactiveprim";
2114 return "editsoftmode";
2116 return "editcurvefrac";
2118 return "editcurvedist";
2120 return "resamplesegmode";
2122 return "resamplesegcount";
2124 return "resampleseglength";
2126 return "twistangle";
2128 return "curvemaskramp";
2136 return "previewutil";
2138 return "paintmaskpoints";
2140 return "paintmaskattribname";
2142 return "groupnewprims";
2144 return "namenewprims";
2146 return "activegroup";
2148 return "nameattrib";
2150 return "activename";
2152 return "overridecolor";
2154 return "colorbyname";
2156 return "defaultcolor";
2158 return "templatecolor";
2162 if (fieldnum.
size() == 1)
2163 return "folder_grouplist";
2164 switch (fieldnum[1])
2167 return "groupcolor#";
2169 return "groupname#";
2171 return "groupoptions#";
2206 return "cursordisplace";
2212 return "strengthscale";
2226 if (fieldnum.
size() < 1)
2227 return PARM_UNSUPPORTED;
2228 switch (fieldnum[0])
2235 return PARM_INTEGER;
2237 return PARM_INTEGER;
2239 return PARM_INTEGER;
2241 return PARM_INTEGER;
2245 return PARM_VECTOR3;
2247 return PARM_VECTOR3;
2249 return PARM_INTEGER;
2251 return PARM_INTEGER;
2255 return PARM_INTEGER;
2257 return PARM_INTEGER;
2259 return PARM_INTEGER;
2263 return PARM_VECTOR3;
2267 return PARM_INTEGER;
2271 return PARM_INTEGER;
2273 return PARM_INTEGER;
2277 return PARM_INTEGER;
2279 return PARM_INTEGER;
2293 return PARM_INTEGER;
2299 return PARM_INTEGER;
2303 return PARM_INTEGER;
2309 return PARM_INTEGER;
2311 return PARM_INTEGER;
2313 return PARM_INTEGER;
2315 return PARM_INTEGER;
2317 return PARM_INTEGER;
2321 return PARM_INTEGER;
2323 return PARM_INTEGER;
2325 return PARM_INTEGER;
2327 return PARM_INTEGER;
2329 return PARM_INTEGER;
2331 return PARM_INTEGER;
2333 return PARM_INTEGER;
2335 return PARM_INTEGER;
2337 return PARM_INTEGER;
2339 return PARM_INTEGER;
2341 return PARM_INTEGER;
2343 return PARM_INTEGER;
2345 return PARM_INTEGER;
2347 return PARM_INTEGER;
2351 return PARM_INTEGER;
2353 return PARM_INTEGER;
2355 return PARM_INTEGER;
2357 return PARM_INTEGER;
2359 return PARM_INTEGER;
2361 return PARM_INTEGER;
2363 return PARM_INTEGER;
2365 return PARM_INTEGER;
2369 return PARM_INTEGER;
2371 return PARM_INTEGER;
2373 return PARM_INTEGER;
2375 return PARM_INTEGER;
2377 return PARM_INTEGER;
2379 return PARM_INTEGER;
2385 return PARM_INTEGER;
2387 return PARM_INTEGER;
2401 return PARM_INTEGER;
2403 return PARM_INTEGER;
2407 return PARM_INTEGER;
2409 return PARM_INTEGER;
2417 return PARM_INTEGER;
2419 return PARM_INTEGER;
2421 return PARM_VECTOR3;
2423 return PARM_VECTOR3;
2425 return PARM_INTEGER;
2427 if (fieldnum.
size() == 1)
2428 return PARM_MULTIPARM;
2429 switch (fieldnum[1])
2432 return PARM_VECTOR3;
2436 return PARM_INTEGER;
2439 return PARM_UNSUPPORTED;
2441 return PARM_INTEGER;
2443 return PARM_INTEGER;
2445 return PARM_VECTOR3;
2447 return PARM_VECTOR3;
2449 return PARM_VECTOR3;
2451 return PARM_VECTOR3;
2455 return PARM_VECTOR3;
2457 return PARM_VECTOR3;
2459 return PARM_VECTOR4;
2461 return PARM_VECTOR4;
2463 return PARM_VECTOR4;
2465 return PARM_VECTOR4;
2467 return PARM_VECTOR3;
2469 return PARM_VECTOR2;
2471 return PARM_VECTOR3;
2473 return PARM_VECTOR3;
2475 return PARM_VECTOR3;
2479 return PARM_INTEGER;
2481 return PARM_INTEGER;
2483 return PARM_INTEGER;
2486 return PARM_UNSUPPORTED;
2491 { is.
bread(&v, 1); }
2522 loadData(is, rampdata);
2540 int typelen = colon - data.
buffer();
2552 { UTwrite(os, &v); }
2554 {
int64 iv =
v; UTwrite(os, &iv); }
2556 { UTwrite<fpreal64>(os, &
v); }
2558 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
2560 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
2561 UTwrite<fpreal64>(os, &v.
z()); }
2563 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
2564 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
2576 if (s) s->save(ostr);
2577 result = ostr.
str();
2578 saveData(os, result);
2585 ostr << s->getDataTypeToken();
2587 s->saveBinary(ostr);
2589 result = ostr.
str();
2590 saveData(os, result);
2598 saveData(os, myStashnode);
2599 saveData(os, myGroup);
2600 saveData(os, myGrouptype);
2601 saveData(os, myUsemask);
2602 saveData(os, myMirrorbrush);
2603 saveData(os, myMirror);
2604 saveData(os, myMirrorgroup);
2605 saveData(os, myMirrororigin);
2606 saveData(os, myMirrordir);
2607 saveData(os, myDeltatools);
2608 saveData(os, myTool);
2609 saveData(os, myRaybias);
2610 saveData(os, myStrandmode);
2611 saveData(os, myCollidewithskin);
2612 saveData(os, myCreateorient);
2613 saveData(os, myOrientname);
2614 saveData(os, myOrientup);
2615 saveData(os, myOrientupattrib);
2616 saveData(os, myOrientupattribflip);
2617 saveData(os, myTemplatesourcegroup);
2618 saveData(os, myCreatewidth);
2619 saveData(os, myWidthoverride);
2620 saveData(os, myWidth);
2621 saveData(os, myBrushsurface);
2622 saveData(os, myUsepartinglines);
2623 saveData(os, myScreenradius);
2624 saveData(os, myObjectradius);
2625 saveData(os, mySoft);
2626 saveData(os, mySpacing);
2627 saveData(os, myDensity);
2628 saveData(os, myBrushmaintainlength);
2629 saveData(os, myBrushsnaptosurface);
2630 saveData(os, myBrushbend);
2631 saveData(os, myBrushbendfalloff);
2632 saveData(os, myLiftmode);
2633 saveData(os, myLiftangle);
2634 saveData(os, myAdjustlengthmode);
2635 saveData(os, myAdjustlengthvalue);
2636 saveData(os, myAdjustlengthlength);
2637 saveData(os, myAdjustlengthmethod);
2638 saveData(os, myMoverotatewithskin);
2639 saveData(os, mySculptdoconstrain);
2640 saveData(os, mySculptlockroot);
2641 saveData(os, mySculptmaintainevensegments);
2642 saveData(os, mySmoothtargetsmoothness);
2643 saveData(os, mySmoothposition);
2644 saveData(os, mySmoothorient);
2645 saveData(os, myBlurinskinspace);
2646 saveData(os, myBlurperpoint);
2647 saveData(os, myBlurshape);
2648 saveData(os, myBlurlength);
2649 saveData(os, myBlurorient);
2650 saveData(os, myCutmode);
2651 saveData(os, myClumpperpoint);
2652 saveData(os, myPlantmode);
2653 saveData(os, myPlantinterpolateguides);
2654 saveData(os, myPlantinterpolaterelskin);
2655 saveData(os, myPlantinterpolateorient);
2656 saveData(os, myPlanttemplatesource);
2657 saveData(os, myPlantlength);
2658 saveData(os, myPlantsegcount);
2659 saveData(os, myDrawonskin);
2660 saveData(os, myDrawinterpolateorient);
2661 saveData(os, myDrawtemplatesource);
2662 saveData(os, myDrawlimitlength);
2663 saveData(os, myDrawcurvetype);
2664 saveData(os, myDrawsegmode);
2665 saveData(os, myDrawsegcount);
2666 saveData(os, myDrawseglength);
2667 saveData(os, myOrientbrushupmode);
2668 saveData(os, myOrientbrushperpoint);
2669 saveData(os, myPainttemplateallowblending);
2670 saveData(os, myEditactiveprim);
2671 saveData(os, myEditsoft);
2672 saveData(os, myEditsoftmode);
2673 saveData(os, myEditcurvefrac);
2674 saveData(os, myEditcurvedist);
2675 saveData(os, myResamplesegmode);
2676 saveData(os, myResamplesegcount);
2677 saveData(os, myResampleseglength);
2678 saveData(os, myTwistangle);
2679 saveData(os, myCurvemaskramp);
2680 saveData(os, myGroom);
2681 saveData(os, myStrands);
2682 saveData(os, myStrokes);
2683 saveData(os, myPreviewutil);
2684 saveData(os, myPaintmaskpoints);
2685 saveData(os, myPaintmaskattribname);
2686 saveData(os, myGroupnewprims);
2687 saveData(os, myNamenewprims);
2688 saveData(os, myActivegroup);
2689 saveData(os, myNameattrib);
2690 saveData(os, myActivename);
2691 saveData(os, myOverridecolor);
2692 saveData(os, myColorbyname);
2693 saveData(os, myDefaultcolor);
2694 saveData(os, myTemplatecolor);
2695 saveData(os, myColorseed);
2698 UTwrite(os, &length);
2701 auto && _curentry = myFolder_grouplist(i);
2703 saveData(os, _curentry.groupcolor);
2704 saveData(os, _curentry.groupname);
2705 saveData(os, _curentry.groupoptions);
2709 saveData(os, myXord);
2710 saveData(os, myRord);
2714 saveData(os, myShear);
2715 saveData(os, myScale);
2718 saveData(os, myCamxform0);
2719 saveData(os, myCamxform1);
2720 saveData(os, myCamxform2);
2721 saveData(os, myCamxform3);
2722 saveData(os, myCampos);
2723 saveData(os, myCursorpos);
2724 saveData(os, myCursordisplace);
2725 saveData(os, myRaypos);
2726 saveData(os, myRaydir);
2727 saveData(os, myStrengthscale);
2728 saveData(os, myButton);
2729 saveData(os, myShiftkey);
2730 saveData(os, myCtrlkey);
2743 loadData(is, myStashnode);
2744 loadData(is, myGroup);
2745 loadData(is, myGrouptype);
2746 loadData(is, myUsemask);
2747 loadData(is, myMirrorbrush);
2748 loadData(is, myMirror);
2749 loadData(is, myMirrorgroup);
2750 loadData(is, myMirrororigin);
2751 loadData(is, myMirrordir);
2752 loadData(is, myDeltatools);
2753 loadData(is, myTool);
2754 loadData(is, myRaybias);
2755 loadData(is, myStrandmode);
2756 loadData(is, myCollidewithskin);
2757 loadData(is, myCreateorient);
2758 loadData(is, myOrientname);
2759 loadData(is, myOrientup);
2760 loadData(is, myOrientupattrib);
2761 loadData(is, myOrientupattribflip);
2762 loadData(is, myTemplatesourcegroup);
2763 loadData(is, myCreatewidth);
2764 loadData(is, myWidthoverride);
2765 loadData(is, myWidth);
2766 loadData(is, myBrushsurface);
2767 loadData(is, myUsepartinglines);
2768 loadData(is, myScreenradius);
2769 loadData(is, myObjectradius);
2770 loadData(is, mySoft);
2771 loadData(is, mySpacing);
2772 loadData(is, myDensity);
2773 loadData(is, myBrushmaintainlength);
2774 loadData(is, myBrushsnaptosurface);
2775 loadData(is, myBrushbend);
2776 loadData(is, myBrushbendfalloff);
2777 loadData(is, myLiftmode);
2778 loadData(is, myLiftangle);
2779 loadData(is, myAdjustlengthmode);
2780 loadData(is, myAdjustlengthvalue);
2781 loadData(is, myAdjustlengthlength);
2782 loadData(is, myAdjustlengthmethod);
2783 loadData(is, myMoverotatewithskin);
2784 loadData(is, mySculptdoconstrain);
2785 loadData(is, mySculptlockroot);
2786 loadData(is, mySculptmaintainevensegments);
2787 loadData(is, mySmoothtargetsmoothness);
2788 loadData(is, mySmoothposition);
2789 loadData(is, mySmoothorient);
2790 loadData(is, myBlurinskinspace);
2791 loadData(is, myBlurperpoint);
2792 loadData(is, myBlurshape);
2793 loadData(is, myBlurlength);
2794 loadData(is, myBlurorient);
2795 loadData(is, myCutmode);
2796 loadData(is, myClumpperpoint);
2797 loadData(is, myPlantmode);
2798 loadData(is, myPlantinterpolateguides);
2799 loadData(is, myPlantinterpolaterelskin);
2800 loadData(is, myPlantinterpolateorient);
2801 loadData(is, myPlanttemplatesource);
2802 loadData(is, myPlantlength);
2803 loadData(is, myPlantsegcount);
2804 loadData(is, myDrawonskin);
2805 loadData(is, myDrawinterpolateorient);
2806 loadData(is, myDrawtemplatesource);
2807 loadData(is, myDrawlimitlength);
2808 loadData(is, myDrawcurvetype);
2809 loadData(is, myDrawsegmode);
2810 loadData(is, myDrawsegcount);
2811 loadData(is, myDrawseglength);
2812 loadData(is, myOrientbrushupmode);
2813 loadData(is, myOrientbrushperpoint);
2814 loadData(is, myPainttemplateallowblending);
2815 loadData(is, myEditactiveprim);
2816 loadData(is, myEditsoft);
2817 loadData(is, myEditsoftmode);
2818 loadData(is, myEditcurvefrac);
2819 loadData(is, myEditcurvedist);
2820 loadData(is, myResamplesegmode);
2821 loadData(is, myResamplesegcount);
2822 loadData(is, myResampleseglength);
2823 loadData(is, myTwistangle);
2824 loadData(is, myCurvemaskramp);
2825 loadData(is, myGroom);
2826 loadData(is, myStrands);
2827 loadData(is, myStrokes);
2828 loadData(is, myPreviewutil);
2829 loadData(is, myPaintmaskpoints);
2830 loadData(is, myPaintmaskattribname);
2831 loadData(is, myGroupnewprims);
2832 loadData(is, myNamenewprims);
2833 loadData(is, myActivegroup);
2834 loadData(is, myNameattrib);
2835 loadData(is, myActivename);
2836 loadData(is, myOverridecolor);
2837 loadData(is, myColorbyname);
2838 loadData(is, myDefaultcolor);
2839 loadData(is, myTemplatecolor);
2840 loadData(is, myColorseed);
2843 is.
read(&length, 1);
2844 myFolder_grouplist.setSize(length);
2847 auto && _curentry = myFolder_grouplist(i);
2849 loadData(is, _curentry.groupcolor);
2850 loadData(is, _curentry.groupname);
2851 loadData(is, _curentry.groupoptions);
2855 loadData(is, myXord);
2856 loadData(is, myRord);
2860 loadData(is, myShear);
2861 loadData(is, myScale);
2864 loadData(is, myCamxform0);
2865 loadData(is, myCamxform1);
2866 loadData(is, myCamxform2);
2867 loadData(is, myCamxform3);
2868 loadData(is, myCampos);
2869 loadData(is, myCursorpos);
2870 loadData(is, myCursordisplace);
2871 loadData(is, myRaypos);
2872 loadData(is, myRaydir);
2873 loadData(is, myStrengthscale);
2874 loadData(is, myButton);
2875 loadData(is, myShiftkey);
2876 loadData(is, myCtrlkey);
2886 if (!thissop)
return getStashnode();
2888 OP_Utils::evalOpParm(result, thissop,
"stashnode", cookparms.
getCookTime(), 0);
2896 if (!thissop)
return getGroup();
2898 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
2906 if (!thissop)
return getGrouptype();
2908 OP_Utils::evalOpParm(result, thissop,
"grouptype", cookparms.
getCookTime(), 0);
2916 if (!thissop)
return getUsemask();
2918 OP_Utils::evalOpParm(result, thissop,
"usemask", cookparms.
getCookTime(), 0);
2926 if (!thissop)
return getMirrorbrush();
2928 OP_Utils::evalOpParm(result, thissop,
"mirrorbrush", cookparms.
getCookTime(), 0);
2936 if (!thissop)
return getMirror();
2938 OP_Utils::evalOpParm(result, thissop,
"mirror", cookparms.
getCookTime(), 0);
2946 if (!thissop)
return getMirrorgroup();
2948 OP_Utils::evalOpParm(result, thissop,
"mirrorgroup", cookparms.
getCookTime(), 0);
2956 if (!thissop)
return getMirrororigin();
2958 OP_Utils::evalOpParm(result, thissop,
"mirrororigin", cookparms.
getCookTime(), 0);
2966 if (!thissop)
return getMirrordir();
2968 OP_Utils::evalOpParm(result, thissop,
"mirrordir", cookparms.
getCookTime(), 0);
2976 if (!thissop)
return getDeltatools();
2978 OP_Utils::evalOpParm(result, thissop,
"deltatools", cookparms.
getCookTime(), 0);
2986 if (!thissop)
return getTool();
2988 OP_Utils::evalOpParm(result, thissop,
"tool", cookparms.
getCookTime(), 0);
2996 if (!thissop)
return getRaybias();
2998 OP_Utils::evalOpParm(result, thissop,
"raybias", cookparms.
getCookTime(), 0);
3006 if (!thissop)
return getStrandmode();
3008 OP_Utils::evalOpParm(result, thissop,
"strandmode", cookparms.
getCookTime(), 0);
3016 if (!thissop)
return getCollidewithskin();
3018 OP_Utils::evalOpParm(result, thissop,
"collidewithskin", cookparms.
getCookTime(), 0);
3026 if (!thissop)
return getCreateorient();
3028 OP_Utils::evalOpParm(result, thissop,
"createorient", cookparms.
getCookTime(), 0);
3036 if (!thissop)
return getOrientname();
3038 OP_Utils::evalOpParm(result, thissop,
"orientname", cookparms.
getCookTime(), 0);
3046 if (!thissop)
return getOrientup();
3048 OP_Utils::evalOpParm(result, thissop,
"orientup", cookparms.
getCookTime(), 0);
3056 if (!thissop)
return getOrientupattrib();
3058 OP_Utils::evalOpParm(result, thissop,
"orientupattrib", cookparms.
getCookTime(), 0);
3066 if (!thissop)
return getOrientupattribflip();
3068 OP_Utils::evalOpParm(result, thissop,
"orientupattribflip", cookparms.
getCookTime(), 0);
3076 if (!thissop)
return getTemplatesourcegroup();
3078 OP_Utils::evalOpParm(result, thissop,
"templatesourcegroup", cookparms.
getCookTime(), 0);
3086 if (!thissop)
return getCreatewidth();
3088 OP_Utils::evalOpParm(result, thissop,
"createwidth", cookparms.
getCookTime(), 0);
3096 if (!thissop)
return getWidthoverride();
3098 OP_Utils::evalOpParm(result, thissop,
"widthoverride", cookparms.
getCookTime(), 0);
3106 if (!thissop)
return getWidth();
3108 OP_Utils::evalOpParm(result, thissop,
"width", cookparms.
getCookTime(), 0);
3116 if (!thissop)
return getBrushsurface();
3118 OP_Utils::evalOpParm(result, thissop,
"brushsurface", cookparms.
getCookTime(), 0);
3126 if (!thissop)
return getUsepartinglines();
3128 OP_Utils::evalOpParm(result, thissop,
"usepartinglines", cookparms.
getCookTime(), 0);
3136 if (!thissop)
return getScreenradius();
3138 OP_Utils::evalOpParm(result, thissop,
"screenradius", cookparms.
getCookTime(), 0);
3146 if (!thissop)
return getObjectradius();
3148 OP_Utils::evalOpParm(result, thissop,
"objectradius", cookparms.
getCookTime(), 0);
3156 if (!thissop)
return getSoft();
3158 OP_Utils::evalOpParm(result, thissop,
"soft", cookparms.
getCookTime(), 0);
3166 if (!thissop)
return getSpacing();
3168 OP_Utils::evalOpParm(result, thissop,
"spacing", cookparms.
getCookTime(), 0);
3176 if (!thissop)
return getDensity();
3178 OP_Utils::evalOpParm(result, thissop,
"density", cookparms.
getCookTime(), 0);
3186 if (!thissop)
return getBrushmaintainlength();
3188 OP_Utils::evalOpParm(result, thissop,
"brushmaintainlength", cookparms.
getCookTime(), 0);
3196 if (!thissop)
return getBrushsnaptosurface();
3198 OP_Utils::evalOpParm(result, thissop,
"brushsnaptosurface", cookparms.
getCookTime(), 0);
3206 if (!thissop)
return getBrushbend();
3208 OP_Utils::evalOpParm(result, thissop,
"brushbend", cookparms.
getCookTime(), 0);
3216 if (!thissop)
return getBrushbendfalloff();
3218 OP_Utils::evalOpParm(result, thissop,
"brushbendfalloff", cookparms.
getCookTime(), 0);
3226 if (!thissop)
return getLiftmode();
3228 OP_Utils::evalOpParm(result, thissop,
"liftmode", cookparms.
getCookTime(), 0);
3236 if (!thissop)
return getLiftangle();
3238 OP_Utils::evalOpParm(result, thissop,
"liftangle", cookparms.
getCookTime(), 0);
3246 if (!thissop)
return getAdjustlengthmode();
3248 OP_Utils::evalOpParm(result, thissop,
"adjustlengthmode", cookparms.
getCookTime(), 0);
3256 if (!thissop)
return getAdjustlengthvalue();
3258 OP_Utils::evalOpParm(result, thissop,
"adjustlengthvalue", cookparms.
getCookTime(), 0);
3266 if (!thissop)
return getAdjustlengthlength();
3268 OP_Utils::evalOpParm(result, thissop,
"adjustlengthlength", cookparms.
getCookTime(), 0);
3276 if (!thissop)
return getAdjustlengthmethod();
3278 OP_Utils::evalOpParm(result, thissop,
"adjustlengthmethod", cookparms.
getCookTime(), 0);
3286 if (!thissop)
return getMoverotatewithskin();
3288 OP_Utils::evalOpParm(result, thissop,
"moverotatewithskin", cookparms.
getCookTime(), 0);
3296 if (!thissop)
return getSculptdoconstrain();
3298 OP_Utils::evalOpParm(result, thissop,
"sculptdoconstrain", cookparms.
getCookTime(), 0);
3306 if (!thissop)
return getSculptlockroot();
3308 OP_Utils::evalOpParm(result, thissop,
"sculptlockroot", cookparms.
getCookTime(), 0);
3316 if (!thissop)
return getSculptmaintainevensegments();
3318 OP_Utils::evalOpParm(result, thissop,
"sculptmaintainevensegments", cookparms.
getCookTime(), 0);
3326 if (!thissop)
return getSmoothtargetsmoothness();
3328 OP_Utils::evalOpParm(result, thissop,
"smoothtargetsmoothness", cookparms.
getCookTime(), 0);
3336 if (!thissop)
return getSmoothposition();
3338 OP_Utils::evalOpParm(result, thissop,
"smoothposition", cookparms.
getCookTime(), 0);
3346 if (!thissop)
return getSmoothorient();
3348 OP_Utils::evalOpParm(result, thissop,
"smoothorient", cookparms.
getCookTime(), 0);
3356 if (!thissop)
return getBlurinskinspace();
3358 OP_Utils::evalOpParm(result, thissop,
"blurinskinspace", cookparms.
getCookTime(), 0);
3366 if (!thissop)
return getBlurperpoint();
3368 OP_Utils::evalOpParm(result, thissop,
"blurperpoint", cookparms.
getCookTime(), 0);
3376 if (!thissop)
return getBlurshape();
3378 OP_Utils::evalOpParm(result, thissop,
"blurshape", cookparms.
getCookTime(), 0);
3386 if (!thissop)
return getBlurlength();
3388 OP_Utils::evalOpParm(result, thissop,
"blurlength", cookparms.
getCookTime(), 0);
3396 if (!thissop)
return getBlurorient();
3398 OP_Utils::evalOpParm(result, thissop,
"blurorient", cookparms.
getCookTime(), 0);
3406 if (!thissop)
return getCutmode();
3408 OP_Utils::evalOpParm(result, thissop,
"cutmode", cookparms.
getCookTime(), 0);
3416 if (!thissop)
return getClumpperpoint();
3418 OP_Utils::evalOpParm(result, thissop,
"clumpperpoint", cookparms.
getCookTime(), 0);
3426 if (!thissop)
return getPlantmode();
3428 OP_Utils::evalOpParm(result, thissop,
"plantmode", cookparms.
getCookTime(), 0);
3436 if (!thissop)
return getPlantinterpolateguides();
3438 OP_Utils::evalOpParm(result, thissop,
"plantinterpolateguides", cookparms.
getCookTime(), 0);
3446 if (!thissop)
return getPlantinterpolaterelskin();
3448 OP_Utils::evalOpParm(result, thissop,
"plantinterpolaterelskin", cookparms.
getCookTime(), 0);
3456 if (!thissop)
return getPlantinterpolateorient();
3458 OP_Utils::evalOpParm(result, thissop,
"plantinterpolateorient", cookparms.
getCookTime(), 0);
3466 if (!thissop)
return getPlanttemplatesource();
3468 OP_Utils::evalOpParm(result, thissop,
"planttemplatesource", cookparms.
getCookTime(), 0);
3476 if (!thissop)
return getPlantlength();
3478 OP_Utils::evalOpParm(result, thissop,
"plantlength", cookparms.
getCookTime(), 0);
3486 if (!thissop)
return getPlantsegcount();
3488 OP_Utils::evalOpParm(result, thissop,
"plantsegcount", cookparms.
getCookTime(), 0);
3496 if (!thissop)
return getDrawonskin();
3498 OP_Utils::evalOpParm(result, thissop,
"drawonskin", cookparms.
getCookTime(), 0);
3506 if (!thissop)
return getDrawinterpolateorient();
3508 OP_Utils::evalOpParm(result, thissop,
"drawinterpolateorient", cookparms.
getCookTime(), 0);
3516 if (!thissop)
return getDrawtemplatesource();
3518 OP_Utils::evalOpParm(result, thissop,
"drawtemplatesource", cookparms.
getCookTime(), 0);
3526 if (!thissop)
return getDrawlimitlength();
3528 OP_Utils::evalOpParm(result, thissop,
"drawlimitlength", cookparms.
getCookTime(), 0);
3536 if (!thissop)
return getDrawcurvetype();
3538 OP_Utils::evalOpParm(result, thissop,
"drawcurvetype", cookparms.
getCookTime(), 0);
3546 if (!thissop)
return getDrawsegmode();
3548 OP_Utils::evalOpParm(result, thissop,
"drawsegmode", cookparms.
getCookTime(), 0);
3556 if (!thissop)
return getDrawsegcount();
3558 OP_Utils::evalOpParm(result, thissop,
"drawsegcount", cookparms.
getCookTime(), 0);
3566 if (!thissop)
return getDrawseglength();
3568 OP_Utils::evalOpParm(result, thissop,
"drawseglength", cookparms.
getCookTime(), 0);
3576 if (!thissop)
return getOrientbrushupmode();
3578 OP_Utils::evalOpParm(result, thissop,
"orientbrushupmode", cookparms.
getCookTime(), 0);
3586 if (!thissop)
return getOrientbrushperpoint();
3588 OP_Utils::evalOpParm(result, thissop,
"orientbrushperpoint", cookparms.
getCookTime(), 0);
3596 if (!thissop)
return getPainttemplateallowblending();
3598 OP_Utils::evalOpParm(result, thissop,
"painttemplateallowblending", cookparms.
getCookTime(), 0);
3606 if (!thissop)
return getEditactiveprim();
3608 OP_Utils::evalOpParm(result, thissop,
"editactiveprim", cookparms.
getCookTime(), 0);
3616 if (!thissop)
return getEditsoft();
3618 OP_Utils::evalOpParm(result, thissop,
"editsoft", cookparms.
getCookTime(), 0);
3626 if (!thissop)
return getEditsoftmode();
3628 OP_Utils::evalOpParm(result, thissop,
"editsoftmode", cookparms.
getCookTime(), 0);
3636 if (!thissop)
return getEditcurvefrac();
3638 OP_Utils::evalOpParm(result, thissop,
"editcurvefrac", cookparms.
getCookTime(), 0);
3646 if (!thissop)
return getEditcurvedist();
3648 OP_Utils::evalOpParm(result, thissop,
"editcurvedist", cookparms.
getCookTime(), 0);
3656 if (!thissop)
return getResamplesegmode();
3658 OP_Utils::evalOpParm(result, thissop,
"resamplesegmode", cookparms.
getCookTime(), 0);
3666 if (!thissop)
return getResamplesegcount();
3668 OP_Utils::evalOpParm(result, thissop,
"resamplesegcount", cookparms.
getCookTime(), 0);
3676 if (!thissop)
return getResampleseglength();
3678 OP_Utils::evalOpParm(result, thissop,
"resampleseglength", cookparms.
getCookTime(), 0);
3686 if (!thissop)
return getTwistangle();
3688 OP_Utils::evalOpParm(result, thissop,
"twistangle", cookparms.
getCookTime(), 0);
3696 if (!thissop)
return getCurvemaskramp();
3698 OP_Utils::evalOpParm(result, thissop,
"curvemaskramp", cookparms.
getCookTime(), 0);
3706 if (!thissop)
return getGroom();
3708 OP_Utils::evalOpParm(result, thissop,
"groom", cookparms.
getCookTime(), 0);
3716 if (!thissop)
return getStrands();
3718 OP_Utils::evalOpParm(result, thissop,
"strands", cookparms.
getCookTime(), 0);
3726 if (!thissop)
return getStrokes();
3728 OP_Utils::evalOpParm(result, thissop,
"strokes", cookparms.
getCookTime(), 0);
3736 if (!thissop)
return getPreviewutil();
3738 OP_Utils::evalOpParm(result, thissop,
"previewutil", cookparms.
getCookTime(), 0);
3746 if (!thissop)
return getPaintmaskpoints();
3748 OP_Utils::evalOpParm(result, thissop,
"paintmaskpoints", cookparms.
getCookTime(), 0);
3756 if (!thissop)
return getPaintmaskattribname();
3758 OP_Utils::evalOpParm(result, thissop,
"paintmaskattribname", cookparms.
getCookTime(), 0);
3766 if (!thissop)
return getGroupnewprims();
3768 OP_Utils::evalOpParm(result, thissop,
"groupnewprims", cookparms.
getCookTime(), 0);
3776 if (!thissop)
return getNamenewprims();
3778 OP_Utils::evalOpParm(result, thissop,
"namenewprims", cookparms.
getCookTime(), 0);
3786 if (!thissop)
return getActivegroup();
3788 OP_Utils::evalOpParm(result, thissop,
"activegroup", cookparms.
getCookTime(), 0);
3796 if (!thissop)
return getNameattrib();
3798 OP_Utils::evalOpParm(result, thissop,
"nameattrib", cookparms.
getCookTime(), 0);
3806 if (!thissop)
return getActivename();
3808 OP_Utils::evalOpParm(result, thissop,
"activename", cookparms.
getCookTime(), 0);
3816 if (!thissop)
return getOverridecolor();
3818 OP_Utils::evalOpParm(result, thissop,
"overridecolor", cookparms.
getCookTime(), 0);
3826 if (!thissop)
return getColorbyname();
3828 OP_Utils::evalOpParm(result, thissop,
"colorbyname", cookparms.
getCookTime(), 0);
3836 if (!thissop)
return getDefaultcolor();
3838 OP_Utils::evalOpParm(result, thissop,
"defaultcolor", cookparms.
getCookTime(), 0);
3846 if (!thissop)
return getTemplatecolor();
3848 OP_Utils::evalOpParm(result, thissop,
"templatecolor", cookparms.
getCookTime(), 0);
3856 if (!thissop)
return getColorseed();
3858 OP_Utils::evalOpParm(result, thissop,
"colorseed", cookparms.
getCookTime(), 0);
3866 if (!thissop)
return getFolder_grouplist().entries();
3868 OP_Utils::evalOpParm(result, thissop,
"folder_grouplist", cookparms.
getCookTime(), 0);
3872 {
return opinstFolder_grouplist_groupcolor(cookparms, &_idx); }
3876 if (!thissop)
return (myFolder_grouplist(_idx[0]).groupcolor);
3878 _parmidx[1-1] = _idx[1-1] + 0;
3881 OP_Utils::evalOpParmInst(result, thissop,
"groupcolor#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
3885 {
return opinstFolder_grouplist_groupname(cookparms, &_idx); }
3889 if (!thissop)
return (myFolder_grouplist(_idx[0]).groupname);
3891 _parmidx[1-1] = _idx[1-1] + 0;
3894 OP_Utils::evalOpParmInst(result, thissop,
"groupname#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
3898 {
return opinstFolder_grouplist_groupoptions(cookparms, &_idx); }
3902 if (!thissop)
return (myFolder_grouplist(_idx[0]).groupoptions);
3904 _parmidx[1-1] = _idx[1-1] + 0;
3907 OP_Utils::evalOpParmInst(result, thissop,
"groupoptions#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
3916 if (!thissop)
return getXord();
3918 OP_Utils::evalOpParm(result, thissop,
"xOrd", cookparms.
getCookTime(), 0);
3919 return Xord(result);
3926 if (!thissop)
return getRord();
3928 OP_Utils::evalOpParm(result, thissop,
"rOrd", cookparms.
getCookTime(), 0);
3929 return Rord(result);
3936 if (!thissop)
return getT();
3938 OP_Utils::evalOpParm(result, thissop,
"t", cookparms.
getCookTime(), 0);
3946 if (!thissop)
return getR();
3948 OP_Utils::evalOpParm(result, thissop,
"r", cookparms.
getCookTime(), 0);
3956 if (!thissop)
return getS();
3958 OP_Utils::evalOpParm(result, thissop,
"s", cookparms.
getCookTime(), 0);
3966 if (!thissop)
return getShear();
3968 OP_Utils::evalOpParm(result, thissop,
"shear", cookparms.
getCookTime(), 0);
3978 OP_Utils::evalOpParm(result, thissop,
"scale", cookparms.
getCookTime(), 0);
3986 if (!thissop)
return getP();
3988 OP_Utils::evalOpParm(result, thissop,
"p", cookparms.
getCookTime(), 0);
3996 if (!thissop)
return getPr();
3998 OP_Utils::evalOpParm(result, thissop,
"pr", cookparms.
getCookTime(), 0);
4006 if (!thissop)
return getCamxform0();
4008 OP_Utils::evalOpParm(result, thissop,
"camxform0", cookparms.
getCookTime(), 0);
4016 if (!thissop)
return getCamxform1();
4018 OP_Utils::evalOpParm(result, thissop,
"camxform1", cookparms.
getCookTime(), 0);
4026 if (!thissop)
return getCamxform2();
4028 OP_Utils::evalOpParm(result, thissop,
"camxform2", cookparms.
getCookTime(), 0);
4036 if (!thissop)
return getCamxform3();
4038 OP_Utils::evalOpParm(result, thissop,
"camxform3", cookparms.
getCookTime(), 0);
4046 if (!thissop)
return getCampos();
4048 OP_Utils::evalOpParm(result, thissop,
"campos", cookparms.
getCookTime(), 0);
4056 if (!thissop)
return getCursorpos();
4058 OP_Utils::evalOpParm(result, thissop,
"cursorpos", cookparms.
getCookTime(), 0);
4066 if (!thissop)
return getCursordisplace();
4068 OP_Utils::evalOpParm(result, thissop,
"cursordisplace", cookparms.
getCookTime(), 0);
4076 if (!thissop)
return getRaypos();
4078 OP_Utils::evalOpParm(result, thissop,
"raypos", cookparms.
getCookTime(), 0);
4086 if (!thissop)
return getRaydir();
4088 OP_Utils::evalOpParm(result, thissop,
"raydir", cookparms.
getCookTime(), 0);
4096 if (!thissop)
return getStrengthscale();
4098 OP_Utils::evalOpParm(result, thissop,
"strengthscale", cookparms.
getCookTime(), 0);
4106 if (!thissop)
return getButton();
4108 OP_Utils::evalOpParm(result, thissop,
"button", cookparms.
getCookTime(), 0);
4116 if (!thissop)
return getShiftkey();
4118 OP_Utils::evalOpParm(result, thissop,
"shiftkey", cookparms.
getCookTime(), 0);
4126 if (!thissop)
return getCtrlkey();
4128 OP_Utils::evalOpParm(result, thissop,
"ctrlkey", cookparms.
getCookTime(), 0);
4146 bool myCollidewithskin;
4147 bool myCreateorient;
4151 bool myOrientupattribflip;
4154 bool myWidthoverride;
4156 bool myBrushsurface;
4157 bool myUsepartinglines;
4164 bool myBrushsnaptosurface;
4169 int64 myAdjustlengthmode;
4172 int64 myAdjustlengthmethod;
4173 bool myMoverotatewithskin;
4174 bool mySculptdoconstrain;
4175 bool mySculptlockroot;
4176 bool mySculptmaintainevensegments;
4178 bool mySmoothposition;
4179 bool mySmoothorient;
4180 bool myBlurinskinspace;
4181 bool myBlurperpoint;
4186 bool myClumpperpoint;
4188 bool myPlantinterpolateguides;
4189 bool myPlantinterpolaterelskin;
4190 bool myPlantinterpolateorient;
4191 int64 myPlanttemplatesource;
4193 int64 myPlantsegcount;
4195 bool myDrawinterpolateorient;
4196 int64 myDrawtemplatesource;
4197 bool myDrawlimitlength;
4198 int64 myDrawcurvetype;
4199 int64 myDrawsegmode;
4200 int64 myDrawsegcount;
4202 int64 myOrientbrushupmode;
4203 bool myOrientbrushperpoint;
4204 bool myPainttemplateallowblending;
4205 int64 myEditactiveprim;
4207 int64 myEditsoftmode;
4210 int64 myResamplesegmode;
4211 int64 myResamplesegcount;
4219 bool myPaintmaskpoints;
4221 bool myGroupnewprims;
4222 bool myNamenewprims;
4226 bool myOverridecolor;
void setP(UT_Vector3D val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
UT_Vector4D opCamxform1(const SOP_NodeVerb::CookParms &cookparms) const
bool getDrawinterpolateorient() const
UT_StringHolder opActivegroup(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getSpacing() const
void setOrientname(const UT_StringHolder &val)
void setSculptlockroot(bool val)
void setDrawlimitlength(bool val)
Plantmode opPlantmode(const SOP_NodeVerb::CookParms &cookparms) const
void setCtrlkey(bool val)
void setActivename(const UT_StringHolder &val)
fpreal64 getAdjustlengthvalue() const
UT_Vector3D getShear() const
void setMirrororigin(UT_Vector3D val)
fpreal64 opSoft(const SOP_NodeVerb::CookParms &cookparms) const
bool getMoverotatewithskin() const
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
GLenum GLuint GLenum GLsizei const GLchar * buf
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
bool getBrushsnaptosurface() const
UT_StringHolder opStashnode(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3I &v)
void setActivegroup(const UT_StringHolder &val)
fpreal64 getDensity() const
bool getSculptmaintainevensegments() const
void setGrouptype(Grouptype val)
fpreal64 opLiftangle(const SOP_NodeVerb::CookParms &cookparms) const
SOP_Node * getNode() const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
void setAdjustlengthlength(fpreal64 val)
void setOrientbrushupmode(Orientbrushupmode val)
static void loadData(UT_IStream &is, fpreal64 &v)
bool opColorbyname(const SOP_NodeVerb::CookParms &cookparms) const
static UT_SharedPtr< UT_Ramp > buildFromDefault(const char *def)
Returns a ramp constructed from the canonical default strings.
bool getColorbyname() const
void setAdjustlengthmode(Adjustlengthmode val)
int64 getColorseed() const
bool opPlantinterpolaterelskin(const SOP_NodeVerb::CookParms &cookparms) const
void setShiftkey(bool val)
UT_Vector2D opCursorpos(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getBrushbend() const
void setBrushmaintainlength(fpreal64 val)
bool opPlantinterpolateorient(const SOP_NodeVerb::CookParms &cookparms) const
void setS(UT_Vector3D val)
void setNamenewprims(bool val)
Drawsegmode getDrawsegmode() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
void setDrawsegcount(int64 val)
void setBlurlength(bool val)
fpreal64 getDrawseglength() const
UT_SharedPtr< UT_Ramp > getCurvemaskramp() const
bool opMoverotatewithskin(const SOP_NodeVerb::CookParms &cookparms) const
GT_API const UT_StringHolder time
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getActivegroup() const
constexpr SYS_FORCE_INLINE T & y() noexcept
bool opCollidewithskin(const SOP_NodeVerb::CookParms &cookparms) const
int64 getResamplesegcount() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
UT_StringHolder opFolder_grouplist_groupname(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
fpreal64 getEditcurvefrac() const
fpreal64 opBrushbendfalloff(const SOP_NodeVerb::CookParms &cookparms) const
GLsizei const GLfloat * value
UT_StringHolder groupname
exint getNestNumParms(TempIndex idx) const override
void setClumpperpoint(bool val)
const UT_StringHolder & getPaintmaskattribname() const
fpreal64 getStrengthscale() const
bool getPreviewutil() const
void setBrushsurface(bool val)
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
const OP_Context & context() const
UT_Vector3D getTemplatecolor() const
void setDefaultcolor(UT_Vector3D val)
const char * getNestParmName(TempIndex fieldnum) const override
bool operator!=(const SOP_GuideGroomCoreParms &src) const
UT_StringHolder opNameattrib(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & z() noexcept
Drawsegmode opDrawsegmode(const SOP_NodeVerb::CookParms &cookparms) const
void setDrawsegmode(Drawsegmode val)
fpreal64 getAdjustlengthlength() const
fpreal64 opObjectradius(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
SYS_FORCE_INLINE const char * buffer() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
bool opPlantinterpolateguides(const SOP_NodeVerb::CookParms &cookparms) const
int64 opFolder_grouplist_groupoptions(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void saveData(std::ostream &os, int64 v)
void setDrawseglength(fpreal64 val)
Grouptype getGrouptype() const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
GLuint GLsizei GLsizei * length
const UT_StringHolder & getTemplatesourcegroup() const
UT_StringHolder opOrientname(const SOP_NodeVerb::CookParms &cookparms) const
UT_SharedPtr< UT_Ramp > opCurvemaskramp(const SOP_NodeVerb::CookParms &cookparms) const
An output stream object that owns its own string buffer storage.
UT_Vector4D opCamxform2(const SOP_NodeVerb::CookParms &cookparms) const
void setSoft(fpreal64 val)
UT_Vector4D opCamxform0(const SOP_NodeVerb::CookParms &cookparms) const
void setUsepartinglines(bool val)
Planttemplatesource getPlanttemplatesource() const
void setSculptdoconstrain(bool val)
UT_Vector3D opMirrordir(const SOP_NodeVerb::CookParms &cookparms) const
Button opButton(const SOP_NodeVerb::CookParms &cookparms) const
void setPaintmaskpoints(bool val)
UT_Vector3D getCampos() const
bool getBlurperpoint() const
void save(std::ostream &os) const
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
fpreal64 getRaybias() const
UT_Vector3D opOrientup(const SOP_NodeVerb::CookParms &cookparms) const
**But if you need a result
fpreal64 opSmoothtargetsmoothness(const SOP_NodeVerb::CookParms &cookparms) const
bool getPlantinterpolateorient() const
fpreal64 getScale() const
UT_Vector3D opPr(const SOP_NodeVerb::CookParms &cookparms) const
void setCamxform1(UT_Vector4D val)
void setPlantinterpolateguides(bool val)
fpreal64 opSpacing(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
bool getDrawlimitlength() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
static void loadData(UT_IStream &is, int64 &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
bool getMirrorbrush() const
UT_Vector3D opP(const SOP_NodeVerb::CookParms &cookparms) const
Drawcurvetype getDrawcurvetype() const
bool getPainttemplateallowblending() const
void setCurvemaskramp(UT_SharedPtr< UT_Ramp > val)
fpreal64 opDensity(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D getMirrororigin() const
void setOrientbrushperpoint(bool val)
fpreal64 getWidth() const
void setBrushbend(fpreal64 val)
void setEditactiveprim(int64 val)
bool getOverridecolor() const
fpreal64 opScreenradius(const SOP_NodeVerb::CookParms &cookparms) const
void setBlurinskinspace(bool val)
constexpr SYS_FORCE_INLINE T & x() noexcept
void setOrientupattrib(const UT_StringHolder &val)
bool opDrawinterpolateorient(const SOP_NodeVerb::CookParms &cookparms) const
void setPaintmaskattribname(const UT_StringHolder &val)
void setColorseed(int64 val)
bool opOverridecolor(const SOP_NodeVerb::CookParms &cookparms) const
void setLiftangle(fpreal64 val)
void setScreenradius(fpreal64 val)
UT_StringHolder opPaintmaskattribname(const SOP_NodeVerb::CookParms &cookparms) const
void setPlantmode(Plantmode val)
fpreal64 getLiftangle() const
ParmType getNestParmType(TempIndex fieldnum) const override
void setPlantsegcount(int64 val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
Adjustlengthmethod getAdjustlengthmethod() const
GLuint GLsizei const GLuint const GLintptr * offsets
void setWidthoverride(bool val)
bool opBlurorient(const SOP_NodeVerb::CookParms &cookparms) const
Planttemplatesource opPlanttemplatesource(const SOP_NodeVerb::CookParms &cookparms) const
void setCampos(UT_Vector3D val)
int64 opPlantsegcount(const SOP_NodeVerb::CookParms &cookparms) const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
static void loadData(UT_IStream &is, bool &v)
constexpr SYS_FORCE_INLINE T & x() noexcept
static void saveData(std::ostream &os, UT_Vector3D v)
bool getBrushsurface() const
UT_Vector3D opinstFolder_grouplist_groupcolor(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
UT_Vector3D opRaypos(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
void setPlantinterpolaterelskin(bool val)
fpreal64 opBrushmaintainlength(const SOP_NodeVerb::CookParms &cookparms) const
void setDrawcurvetype(Drawcurvetype val)
UT_Vector4D getCamxform3() const
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
int64 getPlantsegcount() const
fpreal64 getBrushmaintainlength() const
const UT_StringHolder & getOrientupattrib() const
bool getDeltatools() const
void setOverridecolor(bool val)
fpreal64 getBrushbendfalloff() const
void setStrands(PRM_DataItemHandle val)
bool opBlurperpoint(const SOP_NodeVerb::CookParms &cookparms) const
void setBlurshape(bool val)
void setPlantinterpolateorient(bool val)
static void loadData(UT_IStream &is, UT_Vector4D &v)
bool opCreateorient(const SOP_NodeVerb::CookParms &cookparms) const
bool opCreatewidth(const SOP_NodeVerb::CookParms &cookparms) const
Adjustlengthmethod opAdjustlengthmethod(const SOP_NodeVerb::CookParms &cookparms) const
bool opPainttemplateallowblending(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opBrushbend(const SOP_NodeVerb::CookParms &cookparms) const
void setRaybias(fpreal64 val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
int64 opColorseed(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3D &v)
bool opBlurlength(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getEditcurvedist() const
int64 getEditactiveprim() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
fpreal64 opRaybias(const SOP_NodeVerb::CookParms &cookparms) const
Resamplesegmode getResamplesegmode() const
void setGroom(PRM_DataItemHandle val)
void setPlanttemplatesource(Planttemplatesource val)
UT_Vector3D opTemplatecolor(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
UT_Vector3D getCursordisplace() const
constexpr SYS_FORCE_INLINE T & z() noexcept
int64 opinstFolder_grouplist_groupoptions(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void setCreateorient(bool val)
void setDrawonskin(bool val)
bool getOrientupattribflip() const
bool getBlurorient() const
fpreal64 getScreenradius() const
fpreal64 opWidth(const SOP_NodeVerb::CookParms &cookparms) const
void setAdjustlengthmethod(Adjustlengthmethod val)
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
Drawtemplatesource opDrawtemplatesource(const SOP_NodeVerb::CookParms &cookparms) const
bool opPreviewutil(const SOP_NodeVerb::CookParms &cookparms) const
void setSmoothposition(bool val)
Liftmode opLiftmode(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opTwistangle(const SOP_NodeVerb::CookParms &cookparms) const
Grouptype opGrouptype(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D getPr() const
exint read(bool *array, exint sz=1)
bool opUsepartinglines(const SOP_NodeVerb::CookParms &cookparms) const
const OP_GraphProxy * graph() const
const UT_StringHolder & getActivename() const
Editsoftmode getEditsoftmode() const
Orientbrushupmode getOrientbrushupmode() const
void setUsemask(bool val)
UT_Vector3D getMirrordir() const
UT_Vector3D opShear(const SOP_NodeVerb::CookParms &cookparms) const
PRM_DataItemHandle opGroom(const SOP_NodeVerb::CookParms &cookparms) const
PRM_DataItemHandle getStrokes() const
bool getBlurshape() const
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
void setSmoothorient(bool val)
void setScale(fpreal64 val)
void setTemplatecolor(UT_Vector3D val)
bool getPlantinterpolaterelskin() const
static void loadData(UT_IStream &is, UT_Vector2I &v)
void setT(UT_Vector3D val)
bool getStrandmode() const
bool getUsepartinglines() const
void setMirrorbrush(bool val)
const UT_StringHolder & getMirrorgroup() const
bool getPlantinterpolateguides() const
static void saveData(std::ostream &os, bool v)
static void saveData(std::ostream &os, UT_Vector2D v)
UT_Vector3D getRaypos() const
const UT_StringHolder & getStashnode() const
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
void setStrandmode(bool val)
UT_Vector3D opT(const SOP_NodeVerb::CookParms &cookparms) const
void setObjectradius(fpreal64 val)
void setCreatewidth(bool val)
bool getCollidewithskin() const
UT_Vector4D getCamxform1() const
Resamplesegmode opResamplesegmode(const SOP_NodeVerb::CookParms &cookparms) const
bool opSculptdoconstrain(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3T< fpreal64 > UT_Vector3D
bool getOrientbrushperpoint() const
void setTemplatesourcegroup(const UT_StringHolder &val)
UT_Vector3D getRaydir() const
fpreal64 getSmoothtargetsmoothness() const
UT_StringHolder opOrientupattrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opMirrorgroup(const SOP_NodeVerb::CookParms &cookparms) const
bool operator!=(const Folder_grouplist &src) const
bool opShiftkey(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opEditcurvefrac(const SOP_NodeVerb::CookParms &cookparms) const
SOP_GuideGroomCoreParms()
UT_Vector4D getCamxform0() const
bool opWidthoverride(const SOP_NodeVerb::CookParms &cookparms) const
void setDrawinterpolateorient(bool val)
void setR(UT_Vector3D val)
fpreal64 getResampleseglength() const
Adjustlengthmode getAdjustlengthmode() const
int64 opTool(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_StringHolder &v)
bool getCreatewidth() const
bool opEditsoft(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opinstFolder_grouplist_groupname(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool opSculptlockroot(const SOP_NodeVerb::CookParms &cookparms) const
void setDensity(fpreal64 val)
void setSculptmaintainevensegments(bool val)
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
bool isParmColorRamp(exint idx) const override
fpreal64 opAdjustlengthlength(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getObjectradius() const
void setPainttemplateallowblending(bool val)
fpreal64 opAdjustlengthvalue(const SOP_NodeVerb::CookParms &cookparms) const
void setFolder_grouplist(const UT_Array< Folder_grouplist > &val)
void setStrokes(PRM_DataItemHandle val)
UT_Vector3D getDefaultcolor() const
int64 getDrawsegcount() const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
fpreal64 opStrengthscale(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
exint opFolder_grouplist(const SOP_NodeVerb::CookParms &cookparms) const
bool opDrawonskin(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE void strcat(const char *src)
static void saveData(std::ostream &os, UT_Vector4D v)
void saveBinary(std::ostream &os) const
Save string to binary stream.
bool getCreateorient() const
void setShear(UT_Vector3D val)
bool getGroupnewprims() const
void setPlantlength(fpreal64 val)
PRM_DataItemHandle getGroom() const
bool opNamenewprims(const SOP_NodeVerb::CookParms &cookparms) const
void setCursorpos(UT_Vector2D val)
void setNameattrib(const UT_StringHolder &val)
void setRaydir(UT_Vector3D val)
GT_API const UT_StringHolder version
bool getSmoothorient() const
Adjustlengthmode opAdjustlengthmode(const SOP_NodeVerb::CookParms &cookparms) const
void setBlurperpoint(bool val)
UT_Vector3D getOrientup() const
const UT_StringHolder & getNameattrib() const
UT_Vector3D opRaydir(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector4D opCamxform3(const SOP_NodeVerb::CookParms &cookparms) const
exint entries() const
Alias of size(). size() is preferred.
bool opBlurinskinspace(const SOP_NodeVerb::CookParms &cookparms) const
void setLiftmode(Liftmode val)
UT_Vector3D opCursordisplace(const SOP_NodeVerb::CookParms &cookparms) const
bool getSculptdoconstrain() const
bool opOrientbrushperpoint(const SOP_NodeVerb::CookParms &cookparms) const
void setBrushsnaptosurface(bool val)
void setMirrordir(UT_Vector3D val)
void setAdjustlengthvalue(fpreal64 val)
void setCollidewithskin(bool val)
void setResampleseglength(fpreal64 val)
const UT_StringHolder & getGroup() const
void setCutmode(Cutmode val)
void setResamplesegcount(int64 val)
UT_StringHolder opActivename(const SOP_NodeVerb::CookParms &cookparms) const
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
void setStrengthscale(fpreal64 val)
bool opSculptmaintainevensegments(const SOP_NodeVerb::CookParms &cookparms) const
Editsoftmode opEditsoftmode(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opTemplatesourcegroup(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
bool opDrawlimitlength(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder createString(const UT_Array< Folder_grouplist > &list) const
void setGroup(const UT_StringHolder &val)
bool getClumpperpoint() const
UT_Vector3D opDefaultcolor(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_StringHolder s)
PRM_DataItemHandle opStrands(const SOP_NodeVerb::CookParms &cookparms) const
void setButton(Button val)
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
void setGroupnewprims(bool val)
int64 opDrawsegcount(const SOP_NodeVerb::CookParms &cookparms) const
bool opBrushsurface(const SOP_NodeVerb::CookParms &cookparms) const
void setMoverotatewithskin(bool val)
Cutmode opCutmode(const SOP_NodeVerb::CookParms &cookparms) const
DEP_MicroNode * depnode() const
Cutmode getCutmode() const
bool getWidthoverride() const
static void saveData(std::ostream &os, UT_Matrix4D v)
LeafData & operator=(const LeafData &)=delete
static void loadData(UT_IStream &is, UT_Vector4I &v)
Utility class for containing a color ramp.
fpreal64 opDrawseglength(const SOP_NodeVerb::CookParms &cookparms) const
bool opOrientupattribflip(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getPlantlength() const
bool opStrandmode(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
Drawcurvetype opDrawcurvetype(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix3D v)
void setPreviewutil(bool val)
void setEditsoft(bool val)
constexpr SYS_FORCE_INLINE T & w() noexcept
SYS_FORCE_INLINE void append(char character)
void setEditcurvedist(fpreal64 val)
void setStashnode(const UT_StringHolder &val)
bool getPaintmaskpoints() const
UT_Vector3D opFolder_grouplist_groupcolor(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
virtual UT_StringHolder baseGetSignature() const
SYS_FORCE_INLINE UT_StringHolder getToken(Grouptype enum_value)
void setWidth(fpreal64 val)
Vec3< typename MatType::value_type > getScale(const MatType &mat)
Return a Vec3 representing the lengths of the passed matrix's upper 3×3's rows.
bool opSmoothorient(const SOP_NodeVerb::CookParms &cookparms) const
bool opBrushsnaptosurface(const SOP_NodeVerb::CookParms &cookparms) const
Drawtemplatesource getDrawtemplatesource() const
Liftmode getLiftmode() const
bool opCtrlkey(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
UT_Vector3D opS(const SOP_NodeVerb::CookParms &cookparms) const
int64 opResamplesegcount(const SOP_NodeVerb::CookParms &cookparms) const
void setTwistangle(fpreal64 val)
bool getSmoothposition() const
fpreal getCookTime() const
static void saveData(std::ostream &os, UT_Matrix2D v)
bool opMirrorbrush(const SOP_NodeVerb::CookParms &cookparms) const
void setEditcurvefrac(fpreal64 val)
Plantmode getPlantmode() const
int64 opEditactiveprim(const SOP_NodeVerb::CookParms &cookparms) const
const UT_Array< Folder_grouplist > & getFolder_grouplist() const
PRM_DataItemHandle getStrands() const
void copyFrom(const OP_NodeParms *src) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
Rord opRord(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const Folder_grouplist &src) const
const char * findChar(int c) const
bool load(UT_IStream &is)
void setCursordisplace(UT_Vector3D val)
void setCamxform2(UT_Vector4D val)
bool opUsemask(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opScale(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D opR(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D opMirrororigin(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
void setPr(UT_Vector3D val)
void setColorbyname(bool val)
fpreal64 opResampleseglength(const SOP_NodeVerb::CookParms &cookparms) const
bool opGroupnewprims(const SOP_NodeVerb::CookParms &cookparms) const
exint bread(uint8 *buffer, exint asize=1)
static void saveData(std::ostream &os, fpreal64 v)
void loadFromOpSubclass(const LoadParms &loadparms) override
void setBrushbendfalloff(fpreal64 val)
void setCamxform0(UT_Vector4D val)
static void loadData(UT_IStream &is, UT_Vector2D &v)
constexpr SYS_FORCE_INLINE T & y() noexcept
void setRaypos(UT_Vector3D val)
void setDrawtemplatesource(Drawtemplatesource val)
void setBlurorient(bool val)
fpreal64 opPlantlength(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
Xord opXord(const SOP_NodeVerb::CookParms &cookparms) const
bool opBlurshape(const SOP_NodeVerb::CookParms &cookparms) const
virtual bool isDirect() const =0
Direct proxies mirror actual nodes:
void setResamplesegmode(Resamplesegmode val)
bool getBlurinskinspace() const
Orientbrushupmode opOrientbrushupmode(const SOP_NodeVerb::CookParms &cookparms) const
bool opPaintmaskpoints(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D opCampos(const SOP_NodeVerb::CookParms &cookparms) const
void setCamxform3(UT_Vector4D val)
bool opSmoothposition(const SOP_NodeVerb::CookParms &cookparms) const
bool opDeltatools(const SOP_NodeVerb::CookParms &cookparms) const
void setOrientup(UT_Vector3D val)
UT_Vector4D getCamxform2() const
void setMirrorgroup(const UT_StringHolder &val)
constexpr SYS_FORCE_INLINE T & y() noexcept
bool operator==(const SOP_GuideGroomCoreParms &src) const
SYS_FORCE_INLINE bool isstring() const
void setDeltatools(bool val)
bool getDrawonskin() const
bool getBlurlength() const
void setSmoothtargetsmoothness(fpreal64 val)
bool opClumpperpoint(const SOP_NodeVerb::CookParms &cookparms) const
bool getNamenewprims() const
void setSpacing(fpreal64 val)
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
const UT_StringHolder & getOrientname() const
bool opMirror(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getTwistangle() const
void setEditsoftmode(Editsoftmode val)
fpreal64 opEditcurvedist(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D getCursorpos() const
constexpr SYS_FORCE_INLINE T & x() noexcept
PRM_DataItemHandle opStrokes(const SOP_NodeVerb::CookParms &cookparms) const
bool getSculptlockroot() const
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
void setOrientupattribflip(bool val)