22 using namespace UT::Literal;
25 namespace SOP_GuideGroomCoreEnums
138 myRecordstrokes =
false;
139 myStashnode =
".."_sh;
144 myMirrorgroup =
""_sh;
149 myStrandmode =
false;
150 myCollidewithskin =
true;
151 myBrushsurface =
false;
152 myUsepartinglines =
true;
158 myBrushmaintainlength = 0;
159 myBrushsnaptosurface =
false;
161 myBrushbendfalloff = 0;
164 myAdjustlengthmode = 0;
165 myAdjustlengthvalue = 0.1;
166 myAdjustlengthlength = 0.1;
167 myAdjustlengthmethod = 1;
168 myMoverotatewithskin =
false;
169 mySculptdoconstrain =
true;
170 mySculptlockroot =
true;
171 mySmoothtargetsmoothness = 0.5;
172 myBlurinskinspace =
false;
173 myBlurperpoint =
false;
174 myClumpperpoint =
false;
176 myPlantinterpolateguides =
true;
177 myPlantinterpolaterelskin =
true;
178 myPlantlength = 0.01;
180 myDrawonskin =
false;
184 myDrawseglength = 0.05;
185 myEditactiveprim = 0;
190 myResamplesegmode = 0;
191 myResamplesegcount = 8;
192 myResampleseglength = 0.05;
198 myPreviewutil =
true;
199 myPaintmaskpoints =
false;
200 myGroupnewprims =
false;
201 myNamenewprims =
true;
202 myActivegroup =
""_sh;
203 myNameattrib =
""_sh;
204 myActivename =
""_sh;
205 myColorbyname =
false;
222 myCursordisplace = 0;
238 if (myRecordstrokes != src.myRecordstrokes)
return false;
239 if (myStashnode != src.myStashnode)
return false;
240 if (myGroup != src.myGroup)
return false;
241 if (myGrouptype != src.myGrouptype)
return false;
242 if (myUsemask != src.myUsemask)
return false;
243 if (myMirror != src.myMirror)
return false;
244 if (myMirrorgroup != src.myMirrorgroup)
return false;
245 if (myMirrororigin != src.myMirrororigin)
return false;
246 if (myMirrordir != src.myMirrordir)
return false;
247 if (myTool != src.myTool)
return false;
248 if (myRaybias != src.myRaybias)
return false;
249 if (myStrandmode != src.myStrandmode)
return false;
250 if (myCollidewithskin != src.myCollidewithskin)
return false;
251 if (myBrushsurface != src.myBrushsurface)
return false;
252 if (myUsepartinglines != src.myUsepartinglines)
return false;
253 if (myScreenradius != src.myScreenradius)
return false;
254 if (myObjectradius != src.myObjectradius)
return false;
255 if (mySoft != src.mySoft)
return false;
256 if (mySpacing != src.mySpacing)
return false;
257 if (myDensity != src.myDensity)
return false;
258 if (myBrushmaintainlength != src.myBrushmaintainlength)
return false;
259 if (myBrushsnaptosurface != src.myBrushsnaptosurface)
return false;
260 if (myBrushbend != src.myBrushbend)
return false;
261 if (myBrushbendfalloff != src.myBrushbendfalloff)
return false;
262 if (myLiftmode != src.myLiftmode)
return false;
263 if (myLiftangle != src.myLiftangle)
return false;
264 if (myAdjustlengthmode != src.myAdjustlengthmode)
return false;
265 if (myAdjustlengthvalue != src.myAdjustlengthvalue)
return false;
266 if (myAdjustlengthlength != src.myAdjustlengthlength)
return false;
267 if (myAdjustlengthmethod != src.myAdjustlengthmethod)
return false;
268 if (myMoverotatewithskin != src.myMoverotatewithskin)
return false;
269 if (mySculptdoconstrain != src.mySculptdoconstrain)
return false;
270 if (mySculptlockroot != src.mySculptlockroot)
return false;
271 if (mySmoothtargetsmoothness != src.mySmoothtargetsmoothness)
return false;
272 if (myBlurinskinspace != src.myBlurinskinspace)
return false;
273 if (myBlurperpoint != src.myBlurperpoint)
return false;
274 if (myClumpperpoint != src.myClumpperpoint)
return false;
275 if (myPlantmode != src.myPlantmode)
return false;
276 if (myPlantinterpolateguides != src.myPlantinterpolateguides)
return false;
277 if (myPlantinterpolaterelskin != src.myPlantinterpolaterelskin)
return false;
278 if (myPlantlength != src.myPlantlength)
return false;
279 if (myPlantsegcount != src.myPlantsegcount)
return false;
280 if (myDrawonskin != src.myDrawonskin)
return false;
281 if (myDrawcurvetype != src.myDrawcurvetype)
return false;
282 if (myDrawsegmode != src.myDrawsegmode)
return false;
283 if (myDrawsegcount != src.myDrawsegcount)
return false;
284 if (myDrawseglength != src.myDrawseglength)
return false;
285 if (myEditactiveprim != src.myEditactiveprim)
return false;
286 if (myEditsoft != src.myEditsoft)
return false;
287 if (myEditsoftmode != src.myEditsoftmode)
return false;
288 if (myEditcurvefrac != src.myEditcurvefrac)
return false;
289 if (myEditcurvedist != src.myEditcurvedist)
return false;
290 if (myResamplesegmode != src.myResamplesegmode)
return false;
291 if (myResamplesegcount != src.myResamplesegcount)
return false;
292 if (myResampleseglength != src.myResampleseglength)
return false;
293 if (myTwistangle != src.myTwistangle)
return false;
294 if (myCurvemaskramp != src.myCurvemaskramp)
295 {
if (!myCurvemaskramp || !src.myCurvemaskramp || !(*myCurvemaskramp == *src.myCurvemaskramp))
return false; }
296 if (myGroom != src.myGroom)
298 if (myStrands != src.myStrands)
300 if (myStrokes != src.myStrokes)
302 if (myPreviewutil != src.myPreviewutil)
return false;
303 if (myPaintmaskpoints != src.myPaintmaskpoints)
return false;
304 if (myGroupnewprims != src.myGroupnewprims)
return false;
305 if (myNamenewprims != src.myNamenewprims)
return false;
306 if (myActivegroup != src.myActivegroup)
return false;
307 if (myNameattrib != src.myNameattrib)
return false;
308 if (myActivename != src.myActivename)
return false;
309 if (myColorbyname != src.myColorbyname)
return false;
310 if (myColorseed != src.myColorseed)
return false;
311 if (myXord != src.myXord)
return false;
312 if (myRord != src.myRord)
return false;
313 if (myT != src.myT)
return false;
314 if (myR != src.myR)
return false;
315 if (myS != src.myS)
return false;
316 if (myShear != src.myShear)
return false;
317 if (myScale != src.myScale)
return false;
318 if (myP != src.myP)
return false;
319 if (myPr != src.myPr)
return false;
320 if (myCamxform0 != src.myCamxform0)
return false;
321 if (myCamxform1 != src.myCamxform1)
return false;
322 if (myCamxform2 != src.myCamxform2)
return false;
323 if (myCamxform3 != src.myCamxform3)
return false;
324 if (myCampos != src.myCampos)
return false;
325 if (myCursorpos != src.myCursorpos)
return false;
326 if (myCursordisplace != src.myCursordisplace)
return false;
327 if (myRaypos != src.myRaypos)
return false;
328 if (myRaydir != src.myRaydir)
return false;
329 if (myStrengthscale != src.myStrengthscale)
return false;
330 if (myButton != src.myButton)
return false;
331 if (myShiftkey != src.myShiftkey)
return false;
332 if (myCtrlkey != src.myCtrlkey)
return false;
358 myRecordstrokes =
false;
360 graph->
evalOpParm(myRecordstrokes, nodeidx,
"recordstrokes", time, 0);
361 myStashnode =
".."_sh;
363 graph->
evalOpParm(myStashnode, nodeidx,
"stashnode", time, 0);
366 graph->
evalOpParm(myGroup, nodeidx,
"group", time, 0);
369 graph->
evalOpParm(myGrouptype, nodeidx,
"grouptype", time, 0);
372 graph->
evalOpParm(myUsemask, nodeidx,
"usemask", time, 0);
375 graph->
evalOpParm(myMirror, nodeidx,
"mirror", time, 0);
376 myMirrorgroup =
""_sh;
378 graph->
evalOpParm(myMirrorgroup, nodeidx,
"mirrorgroup", time, 0);
381 graph->
evalOpParm(myMirrororigin, nodeidx,
"mirrororigin", time, 0);
384 graph->
evalOpParm(myMirrordir, nodeidx,
"mirrordir", time, 0);
387 graph->
evalOpParm(myTool, nodeidx,
"tool", time, 0);
390 graph->
evalOpParm(myRaybias, nodeidx,
"raybias", time, 0);
391 myStrandmode =
false;
393 graph->
evalOpParm(myStrandmode, nodeidx,
"strandmode", time, 0);
394 myCollidewithskin =
true;
396 graph->
evalOpParm(myCollidewithskin, nodeidx,
"collidewithskin", time, 0);
397 myBrushsurface =
false;
399 graph->
evalOpParm(myBrushsurface, nodeidx,
"brushsurface", time, 0);
400 myUsepartinglines =
true;
402 graph->
evalOpParm(myUsepartinglines, nodeidx,
"usepartinglines", time, 0);
405 graph->
evalOpParm(myScreenradius, nodeidx,
"screenradius", time, 0);
408 graph->
evalOpParm(myObjectradius, nodeidx,
"objectradius", time, 0);
411 graph->
evalOpParm(mySoft, nodeidx,
"soft", time, 0);
414 graph->
evalOpParm(mySpacing, nodeidx,
"spacing", time, 0);
417 graph->
evalOpParm(myDensity, nodeidx,
"density", time, 0);
418 myBrushmaintainlength = 0;
420 graph->
evalOpParm(myBrushmaintainlength, nodeidx,
"brushmaintainlength", time, 0);
421 myBrushsnaptosurface =
false;
423 graph->
evalOpParm(myBrushsnaptosurface, nodeidx,
"brushsnaptosurface", time, 0);
426 graph->
evalOpParm(myBrushbend, nodeidx,
"brushbend", time, 0);
427 myBrushbendfalloff = 0;
429 graph->
evalOpParm(myBrushbendfalloff, nodeidx,
"brushbendfalloff", time, 0);
432 graph->
evalOpParm(myLiftmode, nodeidx,
"liftmode", time, 0);
435 graph->
evalOpParm(myLiftangle, nodeidx,
"liftangle", time, 0);
436 myAdjustlengthmode = 0;
438 graph->
evalOpParm(myAdjustlengthmode, nodeidx,
"adjustlengthmode", time, 0);
439 myAdjustlengthvalue = 0.1;
441 graph->
evalOpParm(myAdjustlengthvalue, nodeidx,
"adjustlengthvalue", time, 0);
442 myAdjustlengthlength = 0.1;
444 graph->
evalOpParm(myAdjustlengthlength, nodeidx,
"adjustlengthlength", time, 0);
445 myAdjustlengthmethod = 1;
447 graph->
evalOpParm(myAdjustlengthmethod, nodeidx,
"adjustlengthmethod", time, 0);
448 myMoverotatewithskin =
false;
450 graph->
evalOpParm(myMoverotatewithskin, nodeidx,
"moverotatewithskin", time, 0);
451 mySculptdoconstrain =
true;
453 graph->
evalOpParm(mySculptdoconstrain, nodeidx,
"sculptdoconstrain", time, 0);
454 mySculptlockroot =
true;
456 graph->
evalOpParm(mySculptlockroot, nodeidx,
"sculptlockroot", time, 0);
457 mySmoothtargetsmoothness = 0.5;
459 graph->
evalOpParm(mySmoothtargetsmoothness, nodeidx,
"smoothtargetsmoothness", time, 0);
460 myBlurinskinspace =
false;
462 graph->
evalOpParm(myBlurinskinspace, nodeidx,
"blurinskinspace", time, 0);
463 myBlurperpoint =
false;
465 graph->
evalOpParm(myBlurperpoint, nodeidx,
"blurperpoint", time, 0);
466 myClumpperpoint =
false;
468 graph->
evalOpParm(myClumpperpoint, nodeidx,
"clumpperpoint", time, 0);
471 graph->
evalOpParm(myPlantmode, nodeidx,
"plantmode", time, 0);
472 myPlantinterpolateguides =
true;
474 graph->
evalOpParm(myPlantinterpolateguides, nodeidx,
"plantinterpolateguides", time, 0);
475 myPlantinterpolaterelskin =
true;
476 if (
true && ( (
true&&!(((getPlantinterpolateguides()==0)))) ) )
477 graph->
evalOpParm(myPlantinterpolaterelskin, nodeidx,
"plantinterpolaterelskin", time, 0);
478 myPlantlength = 0.01;
480 graph->
evalOpParm(myPlantlength, nodeidx,
"plantlength", time, 0);
483 graph->
evalOpParm(myPlantsegcount, nodeidx,
"plantsegcount", time, 0);
484 myDrawonskin =
false;
486 graph->
evalOpParm(myDrawonskin, nodeidx,
"drawonskin", time, 0);
489 graph->
evalOpParm(myDrawcurvetype, nodeidx,
"drawcurvetype", time, 0);
492 graph->
evalOpParm(myDrawsegmode, nodeidx,
"drawsegmode", time, 0);
494 if (
true && ( (
true&&!(((
int64(getDrawsegmode())!=0)))) ) )
495 graph->
evalOpParm(myDrawsegcount, nodeidx,
"drawsegcount", time, 0);
496 myDrawseglength = 0.05;
497 if (
true && ( (
true&&!(((
int64(getDrawsegmode())!=1)))) ) )
498 graph->
evalOpParm(myDrawseglength, nodeidx,
"drawseglength", time, 0);
499 myEditactiveprim = 0;
501 graph->
evalOpParm(myEditactiveprim, nodeidx,
"editactiveprim", time, 0);
504 graph->
evalOpParm(myEditsoft, nodeidx,
"editsoft", time, 0);
507 graph->
evalOpParm(myEditsoftmode, nodeidx,
"editsoftmode", time, 0);
510 graph->
evalOpParm(myEditcurvefrac, nodeidx,
"editcurvefrac", time, 0);
513 graph->
evalOpParm(myEditcurvedist, nodeidx,
"editcurvedist", time, 0);
514 myResamplesegmode = 0;
516 graph->
evalOpParm(myResamplesegmode, nodeidx,
"resamplesegmode", time, 0);
517 myResamplesegcount = 8;
518 if (
true && ( (
true&&!(((
int64(getResamplesegmode())!=0)))) ) )
519 graph->
evalOpParm(myResamplesegcount, nodeidx,
"resamplesegcount", time, 0);
520 myResampleseglength = 0.05;
521 if (
true && ( (
true&&!(((
int64(getResamplesegmode())!=1)))) ) )
522 graph->
evalOpParm(myResampleseglength, nodeidx,
"resampleseglength", time, 0);
525 graph->
evalOpParm(myTwistangle, nodeidx,
"twistangle", time, 0);
528 graph->
evalOpParm(myCurvemaskramp, nodeidx,
"curvemaskramp", time, 0);
531 graph->
evalOpParm(myGroom, nodeidx,
"groom", time, 0);
534 graph->
evalOpParm(myStrands, nodeidx,
"strands", time, 0);
537 graph->
evalOpParm(myStrokes, nodeidx,
"strokes", time, 0);
538 myPreviewutil =
true;
540 graph->
evalOpParm(myPreviewutil, nodeidx,
"previewutil", time, 0);
541 myPaintmaskpoints =
false;
543 graph->
evalOpParm(myPaintmaskpoints, nodeidx,
"paintmaskpoints", time, 0);
544 myGroupnewprims =
false;
546 graph->
evalOpParm(myGroupnewprims, nodeidx,
"groupnewprims", time, 0);
547 myNamenewprims =
true;
549 graph->
evalOpParm(myNamenewprims, nodeidx,
"namenewprims", time, 0);
550 myActivegroup =
""_sh;
552 graph->
evalOpParm(myActivegroup, nodeidx,
"activegroup", time, 0);
553 myNameattrib =
""_sh;
555 graph->
evalOpParm(myNameattrib, nodeidx,
"nameattrib", time, 0);
556 myActivename =
""_sh;
558 graph->
evalOpParm(myActivename, nodeidx,
"activename", time, 0);
559 myColorbyname =
false;
561 graph->
evalOpParm(myColorbyname, nodeidx,
"colorbyname", time, 0);
564 graph->
evalOpParm(myColorseed, nodeidx,
"colorseed", time, 0);
567 graph->
evalOpParm(myXord, nodeidx,
"xOrd", time, 0);
570 graph->
evalOpParm(myRord, nodeidx,
"rOrd", time, 0);
573 graph->
evalOpParm(myT, nodeidx,
"t", time, 0);
576 graph->
evalOpParm(myR, nodeidx,
"r", time, 0);
579 graph->
evalOpParm(myS, nodeidx,
"s", time, 0);
582 graph->
evalOpParm(myShear, nodeidx,
"shear", time, 0);
585 graph->
evalOpParm(myScale, nodeidx,
"scale", time, 0);
588 graph->
evalOpParm(myP, nodeidx,
"p", time, 0);
591 graph->
evalOpParm(myPr, nodeidx,
"pr", time, 0);
594 graph->
evalOpParm(myCamxform0, nodeidx,
"camxform0", time, 0);
597 graph->
evalOpParm(myCamxform1, nodeidx,
"camxform1", time, 0);
600 graph->
evalOpParm(myCamxform2, nodeidx,
"camxform2", time, 0);
603 graph->
evalOpParm(myCamxform3, nodeidx,
"camxform3", time, 0);
606 graph->
evalOpParm(myCampos, nodeidx,
"campos", time, 0);
609 graph->
evalOpParm(myCursorpos, nodeidx,
"cursorpos", time, 0);
610 myCursordisplace = 0;
612 graph->
evalOpParm(myCursordisplace, nodeidx,
"cursordisplace", time, 0);
615 graph->
evalOpParm(myRaypos, nodeidx,
"raypos", time, 0);
618 graph->
evalOpParm(myRaydir, nodeidx,
"raydir", time, 0);
621 graph->
evalOpParm(myStrengthscale, nodeidx,
"strengthscale", time, 0);
624 graph->
evalOpParm(myButton, nodeidx,
"button", time, 0);
627 graph->
evalOpParm(myShiftkey, nodeidx,
"shiftkey", time, 0);
630 graph->
evalOpParm(myCtrlkey, nodeidx,
"ctrlkey", time, 0);
646 template <
typename T>
653 if (idx.
size() != instance.
size()+1)
658 coerceValue(value, myRecordstrokes);
661 coerceValue(value, myStashnode);
664 coerceValue(value, myGroup);
667 coerceValue(value, myGrouptype);
670 coerceValue(value, myUsemask);
673 coerceValue(value, myMirror);
676 coerceValue(value, myMirrorgroup);
679 coerceValue(value, myMirrororigin);
682 coerceValue(value, myMirrordir);
685 coerceValue(value, myTool);
688 coerceValue(value, myRaybias);
691 coerceValue(value, myStrandmode);
694 coerceValue(value, myCollidewithskin);
697 coerceValue(value, myBrushsurface);
700 coerceValue(value, myUsepartinglines);
703 coerceValue(value, myScreenradius);
706 coerceValue(value, myObjectradius);
709 coerceValue(value, mySoft);
712 coerceValue(value, mySpacing);
715 coerceValue(value, myDensity);
718 coerceValue(value, myBrushmaintainlength);
721 coerceValue(value, myBrushsnaptosurface);
724 coerceValue(value, myBrushbend);
727 coerceValue(value, myBrushbendfalloff);
730 coerceValue(value, myLiftmode);
733 coerceValue(value, myLiftangle);
736 coerceValue(value, myAdjustlengthmode);
739 coerceValue(value, myAdjustlengthvalue);
742 coerceValue(value, myAdjustlengthlength);
745 coerceValue(value, myAdjustlengthmethod);
748 coerceValue(value, myMoverotatewithskin);
751 coerceValue(value, mySculptdoconstrain);
754 coerceValue(value, mySculptlockroot);
757 coerceValue(value, mySmoothtargetsmoothness);
760 coerceValue(value, myBlurinskinspace);
763 coerceValue(value, myBlurperpoint);
766 coerceValue(value, myClumpperpoint);
769 coerceValue(value, myPlantmode);
772 coerceValue(value, myPlantinterpolateguides);
775 coerceValue(value, myPlantinterpolaterelskin);
778 coerceValue(value, myPlantlength);
781 coerceValue(value, myPlantsegcount);
784 coerceValue(value, myDrawonskin);
787 coerceValue(value, myDrawcurvetype);
790 coerceValue(value, myDrawsegmode);
793 coerceValue(value, myDrawsegcount);
796 coerceValue(value, myDrawseglength);
799 coerceValue(value, myEditactiveprim);
802 coerceValue(value, myEditsoft);
805 coerceValue(value, myEditsoftmode);
808 coerceValue(value, myEditcurvefrac);
811 coerceValue(value, myEditcurvedist);
814 coerceValue(value, myResamplesegmode);
817 coerceValue(value, myResamplesegcount);
820 coerceValue(value, myResampleseglength);
823 coerceValue(value, myTwistangle);
826 coerceValue(value, myCurvemaskramp);
829 coerceValue(value, myGroom);
832 coerceValue(value, myStrands);
835 coerceValue(value, myStrokes);
838 coerceValue(value, myPreviewutil);
841 coerceValue(value, myPaintmaskpoints);
844 coerceValue(value, myGroupnewprims);
847 coerceValue(value, myNamenewprims);
850 coerceValue(value, myActivegroup);
853 coerceValue(value, myNameattrib);
856 coerceValue(value, myActivename);
859 coerceValue(value, myColorbyname);
862 coerceValue(value, myColorseed);
865 coerceValue(value, myXord);
868 coerceValue(value, myRord);
871 coerceValue(value, myT);
874 coerceValue(value, myR);
877 coerceValue(value, myS);
880 coerceValue(value, myShear);
883 coerceValue(value, myScale);
886 coerceValue(value, myP);
889 coerceValue(value, myPr);
892 coerceValue(value, myCamxform0);
895 coerceValue(value, myCamxform1);
898 coerceValue(value, myCamxform2);
901 coerceValue(value, myCamxform3);
904 coerceValue(value, myCampos);
907 coerceValue(value, myCursorpos);
910 coerceValue(value, myCursordisplace);
913 coerceValue(value, myRaypos);
916 coerceValue(value, myRaydir);
919 coerceValue(value, myStrengthscale);
922 coerceValue(value, myButton);
925 coerceValue(value, myShiftkey);
928 coerceValue(value, myCtrlkey);
935 { doGetParmValue(idx, instance, value); }
937 { doGetParmValue(idx, instance, value); }
939 { doGetParmValue(idx, instance, value); }
941 { doGetParmValue(idx, instance, value); }
943 { doGetParmValue(idx, instance, value); }
945 { doGetParmValue(idx, instance, value); }
947 { doGetParmValue(idx, instance, value); }
949 { doGetParmValue(idx, instance, value); }
951 { doGetParmValue(idx, instance, value); }
953 { doGetParmValue(idx, instance, value); }
955 { doGetParmValue(idx, instance, value); }
957 template <
typename T>
964 if (idx.
size() != instance.
size()+1)
969 coerceValue(myRecordstrokes, ( ( value ) ));
972 coerceValue(myStashnode, ( ( value ) ));
975 coerceValue(myGroup, ( ( value ) ));
978 coerceValue(myGrouptype, clampMinValue(0, clampMaxValue(4, value ) ));
981 coerceValue(myUsemask, ( ( value ) ));
984 coerceValue(myMirror, ( ( value ) ));
987 coerceValue(myMirrorgroup, ( ( value ) ));
990 coerceValue(myMirrororigin, ( ( value ) ));
993 coerceValue(myMirrordir, ( ( value ) ));
996 coerceValue(myTool, clampMinValue(0, clampMaxValue(22, value ) ));
999 coerceValue(myRaybias, ( ( value ) ));
1002 coerceValue(myStrandmode, ( ( value ) ));
1005 coerceValue(myCollidewithskin, ( ( value ) ));
1008 coerceValue(myBrushsurface, ( ( value ) ));
1011 coerceValue(myUsepartinglines, ( ( value ) ));
1014 coerceValue(myScreenradius, ( ( value ) ));
1017 coerceValue(myObjectradius, ( ( value ) ));
1020 coerceValue(mySoft, ( ( value ) ));
1023 coerceValue(mySpacing, ( ( value ) ));
1026 coerceValue(myDensity, ( ( value ) ));
1029 coerceValue(myBrushmaintainlength, ( ( value ) ));
1032 coerceValue(myBrushsnaptosurface, ( ( value ) ));
1035 coerceValue(myBrushbend, ( ( value ) ));
1038 coerceValue(myBrushbendfalloff, ( ( value ) ));
1041 coerceValue(myLiftmode, clampMinValue(0, clampMaxValue(1, value ) ));
1044 coerceValue(myLiftangle, ( ( value ) ));
1047 coerceValue(myAdjustlengthmode, clampMinValue(0, clampMaxValue(1, value ) ));
1050 coerceValue(myAdjustlengthvalue, ( ( value ) ));
1053 coerceValue(myAdjustlengthlength, ( ( value ) ));
1056 coerceValue(myAdjustlengthmethod, clampMinValue(0, clampMaxValue(1, value ) ));
1059 coerceValue(myMoverotatewithskin, ( ( value ) ));
1062 coerceValue(mySculptdoconstrain, ( ( value ) ));
1065 coerceValue(mySculptlockroot, ( ( value ) ));
1068 coerceValue(mySmoothtargetsmoothness, ( ( value ) ));
1071 coerceValue(myBlurinskinspace, ( ( value ) ));
1074 coerceValue(myBlurperpoint, ( ( value ) ));
1077 coerceValue(myClumpperpoint, ( ( value ) ));
1080 coerceValue(myPlantmode, clampMinValue(0, clampMaxValue(1, value ) ));
1083 coerceValue(myPlantinterpolateguides, ( ( value ) ));
1086 coerceValue(myPlantinterpolaterelskin, ( ( value ) ));
1089 coerceValue(myPlantlength, ( ( value ) ));
1092 coerceValue(myPlantsegcount, ( ( value ) ));
1095 coerceValue(myDrawonskin, ( ( value ) ));
1098 coerceValue(myDrawcurvetype, clampMinValue(0, clampMaxValue(1, value ) ));
1101 coerceValue(myDrawsegmode, clampMinValue(0, clampMaxValue(1, value ) ));
1104 coerceValue(myDrawsegcount, ( ( value ) ));
1107 coerceValue(myDrawseglength, ( ( value ) ));
1110 coerceValue(myEditactiveprim, ( ( value ) ));
1113 coerceValue(myEditsoft, ( ( value ) ));
1116 coerceValue(myEditsoftmode, clampMinValue(0, clampMaxValue(2, value ) ));
1119 coerceValue(myEditcurvefrac, ( ( value ) ));
1122 coerceValue(myEditcurvedist, ( ( value ) ));
1125 coerceValue(myResamplesegmode, clampMinValue(0, clampMaxValue(3, value ) ));
1128 coerceValue(myResamplesegcount, ( ( value ) ));
1131 coerceValue(myResampleseglength, ( ( value ) ));
1134 coerceValue(myTwistangle, ( ( value ) ));
1137 coerceValue(myCurvemaskramp, clampMinValue(0, ( value ) ));
1140 coerceValue(myGroom, ( ( value ) ));
1143 coerceValue(myStrands, ( ( value ) ));
1146 coerceValue(myStrokes, ( ( value ) ));
1149 coerceValue(myPreviewutil, ( ( value ) ));
1152 coerceValue(myPaintmaskpoints, ( ( value ) ));
1155 coerceValue(myGroupnewprims, ( ( value ) ));
1158 coerceValue(myNamenewprims, ( ( value ) ));
1161 coerceValue(myActivegroup, ( ( value ) ));
1164 coerceValue(myNameattrib, ( ( value ) ));
1167 coerceValue(myActivename, ( ( value ) ));
1170 coerceValue(myColorbyname, ( ( value ) ));
1173 coerceValue(myColorseed, ( ( value ) ));
1176 coerceValue(myXord, clampMinValue(0, clampMaxValue(5, value ) ));
1179 coerceValue(myRord, clampMinValue(0, clampMaxValue(5, value ) ));
1182 coerceValue(myT, ( ( value ) ));
1185 coerceValue(myR, ( ( value ) ));
1188 coerceValue(myS, ( ( value ) ));
1191 coerceValue(myShear, ( ( value ) ));
1194 coerceValue(myScale, ( ( value ) ));
1197 coerceValue(myP, ( ( value ) ));
1200 coerceValue(myPr, ( ( value ) ));
1203 coerceValue(myCamxform0, ( ( value ) ));
1206 coerceValue(myCamxform1, ( ( value ) ));
1209 coerceValue(myCamxform2, ( ( value ) ));
1212 coerceValue(myCamxform3, ( ( value ) ));
1215 coerceValue(myCampos, ( ( value ) ));
1218 coerceValue(myCursorpos, ( ( value ) ));
1221 coerceValue(myCursordisplace, ( ( value ) ));
1224 coerceValue(myRaypos, ( ( value ) ));
1227 coerceValue(myRaydir, ( ( value ) ));
1230 coerceValue(myStrengthscale, ( ( value ) ));
1233 coerceValue(myButton, clampMinValue(0, clampMaxValue(2, value ) ));
1236 coerceValue(myShiftkey, ( ( value ) ));
1239 coerceValue(myCtrlkey, ( ( value ) ));
1246 { doSetParmValue(idx, instance, value); }
1248 { doSetParmValue(idx, instance, value); }
1250 { doSetParmValue(idx, instance, value); }
1252 { doSetParmValue(idx, instance, value); }
1254 { doSetParmValue(idx, instance, value); }
1256 { doSetParmValue(idx, instance, value); }
1258 { doSetParmValue(idx, instance, value); }
1260 { doSetParmValue(idx, instance, value); }
1262 { doSetParmValue(idx, instance, value); }
1264 { doSetParmValue(idx, instance, value); }
1266 { doSetParmValue(idx, instance, value); }
1270 if (idx.
size() == 0)
1282 if (fieldnum.
size() < 1)
1284 switch (fieldnum[0])
1287 return "recordstrokes";
1299 return "mirrorgroup";
1301 return "mirrororigin";
1309 return "strandmode";
1311 return "collidewithskin";
1313 return "brushsurface";
1315 return "usepartinglines";
1317 return "screenradius";
1319 return "objectradius";
1327 return "brushmaintainlength";
1329 return "brushsnaptosurface";
1333 return "brushbendfalloff";
1339 return "adjustlengthmode";
1341 return "adjustlengthvalue";
1343 return "adjustlengthlength";
1345 return "adjustlengthmethod";
1347 return "moverotatewithskin";
1349 return "sculptdoconstrain";
1351 return "sculptlockroot";
1353 return "smoothtargetsmoothness";
1355 return "blurinskinspace";
1357 return "blurperpoint";
1359 return "clumpperpoint";
1363 return "plantinterpolateguides";
1365 return "plantinterpolaterelskin";
1367 return "plantlength";
1369 return "plantsegcount";
1371 return "drawonskin";
1373 return "drawcurvetype";
1375 return "drawsegmode";
1377 return "drawsegcount";
1379 return "drawseglength";
1381 return "editactiveprim";
1385 return "editsoftmode";
1387 return "editcurvefrac";
1389 return "editcurvedist";
1391 return "resamplesegmode";
1393 return "resamplesegcount";
1395 return "resampleseglength";
1397 return "twistangle";
1399 return "curvemaskramp";
1407 return "previewutil";
1409 return "paintmaskpoints";
1411 return "groupnewprims";
1413 return "namenewprims";
1415 return "activegroup";
1417 return "nameattrib";
1419 return "activename";
1421 return "colorbyname";
1455 return "cursordisplace";
1461 return "strengthscale";
1475 if (fieldnum.
size() < 1)
1476 return PARM_UNSUPPORTED;
1477 switch (fieldnum[0])
1480 return PARM_INTEGER;
1486 return PARM_INTEGER;
1488 return PARM_INTEGER;
1490 return PARM_INTEGER;
1494 return PARM_VECTOR3;
1496 return PARM_VECTOR3;
1498 return PARM_INTEGER;
1502 return PARM_INTEGER;
1504 return PARM_INTEGER;
1506 return PARM_INTEGER;
1508 return PARM_INTEGER;
1522 return PARM_INTEGER;
1528 return PARM_INTEGER;
1532 return PARM_INTEGER;
1538 return PARM_INTEGER;
1540 return PARM_INTEGER;
1542 return PARM_INTEGER;
1544 return PARM_INTEGER;
1548 return PARM_INTEGER;
1550 return PARM_INTEGER;
1552 return PARM_INTEGER;
1554 return PARM_INTEGER;
1556 return PARM_INTEGER;
1558 return PARM_INTEGER;
1562 return PARM_INTEGER;
1564 return PARM_INTEGER;
1566 return PARM_INTEGER;
1568 return PARM_INTEGER;
1570 return PARM_INTEGER;
1574 return PARM_INTEGER;
1576 return PARM_INTEGER;
1578 return PARM_INTEGER;
1584 return PARM_INTEGER;
1586 return PARM_INTEGER;
1600 return PARM_INTEGER;
1602 return PARM_INTEGER;
1604 return PARM_INTEGER;
1606 return PARM_INTEGER;
1614 return PARM_INTEGER;
1616 return PARM_INTEGER;
1618 return PARM_INTEGER;
1620 return PARM_INTEGER;
1622 return PARM_VECTOR3;
1624 return PARM_VECTOR3;
1626 return PARM_VECTOR3;
1628 return PARM_VECTOR3;
1632 return PARM_VECTOR3;
1634 return PARM_VECTOR3;
1636 return PARM_VECTOR4;
1638 return PARM_VECTOR4;
1640 return PARM_VECTOR4;
1642 return PARM_VECTOR4;
1644 return PARM_VECTOR3;
1646 return PARM_VECTOR2;
1648 return PARM_VECTOR3;
1650 return PARM_VECTOR3;
1652 return PARM_VECTOR3;
1656 return PARM_INTEGER;
1658 return PARM_INTEGER;
1660 return PARM_INTEGER;
1663 return PARM_UNSUPPORTED;
1668 { is.
bread(&v, 1); }
1699 loadData(is, rampdata);
1717 int typelen = colon - data.
buffer();
1729 { UTwrite(os, &v); }
1731 {
int64 iv =
v; UTwrite(os, &iv); }
1733 { UTwrite<fpreal64>(os, &
v); }
1735 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1737 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1738 UTwrite<fpreal64>(os, &v.
z()); }
1740 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1741 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1753 if (s) s->save(ostr);
1754 result = ostr.
str();
1755 saveData(os, result);
1762 ostr << s->getDataTypeToken();
1764 s->saveBinary(ostr);
1766 result = ostr.
str();
1767 saveData(os, result);
1775 saveData(os, myRecordstrokes);
1776 saveData(os, myStashnode);
1777 saveData(os, myGroup);
1778 saveData(os, myGrouptype);
1779 saveData(os, myUsemask);
1780 saveData(os, myMirror);
1781 saveData(os, myMirrorgroup);
1782 saveData(os, myMirrororigin);
1783 saveData(os, myMirrordir);
1784 saveData(os, myTool);
1785 saveData(os, myRaybias);
1786 saveData(os, myStrandmode);
1787 saveData(os, myCollidewithskin);
1788 saveData(os, myBrushsurface);
1789 saveData(os, myUsepartinglines);
1790 saveData(os, myScreenradius);
1791 saveData(os, myObjectradius);
1792 saveData(os, mySoft);
1793 saveData(os, mySpacing);
1794 saveData(os, myDensity);
1795 saveData(os, myBrushmaintainlength);
1796 saveData(os, myBrushsnaptosurface);
1797 saveData(os, myBrushbend);
1798 saveData(os, myBrushbendfalloff);
1799 saveData(os, myLiftmode);
1800 saveData(os, myLiftangle);
1801 saveData(os, myAdjustlengthmode);
1802 saveData(os, myAdjustlengthvalue);
1803 saveData(os, myAdjustlengthlength);
1804 saveData(os, myAdjustlengthmethod);
1805 saveData(os, myMoverotatewithskin);
1806 saveData(os, mySculptdoconstrain);
1807 saveData(os, mySculptlockroot);
1808 saveData(os, mySmoothtargetsmoothness);
1809 saveData(os, myBlurinskinspace);
1810 saveData(os, myBlurperpoint);
1811 saveData(os, myClumpperpoint);
1812 saveData(os, myPlantmode);
1813 saveData(os, myPlantinterpolateguides);
1814 saveData(os, myPlantinterpolaterelskin);
1815 saveData(os, myPlantlength);
1816 saveData(os, myPlantsegcount);
1817 saveData(os, myDrawonskin);
1818 saveData(os, myDrawcurvetype);
1819 saveData(os, myDrawsegmode);
1820 saveData(os, myDrawsegcount);
1821 saveData(os, myDrawseglength);
1822 saveData(os, myEditactiveprim);
1823 saveData(os, myEditsoft);
1824 saveData(os, myEditsoftmode);
1825 saveData(os, myEditcurvefrac);
1826 saveData(os, myEditcurvedist);
1827 saveData(os, myResamplesegmode);
1828 saveData(os, myResamplesegcount);
1829 saveData(os, myResampleseglength);
1830 saveData(os, myTwistangle);
1831 saveData(os, myCurvemaskramp);
1832 saveData(os, myGroom);
1833 saveData(os, myStrands);
1834 saveData(os, myStrokes);
1835 saveData(os, myPreviewutil);
1836 saveData(os, myPaintmaskpoints);
1837 saveData(os, myGroupnewprims);
1838 saveData(os, myNamenewprims);
1839 saveData(os, myActivegroup);
1840 saveData(os, myNameattrib);
1841 saveData(os, myActivename);
1842 saveData(os, myColorbyname);
1843 saveData(os, myColorseed);
1844 saveData(os, myXord);
1845 saveData(os, myRord);
1849 saveData(os, myShear);
1850 saveData(os, myScale);
1853 saveData(os, myCamxform0);
1854 saveData(os, myCamxform1);
1855 saveData(os, myCamxform2);
1856 saveData(os, myCamxform3);
1857 saveData(os, myCampos);
1858 saveData(os, myCursorpos);
1859 saveData(os, myCursordisplace);
1860 saveData(os, myRaypos);
1861 saveData(os, myRaydir);
1862 saveData(os, myStrengthscale);
1863 saveData(os, myButton);
1864 saveData(os, myShiftkey);
1865 saveData(os, myCtrlkey);
1878 loadData(is, myRecordstrokes);
1879 loadData(is, myStashnode);
1880 loadData(is, myGroup);
1881 loadData(is, myGrouptype);
1882 loadData(is, myUsemask);
1883 loadData(is, myMirror);
1884 loadData(is, myMirrorgroup);
1885 loadData(is, myMirrororigin);
1886 loadData(is, myMirrordir);
1887 loadData(is, myTool);
1888 loadData(is, myRaybias);
1889 loadData(is, myStrandmode);
1890 loadData(is, myCollidewithskin);
1891 loadData(is, myBrushsurface);
1892 loadData(is, myUsepartinglines);
1893 loadData(is, myScreenradius);
1894 loadData(is, myObjectradius);
1895 loadData(is, mySoft);
1896 loadData(is, mySpacing);
1897 loadData(is, myDensity);
1898 loadData(is, myBrushmaintainlength);
1899 loadData(is, myBrushsnaptosurface);
1900 loadData(is, myBrushbend);
1901 loadData(is, myBrushbendfalloff);
1902 loadData(is, myLiftmode);
1903 loadData(is, myLiftangle);
1904 loadData(is, myAdjustlengthmode);
1905 loadData(is, myAdjustlengthvalue);
1906 loadData(is, myAdjustlengthlength);
1907 loadData(is, myAdjustlengthmethod);
1908 loadData(is, myMoverotatewithskin);
1909 loadData(is, mySculptdoconstrain);
1910 loadData(is, mySculptlockroot);
1911 loadData(is, mySmoothtargetsmoothness);
1912 loadData(is, myBlurinskinspace);
1913 loadData(is, myBlurperpoint);
1914 loadData(is, myClumpperpoint);
1915 loadData(is, myPlantmode);
1916 loadData(is, myPlantinterpolateguides);
1917 loadData(is, myPlantinterpolaterelskin);
1918 loadData(is, myPlantlength);
1919 loadData(is, myPlantsegcount);
1920 loadData(is, myDrawonskin);
1921 loadData(is, myDrawcurvetype);
1922 loadData(is, myDrawsegmode);
1923 loadData(is, myDrawsegcount);
1924 loadData(is, myDrawseglength);
1925 loadData(is, myEditactiveprim);
1926 loadData(is, myEditsoft);
1927 loadData(is, myEditsoftmode);
1928 loadData(is, myEditcurvefrac);
1929 loadData(is, myEditcurvedist);
1930 loadData(is, myResamplesegmode);
1931 loadData(is, myResamplesegcount);
1932 loadData(is, myResampleseglength);
1933 loadData(is, myTwistangle);
1934 loadData(is, myCurvemaskramp);
1935 loadData(is, myGroom);
1936 loadData(is, myStrands);
1937 loadData(is, myStrokes);
1938 loadData(is, myPreviewutil);
1939 loadData(is, myPaintmaskpoints);
1940 loadData(is, myGroupnewprims);
1941 loadData(is, myNamenewprims);
1942 loadData(is, myActivegroup);
1943 loadData(is, myNameattrib);
1944 loadData(is, myActivename);
1945 loadData(is, myColorbyname);
1946 loadData(is, myColorseed);
1947 loadData(is, myXord);
1948 loadData(is, myRord);
1952 loadData(is, myShear);
1953 loadData(is, myScale);
1956 loadData(is, myCamxform0);
1957 loadData(is, myCamxform1);
1958 loadData(is, myCamxform2);
1959 loadData(is, myCamxform3);
1960 loadData(is, myCampos);
1961 loadData(is, myCursorpos);
1962 loadData(is, myCursordisplace);
1963 loadData(is, myRaypos);
1964 loadData(is, myRaydir);
1965 loadData(is, myStrengthscale);
1966 loadData(is, myButton);
1967 loadData(is, myShiftkey);
1968 loadData(is, myCtrlkey);
1978 if (!thissop)
return getRecordstrokes();
1980 OP_Utils::evalOpParm(result, thissop,
"recordstrokes", cookparms.
getCookTime(), 0);
1988 if (!thissop)
return getStashnode();
1990 OP_Utils::evalOpParm(result, thissop,
"stashnode", cookparms.
getCookTime(), 0);
1998 if (!thissop)
return getGroup();
2000 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
2008 if (!thissop)
return getGrouptype();
2010 OP_Utils::evalOpParm(result, thissop,
"grouptype", cookparms.
getCookTime(), 0);
2018 if (!thissop)
return getUsemask();
2020 OP_Utils::evalOpParm(result, thissop,
"usemask", cookparms.
getCookTime(), 0);
2028 if (!thissop)
return getMirror();
2030 OP_Utils::evalOpParm(result, thissop,
"mirror", cookparms.
getCookTime(), 0);
2038 if (!thissop)
return getMirrorgroup();
2040 OP_Utils::evalOpParm(result, thissop,
"mirrorgroup", cookparms.
getCookTime(), 0);
2048 if (!thissop)
return getMirrororigin();
2050 OP_Utils::evalOpParm(result, thissop,
"mirrororigin", cookparms.
getCookTime(), 0);
2058 if (!thissop)
return getMirrordir();
2060 OP_Utils::evalOpParm(result, thissop,
"mirrordir", cookparms.
getCookTime(), 0);
2068 if (!thissop)
return getTool();
2070 OP_Utils::evalOpParm(result, thissop,
"tool", cookparms.
getCookTime(), 0);
2071 return Tool(result);
2078 if (!thissop)
return getRaybias();
2080 OP_Utils::evalOpParm(result, thissop,
"raybias", cookparms.
getCookTime(), 0);
2088 if (!thissop)
return getStrandmode();
2090 OP_Utils::evalOpParm(result, thissop,
"strandmode", cookparms.
getCookTime(), 0);
2098 if (!thissop)
return getCollidewithskin();
2100 OP_Utils::evalOpParm(result, thissop,
"collidewithskin", cookparms.
getCookTime(), 0);
2108 if (!thissop)
return getBrushsurface();
2110 OP_Utils::evalOpParm(result, thissop,
"brushsurface", cookparms.
getCookTime(), 0);
2118 if (!thissop)
return getUsepartinglines();
2120 OP_Utils::evalOpParm(result, thissop,
"usepartinglines", cookparms.
getCookTime(), 0);
2128 if (!thissop)
return getScreenradius();
2130 OP_Utils::evalOpParm(result, thissop,
"screenradius", cookparms.
getCookTime(), 0);
2138 if (!thissop)
return getObjectradius();
2140 OP_Utils::evalOpParm(result, thissop,
"objectradius", cookparms.
getCookTime(), 0);
2148 if (!thissop)
return getSoft();
2150 OP_Utils::evalOpParm(result, thissop,
"soft", cookparms.
getCookTime(), 0);
2158 if (!thissop)
return getSpacing();
2160 OP_Utils::evalOpParm(result, thissop,
"spacing", cookparms.
getCookTime(), 0);
2168 if (!thissop)
return getDensity();
2170 OP_Utils::evalOpParm(result, thissop,
"density", cookparms.
getCookTime(), 0);
2178 if (!thissop)
return getBrushmaintainlength();
2180 OP_Utils::evalOpParm(result, thissop,
"brushmaintainlength", cookparms.
getCookTime(), 0);
2188 if (!thissop)
return getBrushsnaptosurface();
2190 OP_Utils::evalOpParm(result, thissop,
"brushsnaptosurface", cookparms.
getCookTime(), 0);
2198 if (!thissop)
return getBrushbend();
2200 OP_Utils::evalOpParm(result, thissop,
"brushbend", cookparms.
getCookTime(), 0);
2208 if (!thissop)
return getBrushbendfalloff();
2210 OP_Utils::evalOpParm(result, thissop,
"brushbendfalloff", cookparms.
getCookTime(), 0);
2218 if (!thissop)
return getLiftmode();
2220 OP_Utils::evalOpParm(result, thissop,
"liftmode", cookparms.
getCookTime(), 0);
2228 if (!thissop)
return getLiftangle();
2230 OP_Utils::evalOpParm(result, thissop,
"liftangle", cookparms.
getCookTime(), 0);
2238 if (!thissop)
return getAdjustlengthmode();
2240 OP_Utils::evalOpParm(result, thissop,
"adjustlengthmode", cookparms.
getCookTime(), 0);
2248 if (!thissop)
return getAdjustlengthvalue();
2250 OP_Utils::evalOpParm(result, thissop,
"adjustlengthvalue", cookparms.
getCookTime(), 0);
2258 if (!thissop)
return getAdjustlengthlength();
2260 OP_Utils::evalOpParm(result, thissop,
"adjustlengthlength", cookparms.
getCookTime(), 0);
2268 if (!thissop)
return getAdjustlengthmethod();
2270 OP_Utils::evalOpParm(result, thissop,
"adjustlengthmethod", cookparms.
getCookTime(), 0);
2278 if (!thissop)
return getMoverotatewithskin();
2280 OP_Utils::evalOpParm(result, thissop,
"moverotatewithskin", cookparms.
getCookTime(), 0);
2288 if (!thissop)
return getSculptdoconstrain();
2290 OP_Utils::evalOpParm(result, thissop,
"sculptdoconstrain", cookparms.
getCookTime(), 0);
2298 if (!thissop)
return getSculptlockroot();
2300 OP_Utils::evalOpParm(result, thissop,
"sculptlockroot", cookparms.
getCookTime(), 0);
2308 if (!thissop)
return getSmoothtargetsmoothness();
2310 OP_Utils::evalOpParm(result, thissop,
"smoothtargetsmoothness", cookparms.
getCookTime(), 0);
2318 if (!thissop)
return getBlurinskinspace();
2320 OP_Utils::evalOpParm(result, thissop,
"blurinskinspace", cookparms.
getCookTime(), 0);
2328 if (!thissop)
return getBlurperpoint();
2330 OP_Utils::evalOpParm(result, thissop,
"blurperpoint", cookparms.
getCookTime(), 0);
2338 if (!thissop)
return getClumpperpoint();
2340 OP_Utils::evalOpParm(result, thissop,
"clumpperpoint", cookparms.
getCookTime(), 0);
2348 if (!thissop)
return getPlantmode();
2350 OP_Utils::evalOpParm(result, thissop,
"plantmode", cookparms.
getCookTime(), 0);
2358 if (!thissop)
return getPlantinterpolateguides();
2360 OP_Utils::evalOpParm(result, thissop,
"plantinterpolateguides", cookparms.
getCookTime(), 0);
2368 if (!thissop)
return getPlantinterpolaterelskin();
2370 OP_Utils::evalOpParm(result, thissop,
"plantinterpolaterelskin", cookparms.
getCookTime(), 0);
2378 if (!thissop)
return getPlantlength();
2380 OP_Utils::evalOpParm(result, thissop,
"plantlength", cookparms.
getCookTime(), 0);
2388 if (!thissop)
return getPlantsegcount();
2390 OP_Utils::evalOpParm(result, thissop,
"plantsegcount", cookparms.
getCookTime(), 0);
2398 if (!thissop)
return getDrawonskin();
2400 OP_Utils::evalOpParm(result, thissop,
"drawonskin", cookparms.
getCookTime(), 0);
2408 if (!thissop)
return getDrawcurvetype();
2410 OP_Utils::evalOpParm(result, thissop,
"drawcurvetype", cookparms.
getCookTime(), 0);
2418 if (!thissop)
return getDrawsegmode();
2420 OP_Utils::evalOpParm(result, thissop,
"drawsegmode", cookparms.
getCookTime(), 0);
2428 if (!thissop)
return getDrawsegcount();
2430 OP_Utils::evalOpParm(result, thissop,
"drawsegcount", cookparms.
getCookTime(), 0);
2438 if (!thissop)
return getDrawseglength();
2440 OP_Utils::evalOpParm(result, thissop,
"drawseglength", cookparms.
getCookTime(), 0);
2448 if (!thissop)
return getEditactiveprim();
2450 OP_Utils::evalOpParm(result, thissop,
"editactiveprim", cookparms.
getCookTime(), 0);
2458 if (!thissop)
return getEditsoft();
2460 OP_Utils::evalOpParm(result, thissop,
"editsoft", cookparms.
getCookTime(), 0);
2468 if (!thissop)
return getEditsoftmode();
2470 OP_Utils::evalOpParm(result, thissop,
"editsoftmode", cookparms.
getCookTime(), 0);
2478 if (!thissop)
return getEditcurvefrac();
2480 OP_Utils::evalOpParm(result, thissop,
"editcurvefrac", cookparms.
getCookTime(), 0);
2488 if (!thissop)
return getEditcurvedist();
2490 OP_Utils::evalOpParm(result, thissop,
"editcurvedist", cookparms.
getCookTime(), 0);
2498 if (!thissop)
return getResamplesegmode();
2500 OP_Utils::evalOpParm(result, thissop,
"resamplesegmode", cookparms.
getCookTime(), 0);
2508 if (!thissop)
return getResamplesegcount();
2510 OP_Utils::evalOpParm(result, thissop,
"resamplesegcount", cookparms.
getCookTime(), 0);
2518 if (!thissop)
return getResampleseglength();
2520 OP_Utils::evalOpParm(result, thissop,
"resampleseglength", cookparms.
getCookTime(), 0);
2528 if (!thissop)
return getTwistangle();
2530 OP_Utils::evalOpParm(result, thissop,
"twistangle", cookparms.
getCookTime(), 0);
2538 if (!thissop)
return getCurvemaskramp();
2540 OP_Utils::evalOpParm(result, thissop,
"curvemaskramp", cookparms.
getCookTime(), 0);
2548 if (!thissop)
return getGroom();
2550 OP_Utils::evalOpParm(result, thissop,
"groom", cookparms.
getCookTime(), 0);
2558 if (!thissop)
return getStrands();
2560 OP_Utils::evalOpParm(result, thissop,
"strands", cookparms.
getCookTime(), 0);
2568 if (!thissop)
return getStrokes();
2570 OP_Utils::evalOpParm(result, thissop,
"strokes", cookparms.
getCookTime(), 0);
2578 if (!thissop)
return getPreviewutil();
2580 OP_Utils::evalOpParm(result, thissop,
"previewutil", cookparms.
getCookTime(), 0);
2588 if (!thissop)
return getPaintmaskpoints();
2590 OP_Utils::evalOpParm(result, thissop,
"paintmaskpoints", cookparms.
getCookTime(), 0);
2598 if (!thissop)
return getGroupnewprims();
2600 OP_Utils::evalOpParm(result, thissop,
"groupnewprims", cookparms.
getCookTime(), 0);
2608 if (!thissop)
return getNamenewprims();
2610 OP_Utils::evalOpParm(result, thissop,
"namenewprims", cookparms.
getCookTime(), 0);
2618 if (!thissop)
return getActivegroup();
2620 OP_Utils::evalOpParm(result, thissop,
"activegroup", cookparms.
getCookTime(), 0);
2628 if (!thissop)
return getNameattrib();
2630 OP_Utils::evalOpParm(result, thissop,
"nameattrib", cookparms.
getCookTime(), 0);
2638 if (!thissop)
return getActivename();
2640 OP_Utils::evalOpParm(result, thissop,
"activename", cookparms.
getCookTime(), 0);
2648 if (!thissop)
return getColorbyname();
2650 OP_Utils::evalOpParm(result, thissop,
"colorbyname", cookparms.
getCookTime(), 0);
2658 if (!thissop)
return getColorseed();
2660 OP_Utils::evalOpParm(result, thissop,
"colorseed", cookparms.
getCookTime(), 0);
2668 if (!thissop)
return getXord();
2670 OP_Utils::evalOpParm(result, thissop,
"xOrd", cookparms.
getCookTime(), 0);
2671 return Xord(result);
2678 if (!thissop)
return getRord();
2680 OP_Utils::evalOpParm(result, thissop,
"rOrd", cookparms.
getCookTime(), 0);
2681 return Rord(result);
2688 if (!thissop)
return getT();
2690 OP_Utils::evalOpParm(result, thissop,
"t", cookparms.
getCookTime(), 0);
2698 if (!thissop)
return getR();
2700 OP_Utils::evalOpParm(result, thissop,
"r", cookparms.
getCookTime(), 0);
2708 if (!thissop)
return getS();
2710 OP_Utils::evalOpParm(result, thissop,
"s", cookparms.
getCookTime(), 0);
2718 if (!thissop)
return getShear();
2720 OP_Utils::evalOpParm(result, thissop,
"shear", cookparms.
getCookTime(), 0);
2730 OP_Utils::evalOpParm(result, thissop,
"scale", cookparms.
getCookTime(), 0);
2738 if (!thissop)
return getP();
2740 OP_Utils::evalOpParm(result, thissop,
"p", cookparms.
getCookTime(), 0);
2748 if (!thissop)
return getPr();
2750 OP_Utils::evalOpParm(result, thissop,
"pr", cookparms.
getCookTime(), 0);
2758 if (!thissop)
return getCamxform0();
2760 OP_Utils::evalOpParm(result, thissop,
"camxform0", cookparms.
getCookTime(), 0);
2768 if (!thissop)
return getCamxform1();
2770 OP_Utils::evalOpParm(result, thissop,
"camxform1", cookparms.
getCookTime(), 0);
2778 if (!thissop)
return getCamxform2();
2780 OP_Utils::evalOpParm(result, thissop,
"camxform2", cookparms.
getCookTime(), 0);
2788 if (!thissop)
return getCamxform3();
2790 OP_Utils::evalOpParm(result, thissop,
"camxform3", cookparms.
getCookTime(), 0);
2798 if (!thissop)
return getCampos();
2800 OP_Utils::evalOpParm(result, thissop,
"campos", cookparms.
getCookTime(), 0);
2808 if (!thissop)
return getCursorpos();
2810 OP_Utils::evalOpParm(result, thissop,
"cursorpos", cookparms.
getCookTime(), 0);
2818 if (!thissop)
return getCursordisplace();
2820 OP_Utils::evalOpParm(result, thissop,
"cursordisplace", cookparms.
getCookTime(), 0);
2828 if (!thissop)
return getRaypos();
2830 OP_Utils::evalOpParm(result, thissop,
"raypos", cookparms.
getCookTime(), 0);
2838 if (!thissop)
return getRaydir();
2840 OP_Utils::evalOpParm(result, thissop,
"raydir", cookparms.
getCookTime(), 0);
2848 if (!thissop)
return getStrengthscale();
2850 OP_Utils::evalOpParm(result, thissop,
"strengthscale", cookparms.
getCookTime(), 0);
2858 if (!thissop)
return getButton();
2860 OP_Utils::evalOpParm(result, thissop,
"button", cookparms.
getCookTime(), 0);
2868 if (!thissop)
return getShiftkey();
2870 OP_Utils::evalOpParm(result, thissop,
"shiftkey", cookparms.
getCookTime(), 0);
2878 if (!thissop)
return getCtrlkey();
2880 OP_Utils::evalOpParm(result, thissop,
"ctrlkey", cookparms.
getCookTime(), 0);
2885 bool myRecordstrokes;
2897 bool myCollidewithskin;
2898 bool myBrushsurface;
2899 bool myUsepartinglines;
2906 bool myBrushsnaptosurface;
2911 int64 myAdjustlengthmode;
2914 int64 myAdjustlengthmethod;
2915 bool myMoverotatewithskin;
2916 bool mySculptdoconstrain;
2917 bool mySculptlockroot;
2919 bool myBlurinskinspace;
2920 bool myBlurperpoint;
2921 bool myClumpperpoint;
2923 bool myPlantinterpolateguides;
2924 bool myPlantinterpolaterelskin;
2926 int64 myPlantsegcount;
2928 int64 myDrawcurvetype;
2929 int64 myDrawsegmode;
2930 int64 myDrawsegcount;
2932 int64 myEditactiveprim;
2934 int64 myEditsoftmode;
2937 int64 myResamplesegmode;
2938 int64 myResamplesegcount;
2946 bool myPaintmaskpoints;
2947 bool myGroupnewprims;
2948 bool myNamenewprims;
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
UT_StringHolder opActivegroup(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getSpacing() const
void setSculptlockroot(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)
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
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)
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
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)
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)
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
bool opCollidewithskin(const SOP_NodeVerb::CookParms &cookparms) const
void buildFromOp(const SOP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
int64 getResamplesegcount() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
fpreal64 getEditcurvefrac() const
fpreal64 opBrushbendfalloff(const SOP_NodeVerb::CookParms &cookparms) const
exint getNestNumParms(TempIndex idx) const override
void setClumpperpoint(bool val)
fpreal64 getStrengthscale() const
bool getPreviewutil() const
void setBrushsurface(bool val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
const char * getNestParmName(TempIndex fieldnum) const override
bool operator!=(const SOP_GuideGroomCoreParms &src) const
UT_StringHolder opNameattrib(const SOP_NodeVerb::CookParms &cookparms) const
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
const SOP_GraphProxy * graph() 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)
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)
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
fpreal64 opSmoothtargetsmoothness(const SOP_NodeVerb::CookParms &cookparms) 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
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.
UT_Vector3D opP(const SOP_NodeVerb::CookParms &cookparms) const
Drawcurvetype getDrawcurvetype() const
void setCurvemaskramp(UT_SharedPtr< UT_Ramp > val)
fpreal64 opDensity(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D getMirrororigin() const
void setBrushbend(fpreal64 val)
~SOP_GuideGroomCoreParms() override
void setEditactiveprim(int64 val)
fpreal64 opScreenradius(const SOP_NodeVerb::CookParms &cookparms) const
void setBlurinskinspace(bool val)
void setColorseed(int64 val)
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
void setCampos(UT_Vector3D val)
int64 opPlantsegcount(const SOP_NodeVerb::CookParms &cookparms) const
bool getRecordstrokes() const
static void loadData(UT_IStream &is, bool &v)
static void saveData(std::ostream &os, UT_Vector3D v)
bool getBrushsurface() 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
fpreal64 getBrushbendfalloff() const
void setStrands(PRM_DataItemHandle val)
bool opBlurperpoint(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector4D &v)
Adjustlengthmethod opAdjustlengthmethod(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)
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 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
void setDrawonskin(bool val)
fpreal64 getScreenradius() const
void setAdjustlengthmethod(Adjustlengthmethod val)
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
bool opPreviewutil(const SOP_NodeVerb::CookParms &cookparms) const
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
bool opUsepartinglines(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getActivename() const
Editsoftmode getEditsoftmode() 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
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
void setScale(fpreal64 val)
bool getPlantinterpolaterelskin() const
static void loadData(UT_IStream &is, UT_Vector2I &v)
void setT(UT_Vector3D val)
bool getStrandmode() const
bool getUsepartinglines() const
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
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
UT_Vector3D getRaydir() const
fpreal64 getSmoothtargetsmoothness() const
UT_StringHolder opMirrorgroup(const SOP_NodeVerb::CookParms &cookparms) const
bool opShiftkey(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opEditcurvefrac(const SOP_NodeVerb::CookParms &cookparms) const
SOP_GuideGroomCoreParms()
UT_Vector4D getCamxform0() const
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
bool opSculptlockroot(const SOP_NodeVerb::CookParms &cookparms) const
void setDensity(fpreal64 val)
fpreal64 opAdjustlengthlength(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getObjectradius() const
fpreal64 opAdjustlengthvalue(const SOP_NodeVerb::CookParms &cookparms) const
void setStrokes(PRM_DataItemHandle val)
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
bool opDrawonskin(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Vector4D v)
void saveBinary(std::ostream &os) const
Save string to binary stream.
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
DEP_MicroNode * depnode() const
Adjustlengthmode opAdjustlengthmode(const SOP_NodeVerb::CookParms &cookparms) const
void setBlurperpoint(bool val)
const UT_StringHolder & getNameattrib() const
UT_Vector3D opRaydir(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector4D opCamxform3(const SOP_NodeVerb::CookParms &cookparms) const
bool opBlurinskinspace(const SOP_NodeVerb::CookParms &cookparms) const
void setRecordstrokes(bool val)
void setLiftmode(Liftmode val)
UT_Vector3D opCursordisplace(const SOP_NodeVerb::CookParms &cookparms) const
bool getSculptdoconstrain() 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 setResamplesegcount(int64 val)
UT_StringHolder opActivename(const SOP_NodeVerb::CookParms &cookparms) const
void setStrengthscale(fpreal64 val)
Editsoftmode opEditsoftmode(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
void setGroup(const UT_StringHolder &val)
bool getClumpperpoint() const
static void saveData(std::ostream &os, UT_StringHolder s)
PRM_DataItemHandle opStrands(const SOP_NodeVerb::CookParms &cookparms) const
void setButton(Button val)
void setGroupnewprims(bool val)
int64 opDrawsegcount(const SOP_NodeVerb::CookParms &cookparms) const
bool opBrushsurface(const SOP_NodeVerb::CookParms &cookparms) const
void setMoverotatewithskin(bool val)
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
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)
void setEditcurvedist(fpreal64 val)
void setStashnode(const UT_StringHolder &val)
bool getPaintmaskpoints() const
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 opBrushsnaptosurface(const SOP_NodeVerb::CookParms &cookparms) const
Liftmode getLiftmode() const
GLsizei const GLfloat * value
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
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
UT_Vector3D opS(const SOP_NodeVerb::CookParms &cookparms) const
int64 opResamplesegcount(const SOP_NodeVerb::CookParms &cookparms) const
void setTwistangle(fpreal64 val)
fpreal getCookTime() const
static void saveData(std::ostream &os, UT_Matrix2D v)
void setEditcurvefrac(fpreal64 val)
Plantmode getPlantmode() const
int64 opEditactiveprim(const SOP_NodeVerb::CookParms &cookparms) const
PRM_DataItemHandle getStrands() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
void copyFrom(const SOP_NodeParms *src) override
Rord opRord(const SOP_NodeVerb::CookParms &cookparms) 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)
void setRaypos(UT_Vector3D 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
void setResamplesegmode(Resamplesegmode val)
bool getBlurinskinspace() const
bool opPaintmaskpoints(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D opCampos(const SOP_NodeVerb::CookParms &cookparms) const
void setCamxform3(UT_Vector4D val)
const OP_Context & context() const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
UT_Vector4D getCamxform2() const
void setMirrorgroup(const UT_StringHolder &val)
bool operator==(const SOP_GuideGroomCoreParms &src) const
SYS_FORCE_INLINE bool isstring() const
bool getDrawonskin() 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)
bool opMirror(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getTwistangle() const
void setEditsoftmode(Editsoftmode val)
bool opRecordstrokes(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opEditcurvedist(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D getCursorpos() const
PRM_DataItemHandle opStrokes(const SOP_NodeVerb::CookParms &cookparms) const
bool getSculptlockroot() const
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override