23 namespace SOP_GuideGroomCoreEnums
176 if (groupcolor != src.
groupcolor)
return false;
177 if (groupname != src.
groupname)
return false;
194 for (
int i = 0; i < list.
entries(); i++)
200 buf.
appendSprintf(
"(%f, %f, %f)", list(i).groupcolor.x(), list(i).groupcolor.y(), list(i).groupcolor.z());
216 myStashnode =
".."_UTsh;
220 myMirrorbrush =
false;
222 myMirrorgroup =
""_UTsh;
227 myStrandmode =
false;
228 myCollidewithskin =
true;
229 myCreateorient =
false;
230 myOrientname =
"orient"_UTsh;
232 myOrientupattrib =
"tangent"_UTsh;
233 myOrientupattribflip =
false;
234 myTemplatesourcegroup =
""_UTsh;
235 myWidthoverride =
true;
237 myBrushsurface =
false;
238 myUsepartinglines =
true;
244 myBrushmaintainlength = 0;
245 myBrushsnaptosurface =
false;
247 myBrushbendfalloff = 0;
250 myAdjustlengthmode = 0;
251 myAdjustlengthvalue = 0.1;
252 myAdjustlengthlength = 0.1;
253 myAdjustlengthmethod = 1;
254 myMoverotatewithskin =
false;
255 mySculptdoconstrain =
true;
256 mySculptlockroot =
true;
257 mySculptmaintainevensegments =
false;
258 mySmoothtargetsmoothness = 0.5;
259 mySmoothposition =
true;
260 mySmoothorient =
true;
261 myBlurinskinspace =
false;
262 myBlurperpoint =
false;
264 myBlurlength =
false;
265 myBlurorient =
false;
267 myClumpperpoint =
false;
269 myPlantinterpolateguides =
true;
270 myPlantinterpolaterelskin =
true;
271 myPlantinterpolateorient =
true;
272 myPlanttemplatesource = 1;
273 myPlantlength = 0.01;
275 myDrawonskin =
false;
276 myDrawinterpolateorient =
false;
277 myDrawtemplatesource = 1;
278 myDrawlimitlength =
false;
282 myDrawseglength = 0.05;
283 myOrientbrushupmode = 0;
284 myOrientbrushperpoint =
false;
285 myPainttemplateallowblending =
false;
286 myEditactiveprim = 0;
291 myResamplesegmode = 0;
292 myResamplesegcount = 8;
293 myResampleseglength = 0.05;
299 myPreviewutil =
true;
300 myPaintmaskpoints =
false;
301 myGroupnewprims =
false;
302 myNamenewprims =
true;
303 myActivegroup =
""_UTsh;
304 myNameattrib =
""_UTsh;
305 myActivename =
""_UTsh;
306 myOverridecolor =
false;
307 myColorbyname =
false;
326 myCursordisplace = 0;
345 if (myStashnode != src.myStashnode)
return false;
346 if (myGroup != src.myGroup)
return false;
347 if (myGrouptype != src.myGrouptype)
return false;
348 if (myUsemask != src.myUsemask)
return false;
349 if (myMirrorbrush != src.myMirrorbrush)
return false;
350 if (myMirror != src.myMirror)
return false;
351 if (myMirrorgroup != src.myMirrorgroup)
return false;
352 if (myMirrororigin != src.myMirrororigin)
return false;
353 if (myMirrordir != src.myMirrordir)
return false;
354 if (myTool != src.myTool)
return false;
355 if (myRaybias != src.myRaybias)
return false;
356 if (myStrandmode != src.myStrandmode)
return false;
357 if (myCollidewithskin != src.myCollidewithskin)
return false;
358 if (myCreateorient != src.myCreateorient)
return false;
359 if (myOrientname != src.myOrientname)
return false;
360 if (myOrientup != src.myOrientup)
return false;
361 if (myOrientupattrib != src.myOrientupattrib)
return false;
362 if (myOrientupattribflip != src.myOrientupattribflip)
return false;
363 if (myTemplatesourcegroup != src.myTemplatesourcegroup)
return false;
364 if (myWidthoverride != src.myWidthoverride)
return false;
365 if (myWidth != src.myWidth)
return false;
366 if (myBrushsurface != src.myBrushsurface)
return false;
367 if (myUsepartinglines != src.myUsepartinglines)
return false;
368 if (myScreenradius != src.myScreenradius)
return false;
369 if (myObjectradius != src.myObjectradius)
return false;
370 if (mySoft != src.mySoft)
return false;
371 if (mySpacing != src.mySpacing)
return false;
372 if (myDensity != src.myDensity)
return false;
373 if (myBrushmaintainlength != src.myBrushmaintainlength)
return false;
374 if (myBrushsnaptosurface != src.myBrushsnaptosurface)
return false;
375 if (myBrushbend != src.myBrushbend)
return false;
376 if (myBrushbendfalloff != src.myBrushbendfalloff)
return false;
377 if (myLiftmode != src.myLiftmode)
return false;
378 if (myLiftangle != src.myLiftangle)
return false;
379 if (myAdjustlengthmode != src.myAdjustlengthmode)
return false;
380 if (myAdjustlengthvalue != src.myAdjustlengthvalue)
return false;
381 if (myAdjustlengthlength != src.myAdjustlengthlength)
return false;
382 if (myAdjustlengthmethod != src.myAdjustlengthmethod)
return false;
383 if (myMoverotatewithskin != src.myMoverotatewithskin)
return false;
384 if (mySculptdoconstrain != src.mySculptdoconstrain)
return false;
385 if (mySculptlockroot != src.mySculptlockroot)
return false;
386 if (mySculptmaintainevensegments != src.mySculptmaintainevensegments)
return false;
387 if (mySmoothtargetsmoothness != src.mySmoothtargetsmoothness)
return false;
388 if (mySmoothposition != src.mySmoothposition)
return false;
389 if (mySmoothorient != src.mySmoothorient)
return false;
390 if (myBlurinskinspace != src.myBlurinskinspace)
return false;
391 if (myBlurperpoint != src.myBlurperpoint)
return false;
392 if (myBlurshape != src.myBlurshape)
return false;
393 if (myBlurlength != src.myBlurlength)
return false;
394 if (myBlurorient != src.myBlurorient)
return false;
395 if (myCutmode != src.myCutmode)
return false;
396 if (myClumpperpoint != src.myClumpperpoint)
return false;
397 if (myPlantmode != src.myPlantmode)
return false;
398 if (myPlantinterpolateguides != src.myPlantinterpolateguides)
return false;
399 if (myPlantinterpolaterelskin != src.myPlantinterpolaterelskin)
return false;
400 if (myPlantinterpolateorient != src.myPlantinterpolateorient)
return false;
401 if (myPlanttemplatesource != src.myPlanttemplatesource)
return false;
402 if (myPlantlength != src.myPlantlength)
return false;
403 if (myPlantsegcount != src.myPlantsegcount)
return false;
404 if (myDrawonskin != src.myDrawonskin)
return false;
405 if (myDrawinterpolateorient != src.myDrawinterpolateorient)
return false;
406 if (myDrawtemplatesource != src.myDrawtemplatesource)
return false;
407 if (myDrawlimitlength != src.myDrawlimitlength)
return false;
408 if (myDrawcurvetype != src.myDrawcurvetype)
return false;
409 if (myDrawsegmode != src.myDrawsegmode)
return false;
410 if (myDrawsegcount != src.myDrawsegcount)
return false;
411 if (myDrawseglength != src.myDrawseglength)
return false;
412 if (myOrientbrushupmode != src.myOrientbrushupmode)
return false;
413 if (myOrientbrushperpoint != src.myOrientbrushperpoint)
return false;
414 if (myPainttemplateallowblending != src.myPainttemplateallowblending)
return false;
415 if (myEditactiveprim != src.myEditactiveprim)
return false;
416 if (myEditsoft != src.myEditsoft)
return false;
417 if (myEditsoftmode != src.myEditsoftmode)
return false;
418 if (myEditcurvefrac != src.myEditcurvefrac)
return false;
419 if (myEditcurvedist != src.myEditcurvedist)
return false;
420 if (myResamplesegmode != src.myResamplesegmode)
return false;
421 if (myResamplesegcount != src.myResamplesegcount)
return false;
422 if (myResampleseglength != src.myResampleseglength)
return false;
423 if (myTwistangle != src.myTwistangle)
return false;
424 if (myCurvemaskramp != src.myCurvemaskramp)
425 {
if (!myCurvemaskramp || !src.myCurvemaskramp || !(*myCurvemaskramp == *src.myCurvemaskramp))
return false; }
426 if (myGroom != src.myGroom)
428 if (myStrands != src.myStrands)
430 if (myStrokes != src.myStrokes)
432 if (myPreviewutil != src.myPreviewutil)
return false;
433 if (myPaintmaskpoints != src.myPaintmaskpoints)
return false;
434 if (myGroupnewprims != src.myGroupnewprims)
return false;
435 if (myNamenewprims != src.myNamenewprims)
return false;
436 if (myActivegroup != src.myActivegroup)
return false;
437 if (myNameattrib != src.myNameattrib)
return false;
438 if (myActivename != src.myActivename)
return false;
439 if (myOverridecolor != src.myOverridecolor)
return false;
440 if (myColorbyname != src.myColorbyname)
return false;
441 if (myDefaultcolor != src.myDefaultcolor)
return false;
442 if (myTemplatecolor != src.myTemplatecolor)
return false;
443 if (myColorseed != src.myColorseed)
return false;
444 if (myFolder_grouplist != src.myFolder_grouplist)
return false;
445 if (myXord != src.myXord)
return false;
446 if (myRord != src.myRord)
return false;
447 if (myT != src.myT)
return false;
448 if (myR != src.myR)
return false;
449 if (myS != src.myS)
return false;
450 if (myShear != src.myShear)
return false;
451 if (myScale != src.myScale)
return false;
452 if (myP != src.myP)
return false;
453 if (myPr != src.myPr)
return false;
454 if (myCamxform0 != src.myCamxform0)
return false;
455 if (myCamxform1 != src.myCamxform1)
return false;
456 if (myCamxform2 != src.myCamxform2)
return false;
457 if (myCamxform3 != src.myCamxform3)
return false;
458 if (myCampos != src.myCampos)
return false;
459 if (myCursorpos != src.myCursorpos)
return false;
460 if (myCursordisplace != src.myCursordisplace)
return false;
461 if (myRaypos != src.myRaypos)
return false;
462 if (myRaydir != src.myRaydir)
return false;
463 if (myStrengthscale != src.myStrengthscale)
return false;
464 if (myButton != src.myButton)
return false;
465 if (myShiftkey != src.myShiftkey)
return false;
466 if (myCtrlkey != src.myCtrlkey)
return false;
496 myStashnode =
".."_UTsh;
498 graph->
evalOpParm(myStashnode, nodeidx,
"stashnode", time, 0);
501 graph->
evalOpParm(myGroup, nodeidx,
"group", time, 0);
504 graph->
evalOpParm(myGrouptype, nodeidx,
"grouptype", time, 0);
507 graph->
evalOpParm(myUsemask, nodeidx,
"usemask", time, 0);
508 myMirrorbrush =
false;
510 graph->
evalOpParm(myMirrorbrush, nodeidx,
"mirrorbrush", time, 0);
513 graph->
evalOpParm(myMirror, nodeidx,
"mirror", time, 0);
514 myMirrorgroup =
""_UTsh;
516 graph->
evalOpParm(myMirrorgroup, nodeidx,
"mirrorgroup", time, 0);
519 graph->
evalOpParm(myMirrororigin, nodeidx,
"mirrororigin", time, 0);
522 graph->
evalOpParm(myMirrordir, nodeidx,
"mirrordir", time, 0);
525 graph->
evalOpParm(myTool, nodeidx,
"tool", time, 0);
528 graph->
evalOpParm(myRaybias, nodeidx,
"raybias", time, 0);
529 myStrandmode =
false;
531 graph->
evalOpParm(myStrandmode, nodeidx,
"strandmode", time, 0);
532 myCollidewithskin =
true;
534 graph->
evalOpParm(myCollidewithskin, nodeidx,
"collidewithskin", time, 0);
535 myCreateorient =
false;
537 graph->
evalOpParm(myCreateorient, nodeidx,
"createorient", time, 0);
538 myOrientname =
"orient"_UTsh;
540 graph->
evalOpParm(myOrientname, nodeidx,
"orientname", time, 0);
543 graph->
evalOpParm(myOrientup, nodeidx,
"orientup", time, 0);
544 myOrientupattrib =
"tangent"_UTsh;
546 graph->
evalOpParm(myOrientupattrib, nodeidx,
"orientupattrib", time, 0);
547 myOrientupattribflip =
false;
549 graph->
evalOpParm(myOrientupattribflip, nodeidx,
"orientupattribflip", time, 0);
550 myTemplatesourcegroup =
""_UTsh;
552 graph->
evalOpParm(myTemplatesourcegroup, nodeidx,
"templatesourcegroup", time, 0);
553 myWidthoverride =
true;
555 graph->
evalOpParm(myWidthoverride, nodeidx,
"widthoverride", time, 0);
558 graph->
evalOpParm(myWidth, nodeidx,
"width", time, 0);
559 myBrushsurface =
false;
561 graph->
evalOpParm(myBrushsurface, nodeidx,
"brushsurface", time, 0);
562 myUsepartinglines =
true;
564 graph->
evalOpParm(myUsepartinglines, nodeidx,
"usepartinglines", time, 0);
567 graph->
evalOpParm(myScreenradius, nodeidx,
"screenradius", time, 0);
570 graph->
evalOpParm(myObjectradius, nodeidx,
"objectradius", time, 0);
573 graph->
evalOpParm(mySoft, nodeidx,
"soft", time, 0);
576 graph->
evalOpParm(mySpacing, nodeidx,
"spacing", time, 0);
579 graph->
evalOpParm(myDensity, nodeidx,
"density", time, 0);
580 myBrushmaintainlength = 0;
582 graph->
evalOpParm(myBrushmaintainlength, nodeidx,
"brushmaintainlength", time, 0);
583 myBrushsnaptosurface =
false;
585 graph->
evalOpParm(myBrushsnaptosurface, nodeidx,
"brushsnaptosurface", time, 0);
588 graph->
evalOpParm(myBrushbend, nodeidx,
"brushbend", time, 0);
589 myBrushbendfalloff = 0;
591 graph->
evalOpParm(myBrushbendfalloff, nodeidx,
"brushbendfalloff", time, 0);
594 graph->
evalOpParm(myLiftmode, nodeidx,
"liftmode", time, 0);
597 graph->
evalOpParm(myLiftangle, nodeidx,
"liftangle", time, 0);
598 myAdjustlengthmode = 0;
600 graph->
evalOpParm(myAdjustlengthmode, nodeidx,
"adjustlengthmode", time, 0);
601 myAdjustlengthvalue = 0.1;
603 graph->
evalOpParm(myAdjustlengthvalue, nodeidx,
"adjustlengthvalue", time, 0);
604 myAdjustlengthlength = 0.1;
606 graph->
evalOpParm(myAdjustlengthlength, nodeidx,
"adjustlengthlength", time, 0);
607 myAdjustlengthmethod = 1;
609 graph->
evalOpParm(myAdjustlengthmethod, nodeidx,
"adjustlengthmethod", time, 0);
610 myMoverotatewithskin =
false;
612 graph->
evalOpParm(myMoverotatewithskin, nodeidx,
"moverotatewithskin", time, 0);
613 mySculptdoconstrain =
true;
615 graph->
evalOpParm(mySculptdoconstrain, nodeidx,
"sculptdoconstrain", time, 0);
616 mySculptlockroot =
true;
618 graph->
evalOpParm(mySculptlockroot, nodeidx,
"sculptlockroot", time, 0);
619 mySculptmaintainevensegments =
false;
621 graph->
evalOpParm(mySculptmaintainevensegments, nodeidx,
"sculptmaintainevensegments", time, 0);
622 mySmoothtargetsmoothness = 0.5;
624 graph->
evalOpParm(mySmoothtargetsmoothness, nodeidx,
"smoothtargetsmoothness", time, 0);
625 mySmoothposition =
true;
627 graph->
evalOpParm(mySmoothposition, nodeidx,
"smoothposition", time, 0);
628 mySmoothorient =
true;
630 graph->
evalOpParm(mySmoothorient, nodeidx,
"smoothorient", time, 0);
631 myBlurinskinspace =
false;
633 graph->
evalOpParm(myBlurinskinspace, nodeidx,
"blurinskinspace", time, 0);
634 myBlurperpoint =
false;
636 graph->
evalOpParm(myBlurperpoint, nodeidx,
"blurperpoint", time, 0);
639 graph->
evalOpParm(myBlurshape, nodeidx,
"blurshape", time, 0);
640 myBlurlength =
false;
642 graph->
evalOpParm(myBlurlength, nodeidx,
"blurlength", time, 0);
643 myBlurorient =
false;
645 graph->
evalOpParm(myBlurorient, nodeidx,
"blurorient", time, 0);
648 graph->
evalOpParm(myCutmode, nodeidx,
"cutmode", time, 0);
649 myClumpperpoint =
false;
651 graph->
evalOpParm(myClumpperpoint, nodeidx,
"clumpperpoint", time, 0);
654 graph->
evalOpParm(myPlantmode, nodeidx,
"plantmode", time, 0);
655 myPlantinterpolateguides =
true;
657 graph->
evalOpParm(myPlantinterpolateguides, nodeidx,
"plantinterpolateguides", time, 0);
658 myPlantinterpolaterelskin =
true;
660 graph->
evalOpParm(myPlantinterpolaterelskin, nodeidx,
"plantinterpolaterelskin", time, 0);
661 myPlantinterpolateorient =
true;
663 graph->
evalOpParm(myPlantinterpolateorient, nodeidx,
"plantinterpolateorient", time, 0);
664 myPlanttemplatesource = 1;
666 graph->
evalOpParm(myPlanttemplatesource, nodeidx,
"planttemplatesource", time, 0);
667 myPlantlength = 0.01;
669 graph->
evalOpParm(myPlantlength, nodeidx,
"plantlength", time, 0);
672 graph->
evalOpParm(myPlantsegcount, nodeidx,
"plantsegcount", time, 0);
673 myDrawonskin =
false;
675 graph->
evalOpParm(myDrawonskin, nodeidx,
"drawonskin", time, 0);
676 myDrawinterpolateorient =
false;
678 graph->
evalOpParm(myDrawinterpolateorient, nodeidx,
"drawinterpolateorient", time, 0);
679 myDrawtemplatesource = 1;
681 graph->
evalOpParm(myDrawtemplatesource, nodeidx,
"drawtemplatesource", time, 0);
682 myDrawlimitlength =
false;
684 graph->
evalOpParm(myDrawlimitlength, nodeidx,
"drawlimitlength", time, 0);
687 graph->
evalOpParm(myDrawcurvetype, nodeidx,
"drawcurvetype", time, 0);
690 graph->
evalOpParm(myDrawsegmode, nodeidx,
"drawsegmode", time, 0);
693 graph->
evalOpParm(myDrawsegcount, nodeidx,
"drawsegcount", time, 0);
694 myDrawseglength = 0.05;
696 graph->
evalOpParm(myDrawseglength, nodeidx,
"drawseglength", time, 0);
697 myOrientbrushupmode = 0;
699 graph->
evalOpParm(myOrientbrushupmode, nodeidx,
"orientbrushupmode", time, 0);
700 myOrientbrushperpoint =
false;
702 graph->
evalOpParm(myOrientbrushperpoint, nodeidx,
"orientbrushperpoint", time, 0);
703 myPainttemplateallowblending =
false;
705 graph->
evalOpParm(myPainttemplateallowblending, nodeidx,
"painttemplateallowblending", time, 0);
706 myEditactiveprim = 0;
708 graph->
evalOpParm(myEditactiveprim, nodeidx,
"editactiveprim", time, 0);
711 graph->
evalOpParm(myEditsoft, nodeidx,
"editsoft", time, 0);
714 graph->
evalOpParm(myEditsoftmode, nodeidx,
"editsoftmode", time, 0);
717 graph->
evalOpParm(myEditcurvefrac, nodeidx,
"editcurvefrac", time, 0);
720 graph->
evalOpParm(myEditcurvedist, nodeidx,
"editcurvedist", time, 0);
721 myResamplesegmode = 0;
723 graph->
evalOpParm(myResamplesegmode, nodeidx,
"resamplesegmode", time, 0);
724 myResamplesegcount = 8;
726 graph->
evalOpParm(myResamplesegcount, nodeidx,
"resamplesegcount", time, 0);
727 myResampleseglength = 0.05;
729 graph->
evalOpParm(myResampleseglength, nodeidx,
"resampleseglength", time, 0);
732 graph->
evalOpParm(myTwistangle, nodeidx,
"twistangle", time, 0);
735 graph->
evalOpParm(myCurvemaskramp, nodeidx,
"curvemaskramp", time, 0);
738 graph->
evalOpParm(myGroom, nodeidx,
"groom", time, 0);
741 graph->
evalOpParm(myStrands, nodeidx,
"strands", time, 0);
744 graph->
evalOpParm(myStrokes, nodeidx,
"strokes", time, 0);
745 myPreviewutil =
true;
747 graph->
evalOpParm(myPreviewutil, nodeidx,
"previewutil", time, 0);
748 myPaintmaskpoints =
false;
750 graph->
evalOpParm(myPaintmaskpoints, nodeidx,
"paintmaskpoints", time, 0);
751 myGroupnewprims =
false;
753 graph->
evalOpParm(myGroupnewprims, nodeidx,
"groupnewprims", time, 0);
754 myNamenewprims =
true;
756 graph->
evalOpParm(myNamenewprims, nodeidx,
"namenewprims", time, 0);
757 myActivegroup =
""_UTsh;
759 graph->
evalOpParm(myActivegroup, nodeidx,
"activegroup", time, 0);
760 myNameattrib =
""_UTsh;
762 graph->
evalOpParm(myNameattrib, nodeidx,
"nameattrib", time, 0);
763 myActivename =
""_UTsh;
765 graph->
evalOpParm(myActivename, nodeidx,
"activename", time, 0);
766 myOverridecolor =
false;
768 graph->
evalOpParm(myOverridecolor, nodeidx,
"overridecolor", time, 0);
769 myColorbyname =
false;
771 graph->
evalOpParm(myColorbyname, nodeidx,
"colorbyname", time, 0);
774 graph->
evalOpParm(myDefaultcolor, nodeidx,
"defaultcolor", time, 0);
777 graph->
evalOpParm(myTemplatecolor, nodeidx,
"templatecolor", time, 0);
780 graph->
evalOpParm(myColorseed, nodeidx,
"colorseed", time, 0);
784 graph->
evalOpParm(length, nodeidx,
"folder_grouplist", time, 0);
785 if (length < 0) length = 0;
786 myFolder_grouplist.setSize(length);
793 auto && _curentry = myFolder_grouplist(i);
797 graph->
evalOpParmInst(_curentry.groupcolor, nodeidx,
"groupcolor#", parmidx, offsets, time, 0, 2-1);
798 _curentry.groupname =
""_UTsh;
800 graph->
evalOpParmInst(_curentry.groupname, nodeidx,
"groupname#", parmidx, offsets, time, 0, 2-1);
801 _curentry.groupoptions = 0;
803 graph->
evalOpParmInst(_curentry.groupoptions, nodeidx,
"groupoptions#", parmidx, offsets, time, 0, 2-1);
808 myFolder_grouplist.clear();
811 graph->
evalOpParm(myXord, nodeidx,
"xOrd", time, 0);
814 graph->
evalOpParm(myRord, nodeidx,
"rOrd", time, 0);
817 graph->
evalOpParm(myT, nodeidx,
"t", time, 0);
820 graph->
evalOpParm(myR, nodeidx,
"r", time, 0);
823 graph->
evalOpParm(myS, nodeidx,
"s", time, 0);
826 graph->
evalOpParm(myShear, nodeidx,
"shear", time, 0);
829 graph->
evalOpParm(myScale, nodeidx,
"scale", time, 0);
832 graph->
evalOpParm(myP, nodeidx,
"p", time, 0);
835 graph->
evalOpParm(myPr, nodeidx,
"pr", time, 0);
838 graph->
evalOpParm(myCamxform0, nodeidx,
"camxform0", time, 0);
841 graph->
evalOpParm(myCamxform1, nodeidx,
"camxform1", time, 0);
844 graph->
evalOpParm(myCamxform2, nodeidx,
"camxform2", time, 0);
847 graph->
evalOpParm(myCamxform3, nodeidx,
"camxform3", time, 0);
850 graph->
evalOpParm(myCampos, nodeidx,
"campos", time, 0);
853 graph->
evalOpParm(myCursorpos, nodeidx,
"cursorpos", time, 0);
854 myCursordisplace = 0;
856 graph->
evalOpParm(myCursordisplace, nodeidx,
"cursordisplace", time, 0);
859 graph->
evalOpParm(myRaypos, nodeidx,
"raypos", time, 0);
862 graph->
evalOpParm(myRaydir, nodeidx,
"raydir", time, 0);
865 graph->
evalOpParm(myStrengthscale, nodeidx,
"strengthscale", time, 0);
868 graph->
evalOpParm(myButton, nodeidx,
"button", time, 0);
871 graph->
evalOpParm(myShiftkey, nodeidx,
"shiftkey", time, 0);
874 graph->
evalOpParm(myCtrlkey, nodeidx,
"ctrlkey", time, 0);
890 template <
typename T>
897 if (idx.
size() != instance.
size()+1)
1187 if (idx.
size() == 1)
1189 else if (instance[0] < myFolder_grouplist.entries())
1191 auto && _data = myFolder_grouplist(instance[0]);
1287 { doGetParmValue(idx, instance, value); }
1289 { doGetParmValue(idx, instance, value); }
1291 { doGetParmValue(idx, instance, value); }
1293 { doGetParmValue(idx, instance, value); }
1295 { doGetParmValue(idx, instance, value); }
1297 { doGetParmValue(idx, instance, value); }
1299 { doGetParmValue(idx, instance, value); }
1301 { doGetParmValue(idx, instance, value); }
1303 { doGetParmValue(idx, instance, value); }
1305 { doGetParmValue(idx, instance, value); }
1307 { doGetParmValue(idx, instance, value); }
1309 template <
typename T>
1316 if (idx.
size() != instance.
size()+1)
1375 coerceValue(myTemplatesourcegroup, ( ( value ) ));
1405 coerceValue(myBrushmaintainlength, ( ( value ) ));
1444 coerceValue(mySculptmaintainevensegments, ( ( value ) ));
1447 coerceValue(mySmoothtargetsmoothness, ( ( value ) ));
1480 coerceValue(myPlantinterpolateguides, ( ( value ) ));
1483 coerceValue(myPlantinterpolaterelskin, ( ( value ) ));
1486 coerceValue(myPlantinterpolateorient, ( ( value ) ));
1501 coerceValue(myDrawinterpolateorient, ( ( value ) ));
1525 coerceValue(myOrientbrushperpoint, ( ( value ) ));
1528 coerceValue(myPainttemplateallowblending, ( ( value ) ));
1606 if (idx.
size() == 1)
1610 if (newsize < 0) newsize = 0;
1611 myFolder_grouplist.setSize(newsize);
1615 if (instance[0] < 0)
1617 myFolder_grouplist.setSizeIfNeeded(instance[0]+1);
1618 auto && _data = myFolder_grouplist(instance[0]);
1705 { doSetParmValue(idx, instance, value); }
1707 { doSetParmValue(idx, instance, value); }
1709 { doSetParmValue(idx, instance, value); }
1711 { doSetParmValue(idx, instance, value); }
1713 { doSetParmValue(idx, instance, value); }
1715 { doSetParmValue(idx, instance, value); }
1717 { doSetParmValue(idx, instance, value); }
1719 { doSetParmValue(idx, instance, value); }
1721 { doSetParmValue(idx, instance, value); }
1723 { doSetParmValue(idx, instance, value); }
1725 { doSetParmValue(idx, instance, value); }
1729 if (idx.
size() == 0)
1743 if (fieldnum.
size() < 1)
1745 switch (fieldnum[0])
1756 return "mirrorbrush";
1760 return "mirrorgroup";
1762 return "mirrororigin";
1770 return "strandmode";
1772 return "collidewithskin";
1774 return "createorient";
1776 return "orientname";
1780 return "orientupattrib";
1782 return "orientupattribflip";
1784 return "templatesourcegroup";
1786 return "widthoverride";
1790 return "brushsurface";
1792 return "usepartinglines";
1794 return "screenradius";
1796 return "objectradius";
1804 return "brushmaintainlength";
1806 return "brushsnaptosurface";
1810 return "brushbendfalloff";
1816 return "adjustlengthmode";
1818 return "adjustlengthvalue";
1820 return "adjustlengthlength";
1822 return "adjustlengthmethod";
1824 return "moverotatewithskin";
1826 return "sculptdoconstrain";
1828 return "sculptlockroot";
1830 return "sculptmaintainevensegments";
1832 return "smoothtargetsmoothness";
1834 return "smoothposition";
1836 return "smoothorient";
1838 return "blurinskinspace";
1840 return "blurperpoint";
1844 return "blurlength";
1846 return "blurorient";
1850 return "clumpperpoint";
1854 return "plantinterpolateguides";
1856 return "plantinterpolaterelskin";
1858 return "plantinterpolateorient";
1860 return "planttemplatesource";
1862 return "plantlength";
1864 return "plantsegcount";
1866 return "drawonskin";
1868 return "drawinterpolateorient";
1870 return "drawtemplatesource";
1872 return "drawlimitlength";
1874 return "drawcurvetype";
1876 return "drawsegmode";
1878 return "drawsegcount";
1880 return "drawseglength";
1882 return "orientbrushupmode";
1884 return "orientbrushperpoint";
1886 return "painttemplateallowblending";
1888 return "editactiveprim";
1892 return "editsoftmode";
1894 return "editcurvefrac";
1896 return "editcurvedist";
1898 return "resamplesegmode";
1900 return "resamplesegcount";
1902 return "resampleseglength";
1904 return "twistangle";
1906 return "curvemaskramp";
1914 return "previewutil";
1916 return "paintmaskpoints";
1918 return "groupnewprims";
1920 return "namenewprims";
1922 return "activegroup";
1924 return "nameattrib";
1926 return "activename";
1928 return "overridecolor";
1930 return "colorbyname";
1932 return "defaultcolor";
1934 return "templatecolor";
1938 if (fieldnum.
size() == 1)
1939 return "folder_grouplist";
1940 switch (fieldnum[1])
1943 return "groupcolor#";
1945 return "groupname#";
1947 return "groupoptions#";
1982 return "cursordisplace";
1988 return "strengthscale";
2002 if (fieldnum.
size() < 1)
2003 return PARM_UNSUPPORTED;
2004 switch (fieldnum[0])
2197 if (fieldnum.
size() == 1)
2198 return PARM_MULTIPARM;
2199 switch (fieldnum[1])
2261 { is.
bread(&v, 1); }
2275 {
for (
int r = 0;
r < 2;
r++)
for (
int c = 0; c < 2; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
2277 {
for (
int r = 0;
r < 3;
r++)
for (
int c = 0; c < 3; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
2279 {
for (
int r = 0;
r < 4;
r++)
for (
int c = 0; c < 4; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
2292 loadData(is, rampdata);
2310 int typelen = colon - data.
buffer();
2322 { UTwrite(os, &v); }
2324 {
int64 iv =
v; UTwrite(os, &iv); }
2326 { UTwrite<fpreal64>(os, &
v); }
2328 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
2330 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
2331 UTwrite<fpreal64>(os, &v.
z()); }
2333 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
2334 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
2346 if (s) s->save(ostr);
2347 result = ostr.
str();
2348 saveData(os, result);
2355 ostr << s->getDataTypeToken();
2357 s->saveBinary(ostr);
2359 result = ostr.
str();
2360 saveData(os, result);
2368 saveData(os, myStashnode);
2369 saveData(os, myGroup);
2370 saveData(os, myGrouptype);
2371 saveData(os, myUsemask);
2372 saveData(os, myMirrorbrush);
2373 saveData(os, myMirror);
2374 saveData(os, myMirrorgroup);
2375 saveData(os, myMirrororigin);
2376 saveData(os, myMirrordir);
2377 saveData(os, myTool);
2378 saveData(os, myRaybias);
2379 saveData(os, myStrandmode);
2380 saveData(os, myCollidewithskin);
2381 saveData(os, myCreateorient);
2382 saveData(os, myOrientname);
2383 saveData(os, myOrientup);
2384 saveData(os, myOrientupattrib);
2385 saveData(os, myOrientupattribflip);
2386 saveData(os, myTemplatesourcegroup);
2387 saveData(os, myWidthoverride);
2388 saveData(os, myWidth);
2389 saveData(os, myBrushsurface);
2390 saveData(os, myUsepartinglines);
2391 saveData(os, myScreenradius);
2392 saveData(os, myObjectradius);
2393 saveData(os, mySoft);
2394 saveData(os, mySpacing);
2395 saveData(os, myDensity);
2396 saveData(os, myBrushmaintainlength);
2397 saveData(os, myBrushsnaptosurface);
2398 saveData(os, myBrushbend);
2399 saveData(os, myBrushbendfalloff);
2400 saveData(os, myLiftmode);
2401 saveData(os, myLiftangle);
2402 saveData(os, myAdjustlengthmode);
2403 saveData(os, myAdjustlengthvalue);
2404 saveData(os, myAdjustlengthlength);
2405 saveData(os, myAdjustlengthmethod);
2406 saveData(os, myMoverotatewithskin);
2407 saveData(os, mySculptdoconstrain);
2408 saveData(os, mySculptlockroot);
2409 saveData(os, mySculptmaintainevensegments);
2410 saveData(os, mySmoothtargetsmoothness);
2411 saveData(os, mySmoothposition);
2412 saveData(os, mySmoothorient);
2413 saveData(os, myBlurinskinspace);
2414 saveData(os, myBlurperpoint);
2415 saveData(os, myBlurshape);
2416 saveData(os, myBlurlength);
2417 saveData(os, myBlurorient);
2418 saveData(os, myCutmode);
2419 saveData(os, myClumpperpoint);
2420 saveData(os, myPlantmode);
2421 saveData(os, myPlantinterpolateguides);
2422 saveData(os, myPlantinterpolaterelskin);
2423 saveData(os, myPlantinterpolateorient);
2424 saveData(os, myPlanttemplatesource);
2425 saveData(os, myPlantlength);
2426 saveData(os, myPlantsegcount);
2427 saveData(os, myDrawonskin);
2428 saveData(os, myDrawinterpolateorient);
2429 saveData(os, myDrawtemplatesource);
2430 saveData(os, myDrawlimitlength);
2431 saveData(os, myDrawcurvetype);
2432 saveData(os, myDrawsegmode);
2433 saveData(os, myDrawsegcount);
2434 saveData(os, myDrawseglength);
2435 saveData(os, myOrientbrushupmode);
2436 saveData(os, myOrientbrushperpoint);
2437 saveData(os, myPainttemplateallowblending);
2438 saveData(os, myEditactiveprim);
2439 saveData(os, myEditsoft);
2440 saveData(os, myEditsoftmode);
2441 saveData(os, myEditcurvefrac);
2442 saveData(os, myEditcurvedist);
2443 saveData(os, myResamplesegmode);
2444 saveData(os, myResamplesegcount);
2445 saveData(os, myResampleseglength);
2446 saveData(os, myTwistangle);
2447 saveData(os, myCurvemaskramp);
2448 saveData(os, myGroom);
2449 saveData(os, myStrands);
2450 saveData(os, myStrokes);
2451 saveData(os, myPreviewutil);
2452 saveData(os, myPaintmaskpoints);
2453 saveData(os, myGroupnewprims);
2454 saveData(os, myNamenewprims);
2455 saveData(os, myActivegroup);
2456 saveData(os, myNameattrib);
2457 saveData(os, myActivename);
2458 saveData(os, myOverridecolor);
2459 saveData(os, myColorbyname);
2460 saveData(os, myDefaultcolor);
2461 saveData(os, myTemplatecolor);
2462 saveData(os, myColorseed);
2465 UTwrite(os, &length);
2468 auto && _curentry = myFolder_grouplist(i);
2470 saveData(os, _curentry.groupcolor);
2471 saveData(os, _curentry.groupname);
2472 saveData(os, _curentry.groupoptions);
2476 saveData(os, myXord);
2477 saveData(os, myRord);
2481 saveData(os, myShear);
2482 saveData(os, myScale);
2485 saveData(os, myCamxform0);
2486 saveData(os, myCamxform1);
2487 saveData(os, myCamxform2);
2488 saveData(os, myCamxform3);
2489 saveData(os, myCampos);
2490 saveData(os, myCursorpos);
2491 saveData(os, myCursordisplace);
2492 saveData(os, myRaypos);
2493 saveData(os, myRaydir);
2494 saveData(os, myStrengthscale);
2495 saveData(os, myButton);
2496 saveData(os, myShiftkey);
2497 saveData(os, myCtrlkey);
2510 loadData(is, myStashnode);
2511 loadData(is, myGroup);
2512 loadData(is, myGrouptype);
2513 loadData(is, myUsemask);
2514 loadData(is, myMirrorbrush);
2515 loadData(is, myMirror);
2516 loadData(is, myMirrorgroup);
2517 loadData(is, myMirrororigin);
2518 loadData(is, myMirrordir);
2519 loadData(is, myTool);
2520 loadData(is, myRaybias);
2521 loadData(is, myStrandmode);
2522 loadData(is, myCollidewithskin);
2523 loadData(is, myCreateorient);
2524 loadData(is, myOrientname);
2525 loadData(is, myOrientup);
2526 loadData(is, myOrientupattrib);
2527 loadData(is, myOrientupattribflip);
2528 loadData(is, myTemplatesourcegroup);
2529 loadData(is, myWidthoverride);
2530 loadData(is, myWidth);
2531 loadData(is, myBrushsurface);
2532 loadData(is, myUsepartinglines);
2533 loadData(is, myScreenradius);
2534 loadData(is, myObjectradius);
2535 loadData(is, mySoft);
2536 loadData(is, mySpacing);
2537 loadData(is, myDensity);
2538 loadData(is, myBrushmaintainlength);
2539 loadData(is, myBrushsnaptosurface);
2540 loadData(is, myBrushbend);
2541 loadData(is, myBrushbendfalloff);
2542 loadData(is, myLiftmode);
2543 loadData(is, myLiftangle);
2544 loadData(is, myAdjustlengthmode);
2545 loadData(is, myAdjustlengthvalue);
2546 loadData(is, myAdjustlengthlength);
2547 loadData(is, myAdjustlengthmethod);
2548 loadData(is, myMoverotatewithskin);
2549 loadData(is, mySculptdoconstrain);
2550 loadData(is, mySculptlockroot);
2551 loadData(is, mySculptmaintainevensegments);
2552 loadData(is, mySmoothtargetsmoothness);
2553 loadData(is, mySmoothposition);
2554 loadData(is, mySmoothorient);
2555 loadData(is, myBlurinskinspace);
2556 loadData(is, myBlurperpoint);
2557 loadData(is, myBlurshape);
2558 loadData(is, myBlurlength);
2559 loadData(is, myBlurorient);
2560 loadData(is, myCutmode);
2561 loadData(is, myClumpperpoint);
2562 loadData(is, myPlantmode);
2563 loadData(is, myPlantinterpolateguides);
2564 loadData(is, myPlantinterpolaterelskin);
2565 loadData(is, myPlantinterpolateorient);
2566 loadData(is, myPlanttemplatesource);
2567 loadData(is, myPlantlength);
2568 loadData(is, myPlantsegcount);
2569 loadData(is, myDrawonskin);
2570 loadData(is, myDrawinterpolateorient);
2571 loadData(is, myDrawtemplatesource);
2572 loadData(is, myDrawlimitlength);
2573 loadData(is, myDrawcurvetype);
2574 loadData(is, myDrawsegmode);
2575 loadData(is, myDrawsegcount);
2576 loadData(is, myDrawseglength);
2577 loadData(is, myOrientbrushupmode);
2578 loadData(is, myOrientbrushperpoint);
2579 loadData(is, myPainttemplateallowblending);
2580 loadData(is, myEditactiveprim);
2581 loadData(is, myEditsoft);
2582 loadData(is, myEditsoftmode);
2583 loadData(is, myEditcurvefrac);
2584 loadData(is, myEditcurvedist);
2585 loadData(is, myResamplesegmode);
2586 loadData(is, myResamplesegcount);
2587 loadData(is, myResampleseglength);
2588 loadData(is, myTwistangle);
2589 loadData(is, myCurvemaskramp);
2590 loadData(is, myGroom);
2591 loadData(is, myStrands);
2592 loadData(is, myStrokes);
2593 loadData(is, myPreviewutil);
2594 loadData(is, myPaintmaskpoints);
2595 loadData(is, myGroupnewprims);
2596 loadData(is, myNamenewprims);
2597 loadData(is, myActivegroup);
2598 loadData(is, myNameattrib);
2599 loadData(is, myActivename);
2600 loadData(is, myOverridecolor);
2601 loadData(is, myColorbyname);
2602 loadData(is, myDefaultcolor);
2603 loadData(is, myTemplatecolor);
2604 loadData(is, myColorseed);
2607 is.
read(&length, 1);
2608 myFolder_grouplist.setSize(length);
2611 auto && _curentry = myFolder_grouplist(i);
2613 loadData(is, _curentry.groupcolor);
2614 loadData(is, _curentry.groupname);
2615 loadData(is, _curentry.groupoptions);
2619 loadData(is, myXord);
2620 loadData(is, myRord);
2624 loadData(is, myShear);
2625 loadData(is, myScale);
2628 loadData(is, myCamxform0);
2629 loadData(is, myCamxform1);
2630 loadData(is, myCamxform2);
2631 loadData(is, myCamxform3);
2632 loadData(is, myCampos);
2633 loadData(is, myCursorpos);
2634 loadData(is, myCursordisplace);
2635 loadData(is, myRaypos);
2636 loadData(is, myRaydir);
2637 loadData(is, myStrengthscale);
2638 loadData(is, myButton);
2639 loadData(is, myShiftkey);
2640 loadData(is, myCtrlkey);
2650 if (!thissop)
return getStashnode();
2652 OP_Utils::evalOpParm(result, thissop,
"stashnode", cookparms.
getCookTime(), 0);
2660 if (!thissop)
return getGroup();
2662 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
2670 if (!thissop)
return getGrouptype();
2672 OP_Utils::evalOpParm(result, thissop,
"grouptype", cookparms.
getCookTime(), 0);
2680 if (!thissop)
return getUsemask();
2682 OP_Utils::evalOpParm(result, thissop,
"usemask", cookparms.
getCookTime(), 0);
2690 if (!thissop)
return getMirrorbrush();
2692 OP_Utils::evalOpParm(result, thissop,
"mirrorbrush", cookparms.
getCookTime(), 0);
2700 if (!thissop)
return getMirror();
2702 OP_Utils::evalOpParm(result, thissop,
"mirror", cookparms.
getCookTime(), 0);
2710 if (!thissop)
return getMirrorgroup();
2712 OP_Utils::evalOpParm(result, thissop,
"mirrorgroup", cookparms.
getCookTime(), 0);
2720 if (!thissop)
return getMirrororigin();
2722 OP_Utils::evalOpParm(result, thissop,
"mirrororigin", cookparms.
getCookTime(), 0);
2730 if (!thissop)
return getMirrordir();
2732 OP_Utils::evalOpParm(result, thissop,
"mirrordir", cookparms.
getCookTime(), 0);
2740 if (!thissop)
return getTool();
2742 OP_Utils::evalOpParm(result, thissop,
"tool", cookparms.
getCookTime(), 0);
2743 return Tool(result);
2750 if (!thissop)
return getRaybias();
2752 OP_Utils::evalOpParm(result, thissop,
"raybias", cookparms.
getCookTime(), 0);
2760 if (!thissop)
return getStrandmode();
2762 OP_Utils::evalOpParm(result, thissop,
"strandmode", cookparms.
getCookTime(), 0);
2770 if (!thissop)
return getCollidewithskin();
2772 OP_Utils::evalOpParm(result, thissop,
"collidewithskin", cookparms.
getCookTime(), 0);
2780 if (!thissop)
return getCreateorient();
2782 OP_Utils::evalOpParm(result, thissop,
"createorient", cookparms.
getCookTime(), 0);
2790 if (!thissop)
return getOrientname();
2792 OP_Utils::evalOpParm(result, thissop,
"orientname", cookparms.
getCookTime(), 0);
2800 if (!thissop)
return getOrientup();
2802 OP_Utils::evalOpParm(result, thissop,
"orientup", cookparms.
getCookTime(), 0);
2810 if (!thissop)
return getOrientupattrib();
2812 OP_Utils::evalOpParm(result, thissop,
"orientupattrib", cookparms.
getCookTime(), 0);
2820 if (!thissop)
return getOrientupattribflip();
2822 OP_Utils::evalOpParm(result, thissop,
"orientupattribflip", cookparms.
getCookTime(), 0);
2830 if (!thissop)
return getTemplatesourcegroup();
2832 OP_Utils::evalOpParm(result, thissop,
"templatesourcegroup", cookparms.
getCookTime(), 0);
2840 if (!thissop)
return getWidthoverride();
2842 OP_Utils::evalOpParm(result, thissop,
"widthoverride", cookparms.
getCookTime(), 0);
2850 if (!thissop)
return getWidth();
2852 OP_Utils::evalOpParm(result, thissop,
"width", cookparms.
getCookTime(), 0);
2860 if (!thissop)
return getBrushsurface();
2862 OP_Utils::evalOpParm(result, thissop,
"brushsurface", cookparms.
getCookTime(), 0);
2870 if (!thissop)
return getUsepartinglines();
2872 OP_Utils::evalOpParm(result, thissop,
"usepartinglines", cookparms.
getCookTime(), 0);
2880 if (!thissop)
return getScreenradius();
2882 OP_Utils::evalOpParm(result, thissop,
"screenradius", cookparms.
getCookTime(), 0);
2890 if (!thissop)
return getObjectradius();
2892 OP_Utils::evalOpParm(result, thissop,
"objectradius", cookparms.
getCookTime(), 0);
2900 if (!thissop)
return getSoft();
2902 OP_Utils::evalOpParm(result, thissop,
"soft", cookparms.
getCookTime(), 0);
2910 if (!thissop)
return getSpacing();
2912 OP_Utils::evalOpParm(result, thissop,
"spacing", cookparms.
getCookTime(), 0);
2920 if (!thissop)
return getDensity();
2922 OP_Utils::evalOpParm(result, thissop,
"density", cookparms.
getCookTime(), 0);
2930 if (!thissop)
return getBrushmaintainlength();
2932 OP_Utils::evalOpParm(result, thissop,
"brushmaintainlength", cookparms.
getCookTime(), 0);
2940 if (!thissop)
return getBrushsnaptosurface();
2942 OP_Utils::evalOpParm(result, thissop,
"brushsnaptosurface", cookparms.
getCookTime(), 0);
2950 if (!thissop)
return getBrushbend();
2952 OP_Utils::evalOpParm(result, thissop,
"brushbend", cookparms.
getCookTime(), 0);
2960 if (!thissop)
return getBrushbendfalloff();
2962 OP_Utils::evalOpParm(result, thissop,
"brushbendfalloff", cookparms.
getCookTime(), 0);
2970 if (!thissop)
return getLiftmode();
2972 OP_Utils::evalOpParm(result, thissop,
"liftmode", cookparms.
getCookTime(), 0);
2980 if (!thissop)
return getLiftangle();
2982 OP_Utils::evalOpParm(result, thissop,
"liftangle", cookparms.
getCookTime(), 0);
2990 if (!thissop)
return getAdjustlengthmode();
2992 OP_Utils::evalOpParm(result, thissop,
"adjustlengthmode", cookparms.
getCookTime(), 0);
3000 if (!thissop)
return getAdjustlengthvalue();
3002 OP_Utils::evalOpParm(result, thissop,
"adjustlengthvalue", cookparms.
getCookTime(), 0);
3010 if (!thissop)
return getAdjustlengthlength();
3012 OP_Utils::evalOpParm(result, thissop,
"adjustlengthlength", cookparms.
getCookTime(), 0);
3020 if (!thissop)
return getAdjustlengthmethod();
3022 OP_Utils::evalOpParm(result, thissop,
"adjustlengthmethod", cookparms.
getCookTime(), 0);
3030 if (!thissop)
return getMoverotatewithskin();
3032 OP_Utils::evalOpParm(result, thissop,
"moverotatewithskin", cookparms.
getCookTime(), 0);
3040 if (!thissop)
return getSculptdoconstrain();
3042 OP_Utils::evalOpParm(result, thissop,
"sculptdoconstrain", cookparms.
getCookTime(), 0);
3050 if (!thissop)
return getSculptlockroot();
3052 OP_Utils::evalOpParm(result, thissop,
"sculptlockroot", cookparms.
getCookTime(), 0);
3060 if (!thissop)
return getSculptmaintainevensegments();
3062 OP_Utils::evalOpParm(result, thissop,
"sculptmaintainevensegments", cookparms.
getCookTime(), 0);
3070 if (!thissop)
return getSmoothtargetsmoothness();
3072 OP_Utils::evalOpParm(result, thissop,
"smoothtargetsmoothness", cookparms.
getCookTime(), 0);
3080 if (!thissop)
return getSmoothposition();
3082 OP_Utils::evalOpParm(result, thissop,
"smoothposition", cookparms.
getCookTime(), 0);
3090 if (!thissop)
return getSmoothorient();
3092 OP_Utils::evalOpParm(result, thissop,
"smoothorient", cookparms.
getCookTime(), 0);
3100 if (!thissop)
return getBlurinskinspace();
3102 OP_Utils::evalOpParm(result, thissop,
"blurinskinspace", cookparms.
getCookTime(), 0);
3110 if (!thissop)
return getBlurperpoint();
3112 OP_Utils::evalOpParm(result, thissop,
"blurperpoint", cookparms.
getCookTime(), 0);
3120 if (!thissop)
return getBlurshape();
3122 OP_Utils::evalOpParm(result, thissop,
"blurshape", cookparms.
getCookTime(), 0);
3130 if (!thissop)
return getBlurlength();
3132 OP_Utils::evalOpParm(result, thissop,
"blurlength", cookparms.
getCookTime(), 0);
3140 if (!thissop)
return getBlurorient();
3142 OP_Utils::evalOpParm(result, thissop,
"blurorient", cookparms.
getCookTime(), 0);
3150 if (!thissop)
return getCutmode();
3152 OP_Utils::evalOpParm(result, thissop,
"cutmode", cookparms.
getCookTime(), 0);
3160 if (!thissop)
return getClumpperpoint();
3162 OP_Utils::evalOpParm(result, thissop,
"clumpperpoint", cookparms.
getCookTime(), 0);
3170 if (!thissop)
return getPlantmode();
3172 OP_Utils::evalOpParm(result, thissop,
"plantmode", cookparms.
getCookTime(), 0);
3180 if (!thissop)
return getPlantinterpolateguides();
3182 OP_Utils::evalOpParm(result, thissop,
"plantinterpolateguides", cookparms.
getCookTime(), 0);
3190 if (!thissop)
return getPlantinterpolaterelskin();
3192 OP_Utils::evalOpParm(result, thissop,
"plantinterpolaterelskin", cookparms.
getCookTime(), 0);
3200 if (!thissop)
return getPlantinterpolateorient();
3202 OP_Utils::evalOpParm(result, thissop,
"plantinterpolateorient", cookparms.
getCookTime(), 0);
3210 if (!thissop)
return getPlanttemplatesource();
3212 OP_Utils::evalOpParm(result, thissop,
"planttemplatesource", cookparms.
getCookTime(), 0);
3220 if (!thissop)
return getPlantlength();
3222 OP_Utils::evalOpParm(result, thissop,
"plantlength", cookparms.
getCookTime(), 0);
3230 if (!thissop)
return getPlantsegcount();
3232 OP_Utils::evalOpParm(result, thissop,
"plantsegcount", cookparms.
getCookTime(), 0);
3240 if (!thissop)
return getDrawonskin();
3242 OP_Utils::evalOpParm(result, thissop,
"drawonskin", cookparms.
getCookTime(), 0);
3250 if (!thissop)
return getDrawinterpolateorient();
3252 OP_Utils::evalOpParm(result, thissop,
"drawinterpolateorient", cookparms.
getCookTime(), 0);
3260 if (!thissop)
return getDrawtemplatesource();
3262 OP_Utils::evalOpParm(result, thissop,
"drawtemplatesource", cookparms.
getCookTime(), 0);
3270 if (!thissop)
return getDrawlimitlength();
3272 OP_Utils::evalOpParm(result, thissop,
"drawlimitlength", cookparms.
getCookTime(), 0);
3280 if (!thissop)
return getDrawcurvetype();
3282 OP_Utils::evalOpParm(result, thissop,
"drawcurvetype", cookparms.
getCookTime(), 0);
3290 if (!thissop)
return getDrawsegmode();
3292 OP_Utils::evalOpParm(result, thissop,
"drawsegmode", cookparms.
getCookTime(), 0);
3300 if (!thissop)
return getDrawsegcount();
3302 OP_Utils::evalOpParm(result, thissop,
"drawsegcount", cookparms.
getCookTime(), 0);
3310 if (!thissop)
return getDrawseglength();
3312 OP_Utils::evalOpParm(result, thissop,
"drawseglength", cookparms.
getCookTime(), 0);
3320 if (!thissop)
return getOrientbrushupmode();
3322 OP_Utils::evalOpParm(result, thissop,
"orientbrushupmode", cookparms.
getCookTime(), 0);
3330 if (!thissop)
return getOrientbrushperpoint();
3332 OP_Utils::evalOpParm(result, thissop,
"orientbrushperpoint", cookparms.
getCookTime(), 0);
3340 if (!thissop)
return getPainttemplateallowblending();
3342 OP_Utils::evalOpParm(result, thissop,
"painttemplateallowblending", cookparms.
getCookTime(), 0);
3350 if (!thissop)
return getEditactiveprim();
3352 OP_Utils::evalOpParm(result, thissop,
"editactiveprim", cookparms.
getCookTime(), 0);
3360 if (!thissop)
return getEditsoft();
3362 OP_Utils::evalOpParm(result, thissop,
"editsoft", cookparms.
getCookTime(), 0);
3370 if (!thissop)
return getEditsoftmode();
3372 OP_Utils::evalOpParm(result, thissop,
"editsoftmode", cookparms.
getCookTime(), 0);
3380 if (!thissop)
return getEditcurvefrac();
3382 OP_Utils::evalOpParm(result, thissop,
"editcurvefrac", cookparms.
getCookTime(), 0);
3390 if (!thissop)
return getEditcurvedist();
3392 OP_Utils::evalOpParm(result, thissop,
"editcurvedist", cookparms.
getCookTime(), 0);
3400 if (!thissop)
return getResamplesegmode();
3402 OP_Utils::evalOpParm(result, thissop,
"resamplesegmode", cookparms.
getCookTime(), 0);
3410 if (!thissop)
return getResamplesegcount();
3412 OP_Utils::evalOpParm(result, thissop,
"resamplesegcount", cookparms.
getCookTime(), 0);
3420 if (!thissop)
return getResampleseglength();
3422 OP_Utils::evalOpParm(result, thissop,
"resampleseglength", cookparms.
getCookTime(), 0);
3430 if (!thissop)
return getTwistangle();
3432 OP_Utils::evalOpParm(result, thissop,
"twistangle", cookparms.
getCookTime(), 0);
3440 if (!thissop)
return getCurvemaskramp();
3442 OP_Utils::evalOpParm(result, thissop,
"curvemaskramp", cookparms.
getCookTime(), 0);
3450 if (!thissop)
return getGroom();
3452 OP_Utils::evalOpParm(result, thissop,
"groom", cookparms.
getCookTime(), 0);
3460 if (!thissop)
return getStrands();
3462 OP_Utils::evalOpParm(result, thissop,
"strands", cookparms.
getCookTime(), 0);
3470 if (!thissop)
return getStrokes();
3472 OP_Utils::evalOpParm(result, thissop,
"strokes", cookparms.
getCookTime(), 0);
3480 if (!thissop)
return getPreviewutil();
3482 OP_Utils::evalOpParm(result, thissop,
"previewutil", cookparms.
getCookTime(), 0);
3490 if (!thissop)
return getPaintmaskpoints();
3492 OP_Utils::evalOpParm(result, thissop,
"paintmaskpoints", cookparms.
getCookTime(), 0);
3500 if (!thissop)
return getGroupnewprims();
3502 OP_Utils::evalOpParm(result, thissop,
"groupnewprims", cookparms.
getCookTime(), 0);
3510 if (!thissop)
return getNamenewprims();
3512 OP_Utils::evalOpParm(result, thissop,
"namenewprims", cookparms.
getCookTime(), 0);
3520 if (!thissop)
return getActivegroup();
3522 OP_Utils::evalOpParm(result, thissop,
"activegroup", cookparms.
getCookTime(), 0);
3530 if (!thissop)
return getNameattrib();
3532 OP_Utils::evalOpParm(result, thissop,
"nameattrib", cookparms.
getCookTime(), 0);
3540 if (!thissop)
return getActivename();
3542 OP_Utils::evalOpParm(result, thissop,
"activename", cookparms.
getCookTime(), 0);
3550 if (!thissop)
return getOverridecolor();
3552 OP_Utils::evalOpParm(result, thissop,
"overridecolor", cookparms.
getCookTime(), 0);
3560 if (!thissop)
return getColorbyname();
3562 OP_Utils::evalOpParm(result, thissop,
"colorbyname", cookparms.
getCookTime(), 0);
3570 if (!thissop)
return getDefaultcolor();
3572 OP_Utils::evalOpParm(result, thissop,
"defaultcolor", cookparms.
getCookTime(), 0);
3580 if (!thissop)
return getTemplatecolor();
3582 OP_Utils::evalOpParm(result, thissop,
"templatecolor", cookparms.
getCookTime(), 0);
3590 if (!thissop)
return getColorseed();
3592 OP_Utils::evalOpParm(result, thissop,
"colorseed", cookparms.
getCookTime(), 0);
3600 if (!thissop)
return getFolder_grouplist().entries();
3602 OP_Utils::evalOpParm(result, thissop,
"folder_grouplist", cookparms.
getCookTime(), 0);
3606 {
return opinstFolder_grouplist_groupcolor(cookparms, &_idx); }
3610 if (!thissop)
return (myFolder_grouplist(_idx[0]).groupcolor);
3612 _parmidx[1-1] = _idx[1-1] + 0;
3615 OP_Utils::evalOpParmInst(result, thissop,
"groupcolor#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
3619 {
return opinstFolder_grouplist_groupname(cookparms, &_idx); }
3623 if (!thissop)
return (myFolder_grouplist(_idx[0]).groupname);
3625 _parmidx[1-1] = _idx[1-1] + 0;
3628 OP_Utils::evalOpParmInst(result, thissop,
"groupname#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
3632 {
return opinstFolder_grouplist_groupoptions(cookparms, &_idx); }
3636 if (!thissop)
return (myFolder_grouplist(_idx[0]).groupoptions);
3638 _parmidx[1-1] = _idx[1-1] + 0;
3641 OP_Utils::evalOpParmInst(result, thissop,
"groupoptions#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
3650 if (!thissop)
return getXord();
3652 OP_Utils::evalOpParm(result, thissop,
"xOrd", cookparms.
getCookTime(), 0);
3653 return Xord(result);
3660 if (!thissop)
return getRord();
3662 OP_Utils::evalOpParm(result, thissop,
"rOrd", cookparms.
getCookTime(), 0);
3663 return Rord(result);
3670 if (!thissop)
return getT();
3672 OP_Utils::evalOpParm(result, thissop,
"t", cookparms.
getCookTime(), 0);
3680 if (!thissop)
return getR();
3682 OP_Utils::evalOpParm(result, thissop,
"r", cookparms.
getCookTime(), 0);
3690 if (!thissop)
return getS();
3692 OP_Utils::evalOpParm(result, thissop,
"s", cookparms.
getCookTime(), 0);
3700 if (!thissop)
return getShear();
3702 OP_Utils::evalOpParm(result, thissop,
"shear", cookparms.
getCookTime(), 0);
3712 OP_Utils::evalOpParm(result, thissop,
"scale", cookparms.
getCookTime(), 0);
3720 if (!thissop)
return getP();
3722 OP_Utils::evalOpParm(result, thissop,
"p", cookparms.
getCookTime(), 0);
3730 if (!thissop)
return getPr();
3732 OP_Utils::evalOpParm(result, thissop,
"pr", cookparms.
getCookTime(), 0);
3740 if (!thissop)
return getCamxform0();
3742 OP_Utils::evalOpParm(result, thissop,
"camxform0", cookparms.
getCookTime(), 0);
3750 if (!thissop)
return getCamxform1();
3752 OP_Utils::evalOpParm(result, thissop,
"camxform1", cookparms.
getCookTime(), 0);
3760 if (!thissop)
return getCamxform2();
3762 OP_Utils::evalOpParm(result, thissop,
"camxform2", cookparms.
getCookTime(), 0);
3770 if (!thissop)
return getCamxform3();
3772 OP_Utils::evalOpParm(result, thissop,
"camxform3", cookparms.
getCookTime(), 0);
3780 if (!thissop)
return getCampos();
3782 OP_Utils::evalOpParm(result, thissop,
"campos", cookparms.
getCookTime(), 0);
3790 if (!thissop)
return getCursorpos();
3792 OP_Utils::evalOpParm(result, thissop,
"cursorpos", cookparms.
getCookTime(), 0);
3800 if (!thissop)
return getCursordisplace();
3802 OP_Utils::evalOpParm(result, thissop,
"cursordisplace", cookparms.
getCookTime(), 0);
3810 if (!thissop)
return getRaypos();
3812 OP_Utils::evalOpParm(result, thissop,
"raypos", cookparms.
getCookTime(), 0);
3820 if (!thissop)
return getRaydir();
3822 OP_Utils::evalOpParm(result, thissop,
"raydir", cookparms.
getCookTime(), 0);
3830 if (!thissop)
return getStrengthscale();
3832 OP_Utils::evalOpParm(result, thissop,
"strengthscale", cookparms.
getCookTime(), 0);
3840 if (!thissop)
return getButton();
3842 OP_Utils::evalOpParm(result, thissop,
"button", cookparms.
getCookTime(), 0);
3850 if (!thissop)
return getShiftkey();
3852 OP_Utils::evalOpParm(result, thissop,
"shiftkey", cookparms.
getCookTime(), 0);
3860 if (!thissop)
return getCtrlkey();
3862 OP_Utils::evalOpParm(result, thissop,
"ctrlkey", cookparms.
getCookTime(), 0);
3879 bool myCollidewithskin;
3880 bool myCreateorient;
3884 bool myOrientupattribflip;
3886 bool myWidthoverride;
3888 bool myBrushsurface;
3889 bool myUsepartinglines;
3896 bool myBrushsnaptosurface;
3901 int64 myAdjustlengthmode;
3904 int64 myAdjustlengthmethod;
3905 bool myMoverotatewithskin;
3906 bool mySculptdoconstrain;
3907 bool mySculptlockroot;
3908 bool mySculptmaintainevensegments;
3910 bool mySmoothposition;
3911 bool mySmoothorient;
3912 bool myBlurinskinspace;
3913 bool myBlurperpoint;
3918 bool myClumpperpoint;
3920 bool myPlantinterpolateguides;
3921 bool myPlantinterpolaterelskin;
3922 bool myPlantinterpolateorient;
3923 int64 myPlanttemplatesource;
3925 int64 myPlantsegcount;
3927 bool myDrawinterpolateorient;
3928 int64 myDrawtemplatesource;
3929 bool myDrawlimitlength;
3930 int64 myDrawcurvetype;
3931 int64 myDrawsegmode;
3932 int64 myDrawsegcount;
3934 int64 myOrientbrushupmode;
3935 bool myOrientbrushperpoint;
3936 bool myPainttemplateallowblending;
3937 int64 myEditactiveprim;
3939 int64 myEditsoftmode;
3942 int64 myResamplesegmode;
3943 int64 myResamplesegcount;
3951 bool myPaintmaskpoints;
3952 bool myGroupnewprims;
3953 bool myNamenewprims;
3957 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
bool getColorbyname() const
void setAdjustlengthmode(Adjustlengthmode val)
int64 getColorseed() const
T clampMaxValue(fpreal maxvalue, const T &src) 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
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
T clampMinValue(fpreal minvalue, const T &src) 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
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)
void coerceValue(T &result, const S &src) const
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)
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
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
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_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
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
OP_NodeParms & operator=(const OP_NodeParms &)=default
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)