23 namespace SOP_GuideGroomCoreEnums
37 using namespace UT::Literal;
80 using namespace UT::Literal;
120 using namespace UT::Literal;
121 switch (enum_value) {
137 using namespace UT::Literal;
138 switch (enum_value) {
154 using namespace UT::Literal;
155 switch (enum_value) {
171 using namespace UT::Literal;
172 switch (enum_value) {
188 using namespace UT::Literal;
189 switch (enum_value) {
206 using namespace UT::Literal;
207 switch (enum_value) {
225 using namespace UT::Literal;
226 switch (enum_value) {
243 using namespace UT::Literal;
244 switch (enum_value) {
260 using namespace UT::Literal;
261 switch (enum_value) {
279 using namespace UT::Literal;
280 switch (enum_value) {
299 using namespace UT::Literal;
300 switch (enum_value) {
319 using namespace UT::Literal;
320 switch (enum_value) {
342 using namespace UT::Literal;
343 switch (enum_value) {
367 using namespace UT::Literal;
368 switch (enum_value) {
389 using namespace UT::Literal;
390 switch (enum_value) {
422 if (groupcolor != src.
groupcolor)
return false;
423 if (groupname != src.
groupname)
return false;
440 for (
int i = 0; i < list.
entries(); i++)
446 buf.
appendSprintf(
"(%f, %f, %f)", list(i).groupcolor.x(), list(i).groupcolor.y(), list(i).groupcolor.z());
462 myStashnode =
".."_UTsh;
466 myMirrorbrush =
false;
468 myMirrorgroup =
""_UTsh;
473 myStrandmode =
false;
474 myCollidewithskin =
true;
475 myCreateorient =
false;
476 myOrientname =
"orient"_UTsh;
478 myOrientupattrib =
"tangent"_UTsh;
479 myOrientupattribflip =
false;
480 myTemplatesourcegroup =
""_UTsh;
481 myWidthoverride =
true;
483 myBrushsurface =
false;
484 myUsepartinglines =
true;
490 myBrushmaintainlength = 0;
491 myBrushsnaptosurface =
false;
493 myBrushbendfalloff = 0;
496 myAdjustlengthmode = 0;
497 myAdjustlengthvalue = 0.1;
498 myAdjustlengthlength = 0.1;
499 myAdjustlengthmethod = 1;
500 myMoverotatewithskin =
false;
501 mySculptdoconstrain =
true;
502 mySculptlockroot =
true;
503 mySculptmaintainevensegments =
false;
504 mySmoothtargetsmoothness = 0.5;
505 mySmoothposition =
true;
506 mySmoothorient =
true;
507 myBlurinskinspace =
false;
508 myBlurperpoint =
false;
510 myBlurlength =
false;
511 myBlurorient =
false;
513 myClumpperpoint =
false;
515 myPlantinterpolateguides =
true;
516 myPlantinterpolaterelskin =
true;
517 myPlantinterpolateorient =
true;
518 myPlanttemplatesource = 1;
519 myPlantlength = 0.01;
521 myDrawonskin =
false;
522 myDrawinterpolateorient =
false;
523 myDrawtemplatesource = 1;
524 myDrawlimitlength =
false;
528 myDrawseglength = 0.05;
529 myOrientbrushupmode = 0;
530 myOrientbrushperpoint =
false;
531 myPainttemplateallowblending =
false;
532 myEditactiveprim = 0;
537 myResamplesegmode = 0;
538 myResamplesegcount = 8;
539 myResampleseglength = 0.05;
541 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 )");
545 myPreviewutil =
true;
546 myPaintmaskpoints =
false;
547 myGroupnewprims =
false;
548 myNamenewprims =
true;
549 myActivegroup =
""_UTsh;
550 myNameattrib =
""_UTsh;
551 myActivename =
""_UTsh;
552 myOverridecolor =
false;
553 myColorbyname =
false;
572 myCursordisplace = 0;
591 if (myStashnode != src.myStashnode)
return false;
592 if (myGroup != src.myGroup)
return false;
593 if (myGrouptype != src.myGrouptype)
return false;
594 if (myUsemask != src.myUsemask)
return false;
595 if (myMirrorbrush != src.myMirrorbrush)
return false;
596 if (myMirror != src.myMirror)
return false;
597 if (myMirrorgroup != src.myMirrorgroup)
return false;
598 if (myMirrororigin != src.myMirrororigin)
return false;
599 if (myMirrordir != src.myMirrordir)
return false;
600 if (myTool != src.myTool)
return false;
601 if (myRaybias != src.myRaybias)
return false;
602 if (myStrandmode != src.myStrandmode)
return false;
603 if (myCollidewithskin != src.myCollidewithskin)
return false;
604 if (myCreateorient != src.myCreateorient)
return false;
605 if (myOrientname != src.myOrientname)
return false;
606 if (myOrientup != src.myOrientup)
return false;
607 if (myOrientupattrib != src.myOrientupattrib)
return false;
608 if (myOrientupattribflip != src.myOrientupattribflip)
return false;
609 if (myTemplatesourcegroup != src.myTemplatesourcegroup)
return false;
610 if (myWidthoverride != src.myWidthoverride)
return false;
611 if (myWidth != src.myWidth)
return false;
612 if (myBrushsurface != src.myBrushsurface)
return false;
613 if (myUsepartinglines != src.myUsepartinglines)
return false;
614 if (myScreenradius != src.myScreenradius)
return false;
615 if (myObjectradius != src.myObjectradius)
return false;
616 if (mySoft != src.mySoft)
return false;
617 if (mySpacing != src.mySpacing)
return false;
618 if (myDensity != src.myDensity)
return false;
619 if (myBrushmaintainlength != src.myBrushmaintainlength)
return false;
620 if (myBrushsnaptosurface != src.myBrushsnaptosurface)
return false;
621 if (myBrushbend != src.myBrushbend)
return false;
622 if (myBrushbendfalloff != src.myBrushbendfalloff)
return false;
623 if (myLiftmode != src.myLiftmode)
return false;
624 if (myLiftangle != src.myLiftangle)
return false;
625 if (myAdjustlengthmode != src.myAdjustlengthmode)
return false;
626 if (myAdjustlengthvalue != src.myAdjustlengthvalue)
return false;
627 if (myAdjustlengthlength != src.myAdjustlengthlength)
return false;
628 if (myAdjustlengthmethod != src.myAdjustlengthmethod)
return false;
629 if (myMoverotatewithskin != src.myMoverotatewithskin)
return false;
630 if (mySculptdoconstrain != src.mySculptdoconstrain)
return false;
631 if (mySculptlockroot != src.mySculptlockroot)
return false;
632 if (mySculptmaintainevensegments != src.mySculptmaintainevensegments)
return false;
633 if (mySmoothtargetsmoothness != src.mySmoothtargetsmoothness)
return false;
634 if (mySmoothposition != src.mySmoothposition)
return false;
635 if (mySmoothorient != src.mySmoothorient)
return false;
636 if (myBlurinskinspace != src.myBlurinskinspace)
return false;
637 if (myBlurperpoint != src.myBlurperpoint)
return false;
638 if (myBlurshape != src.myBlurshape)
return false;
639 if (myBlurlength != src.myBlurlength)
return false;
640 if (myBlurorient != src.myBlurorient)
return false;
641 if (myCutmode != src.myCutmode)
return false;
642 if (myClumpperpoint != src.myClumpperpoint)
return false;
643 if (myPlantmode != src.myPlantmode)
return false;
644 if (myPlantinterpolateguides != src.myPlantinterpolateguides)
return false;
645 if (myPlantinterpolaterelskin != src.myPlantinterpolaterelskin)
return false;
646 if (myPlantinterpolateorient != src.myPlantinterpolateorient)
return false;
647 if (myPlanttemplatesource != src.myPlanttemplatesource)
return false;
648 if (myPlantlength != src.myPlantlength)
return false;
649 if (myPlantsegcount != src.myPlantsegcount)
return false;
650 if (myDrawonskin != src.myDrawonskin)
return false;
651 if (myDrawinterpolateorient != src.myDrawinterpolateorient)
return false;
652 if (myDrawtemplatesource != src.myDrawtemplatesource)
return false;
653 if (myDrawlimitlength != src.myDrawlimitlength)
return false;
654 if (myDrawcurvetype != src.myDrawcurvetype)
return false;
655 if (myDrawsegmode != src.myDrawsegmode)
return false;
656 if (myDrawsegcount != src.myDrawsegcount)
return false;
657 if (myDrawseglength != src.myDrawseglength)
return false;
658 if (myOrientbrushupmode != src.myOrientbrushupmode)
return false;
659 if (myOrientbrushperpoint != src.myOrientbrushperpoint)
return false;
660 if (myPainttemplateallowblending != src.myPainttemplateallowblending)
return false;
661 if (myEditactiveprim != src.myEditactiveprim)
return false;
662 if (myEditsoft != src.myEditsoft)
return false;
663 if (myEditsoftmode != src.myEditsoftmode)
return false;
664 if (myEditcurvefrac != src.myEditcurvefrac)
return false;
665 if (myEditcurvedist != src.myEditcurvedist)
return false;
666 if (myResamplesegmode != src.myResamplesegmode)
return false;
667 if (myResamplesegcount != src.myResamplesegcount)
return false;
668 if (myResampleseglength != src.myResampleseglength)
return false;
669 if (myTwistangle != src.myTwistangle)
return false;
670 if (myCurvemaskramp != src.myCurvemaskramp)
671 {
if (!myCurvemaskramp || !src.myCurvemaskramp || !(*myCurvemaskramp == *src.myCurvemaskramp))
return false; }
672 if (myGroom != src.myGroom)
674 if (myStrands != src.myStrands)
676 if (myStrokes != src.myStrokes)
678 if (myPreviewutil != src.myPreviewutil)
return false;
679 if (myPaintmaskpoints != src.myPaintmaskpoints)
return false;
680 if (myGroupnewprims != src.myGroupnewprims)
return false;
681 if (myNamenewprims != src.myNamenewprims)
return false;
682 if (myActivegroup != src.myActivegroup)
return false;
683 if (myNameattrib != src.myNameattrib)
return false;
684 if (myActivename != src.myActivename)
return false;
685 if (myOverridecolor != src.myOverridecolor)
return false;
686 if (myColorbyname != src.myColorbyname)
return false;
687 if (myDefaultcolor != src.myDefaultcolor)
return false;
688 if (myTemplatecolor != src.myTemplatecolor)
return false;
689 if (myColorseed != src.myColorseed)
return false;
690 if (myFolder_grouplist != src.myFolder_grouplist)
return false;
691 if (myXord != src.myXord)
return false;
692 if (myRord != src.myRord)
return false;
693 if (myT != src.myT)
return false;
694 if (myR != src.myR)
return false;
695 if (myS != src.myS)
return false;
696 if (myShear != src.myShear)
return false;
697 if (myScale != src.myScale)
return false;
698 if (myP != src.myP)
return false;
699 if (myPr != src.myPr)
return false;
700 if (myCamxform0 != src.myCamxform0)
return false;
701 if (myCamxform1 != src.myCamxform1)
return false;
702 if (myCamxform2 != src.myCamxform2)
return false;
703 if (myCamxform3 != src.myCamxform3)
return false;
704 if (myCampos != src.myCampos)
return false;
705 if (myCursorpos != src.myCursorpos)
return false;
706 if (myCursordisplace != src.myCursordisplace)
return false;
707 if (myRaypos != src.myRaypos)
return false;
708 if (myRaydir != src.myRaydir)
return false;
709 if (myStrengthscale != src.myStrengthscale)
return false;
710 if (myButton != src.myButton)
return false;
711 if (myShiftkey != src.myShiftkey)
return false;
712 if (myCtrlkey != src.myCtrlkey)
return false;
745 myStashnode =
".."_UTsh;
747 graph->
evalOpParm(myStashnode, nodeidx,
"stashnode", time, graph->
isDirect()?
nullptr:depnode);
750 graph->
evalOpParm(myGroup, nodeidx,
"group", time, graph->
isDirect()?
nullptr:depnode);
753 graph->
evalOpParm(myGrouptype, nodeidx,
"grouptype", time, graph->
isDirect()?
nullptr:depnode);
756 graph->
evalOpParm(myUsemask, nodeidx,
"usemask", time, graph->
isDirect()?
nullptr:depnode);
757 myMirrorbrush =
false;
759 graph->
evalOpParm(myMirrorbrush, nodeidx,
"mirrorbrush", time, graph->
isDirect()?
nullptr:depnode);
762 graph->
evalOpParm(myMirror, nodeidx,
"mirror", time, graph->
isDirect()?
nullptr:depnode);
763 myMirrorgroup =
""_UTsh;
765 graph->
evalOpParm(myMirrorgroup, nodeidx,
"mirrorgroup", time, graph->
isDirect()?
nullptr:depnode);
768 graph->
evalOpParm(myMirrororigin, nodeidx,
"mirrororigin", time, graph->
isDirect()?
nullptr:depnode);
771 graph->
evalOpParm(myMirrordir, nodeidx,
"mirrordir", time, graph->
isDirect()?
nullptr:depnode);
777 graph->
evalOpParm(myRaybias, nodeidx,
"raybias", time, graph->
isDirect()?
nullptr:depnode);
778 myStrandmode =
false;
780 graph->
evalOpParm(myStrandmode, nodeidx,
"strandmode", time, graph->
isDirect()?
nullptr:depnode);
781 myCollidewithskin =
true;
783 graph->
evalOpParm(myCollidewithskin, nodeidx,
"collidewithskin", time, graph->
isDirect()?
nullptr:depnode);
784 myCreateorient =
false;
786 graph->
evalOpParm(myCreateorient, nodeidx,
"createorient", time, graph->
isDirect()?
nullptr:depnode);
787 myOrientname =
"orient"_UTsh;
789 graph->
evalOpParm(myOrientname, nodeidx,
"orientname", time, graph->
isDirect()?
nullptr:depnode);
792 graph->
evalOpParm(myOrientup, nodeidx,
"orientup", time, graph->
isDirect()?
nullptr:depnode);
793 myOrientupattrib =
"tangent"_UTsh;
795 graph->
evalOpParm(myOrientupattrib, nodeidx,
"orientupattrib", time, graph->
isDirect()?
nullptr:depnode);
796 myOrientupattribflip =
false;
798 graph->
evalOpParm(myOrientupattribflip, nodeidx,
"orientupattribflip", time, graph->
isDirect()?
nullptr:depnode);
799 myTemplatesourcegroup =
""_UTsh;
801 graph->
evalOpParm(myTemplatesourcegroup, nodeidx,
"templatesourcegroup", time, graph->
isDirect()?
nullptr:depnode);
802 myWidthoverride =
true;
804 graph->
evalOpParm(myWidthoverride, nodeidx,
"widthoverride", time, graph->
isDirect()?
nullptr:depnode);
807 graph->
evalOpParm(myWidth, nodeidx,
"width", time, graph->
isDirect()?
nullptr:depnode);
808 myBrushsurface =
false;
810 graph->
evalOpParm(myBrushsurface, nodeidx,
"brushsurface", time, graph->
isDirect()?
nullptr:depnode);
811 myUsepartinglines =
true;
813 graph->
evalOpParm(myUsepartinglines, nodeidx,
"usepartinglines", time, graph->
isDirect()?
nullptr:depnode);
816 graph->
evalOpParm(myScreenradius, nodeidx,
"screenradius", time, graph->
isDirect()?
nullptr:depnode);
819 graph->
evalOpParm(myObjectradius, nodeidx,
"objectradius", time, graph->
isDirect()?
nullptr:depnode);
825 graph->
evalOpParm(mySpacing, nodeidx,
"spacing", time, graph->
isDirect()?
nullptr:depnode);
828 graph->
evalOpParm(myDensity, nodeidx,
"density", time, graph->
isDirect()?
nullptr:depnode);
829 myBrushmaintainlength = 0;
831 graph->
evalOpParm(myBrushmaintainlength, nodeidx,
"brushmaintainlength", time, graph->
isDirect()?
nullptr:depnode);
832 myBrushsnaptosurface =
false;
834 graph->
evalOpParm(myBrushsnaptosurface, nodeidx,
"brushsnaptosurface", time, graph->
isDirect()?
nullptr:depnode);
837 graph->
evalOpParm(myBrushbend, nodeidx,
"brushbend", time, graph->
isDirect()?
nullptr:depnode);
838 myBrushbendfalloff = 0;
840 graph->
evalOpParm(myBrushbendfalloff, nodeidx,
"brushbendfalloff", time, graph->
isDirect()?
nullptr:depnode);
843 graph->
evalOpParm(myLiftmode, nodeidx,
"liftmode", time, graph->
isDirect()?
nullptr:depnode);
846 graph->
evalOpParm(myLiftangle, nodeidx,
"liftangle", time, graph->
isDirect()?
nullptr:depnode);
847 myAdjustlengthmode = 0;
849 graph->
evalOpParm(myAdjustlengthmode, nodeidx,
"adjustlengthmode", time, graph->
isDirect()?
nullptr:depnode);
850 myAdjustlengthvalue = 0.1;
852 graph->
evalOpParm(myAdjustlengthvalue, nodeidx,
"adjustlengthvalue", time, graph->
isDirect()?
nullptr:depnode);
853 myAdjustlengthlength = 0.1;
855 graph->
evalOpParm(myAdjustlengthlength, nodeidx,
"adjustlengthlength", time, graph->
isDirect()?
nullptr:depnode);
856 myAdjustlengthmethod = 1;
858 graph->
evalOpParm(myAdjustlengthmethod, nodeidx,
"adjustlengthmethod", time, graph->
isDirect()?
nullptr:depnode);
859 myMoverotatewithskin =
false;
861 graph->
evalOpParm(myMoverotatewithskin, nodeidx,
"moverotatewithskin", time, graph->
isDirect()?
nullptr:depnode);
862 mySculptdoconstrain =
true;
864 graph->
evalOpParm(mySculptdoconstrain, nodeidx,
"sculptdoconstrain", time, graph->
isDirect()?
nullptr:depnode);
865 mySculptlockroot =
true;
867 graph->
evalOpParm(mySculptlockroot, nodeidx,
"sculptlockroot", time, graph->
isDirect()?
nullptr:depnode);
868 mySculptmaintainevensegments =
false;
870 graph->
evalOpParm(mySculptmaintainevensegments, nodeidx,
"sculptmaintainevensegments", time, graph->
isDirect()?
nullptr:depnode);
871 mySmoothtargetsmoothness = 0.5;
873 graph->
evalOpParm(mySmoothtargetsmoothness, nodeidx,
"smoothtargetsmoothness", time, graph->
isDirect()?
nullptr:depnode);
874 mySmoothposition =
true;
876 graph->
evalOpParm(mySmoothposition, nodeidx,
"smoothposition", time, graph->
isDirect()?
nullptr:depnode);
877 mySmoothorient =
true;
879 graph->
evalOpParm(mySmoothorient, nodeidx,
"smoothorient", time, graph->
isDirect()?
nullptr:depnode);
880 myBlurinskinspace =
false;
882 graph->
evalOpParm(myBlurinskinspace, nodeidx,
"blurinskinspace", time, graph->
isDirect()?
nullptr:depnode);
883 myBlurperpoint =
false;
885 graph->
evalOpParm(myBlurperpoint, nodeidx,
"blurperpoint", time, graph->
isDirect()?
nullptr:depnode);
888 graph->
evalOpParm(myBlurshape, nodeidx,
"blurshape", time, graph->
isDirect()?
nullptr:depnode);
889 myBlurlength =
false;
891 graph->
evalOpParm(myBlurlength, nodeidx,
"blurlength", time, graph->
isDirect()?
nullptr:depnode);
892 myBlurorient =
false;
894 graph->
evalOpParm(myBlurorient, nodeidx,
"blurorient", time, graph->
isDirect()?
nullptr:depnode);
897 graph->
evalOpParm(myCutmode, nodeidx,
"cutmode", time, graph->
isDirect()?
nullptr:depnode);
898 myClumpperpoint =
false;
900 graph->
evalOpParm(myClumpperpoint, nodeidx,
"clumpperpoint", time, graph->
isDirect()?
nullptr:depnode);
903 graph->
evalOpParm(myPlantmode, nodeidx,
"plantmode", time, graph->
isDirect()?
nullptr:depnode);
904 myPlantinterpolateguides =
true;
906 graph->
evalOpParm(myPlantinterpolateguides, nodeidx,
"plantinterpolateguides", time, graph->
isDirect()?
nullptr:depnode);
907 myPlantinterpolaterelskin =
true;
909 graph->
evalOpParm(myPlantinterpolaterelskin, nodeidx,
"plantinterpolaterelskin", time, graph->
isDirect()?
nullptr:depnode);
910 myPlantinterpolateorient =
true;
912 graph->
evalOpParm(myPlantinterpolateorient, nodeidx,
"plantinterpolateorient", time, graph->
isDirect()?
nullptr:depnode);
913 myPlanttemplatesource = 1;
915 graph->
evalOpParm(myPlanttemplatesource, nodeidx,
"planttemplatesource", time, graph->
isDirect()?
nullptr:depnode);
916 myPlantlength = 0.01;
918 graph->
evalOpParm(myPlantlength, nodeidx,
"plantlength", time, graph->
isDirect()?
nullptr:depnode);
921 graph->
evalOpParm(myPlantsegcount, nodeidx,
"plantsegcount", time, graph->
isDirect()?
nullptr:depnode);
922 myDrawonskin =
false;
924 graph->
evalOpParm(myDrawonskin, nodeidx,
"drawonskin", time, graph->
isDirect()?
nullptr:depnode);
925 myDrawinterpolateorient =
false;
927 graph->
evalOpParm(myDrawinterpolateorient, nodeidx,
"drawinterpolateorient", time, graph->
isDirect()?
nullptr:depnode);
928 myDrawtemplatesource = 1;
930 graph->
evalOpParm(myDrawtemplatesource, nodeidx,
"drawtemplatesource", time, graph->
isDirect()?
nullptr:depnode);
931 myDrawlimitlength =
false;
933 graph->
evalOpParm(myDrawlimitlength, nodeidx,
"drawlimitlength", time, graph->
isDirect()?
nullptr:depnode);
936 graph->
evalOpParm(myDrawcurvetype, nodeidx,
"drawcurvetype", time, graph->
isDirect()?
nullptr:depnode);
939 graph->
evalOpParm(myDrawsegmode, nodeidx,
"drawsegmode", time, graph->
isDirect()?
nullptr:depnode);
942 graph->
evalOpParm(myDrawsegcount, nodeidx,
"drawsegcount", time, graph->
isDirect()?
nullptr:depnode);
943 myDrawseglength = 0.05;
945 graph->
evalOpParm(myDrawseglength, nodeidx,
"drawseglength", time, graph->
isDirect()?
nullptr:depnode);
946 myOrientbrushupmode = 0;
948 graph->
evalOpParm(myOrientbrushupmode, nodeidx,
"orientbrushupmode", time, graph->
isDirect()?
nullptr:depnode);
949 myOrientbrushperpoint =
false;
951 graph->
evalOpParm(myOrientbrushperpoint, nodeidx,
"orientbrushperpoint", time, graph->
isDirect()?
nullptr:depnode);
952 myPainttemplateallowblending =
false;
954 graph->
evalOpParm(myPainttemplateallowblending, nodeidx,
"painttemplateallowblending", time, graph->
isDirect()?
nullptr:depnode);
955 myEditactiveprim = 0;
957 graph->
evalOpParm(myEditactiveprim, nodeidx,
"editactiveprim", time, graph->
isDirect()?
nullptr:depnode);
960 graph->
evalOpParm(myEditsoft, nodeidx,
"editsoft", time, graph->
isDirect()?
nullptr:depnode);
963 graph->
evalOpParm(myEditsoftmode, nodeidx,
"editsoftmode", time, graph->
isDirect()?
nullptr:depnode);
966 graph->
evalOpParm(myEditcurvefrac, nodeidx,
"editcurvefrac", time, graph->
isDirect()?
nullptr:depnode);
969 graph->
evalOpParm(myEditcurvedist, nodeidx,
"editcurvedist", time, graph->
isDirect()?
nullptr:depnode);
970 myResamplesegmode = 0;
972 graph->
evalOpParm(myResamplesegmode, nodeidx,
"resamplesegmode", time, graph->
isDirect()?
nullptr:depnode);
973 myResamplesegcount = 8;
975 graph->
evalOpParm(myResamplesegcount, nodeidx,
"resamplesegcount", time, graph->
isDirect()?
nullptr:depnode);
976 myResampleseglength = 0.05;
978 graph->
evalOpParm(myResampleseglength, nodeidx,
"resampleseglength", time, graph->
isDirect()?
nullptr:depnode);
981 graph->
evalOpParm(myTwistangle, nodeidx,
"twistangle", time, graph->
isDirect()?
nullptr:depnode);
982 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 )");
984 graph->
evalOpParm(myCurvemaskramp, nodeidx,
"curvemaskramp", time, graph->
isDirect()?
nullptr:depnode);
987 graph->
evalOpParm(myGroom, nodeidx,
"groom", time, graph->
isDirect()?
nullptr:depnode);
990 graph->
evalOpParm(myStrands, nodeidx,
"strands", time, graph->
isDirect()?
nullptr:depnode);
993 graph->
evalOpParm(myStrokes, nodeidx,
"strokes", time, graph->
isDirect()?
nullptr:depnode);
994 myPreviewutil =
true;
996 graph->
evalOpParm(myPreviewutil, nodeidx,
"previewutil", time, graph->
isDirect()?
nullptr:depnode);
997 myPaintmaskpoints =
false;
999 graph->
evalOpParm(myPaintmaskpoints, nodeidx,
"paintmaskpoints", time, graph->
isDirect()?
nullptr:depnode);
1000 myGroupnewprims =
false;
1002 graph->
evalOpParm(myGroupnewprims, nodeidx,
"groupnewprims", time, graph->
isDirect()?
nullptr:depnode);
1003 myNamenewprims =
true;
1005 graph->
evalOpParm(myNamenewprims, nodeidx,
"namenewprims", time, graph->
isDirect()?
nullptr:depnode);
1006 myActivegroup =
""_UTsh;
1008 graph->
evalOpParm(myActivegroup, nodeidx,
"activegroup", time, graph->
isDirect()?
nullptr:depnode);
1009 myNameattrib =
""_UTsh;
1011 graph->
evalOpParm(myNameattrib, nodeidx,
"nameattrib", time, graph->
isDirect()?
nullptr:depnode);
1012 myActivename =
""_UTsh;
1014 graph->
evalOpParm(myActivename, nodeidx,
"activename", time, graph->
isDirect()?
nullptr:depnode);
1015 myOverridecolor =
false;
1017 graph->
evalOpParm(myOverridecolor, nodeidx,
"overridecolor", time, graph->
isDirect()?
nullptr:depnode);
1018 myColorbyname =
false;
1020 graph->
evalOpParm(myColorbyname, nodeidx,
"colorbyname", time, graph->
isDirect()?
nullptr:depnode);
1023 graph->
evalOpParm(myDefaultcolor, nodeidx,
"defaultcolor", time, graph->
isDirect()?
nullptr:depnode);
1026 graph->
evalOpParm(myTemplatecolor, nodeidx,
"templatecolor", time, graph->
isDirect()?
nullptr:depnode);
1029 graph->
evalOpParm(myColorseed, nodeidx,
"colorseed", time, graph->
isDirect()?
nullptr:depnode);
1033 graph->
evalOpParm(length, nodeidx,
"folder_grouplist", time, graph->
isDirect()?
nullptr:depnode);
1034 if (length < 0) length = 0;
1035 myFolder_grouplist.setSize(length);
1042 auto && _curentry = myFolder_grouplist(i);
1046 graph->
evalOpParmInst(_curentry.groupcolor, nodeidx,
"groupcolor#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
1047 _curentry.groupname =
""_UTsh;
1049 graph->
evalOpParmInst(_curentry.groupname, nodeidx,
"groupname#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
1050 _curentry.groupoptions = 0;
1052 graph->
evalOpParmInst(_curentry.groupoptions, nodeidx,
"groupoptions#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
1057 myFolder_grouplist.clear();
1075 graph->
evalOpParm(myShear, nodeidx,
"shear", time, graph->
isDirect()?
nullptr:depnode);
1078 graph->
evalOpParm(myScale, nodeidx,
"scale", time, graph->
isDirect()?
nullptr:depnode);
1087 graph->
evalOpParm(myCamxform0, nodeidx,
"camxform0", time, graph->
isDirect()?
nullptr:depnode);
1090 graph->
evalOpParm(myCamxform1, nodeidx,
"camxform1", time, graph->
isDirect()?
nullptr:depnode);
1093 graph->
evalOpParm(myCamxform2, nodeidx,
"camxform2", time, graph->
isDirect()?
nullptr:depnode);
1096 graph->
evalOpParm(myCamxform3, nodeidx,
"camxform3", time, graph->
isDirect()?
nullptr:depnode);
1099 graph->
evalOpParm(myCampos, nodeidx,
"campos", time, graph->
isDirect()?
nullptr:depnode);
1102 graph->
evalOpParm(myCursorpos, nodeidx,
"cursorpos", time, graph->
isDirect()?
nullptr:depnode);
1103 myCursordisplace = 0;
1105 graph->
evalOpParm(myCursordisplace, nodeidx,
"cursordisplace", time, graph->
isDirect()?
nullptr:depnode);
1108 graph->
evalOpParm(myRaypos, nodeidx,
"raypos", time, graph->
isDirect()?
nullptr:depnode);
1111 graph->
evalOpParm(myRaydir, nodeidx,
"raydir", time, graph->
isDirect()?
nullptr:depnode);
1112 myStrengthscale = 0;
1114 graph->
evalOpParm(myStrengthscale, nodeidx,
"strengthscale", time, graph->
isDirect()?
nullptr:depnode);
1117 graph->
evalOpParm(myButton, nodeidx,
"button", time, graph->
isDirect()?
nullptr:depnode);
1120 graph->
evalOpParm(myShiftkey, nodeidx,
"shiftkey", time, graph->
isDirect()?
nullptr:depnode);
1123 graph->
evalOpParm(myCtrlkey, nodeidx,
"ctrlkey", time, graph->
isDirect()?
nullptr:depnode);
1139 template <
typename T>
1146 if (idx.
size() != instance.
size()+1)
1151 coerceValue(value, myStashnode);
1154 coerceValue(value, myGroup);
1157 coerceValue(value, myGrouptype);
1160 coerceValue(value, myUsemask);
1163 coerceValue(value, myMirrorbrush);
1166 coerceValue(value, myMirror);
1169 coerceValue(value, myMirrorgroup);
1172 coerceValue(value, myMirrororigin);
1175 coerceValue(value, myMirrordir);
1178 coerceValue(value, myTool);
1181 coerceValue(value, myRaybias);
1184 coerceValue(value, myStrandmode);
1187 coerceValue(value, myCollidewithskin);
1190 coerceValue(value, myCreateorient);
1193 coerceValue(value, myOrientname);
1196 coerceValue(value, myOrientup);
1199 coerceValue(value, myOrientupattrib);
1202 coerceValue(value, myOrientupattribflip);
1205 coerceValue(value, myTemplatesourcegroup);
1208 coerceValue(value, myWidthoverride);
1211 coerceValue(value, myWidth);
1214 coerceValue(value, myBrushsurface);
1217 coerceValue(value, myUsepartinglines);
1220 coerceValue(value, myScreenradius);
1223 coerceValue(value, myObjectradius);
1226 coerceValue(value, mySoft);
1229 coerceValue(value, mySpacing);
1232 coerceValue(value, myDensity);
1235 coerceValue(value, myBrushmaintainlength);
1238 coerceValue(value, myBrushsnaptosurface);
1241 coerceValue(value, myBrushbend);
1244 coerceValue(value, myBrushbendfalloff);
1247 coerceValue(value, myLiftmode);
1250 coerceValue(value, myLiftangle);
1253 coerceValue(value, myAdjustlengthmode);
1256 coerceValue(value, myAdjustlengthvalue);
1259 coerceValue(value, myAdjustlengthlength);
1262 coerceValue(value, myAdjustlengthmethod);
1265 coerceValue(value, myMoverotatewithskin);
1268 coerceValue(value, mySculptdoconstrain);
1271 coerceValue(value, mySculptlockroot);
1274 coerceValue(value, mySculptmaintainevensegments);
1277 coerceValue(value, mySmoothtargetsmoothness);
1280 coerceValue(value, mySmoothposition);
1283 coerceValue(value, mySmoothorient);
1286 coerceValue(value, myBlurinskinspace);
1289 coerceValue(value, myBlurperpoint);
1292 coerceValue(value, myBlurshape);
1295 coerceValue(value, myBlurlength);
1298 coerceValue(value, myBlurorient);
1301 coerceValue(value, myCutmode);
1304 coerceValue(value, myClumpperpoint);
1307 coerceValue(value, myPlantmode);
1310 coerceValue(value, myPlantinterpolateguides);
1313 coerceValue(value, myPlantinterpolaterelskin);
1316 coerceValue(value, myPlantinterpolateorient);
1319 coerceValue(value, myPlanttemplatesource);
1322 coerceValue(value, myPlantlength);
1325 coerceValue(value, myPlantsegcount);
1328 coerceValue(value, myDrawonskin);
1331 coerceValue(value, myDrawinterpolateorient);
1334 coerceValue(value, myDrawtemplatesource);
1337 coerceValue(value, myDrawlimitlength);
1340 coerceValue(value, myDrawcurvetype);
1343 coerceValue(value, myDrawsegmode);
1346 coerceValue(value, myDrawsegcount);
1349 coerceValue(value, myDrawseglength);
1352 coerceValue(value, myOrientbrushupmode);
1355 coerceValue(value, myOrientbrushperpoint);
1358 coerceValue(value, myPainttemplateallowblending);
1361 coerceValue(value, myEditactiveprim);
1364 coerceValue(value, myEditsoft);
1367 coerceValue(value, myEditsoftmode);
1370 coerceValue(value, myEditcurvefrac);
1373 coerceValue(value, myEditcurvedist);
1376 coerceValue(value, myResamplesegmode);
1379 coerceValue(value, myResamplesegcount);
1382 coerceValue(value, myResampleseglength);
1385 coerceValue(value, myTwistangle);
1388 coerceValue(value, myCurvemaskramp);
1391 coerceValue(value, myGroom);
1394 coerceValue(value, myStrands);
1397 coerceValue(value, myStrokes);
1400 coerceValue(value, myPreviewutil);
1403 coerceValue(value, myPaintmaskpoints);
1406 coerceValue(value, myGroupnewprims);
1409 coerceValue(value, myNamenewprims);
1412 coerceValue(value, myActivegroup);
1415 coerceValue(value, myNameattrib);
1418 coerceValue(value, myActivename);
1421 coerceValue(value, myOverridecolor);
1424 coerceValue(value, myColorbyname);
1427 coerceValue(value, myDefaultcolor);
1430 coerceValue(value, myTemplatecolor);
1433 coerceValue(value, myColorseed);
1436 if (idx.
size() == 1)
1437 coerceValue(value, myFolder_grouplist.entries());
1438 else if (instance[0] < myFolder_grouplist.entries())
1440 auto && _data = myFolder_grouplist(instance[0]);
1444 coerceValue(value, _data.groupcolor);
1447 coerceValue(value, _data.groupname);
1450 coerceValue(value, _data.groupoptions);
1457 coerceValue(value, myXord);
1460 coerceValue(value, myRord);
1463 coerceValue(value, myT);
1466 coerceValue(value, myR);
1469 coerceValue(value, myS);
1472 coerceValue(value, myShear);
1475 coerceValue(value, myScale);
1478 coerceValue(value, myP);
1481 coerceValue(value, myPr);
1484 coerceValue(value, myCamxform0);
1487 coerceValue(value, myCamxform1);
1490 coerceValue(value, myCamxform2);
1493 coerceValue(value, myCamxform3);
1496 coerceValue(value, myCampos);
1499 coerceValue(value, myCursorpos);
1502 coerceValue(value, myCursordisplace);
1505 coerceValue(value, myRaypos);
1508 coerceValue(value, myRaydir);
1511 coerceValue(value, myStrengthscale);
1514 coerceValue(value, myButton);
1517 coerceValue(value, myShiftkey);
1520 coerceValue(value, myCtrlkey);
1536 { doGetParmValue(idx, instance, value); }
1538 { doGetParmValue(idx, instance, value); }
1540 { doGetParmValue(idx, instance, value); }
1542 { doGetParmValue(idx, instance, value); }
1544 { doGetParmValue(idx, instance, value); }
1546 { doGetParmValue(idx, instance, value); }
1548 { doGetParmValue(idx, instance, value); }
1550 { doGetParmValue(idx, instance, value); }
1552 { doGetParmValue(idx, instance, value); }
1554 { doGetParmValue(idx, instance, value); }
1556 { doGetParmValue(idx, instance, value); }
1558 template <
typename T>
1565 if (idx.
size() != instance.
size()+1)
1570 coerceValue(myStashnode, ( ( value ) ));
1573 coerceValue(myGroup, ( ( value ) ));
1576 coerceValue(myGrouptype, clampMinValue(0, clampMaxValue(4, value ) ));
1579 coerceValue(myUsemask, ( ( value ) ));
1582 coerceValue(myMirrorbrush, ( ( value ) ));
1585 coerceValue(myMirror, ( ( value ) ));
1588 coerceValue(myMirrorgroup, ( ( value ) ));
1591 coerceValue(myMirrororigin, ( ( value ) ));
1594 coerceValue(myMirrordir, ( ( value ) ));
1597 coerceValue(myTool, clampMinValue(0, clampMaxValue(24, value ) ));
1600 coerceValue(myRaybias, ( ( value ) ));
1603 coerceValue(myStrandmode, ( ( value ) ));
1606 coerceValue(myCollidewithskin, ( ( value ) ));
1609 coerceValue(myCreateorient, ( ( value ) ));
1612 coerceValue(myOrientname, ( ( value ) ));
1615 coerceValue(myOrientup, ( ( value ) ));
1618 coerceValue(myOrientupattrib, ( ( value ) ));
1621 coerceValue(myOrientupattribflip, ( ( value ) ));
1624 coerceValue(myTemplatesourcegroup, ( ( value ) ));
1627 coerceValue(myWidthoverride, ( ( value ) ));
1630 coerceValue(myWidth, ( ( value ) ));
1633 coerceValue(myBrushsurface, ( ( value ) ));
1636 coerceValue(myUsepartinglines, ( ( value ) ));
1639 coerceValue(myScreenradius, ( ( value ) ));
1642 coerceValue(myObjectradius, ( ( value ) ));
1645 coerceValue(mySoft, ( ( value ) ));
1648 coerceValue(mySpacing, ( ( value ) ));
1651 coerceValue(myDensity, ( ( value ) ));
1654 coerceValue(myBrushmaintainlength, ( ( value ) ));
1657 coerceValue(myBrushsnaptosurface, ( ( value ) ));
1660 coerceValue(myBrushbend, ( ( value ) ));
1663 coerceValue(myBrushbendfalloff, ( ( value ) ));
1666 coerceValue(myLiftmode, clampMinValue(0, clampMaxValue(1, value ) ));
1669 coerceValue(myLiftangle, ( ( value ) ));
1672 coerceValue(myAdjustlengthmode, clampMinValue(0, clampMaxValue(1, value ) ));
1675 coerceValue(myAdjustlengthvalue, ( ( value ) ));
1678 coerceValue(myAdjustlengthlength, ( ( value ) ));
1681 coerceValue(myAdjustlengthmethod, clampMinValue(0, clampMaxValue(1, value ) ));
1684 coerceValue(myMoverotatewithskin, ( ( value ) ));
1687 coerceValue(mySculptdoconstrain, ( ( value ) ));
1690 coerceValue(mySculptlockroot, ( ( value ) ));
1693 coerceValue(mySculptmaintainevensegments, ( ( value ) ));
1696 coerceValue(mySmoothtargetsmoothness, ( ( value ) ));
1699 coerceValue(mySmoothposition, ( ( value ) ));
1702 coerceValue(mySmoothorient, ( ( value ) ));
1705 coerceValue(myBlurinskinspace, ( ( value ) ));
1708 coerceValue(myBlurperpoint, ( ( value ) ));
1711 coerceValue(myBlurshape, ( ( value ) ));
1714 coerceValue(myBlurlength, ( ( value ) ));
1717 coerceValue(myBlurorient, ( ( value ) ));
1720 coerceValue(myCutmode, clampMinValue(0, clampMaxValue(1, value ) ));
1723 coerceValue(myClumpperpoint, ( ( value ) ));
1726 coerceValue(myPlantmode, clampMinValue(0, clampMaxValue(1, value ) ));
1729 coerceValue(myPlantinterpolateguides, ( ( value ) ));
1732 coerceValue(myPlantinterpolaterelskin, ( ( value ) ));
1735 coerceValue(myPlantinterpolateorient, ( ( value ) ));
1738 coerceValue(myPlanttemplatesource, clampMinValue(0, clampMaxValue(2, value ) ));
1741 coerceValue(myPlantlength, ( ( value ) ));
1744 coerceValue(myPlantsegcount, ( ( value ) ));
1747 coerceValue(myDrawonskin, ( ( value ) ));
1750 coerceValue(myDrawinterpolateorient, ( ( value ) ));
1753 coerceValue(myDrawtemplatesource, clampMinValue(0, clampMaxValue(2, value ) ));
1756 coerceValue(myDrawlimitlength, ( ( value ) ));
1759 coerceValue(myDrawcurvetype, clampMinValue(0, clampMaxValue(1, value ) ));
1762 coerceValue(myDrawsegmode, clampMinValue(0, clampMaxValue(1, value ) ));
1765 coerceValue(myDrawsegcount, ( ( value ) ));
1768 coerceValue(myDrawseglength, ( ( value ) ));
1771 coerceValue(myOrientbrushupmode, clampMinValue(0, clampMaxValue(3, value ) ));
1774 coerceValue(myOrientbrushperpoint, ( ( value ) ));
1777 coerceValue(myPainttemplateallowblending, ( ( value ) ));
1780 coerceValue(myEditactiveprim, ( ( value ) ));
1783 coerceValue(myEditsoft, ( ( value ) ));
1786 coerceValue(myEditsoftmode, clampMinValue(0, clampMaxValue(2, value ) ));
1789 coerceValue(myEditcurvefrac, ( ( value ) ));
1792 coerceValue(myEditcurvedist, ( ( value ) ));
1795 coerceValue(myResamplesegmode, clampMinValue(0, clampMaxValue(3, value ) ));
1798 coerceValue(myResamplesegcount, ( ( value ) ));
1801 coerceValue(myResampleseglength, ( ( value ) ));
1804 coerceValue(myTwistangle, ( ( value ) ));
1807 coerceValue(myCurvemaskramp, clampMinValue(0, ( value ) ));
1810 coerceValue(myGroom, ( ( value ) ));
1813 coerceValue(myStrands, ( ( value ) ));
1816 coerceValue(myStrokes, ( ( value ) ));
1819 coerceValue(myPreviewutil, ( ( value ) ));
1822 coerceValue(myPaintmaskpoints, ( ( value ) ));
1825 coerceValue(myGroupnewprims, ( ( value ) ));
1828 coerceValue(myNamenewprims, ( ( value ) ));
1831 coerceValue(myActivegroup, ( ( value ) ));
1834 coerceValue(myNameattrib, ( ( value ) ));
1837 coerceValue(myActivename, ( ( value ) ));
1840 coerceValue(myOverridecolor, ( ( value ) ));
1843 coerceValue(myColorbyname, ( ( value ) ));
1846 coerceValue(myDefaultcolor, ( ( value ) ));
1849 coerceValue(myTemplatecolor, ( ( value ) ));
1852 coerceValue(myColorseed, ( ( value ) ));
1855 if (idx.
size() == 1)
1858 coerceValue(newsize, value);
1859 if (newsize < 0) newsize = 0;
1860 myFolder_grouplist.setSize(newsize);
1864 if (instance[0] < 0)
1866 myFolder_grouplist.setSizeIfNeeded(instance[0]+1);
1867 auto && _data = myFolder_grouplist(instance[0]);
1871 coerceValue(_data.groupcolor, value);
1874 coerceValue(_data.groupname, value);
1877 coerceValue(_data.groupoptions, value);
1884 coerceValue(myXord, clampMinValue(0, clampMaxValue(5, value ) ));
1887 coerceValue(myRord, clampMinValue(0, clampMaxValue(5, value ) ));
1890 coerceValue(myT, ( ( value ) ));
1893 coerceValue(myR, ( ( value ) ));
1896 coerceValue(myS, ( ( value ) ));
1899 coerceValue(myShear, ( ( value ) ));
1902 coerceValue(myScale, ( ( value ) ));
1905 coerceValue(myP, ( ( value ) ));
1908 coerceValue(myPr, ( ( value ) ));
1911 coerceValue(myCamxform0, ( ( value ) ));
1914 coerceValue(myCamxform1, ( ( value ) ));
1917 coerceValue(myCamxform2, ( ( value ) ));
1920 coerceValue(myCamxform3, ( ( value ) ));
1923 coerceValue(myCampos, ( ( value ) ));
1926 coerceValue(myCursorpos, ( ( value ) ));
1929 coerceValue(myCursordisplace, ( ( value ) ));
1932 coerceValue(myRaypos, ( ( value ) ));
1935 coerceValue(myRaydir, ( ( value ) ));
1938 coerceValue(myStrengthscale, ( ( value ) ));
1941 coerceValue(myButton, clampMinValue(0, clampMaxValue(2, value ) ));
1944 coerceValue(myShiftkey, ( ( value ) ));
1947 coerceValue(myCtrlkey, ( ( value ) ));
1954 { doSetParmValue(idx, instance, value); }
1956 { doSetParmValue(idx, instance, value); }
1958 { doSetParmValue(idx, instance, value); }
1960 { doSetParmValue(idx, instance, value); }
1962 { doSetParmValue(idx, instance, value); }
1964 { doSetParmValue(idx, instance, value); }
1966 { doSetParmValue(idx, instance, value); }
1968 { doSetParmValue(idx, instance, value); }
1970 { doSetParmValue(idx, instance, value); }
1972 { doSetParmValue(idx, instance, value); }
1974 { doSetParmValue(idx, instance, value); }
1978 if (idx.
size() == 0)
1992 if (fieldnum.
size() < 1)
1994 switch (fieldnum[0])
2005 return "mirrorbrush";
2009 return "mirrorgroup";
2011 return "mirrororigin";
2019 return "strandmode";
2021 return "collidewithskin";
2023 return "createorient";
2025 return "orientname";
2029 return "orientupattrib";
2031 return "orientupattribflip";
2033 return "templatesourcegroup";
2035 return "widthoverride";
2039 return "brushsurface";
2041 return "usepartinglines";
2043 return "screenradius";
2045 return "objectradius";
2053 return "brushmaintainlength";
2055 return "brushsnaptosurface";
2059 return "brushbendfalloff";
2065 return "adjustlengthmode";
2067 return "adjustlengthvalue";
2069 return "adjustlengthlength";
2071 return "adjustlengthmethod";
2073 return "moverotatewithskin";
2075 return "sculptdoconstrain";
2077 return "sculptlockroot";
2079 return "sculptmaintainevensegments";
2081 return "smoothtargetsmoothness";
2083 return "smoothposition";
2085 return "smoothorient";
2087 return "blurinskinspace";
2089 return "blurperpoint";
2093 return "blurlength";
2095 return "blurorient";
2099 return "clumpperpoint";
2103 return "plantinterpolateguides";
2105 return "plantinterpolaterelskin";
2107 return "plantinterpolateorient";
2109 return "planttemplatesource";
2111 return "plantlength";
2113 return "plantsegcount";
2115 return "drawonskin";
2117 return "drawinterpolateorient";
2119 return "drawtemplatesource";
2121 return "drawlimitlength";
2123 return "drawcurvetype";
2125 return "drawsegmode";
2127 return "drawsegcount";
2129 return "drawseglength";
2131 return "orientbrushupmode";
2133 return "orientbrushperpoint";
2135 return "painttemplateallowblending";
2137 return "editactiveprim";
2141 return "editsoftmode";
2143 return "editcurvefrac";
2145 return "editcurvedist";
2147 return "resamplesegmode";
2149 return "resamplesegcount";
2151 return "resampleseglength";
2153 return "twistangle";
2155 return "curvemaskramp";
2163 return "previewutil";
2165 return "paintmaskpoints";
2167 return "groupnewprims";
2169 return "namenewprims";
2171 return "activegroup";
2173 return "nameattrib";
2175 return "activename";
2177 return "overridecolor";
2179 return "colorbyname";
2181 return "defaultcolor";
2183 return "templatecolor";
2187 if (fieldnum.
size() == 1)
2188 return "folder_grouplist";
2189 switch (fieldnum[1])
2192 return "groupcolor#";
2194 return "groupname#";
2196 return "groupoptions#";
2231 return "cursordisplace";
2237 return "strengthscale";
2251 if (fieldnum.
size() < 1)
2252 return PARM_UNSUPPORTED;
2253 switch (fieldnum[0])
2260 return PARM_INTEGER;
2262 return PARM_INTEGER;
2264 return PARM_INTEGER;
2266 return PARM_INTEGER;
2270 return PARM_VECTOR3;
2272 return PARM_VECTOR3;
2274 return PARM_INTEGER;
2278 return PARM_INTEGER;
2280 return PARM_INTEGER;
2282 return PARM_INTEGER;
2286 return PARM_VECTOR3;
2290 return PARM_INTEGER;
2294 return PARM_INTEGER;
2298 return PARM_INTEGER;
2300 return PARM_INTEGER;
2314 return PARM_INTEGER;
2320 return PARM_INTEGER;
2324 return PARM_INTEGER;
2330 return PARM_INTEGER;
2332 return PARM_INTEGER;
2334 return PARM_INTEGER;
2336 return PARM_INTEGER;
2338 return PARM_INTEGER;
2342 return PARM_INTEGER;
2344 return PARM_INTEGER;
2346 return PARM_INTEGER;
2348 return PARM_INTEGER;
2350 return PARM_INTEGER;
2352 return PARM_INTEGER;
2354 return PARM_INTEGER;
2356 return PARM_INTEGER;
2358 return PARM_INTEGER;
2360 return PARM_INTEGER;
2362 return PARM_INTEGER;
2364 return PARM_INTEGER;
2366 return PARM_INTEGER;
2368 return PARM_INTEGER;
2372 return PARM_INTEGER;
2374 return PARM_INTEGER;
2376 return PARM_INTEGER;
2378 return PARM_INTEGER;
2380 return PARM_INTEGER;
2382 return PARM_INTEGER;
2384 return PARM_INTEGER;
2386 return PARM_INTEGER;
2390 return PARM_INTEGER;
2392 return PARM_INTEGER;
2394 return PARM_INTEGER;
2396 return PARM_INTEGER;
2398 return PARM_INTEGER;
2400 return PARM_INTEGER;
2406 return PARM_INTEGER;
2408 return PARM_INTEGER;
2422 return PARM_INTEGER;
2424 return PARM_INTEGER;
2426 return PARM_INTEGER;
2428 return PARM_INTEGER;
2436 return PARM_INTEGER;
2438 return PARM_INTEGER;
2440 return PARM_VECTOR3;
2442 return PARM_VECTOR3;
2444 return PARM_INTEGER;
2446 if (fieldnum.
size() == 1)
2447 return PARM_MULTIPARM;
2448 switch (fieldnum[1])
2451 return PARM_VECTOR3;
2455 return PARM_INTEGER;
2458 return PARM_UNSUPPORTED;
2460 return PARM_INTEGER;
2462 return PARM_INTEGER;
2464 return PARM_VECTOR3;
2466 return PARM_VECTOR3;
2468 return PARM_VECTOR3;
2470 return PARM_VECTOR3;
2474 return PARM_VECTOR3;
2476 return PARM_VECTOR3;
2478 return PARM_VECTOR4;
2480 return PARM_VECTOR4;
2482 return PARM_VECTOR4;
2484 return PARM_VECTOR4;
2486 return PARM_VECTOR3;
2488 return PARM_VECTOR2;
2490 return PARM_VECTOR3;
2492 return PARM_VECTOR3;
2494 return PARM_VECTOR3;
2498 return PARM_INTEGER;
2500 return PARM_INTEGER;
2502 return PARM_INTEGER;
2505 return PARM_UNSUPPORTED;
2510 { is.
bread(&v, 1); }
2541 loadData(is, rampdata);
2559 int typelen = colon - data.
buffer();
2571 { UTwrite(os, &v); }
2573 {
int64 iv =
v; UTwrite(os, &iv); }
2575 { UTwrite<fpreal64>(os, &
v); }
2577 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
2579 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
2580 UTwrite<fpreal64>(os, &v.
z()); }
2582 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
2583 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
2595 if (s) s->save(ostr);
2596 result = ostr.
str();
2597 saveData(os, result);
2604 ostr << s->getDataTypeToken();
2606 s->saveBinary(ostr);
2608 result = ostr.
str();
2609 saveData(os, result);
2617 saveData(os, myStashnode);
2618 saveData(os, myGroup);
2619 saveData(os, myGrouptype);
2620 saveData(os, myUsemask);
2621 saveData(os, myMirrorbrush);
2622 saveData(os, myMirror);
2623 saveData(os, myMirrorgroup);
2624 saveData(os, myMirrororigin);
2625 saveData(os, myMirrordir);
2626 saveData(os, myTool);
2627 saveData(os, myRaybias);
2628 saveData(os, myStrandmode);
2629 saveData(os, myCollidewithskin);
2630 saveData(os, myCreateorient);
2631 saveData(os, myOrientname);
2632 saveData(os, myOrientup);
2633 saveData(os, myOrientupattrib);
2634 saveData(os, myOrientupattribflip);
2635 saveData(os, myTemplatesourcegroup);
2636 saveData(os, myWidthoverride);
2637 saveData(os, myWidth);
2638 saveData(os, myBrushsurface);
2639 saveData(os, myUsepartinglines);
2640 saveData(os, myScreenradius);
2641 saveData(os, myObjectradius);
2642 saveData(os, mySoft);
2643 saveData(os, mySpacing);
2644 saveData(os, myDensity);
2645 saveData(os, myBrushmaintainlength);
2646 saveData(os, myBrushsnaptosurface);
2647 saveData(os, myBrushbend);
2648 saveData(os, myBrushbendfalloff);
2649 saveData(os, myLiftmode);
2650 saveData(os, myLiftangle);
2651 saveData(os, myAdjustlengthmode);
2652 saveData(os, myAdjustlengthvalue);
2653 saveData(os, myAdjustlengthlength);
2654 saveData(os, myAdjustlengthmethod);
2655 saveData(os, myMoverotatewithskin);
2656 saveData(os, mySculptdoconstrain);
2657 saveData(os, mySculptlockroot);
2658 saveData(os, mySculptmaintainevensegments);
2659 saveData(os, mySmoothtargetsmoothness);
2660 saveData(os, mySmoothposition);
2661 saveData(os, mySmoothorient);
2662 saveData(os, myBlurinskinspace);
2663 saveData(os, myBlurperpoint);
2664 saveData(os, myBlurshape);
2665 saveData(os, myBlurlength);
2666 saveData(os, myBlurorient);
2667 saveData(os, myCutmode);
2668 saveData(os, myClumpperpoint);
2669 saveData(os, myPlantmode);
2670 saveData(os, myPlantinterpolateguides);
2671 saveData(os, myPlantinterpolaterelskin);
2672 saveData(os, myPlantinterpolateorient);
2673 saveData(os, myPlanttemplatesource);
2674 saveData(os, myPlantlength);
2675 saveData(os, myPlantsegcount);
2676 saveData(os, myDrawonskin);
2677 saveData(os, myDrawinterpolateorient);
2678 saveData(os, myDrawtemplatesource);
2679 saveData(os, myDrawlimitlength);
2680 saveData(os, myDrawcurvetype);
2681 saveData(os, myDrawsegmode);
2682 saveData(os, myDrawsegcount);
2683 saveData(os, myDrawseglength);
2684 saveData(os, myOrientbrushupmode);
2685 saveData(os, myOrientbrushperpoint);
2686 saveData(os, myPainttemplateallowblending);
2687 saveData(os, myEditactiveprim);
2688 saveData(os, myEditsoft);
2689 saveData(os, myEditsoftmode);
2690 saveData(os, myEditcurvefrac);
2691 saveData(os, myEditcurvedist);
2692 saveData(os, myResamplesegmode);
2693 saveData(os, myResamplesegcount);
2694 saveData(os, myResampleseglength);
2695 saveData(os, myTwistangle);
2696 saveData(os, myCurvemaskramp);
2697 saveData(os, myGroom);
2698 saveData(os, myStrands);
2699 saveData(os, myStrokes);
2700 saveData(os, myPreviewutil);
2701 saveData(os, myPaintmaskpoints);
2702 saveData(os, myGroupnewprims);
2703 saveData(os, myNamenewprims);
2704 saveData(os, myActivegroup);
2705 saveData(os, myNameattrib);
2706 saveData(os, myActivename);
2707 saveData(os, myOverridecolor);
2708 saveData(os, myColorbyname);
2709 saveData(os, myDefaultcolor);
2710 saveData(os, myTemplatecolor);
2711 saveData(os, myColorseed);
2714 UTwrite(os, &length);
2717 auto && _curentry = myFolder_grouplist(i);
2719 saveData(os, _curentry.groupcolor);
2720 saveData(os, _curentry.groupname);
2721 saveData(os, _curentry.groupoptions);
2725 saveData(os, myXord);
2726 saveData(os, myRord);
2730 saveData(os, myShear);
2731 saveData(os, myScale);
2734 saveData(os, myCamxform0);
2735 saveData(os, myCamxform1);
2736 saveData(os, myCamxform2);
2737 saveData(os, myCamxform3);
2738 saveData(os, myCampos);
2739 saveData(os, myCursorpos);
2740 saveData(os, myCursordisplace);
2741 saveData(os, myRaypos);
2742 saveData(os, myRaydir);
2743 saveData(os, myStrengthscale);
2744 saveData(os, myButton);
2745 saveData(os, myShiftkey);
2746 saveData(os, myCtrlkey);
2759 loadData(is, myStashnode);
2760 loadData(is, myGroup);
2761 loadData(is, myGrouptype);
2762 loadData(is, myUsemask);
2763 loadData(is, myMirrorbrush);
2764 loadData(is, myMirror);
2765 loadData(is, myMirrorgroup);
2766 loadData(is, myMirrororigin);
2767 loadData(is, myMirrordir);
2768 loadData(is, myTool);
2769 loadData(is, myRaybias);
2770 loadData(is, myStrandmode);
2771 loadData(is, myCollidewithskin);
2772 loadData(is, myCreateorient);
2773 loadData(is, myOrientname);
2774 loadData(is, myOrientup);
2775 loadData(is, myOrientupattrib);
2776 loadData(is, myOrientupattribflip);
2777 loadData(is, myTemplatesourcegroup);
2778 loadData(is, myWidthoverride);
2779 loadData(is, myWidth);
2780 loadData(is, myBrushsurface);
2781 loadData(is, myUsepartinglines);
2782 loadData(is, myScreenradius);
2783 loadData(is, myObjectradius);
2784 loadData(is, mySoft);
2785 loadData(is, mySpacing);
2786 loadData(is, myDensity);
2787 loadData(is, myBrushmaintainlength);
2788 loadData(is, myBrushsnaptosurface);
2789 loadData(is, myBrushbend);
2790 loadData(is, myBrushbendfalloff);
2791 loadData(is, myLiftmode);
2792 loadData(is, myLiftangle);
2793 loadData(is, myAdjustlengthmode);
2794 loadData(is, myAdjustlengthvalue);
2795 loadData(is, myAdjustlengthlength);
2796 loadData(is, myAdjustlengthmethod);
2797 loadData(is, myMoverotatewithskin);
2798 loadData(is, mySculptdoconstrain);
2799 loadData(is, mySculptlockroot);
2800 loadData(is, mySculptmaintainevensegments);
2801 loadData(is, mySmoothtargetsmoothness);
2802 loadData(is, mySmoothposition);
2803 loadData(is, mySmoothorient);
2804 loadData(is, myBlurinskinspace);
2805 loadData(is, myBlurperpoint);
2806 loadData(is, myBlurshape);
2807 loadData(is, myBlurlength);
2808 loadData(is, myBlurorient);
2809 loadData(is, myCutmode);
2810 loadData(is, myClumpperpoint);
2811 loadData(is, myPlantmode);
2812 loadData(is, myPlantinterpolateguides);
2813 loadData(is, myPlantinterpolaterelskin);
2814 loadData(is, myPlantinterpolateorient);
2815 loadData(is, myPlanttemplatesource);
2816 loadData(is, myPlantlength);
2817 loadData(is, myPlantsegcount);
2818 loadData(is, myDrawonskin);
2819 loadData(is, myDrawinterpolateorient);
2820 loadData(is, myDrawtemplatesource);
2821 loadData(is, myDrawlimitlength);
2822 loadData(is, myDrawcurvetype);
2823 loadData(is, myDrawsegmode);
2824 loadData(is, myDrawsegcount);
2825 loadData(is, myDrawseglength);
2826 loadData(is, myOrientbrushupmode);
2827 loadData(is, myOrientbrushperpoint);
2828 loadData(is, myPainttemplateallowblending);
2829 loadData(is, myEditactiveprim);
2830 loadData(is, myEditsoft);
2831 loadData(is, myEditsoftmode);
2832 loadData(is, myEditcurvefrac);
2833 loadData(is, myEditcurvedist);
2834 loadData(is, myResamplesegmode);
2835 loadData(is, myResamplesegcount);
2836 loadData(is, myResampleseglength);
2837 loadData(is, myTwistangle);
2838 loadData(is, myCurvemaskramp);
2839 loadData(is, myGroom);
2840 loadData(is, myStrands);
2841 loadData(is, myStrokes);
2842 loadData(is, myPreviewutil);
2843 loadData(is, myPaintmaskpoints);
2844 loadData(is, myGroupnewprims);
2845 loadData(is, myNamenewprims);
2846 loadData(is, myActivegroup);
2847 loadData(is, myNameattrib);
2848 loadData(is, myActivename);
2849 loadData(is, myOverridecolor);
2850 loadData(is, myColorbyname);
2851 loadData(is, myDefaultcolor);
2852 loadData(is, myTemplatecolor);
2853 loadData(is, myColorseed);
2856 is.
read(&length, 1);
2857 myFolder_grouplist.setSize(length);
2860 auto && _curentry = myFolder_grouplist(i);
2862 loadData(is, _curentry.groupcolor);
2863 loadData(is, _curentry.groupname);
2864 loadData(is, _curentry.groupoptions);
2868 loadData(is, myXord);
2869 loadData(is, myRord);
2873 loadData(is, myShear);
2874 loadData(is, myScale);
2877 loadData(is, myCamxform0);
2878 loadData(is, myCamxform1);
2879 loadData(is, myCamxform2);
2880 loadData(is, myCamxform3);
2881 loadData(is, myCampos);
2882 loadData(is, myCursorpos);
2883 loadData(is, myCursordisplace);
2884 loadData(is, myRaypos);
2885 loadData(is, myRaydir);
2886 loadData(is, myStrengthscale);
2887 loadData(is, myButton);
2888 loadData(is, myShiftkey);
2889 loadData(is, myCtrlkey);
2899 if (!thissop)
return getStashnode();
2901 OP_Utils::evalOpParm(result, thissop,
"stashnode", cookparms.
getCookTime(), 0);
2909 if (!thissop)
return getGroup();
2911 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
2919 if (!thissop)
return getGrouptype();
2921 OP_Utils::evalOpParm(result, thissop,
"grouptype", cookparms.
getCookTime(), 0);
2929 if (!thissop)
return getUsemask();
2931 OP_Utils::evalOpParm(result, thissop,
"usemask", cookparms.
getCookTime(), 0);
2939 if (!thissop)
return getMirrorbrush();
2941 OP_Utils::evalOpParm(result, thissop,
"mirrorbrush", cookparms.
getCookTime(), 0);
2949 if (!thissop)
return getMirror();
2951 OP_Utils::evalOpParm(result, thissop,
"mirror", cookparms.
getCookTime(), 0);
2959 if (!thissop)
return getMirrorgroup();
2961 OP_Utils::evalOpParm(result, thissop,
"mirrorgroup", cookparms.
getCookTime(), 0);
2969 if (!thissop)
return getMirrororigin();
2971 OP_Utils::evalOpParm(result, thissop,
"mirrororigin", cookparms.
getCookTime(), 0);
2979 if (!thissop)
return getMirrordir();
2981 OP_Utils::evalOpParm(result, thissop,
"mirrordir", cookparms.
getCookTime(), 0);
2989 if (!thissop)
return getTool();
2991 OP_Utils::evalOpParm(result, thissop,
"tool", cookparms.
getCookTime(), 0);
2992 return Tool(result);
2999 if (!thissop)
return getRaybias();
3001 OP_Utils::evalOpParm(result, thissop,
"raybias", cookparms.
getCookTime(), 0);
3009 if (!thissop)
return getStrandmode();
3011 OP_Utils::evalOpParm(result, thissop,
"strandmode", cookparms.
getCookTime(), 0);
3019 if (!thissop)
return getCollidewithskin();
3021 OP_Utils::evalOpParm(result, thissop,
"collidewithskin", cookparms.
getCookTime(), 0);
3029 if (!thissop)
return getCreateorient();
3031 OP_Utils::evalOpParm(result, thissop,
"createorient", cookparms.
getCookTime(), 0);
3039 if (!thissop)
return getOrientname();
3041 OP_Utils::evalOpParm(result, thissop,
"orientname", cookparms.
getCookTime(), 0);
3049 if (!thissop)
return getOrientup();
3051 OP_Utils::evalOpParm(result, thissop,
"orientup", cookparms.
getCookTime(), 0);
3059 if (!thissop)
return getOrientupattrib();
3061 OP_Utils::evalOpParm(result, thissop,
"orientupattrib", cookparms.
getCookTime(), 0);
3069 if (!thissop)
return getOrientupattribflip();
3071 OP_Utils::evalOpParm(result, thissop,
"orientupattribflip", cookparms.
getCookTime(), 0);
3079 if (!thissop)
return getTemplatesourcegroup();
3081 OP_Utils::evalOpParm(result, thissop,
"templatesourcegroup", cookparms.
getCookTime(), 0);
3089 if (!thissop)
return getWidthoverride();
3091 OP_Utils::evalOpParm(result, thissop,
"widthoverride", cookparms.
getCookTime(), 0);
3099 if (!thissop)
return getWidth();
3101 OP_Utils::evalOpParm(result, thissop,
"width", cookparms.
getCookTime(), 0);
3109 if (!thissop)
return getBrushsurface();
3111 OP_Utils::evalOpParm(result, thissop,
"brushsurface", cookparms.
getCookTime(), 0);
3119 if (!thissop)
return getUsepartinglines();
3121 OP_Utils::evalOpParm(result, thissop,
"usepartinglines", cookparms.
getCookTime(), 0);
3129 if (!thissop)
return getScreenradius();
3131 OP_Utils::evalOpParm(result, thissop,
"screenradius", cookparms.
getCookTime(), 0);
3139 if (!thissop)
return getObjectradius();
3141 OP_Utils::evalOpParm(result, thissop,
"objectradius", cookparms.
getCookTime(), 0);
3149 if (!thissop)
return getSoft();
3151 OP_Utils::evalOpParm(result, thissop,
"soft", cookparms.
getCookTime(), 0);
3159 if (!thissop)
return getSpacing();
3161 OP_Utils::evalOpParm(result, thissop,
"spacing", cookparms.
getCookTime(), 0);
3169 if (!thissop)
return getDensity();
3171 OP_Utils::evalOpParm(result, thissop,
"density", cookparms.
getCookTime(), 0);
3179 if (!thissop)
return getBrushmaintainlength();
3181 OP_Utils::evalOpParm(result, thissop,
"brushmaintainlength", cookparms.
getCookTime(), 0);
3189 if (!thissop)
return getBrushsnaptosurface();
3191 OP_Utils::evalOpParm(result, thissop,
"brushsnaptosurface", cookparms.
getCookTime(), 0);
3199 if (!thissop)
return getBrushbend();
3201 OP_Utils::evalOpParm(result, thissop,
"brushbend", cookparms.
getCookTime(), 0);
3209 if (!thissop)
return getBrushbendfalloff();
3211 OP_Utils::evalOpParm(result, thissop,
"brushbendfalloff", cookparms.
getCookTime(), 0);
3219 if (!thissop)
return getLiftmode();
3221 OP_Utils::evalOpParm(result, thissop,
"liftmode", cookparms.
getCookTime(), 0);
3229 if (!thissop)
return getLiftangle();
3231 OP_Utils::evalOpParm(result, thissop,
"liftangle", cookparms.
getCookTime(), 0);
3239 if (!thissop)
return getAdjustlengthmode();
3241 OP_Utils::evalOpParm(result, thissop,
"adjustlengthmode", cookparms.
getCookTime(), 0);
3249 if (!thissop)
return getAdjustlengthvalue();
3251 OP_Utils::evalOpParm(result, thissop,
"adjustlengthvalue", cookparms.
getCookTime(), 0);
3259 if (!thissop)
return getAdjustlengthlength();
3261 OP_Utils::evalOpParm(result, thissop,
"adjustlengthlength", cookparms.
getCookTime(), 0);
3269 if (!thissop)
return getAdjustlengthmethod();
3271 OP_Utils::evalOpParm(result, thissop,
"adjustlengthmethod", cookparms.
getCookTime(), 0);
3279 if (!thissop)
return getMoverotatewithskin();
3281 OP_Utils::evalOpParm(result, thissop,
"moverotatewithskin", cookparms.
getCookTime(), 0);
3289 if (!thissop)
return getSculptdoconstrain();
3291 OP_Utils::evalOpParm(result, thissop,
"sculptdoconstrain", cookparms.
getCookTime(), 0);
3299 if (!thissop)
return getSculptlockroot();
3301 OP_Utils::evalOpParm(result, thissop,
"sculptlockroot", cookparms.
getCookTime(), 0);
3309 if (!thissop)
return getSculptmaintainevensegments();
3311 OP_Utils::evalOpParm(result, thissop,
"sculptmaintainevensegments", cookparms.
getCookTime(), 0);
3319 if (!thissop)
return getSmoothtargetsmoothness();
3321 OP_Utils::evalOpParm(result, thissop,
"smoothtargetsmoothness", cookparms.
getCookTime(), 0);
3329 if (!thissop)
return getSmoothposition();
3331 OP_Utils::evalOpParm(result, thissop,
"smoothposition", cookparms.
getCookTime(), 0);
3339 if (!thissop)
return getSmoothorient();
3341 OP_Utils::evalOpParm(result, thissop,
"smoothorient", cookparms.
getCookTime(), 0);
3349 if (!thissop)
return getBlurinskinspace();
3351 OP_Utils::evalOpParm(result, thissop,
"blurinskinspace", cookparms.
getCookTime(), 0);
3359 if (!thissop)
return getBlurperpoint();
3361 OP_Utils::evalOpParm(result, thissop,
"blurperpoint", cookparms.
getCookTime(), 0);
3369 if (!thissop)
return getBlurshape();
3371 OP_Utils::evalOpParm(result, thissop,
"blurshape", cookparms.
getCookTime(), 0);
3379 if (!thissop)
return getBlurlength();
3381 OP_Utils::evalOpParm(result, thissop,
"blurlength", cookparms.
getCookTime(), 0);
3389 if (!thissop)
return getBlurorient();
3391 OP_Utils::evalOpParm(result, thissop,
"blurorient", cookparms.
getCookTime(), 0);
3399 if (!thissop)
return getCutmode();
3401 OP_Utils::evalOpParm(result, thissop,
"cutmode", cookparms.
getCookTime(), 0);
3409 if (!thissop)
return getClumpperpoint();
3411 OP_Utils::evalOpParm(result, thissop,
"clumpperpoint", cookparms.
getCookTime(), 0);
3419 if (!thissop)
return getPlantmode();
3421 OP_Utils::evalOpParm(result, thissop,
"plantmode", cookparms.
getCookTime(), 0);
3429 if (!thissop)
return getPlantinterpolateguides();
3431 OP_Utils::evalOpParm(result, thissop,
"plantinterpolateguides", cookparms.
getCookTime(), 0);
3439 if (!thissop)
return getPlantinterpolaterelskin();
3441 OP_Utils::evalOpParm(result, thissop,
"plantinterpolaterelskin", cookparms.
getCookTime(), 0);
3449 if (!thissop)
return getPlantinterpolateorient();
3451 OP_Utils::evalOpParm(result, thissop,
"plantinterpolateorient", cookparms.
getCookTime(), 0);
3459 if (!thissop)
return getPlanttemplatesource();
3461 OP_Utils::evalOpParm(result, thissop,
"planttemplatesource", cookparms.
getCookTime(), 0);
3469 if (!thissop)
return getPlantlength();
3471 OP_Utils::evalOpParm(result, thissop,
"plantlength", cookparms.
getCookTime(), 0);
3479 if (!thissop)
return getPlantsegcount();
3481 OP_Utils::evalOpParm(result, thissop,
"plantsegcount", cookparms.
getCookTime(), 0);
3489 if (!thissop)
return getDrawonskin();
3491 OP_Utils::evalOpParm(result, thissop,
"drawonskin", cookparms.
getCookTime(), 0);
3499 if (!thissop)
return getDrawinterpolateorient();
3501 OP_Utils::evalOpParm(result, thissop,
"drawinterpolateorient", cookparms.
getCookTime(), 0);
3509 if (!thissop)
return getDrawtemplatesource();
3511 OP_Utils::evalOpParm(result, thissop,
"drawtemplatesource", cookparms.
getCookTime(), 0);
3519 if (!thissop)
return getDrawlimitlength();
3521 OP_Utils::evalOpParm(result, thissop,
"drawlimitlength", cookparms.
getCookTime(), 0);
3529 if (!thissop)
return getDrawcurvetype();
3531 OP_Utils::evalOpParm(result, thissop,
"drawcurvetype", cookparms.
getCookTime(), 0);
3539 if (!thissop)
return getDrawsegmode();
3541 OP_Utils::evalOpParm(result, thissop,
"drawsegmode", cookparms.
getCookTime(), 0);
3549 if (!thissop)
return getDrawsegcount();
3551 OP_Utils::evalOpParm(result, thissop,
"drawsegcount", cookparms.
getCookTime(), 0);
3559 if (!thissop)
return getDrawseglength();
3561 OP_Utils::evalOpParm(result, thissop,
"drawseglength", cookparms.
getCookTime(), 0);
3569 if (!thissop)
return getOrientbrushupmode();
3571 OP_Utils::evalOpParm(result, thissop,
"orientbrushupmode", cookparms.
getCookTime(), 0);
3579 if (!thissop)
return getOrientbrushperpoint();
3581 OP_Utils::evalOpParm(result, thissop,
"orientbrushperpoint", cookparms.
getCookTime(), 0);
3589 if (!thissop)
return getPainttemplateallowblending();
3591 OP_Utils::evalOpParm(result, thissop,
"painttemplateallowblending", cookparms.
getCookTime(), 0);
3599 if (!thissop)
return getEditactiveprim();
3601 OP_Utils::evalOpParm(result, thissop,
"editactiveprim", cookparms.
getCookTime(), 0);
3609 if (!thissop)
return getEditsoft();
3611 OP_Utils::evalOpParm(result, thissop,
"editsoft", cookparms.
getCookTime(), 0);
3619 if (!thissop)
return getEditsoftmode();
3621 OP_Utils::evalOpParm(result, thissop,
"editsoftmode", cookparms.
getCookTime(), 0);
3629 if (!thissop)
return getEditcurvefrac();
3631 OP_Utils::evalOpParm(result, thissop,
"editcurvefrac", cookparms.
getCookTime(), 0);
3639 if (!thissop)
return getEditcurvedist();
3641 OP_Utils::evalOpParm(result, thissop,
"editcurvedist", cookparms.
getCookTime(), 0);
3649 if (!thissop)
return getResamplesegmode();
3651 OP_Utils::evalOpParm(result, thissop,
"resamplesegmode", cookparms.
getCookTime(), 0);
3659 if (!thissop)
return getResamplesegcount();
3661 OP_Utils::evalOpParm(result, thissop,
"resamplesegcount", cookparms.
getCookTime(), 0);
3669 if (!thissop)
return getResampleseglength();
3671 OP_Utils::evalOpParm(result, thissop,
"resampleseglength", cookparms.
getCookTime(), 0);
3679 if (!thissop)
return getTwistangle();
3681 OP_Utils::evalOpParm(result, thissop,
"twistangle", cookparms.
getCookTime(), 0);
3689 if (!thissop)
return getCurvemaskramp();
3691 OP_Utils::evalOpParm(result, thissop,
"curvemaskramp", cookparms.
getCookTime(), 0);
3699 if (!thissop)
return getGroom();
3701 OP_Utils::evalOpParm(result, thissop,
"groom", cookparms.
getCookTime(), 0);
3709 if (!thissop)
return getStrands();
3711 OP_Utils::evalOpParm(result, thissop,
"strands", cookparms.
getCookTime(), 0);
3719 if (!thissop)
return getStrokes();
3721 OP_Utils::evalOpParm(result, thissop,
"strokes", cookparms.
getCookTime(), 0);
3729 if (!thissop)
return getPreviewutil();
3731 OP_Utils::evalOpParm(result, thissop,
"previewutil", cookparms.
getCookTime(), 0);
3739 if (!thissop)
return getPaintmaskpoints();
3741 OP_Utils::evalOpParm(result, thissop,
"paintmaskpoints", cookparms.
getCookTime(), 0);
3749 if (!thissop)
return getGroupnewprims();
3751 OP_Utils::evalOpParm(result, thissop,
"groupnewprims", cookparms.
getCookTime(), 0);
3759 if (!thissop)
return getNamenewprims();
3761 OP_Utils::evalOpParm(result, thissop,
"namenewprims", cookparms.
getCookTime(), 0);
3769 if (!thissop)
return getActivegroup();
3771 OP_Utils::evalOpParm(result, thissop,
"activegroup", cookparms.
getCookTime(), 0);
3779 if (!thissop)
return getNameattrib();
3781 OP_Utils::evalOpParm(result, thissop,
"nameattrib", cookparms.
getCookTime(), 0);
3789 if (!thissop)
return getActivename();
3791 OP_Utils::evalOpParm(result, thissop,
"activename", cookparms.
getCookTime(), 0);
3799 if (!thissop)
return getOverridecolor();
3801 OP_Utils::evalOpParm(result, thissop,
"overridecolor", cookparms.
getCookTime(), 0);
3809 if (!thissop)
return getColorbyname();
3811 OP_Utils::evalOpParm(result, thissop,
"colorbyname", cookparms.
getCookTime(), 0);
3819 if (!thissop)
return getDefaultcolor();
3821 OP_Utils::evalOpParm(result, thissop,
"defaultcolor", cookparms.
getCookTime(), 0);
3829 if (!thissop)
return getTemplatecolor();
3831 OP_Utils::evalOpParm(result, thissop,
"templatecolor", cookparms.
getCookTime(), 0);
3839 if (!thissop)
return getColorseed();
3841 OP_Utils::evalOpParm(result, thissop,
"colorseed", cookparms.
getCookTime(), 0);
3849 if (!thissop)
return getFolder_grouplist().entries();
3851 OP_Utils::evalOpParm(result, thissop,
"folder_grouplist", cookparms.
getCookTime(), 0);
3855 {
return opinstFolder_grouplist_groupcolor(cookparms, &_idx); }
3859 if (!thissop)
return (myFolder_grouplist(_idx[0]).groupcolor);
3861 _parmidx[1-1] = _idx[1-1] + 0;
3864 OP_Utils::evalOpParmInst(result, thissop,
"groupcolor#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
3868 {
return opinstFolder_grouplist_groupname(cookparms, &_idx); }
3872 if (!thissop)
return (myFolder_grouplist(_idx[0]).groupname);
3874 _parmidx[1-1] = _idx[1-1] + 0;
3877 OP_Utils::evalOpParmInst(result, thissop,
"groupname#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
3881 {
return opinstFolder_grouplist_groupoptions(cookparms, &_idx); }
3885 if (!thissop)
return (myFolder_grouplist(_idx[0]).groupoptions);
3887 _parmidx[1-1] = _idx[1-1] + 0;
3890 OP_Utils::evalOpParmInst(result, thissop,
"groupoptions#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
3899 if (!thissop)
return getXord();
3901 OP_Utils::evalOpParm(result, thissop,
"xOrd", cookparms.
getCookTime(), 0);
3902 return Xord(result);
3909 if (!thissop)
return getRord();
3911 OP_Utils::evalOpParm(result, thissop,
"rOrd", cookparms.
getCookTime(), 0);
3912 return Rord(result);
3919 if (!thissop)
return getT();
3921 OP_Utils::evalOpParm(result, thissop,
"t", cookparms.
getCookTime(), 0);
3929 if (!thissop)
return getR();
3931 OP_Utils::evalOpParm(result, thissop,
"r", cookparms.
getCookTime(), 0);
3939 if (!thissop)
return getS();
3941 OP_Utils::evalOpParm(result, thissop,
"s", cookparms.
getCookTime(), 0);
3949 if (!thissop)
return getShear();
3951 OP_Utils::evalOpParm(result, thissop,
"shear", cookparms.
getCookTime(), 0);
3961 OP_Utils::evalOpParm(result, thissop,
"scale", cookparms.
getCookTime(), 0);
3969 if (!thissop)
return getP();
3971 OP_Utils::evalOpParm(result, thissop,
"p", cookparms.
getCookTime(), 0);
3979 if (!thissop)
return getPr();
3981 OP_Utils::evalOpParm(result, thissop,
"pr", cookparms.
getCookTime(), 0);
3989 if (!thissop)
return getCamxform0();
3991 OP_Utils::evalOpParm(result, thissop,
"camxform0", cookparms.
getCookTime(), 0);
3999 if (!thissop)
return getCamxform1();
4001 OP_Utils::evalOpParm(result, thissop,
"camxform1", cookparms.
getCookTime(), 0);
4009 if (!thissop)
return getCamxform2();
4011 OP_Utils::evalOpParm(result, thissop,
"camxform2", cookparms.
getCookTime(), 0);
4019 if (!thissop)
return getCamxform3();
4021 OP_Utils::evalOpParm(result, thissop,
"camxform3", cookparms.
getCookTime(), 0);
4029 if (!thissop)
return getCampos();
4031 OP_Utils::evalOpParm(result, thissop,
"campos", cookparms.
getCookTime(), 0);
4039 if (!thissop)
return getCursorpos();
4041 OP_Utils::evalOpParm(result, thissop,
"cursorpos", cookparms.
getCookTime(), 0);
4049 if (!thissop)
return getCursordisplace();
4051 OP_Utils::evalOpParm(result, thissop,
"cursordisplace", cookparms.
getCookTime(), 0);
4059 if (!thissop)
return getRaypos();
4061 OP_Utils::evalOpParm(result, thissop,
"raypos", cookparms.
getCookTime(), 0);
4069 if (!thissop)
return getRaydir();
4071 OP_Utils::evalOpParm(result, thissop,
"raydir", cookparms.
getCookTime(), 0);
4079 if (!thissop)
return getStrengthscale();
4081 OP_Utils::evalOpParm(result, thissop,
"strengthscale", cookparms.
getCookTime(), 0);
4089 if (!thissop)
return getButton();
4091 OP_Utils::evalOpParm(result, thissop,
"button", cookparms.
getCookTime(), 0);
4099 if (!thissop)
return getShiftkey();
4101 OP_Utils::evalOpParm(result, thissop,
"shiftkey", cookparms.
getCookTime(), 0);
4109 if (!thissop)
return getCtrlkey();
4111 OP_Utils::evalOpParm(result, thissop,
"ctrlkey", cookparms.
getCookTime(), 0);
4128 bool myCollidewithskin;
4129 bool myCreateorient;
4133 bool myOrientupattribflip;
4135 bool myWidthoverride;
4137 bool myBrushsurface;
4138 bool myUsepartinglines;
4145 bool myBrushsnaptosurface;
4150 int64 myAdjustlengthmode;
4153 int64 myAdjustlengthmethod;
4154 bool myMoverotatewithskin;
4155 bool mySculptdoconstrain;
4156 bool mySculptlockroot;
4157 bool mySculptmaintainevensegments;
4159 bool mySmoothposition;
4160 bool mySmoothorient;
4161 bool myBlurinskinspace;
4162 bool myBlurperpoint;
4167 bool myClumpperpoint;
4169 bool myPlantinterpolateguides;
4170 bool myPlantinterpolaterelskin;
4171 bool myPlantinterpolateorient;
4172 int64 myPlanttemplatesource;
4174 int64 myPlantsegcount;
4176 bool myDrawinterpolateorient;
4177 int64 myDrawtemplatesource;
4178 bool myDrawlimitlength;
4179 int64 myDrawcurvetype;
4180 int64 myDrawsegmode;
4181 int64 myDrawsegcount;
4183 int64 myOrientbrushupmode;
4184 bool myOrientbrushperpoint;
4185 bool myPainttemplateallowblending;
4186 int64 myEditactiveprim;
4188 int64 myEditsoftmode;
4191 int64 myResamplesegmode;
4192 int64 myResamplesegcount;
4200 bool myPaintmaskpoints;
4201 bool myGroupnewprims;
4202 bool myNamenewprims;
4206 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
exint bread(int32 *buffer, exint asize=1)
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)
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 setColorseed(int64 val)
bool opOverridecolor(const SOP_NodeVerb::CookParms &cookparms) const
void setLiftangle(fpreal64 val)
void setScreenradius(fpreal64 val)
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
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
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)
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
static void loadData(UT_IStream &is, UT_StringHolder &v)
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)
Tool opTool(const SOP_NodeVerb::CookParms &cookparms) const
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
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
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
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)