23 namespace SOP_PolyExtrude_2_0Enums
34 using namespace UT::Literal;
51 using namespace UT::Literal;
69 using namespace UT::Literal;
88 using namespace UT::Literal;
106 using namespace UT::Literal;
107 switch (enum_value) {
127 using namespace UT::Literal;
128 switch (enum_value) {
152 using namespace UT::Literal;
153 switch (enum_value) {
177 using namespace UT::Literal;
178 switch (enum_value) {
202 using namespace UT::Literal;
203 switch (enum_value) {
224 using namespace UT::Literal;
225 switch (enum_value) {
243 using namespace UT::Literal;
244 switch (enum_value) {
261 using namespace UT::Literal;
262 switch (enum_value) {
278 using namespace UT::Literal;
279 switch (enum_value) {
298 myUseSplitGroup =
false;
299 mySplitGroup =
""_UTsh;
302 myPtNormalAttrib =
"N"_UTsh;
308 myXformFront =
false;
319 myPreXformRotateOrder = 0;
324 myOutputFront =
true;
325 myOutputFrontGrp =
false;
326 myFrontGrp =
"extrudeFront"_UTsh;
327 myOutputBack =
false;
328 myOutputBackGrp =
false;
329 myBackGrp =
"extrudeBack"_UTsh;
331 myOutputSideGrp =
false;
332 mySideGrp =
"extrudeSide"_UTsh;
333 myOutputFrontSeamGrp =
false;
334 myFrontSeamGrp =
"extrudeFrontSeam"_UTsh;
335 myOutputBackSeamGrp =
false;
336 myBackSeamGrp =
"extrudeBackSeam"_UTsh;
337 myPreserveGroups =
true;
339 myCommonLimit =
true;
340 myAddVertexNormals =
false;
347 myFrontMagnitude = 1;
349 myFrontStiffness = 0;
353 myReverseSpineDirection =
false;
357 myThicknessScale = 1;
358 myUseThicknessAttrib =
true;
359 myThicknessAttrib =
"thickness"_UTsh;
360 myUseThicknessRamp =
true;
361 myThicknessRamp =
UT_Ramp::buildFromDefault(
"1pos ( 0 ) 1value ( 1 ) 1interp ( catmull-rom ) 2pos ( 1 ) 2value ( 1 ) 2interp ( catmull-rom )");
362 myUseTwistAttrib =
true;
363 myTwistAttrib =
"twist"_UTsh;
364 myUseTwistRamp =
true;
365 myTwistRamp =
UT_Ramp::buildFromDefault(
"1pos ( 0 ) 1value ( 0.5 ) 1interp ( catmull-rom ) 2pos ( 1 ) 2value ( 0.5 ) 2interp ( catmull-rom )");
367 myUseLocalZScaleAttrib =
false;
368 myLocalZScaleAttrib =
"zscale"_UTsh;
369 myUseLocalInsetScaleAttrib =
false;
370 myLocalInsetScaleAttrib =
"insetscale"_UTsh;
371 myUseLocalTwistScaleAttrib =
false;
372 myLocalTwistScaleAttrib =
"twistscale"_UTsh;
373 myUseLocalDivScaleAttrib =
false;
374 myLocalDivScaleAttrib =
"divsscale"_UTsh;
375 myUseLocalXAttrib =
false;
376 myLocalXAttrib =
"localx"_UTsh;
377 myUseLocalZAttrib =
false;
378 myLocalZAttrib =
"localz"_UTsh;
379 myUseLocalCtrAttrib =
false;
380 myLocalCtrAttrib =
"localctr"_UTsh;
393 if (myGroup != src.myGroup)
return false;
394 if (mySplitType != src.mySplitType)
return false;
395 if (myUseSplitGroup != src.myUseSplitGroup)
return false;
396 if (mySplitGroup != src.mySplitGroup)
return false;
397 if (myExtrusionMode != src.myExtrusionMode)
return false;
398 if (myPtNormalSrc != src.myPtNormalSrc)
return false;
399 if (myPtNormalAttrib != src.myPtNormalAttrib)
return false;
400 if (myDist != src.myDist)
return false;
401 if (myInset != src.myInset)
return false;
402 if (myTwist != src.myTwist)
return false;
403 if (myDivs != src.myDivs)
return false;
404 if (mySpineType != src.mySpineType)
return false;
405 if (myXformFront != src.myXformFront)
return false;
406 if (myXformSpace != src.myXformSpace)
return false;
407 if (myXformOrder != src.myXformOrder)
return false;
408 if (myRotateOrder != src.myRotateOrder)
return false;
409 if (myTranslate != src.myTranslate)
return false;
410 if (myRotate != src.myRotate)
return false;
411 if (myScale != src.myScale)
return false;
412 if (myShear != src.myShear)
return false;
413 if (myPivot != src.myPivot)
return false;
414 if (myPivotRotate != src.myPivotRotate)
return false;
415 if (myPreXformOrder != src.myPreXformOrder)
return false;
416 if (myPreXformRotateOrder != src.myPreXformRotateOrder)
return false;
417 if (myPreXformTranslate != src.myPreXformTranslate)
return false;
418 if (myPreXformRotate != src.myPreXformRotate)
return false;
419 if (myPreXformScale != src.myPreXformScale)
return false;
420 if (myPreXformShear != src.myPreXformShear)
return false;
421 if (myOutputFront != src.myOutputFront)
return false;
422 if (myOutputFrontGrp != src.myOutputFrontGrp)
return false;
423 if (myFrontGrp != src.myFrontGrp)
return false;
424 if (myOutputBack != src.myOutputBack)
return false;
425 if (myOutputBackGrp != src.myOutputBackGrp)
return false;
426 if (myBackGrp != src.myBackGrp)
return false;
427 if (myOutputSide != src.myOutputSide)
return false;
428 if (myOutputSideGrp != src.myOutputSideGrp)
return false;
429 if (mySideGrp != src.mySideGrp)
return false;
430 if (myOutputFrontSeamGrp != src.myOutputFrontSeamGrp)
return false;
431 if (myFrontSeamGrp != src.myFrontSeamGrp)
return false;
432 if (myOutputBackSeamGrp != src.myOutputBackSeamGrp)
return false;
433 if (myBackSeamGrp != src.myBackSeamGrp)
return false;
434 if (myPreserveGroups != src.myPreserveGroups)
return false;
435 if (myLimitInset != src.myLimitInset)
return false;
436 if (myCommonLimit != src.myCommonLimit)
return false;
437 if (myAddVertexNormals != src.myAddVertexNormals)
return false;
438 if (myCuspAngle != src.myCuspAngle)
return false;
439 if (myCuspFront != src.myCuspFront)
return false;
440 if (myCuspBack != src.myCuspBack)
return false;
441 if (myGenUVs != src.myGenUVs)
return false;
442 if (myUVStyle != src.myUVStyle)
return false;
443 if (myUVScaling != src.myUVScaling)
return false;
444 if (myFrontMagnitude != src.myFrontMagnitude)
return false;
445 if (myBackMagnitude != src.myBackMagnitude)
return false;
446 if (myFrontStiffness != src.myFrontStiffness)
return false;
447 if (myBackStiffness != src.myBackStiffness)
return false;
448 if (myInterpolation != src.myInterpolation)
return false;
449 if (mySpacing != src.mySpacing)
return false;
450 if (myReverseSpineDirection != src.myReverseSpineDirection)
return false;
451 if (myAxialRotation != src.myAxialRotation)
return false;
452 if (myFrontBlend != src.myFrontBlend)
return false;
453 if (myBackBlend != src.myBackBlend)
return false;
454 if (myThicknessScale != src.myThicknessScale)
return false;
455 if (myUseThicknessAttrib != src.myUseThicknessAttrib)
return false;
456 if (myThicknessAttrib != src.myThicknessAttrib)
return false;
457 if (myUseThicknessRamp != src.myUseThicknessRamp)
return false;
458 if (myThicknessRamp != src.myThicknessRamp)
459 {
if (!myThicknessRamp || !src.myThicknessRamp || !(*myThicknessRamp == *src.myThicknessRamp))
return false; }
460 if (myUseTwistAttrib != src.myUseTwistAttrib)
return false;
461 if (myTwistAttrib != src.myTwistAttrib)
return false;
462 if (myUseTwistRamp != src.myUseTwistRamp)
return false;
463 if (myTwistRamp != src.myTwistRamp)
464 {
if (!myTwistRamp || !src.myTwistRamp || !(*myTwistRamp == *src.myTwistRamp))
return false; }
465 if (myTwistScale != src.myTwistScale)
return false;
466 if (myUseLocalZScaleAttrib != src.myUseLocalZScaleAttrib)
return false;
467 if (myLocalZScaleAttrib != src.myLocalZScaleAttrib)
return false;
468 if (myUseLocalInsetScaleAttrib != src.myUseLocalInsetScaleAttrib)
return false;
469 if (myLocalInsetScaleAttrib != src.myLocalInsetScaleAttrib)
return false;
470 if (myUseLocalTwistScaleAttrib != src.myUseLocalTwistScaleAttrib)
return false;
471 if (myLocalTwistScaleAttrib != src.myLocalTwistScaleAttrib)
return false;
472 if (myUseLocalDivScaleAttrib != src.myUseLocalDivScaleAttrib)
return false;
473 if (myLocalDivScaleAttrib != src.myLocalDivScaleAttrib)
return false;
474 if (myUseLocalXAttrib != src.myUseLocalXAttrib)
return false;
475 if (myLocalXAttrib != src.myLocalXAttrib)
return false;
476 if (myUseLocalZAttrib != src.myUseLocalZAttrib)
return false;
477 if (myLocalZAttrib != src.myLocalZAttrib)
return false;
478 if (myUseLocalCtrAttrib != src.myUseLocalCtrAttrib)
return false;
479 if (myLocalCtrAttrib != src.myLocalCtrAttrib)
return false;
510 graph->
evalOpParm(myGroup, nodeidx,
"group", time, graph->
isDirect()?
nullptr:depnode);
513 graph->
evalOpParm(mySplitType, nodeidx,
"splittype", time, graph->
isDirect()?
nullptr:depnode);
514 myUseSplitGroup =
false;
515 if (
true && ( (
true&&!(((
int64(getSplitType())!=1)))) ) )
516 graph->
evalOpParm(myUseSplitGroup, nodeidx,
"usesplitgroup", time, graph->
isDirect()?
nullptr:depnode);
517 mySplitGroup =
""_UTsh;
518 if (
true && ( (
true&&!(((
int64(getSplitType())!=1))||((getUseSplitGroup()!=1)))) ) )
519 graph->
evalOpParm(mySplitGroup, nodeidx,
"splitgroup", time, graph->
isDirect()?
nullptr:depnode);
522 graph->
evalOpParm(myExtrusionMode, nodeidx,
"extrusionmode", time, graph->
isDirect()?
nullptr:depnode);
524 if (
true && ( (
true&&!(((
int64(getExtrusionMode())!=1)))) ) )
525 graph->
evalOpParm(myPtNormalSrc, nodeidx,
"ptnormalsrc", time, graph->
isDirect()?
nullptr:depnode);
526 myPtNormalAttrib =
"N"_UTsh;
527 if (
true && ( (
true&&!(((
int64(getExtrusionMode())!=1))||((
int64(getPtNormalSrc())!=2)))) ) )
528 graph->
evalOpParm(myPtNormalAttrib, nodeidx,
"ptnormalattrib", time, graph->
isDirect()?
nullptr:depnode);
534 graph->
evalOpParm(myInset, nodeidx,
"inset", time, graph->
isDirect()?
nullptr:depnode);
537 graph->
evalOpParm(myTwist, nodeidx,
"twist", time, graph->
isDirect()?
nullptr:depnode);
543 graph->
evalOpParm(mySpineType, nodeidx,
"spinetype", time, graph->
isDirect()?
nullptr:depnode);
544 myXformFront =
false;
546 graph->
evalOpParm(myXformFront, nodeidx,
"xformfront", time, graph->
isDirect()?
nullptr:depnode);
548 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
549 graph->
evalOpParm(myXformSpace, nodeidx,
"xformspace", time, graph->
isDirect()?
nullptr:depnode);
551 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
552 graph->
evalOpParm(myXformOrder, nodeidx,
"rst", time, graph->
isDirect()?
nullptr:depnode);
554 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
555 graph->
evalOpParm(myRotateOrder, nodeidx,
"xyz", time, graph->
isDirect()?
nullptr:depnode);
557 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
558 graph->
evalOpParm(myTranslate, nodeidx,
"translate", time, graph->
isDirect()?
nullptr:depnode);
560 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
561 graph->
evalOpParm(myRotate, nodeidx,
"rotate", time, graph->
isDirect()?
nullptr:depnode);
563 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
564 graph->
evalOpParm(myScale, nodeidx,
"scale", time, graph->
isDirect()?
nullptr:depnode);
566 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
567 graph->
evalOpParm(myShear, nodeidx,
"shear", time, graph->
isDirect()?
nullptr:depnode);
569 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
570 graph->
evalOpParm(myPivot, nodeidx,
"pivot", time, graph->
isDirect()?
nullptr:depnode);
572 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
573 graph->
evalOpParm(myPivotRotate, nodeidx,
"pivotrotate", time, graph->
isDirect()?
nullptr:depnode);
575 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
576 graph->
evalOpParm(myPreXformOrder, nodeidx,
"prexform_rst", time, graph->
isDirect()?
nullptr:depnode);
577 myPreXformRotateOrder = 0;
578 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
579 graph->
evalOpParm(myPreXformRotateOrder, nodeidx,
"prexform_xyz", time, graph->
isDirect()?
nullptr:depnode);
581 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
582 graph->
evalOpParm(myPreXformTranslate, nodeidx,
"prexform_translate", time, graph->
isDirect()?
nullptr:depnode);
584 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
585 graph->
evalOpParm(myPreXformRotate, nodeidx,
"prexform_rotate", time, graph->
isDirect()?
nullptr:depnode);
587 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
588 graph->
evalOpParm(myPreXformScale, nodeidx,
"prexform_scale", time, graph->
isDirect()?
nullptr:depnode);
590 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
591 graph->
evalOpParm(myPreXformShear, nodeidx,
"prexform_shear", time, graph->
isDirect()?
nullptr:depnode);
592 myOutputFront =
true;
594 graph->
evalOpParm(myOutputFront, nodeidx,
"outputfront", time, graph->
isDirect()?
nullptr:depnode);
595 myOutputFrontGrp =
false;
597 graph->
evalOpParm(myOutputFrontGrp, nodeidx,
"outputfrontgrp", time, graph->
isDirect()?
nullptr:depnode);
598 myFrontGrp =
"extrudeFront"_UTsh;
599 if (
true && ( (
true&&!(((getOutputFrontGrp()==0)))) ) )
600 graph->
evalOpParm(myFrontGrp, nodeidx,
"frontgrp", time, graph->
isDirect()?
nullptr:depnode);
601 myOutputBack =
false;
603 graph->
evalOpParm(myOutputBack, nodeidx,
"outputback", time, graph->
isDirect()?
nullptr:depnode);
604 myOutputBackGrp =
false;
606 graph->
evalOpParm(myOutputBackGrp, nodeidx,
"outputbackgrp", time, graph->
isDirect()?
nullptr:depnode);
607 myBackGrp =
"extrudeBack"_UTsh;
608 if (
true && ( (
true&&!(((getOutputBackGrp()==0)))) ) )
609 graph->
evalOpParm(myBackGrp, nodeidx,
"backgrp", time, graph->
isDirect()?
nullptr:depnode);
612 graph->
evalOpParm(myOutputSide, nodeidx,
"outputside", time, graph->
isDirect()?
nullptr:depnode);
613 myOutputSideGrp =
false;
615 graph->
evalOpParm(myOutputSideGrp, nodeidx,
"outputsidegrp", time, graph->
isDirect()?
nullptr:depnode);
616 mySideGrp =
"extrudeSide"_UTsh;
617 if (
true && ( (
true&&!(((getOutputSideGrp()==0)))) ) )
618 graph->
evalOpParm(mySideGrp, nodeidx,
"sidegrp", time, graph->
isDirect()?
nullptr:depnode);
619 myOutputFrontSeamGrp =
false;
621 graph->
evalOpParm(myOutputFrontSeamGrp, nodeidx,
"outputfrontseamgrp", time, graph->
isDirect()?
nullptr:depnode);
622 myFrontSeamGrp =
"extrudeFrontSeam"_UTsh;
623 if (
true && ( (
true&&!(((getOutputFrontSeamGrp()==0)))) ) )
624 graph->
evalOpParm(myFrontSeamGrp, nodeidx,
"frontseamgrp", time, graph->
isDirect()?
nullptr:depnode);
625 myOutputBackSeamGrp =
false;
627 graph->
evalOpParm(myOutputBackSeamGrp, nodeidx,
"outputbackseamgrp", time, graph->
isDirect()?
nullptr:depnode);
628 myBackSeamGrp =
"extrudeBackSeam"_UTsh;
629 if (
true && ( (
true&&!(((getOutputBackSeamGrp()==0)))) ) )
630 graph->
evalOpParm(myBackSeamGrp, nodeidx,
"backseamgrp", time, graph->
isDirect()?
nullptr:depnode);
631 myPreserveGroups =
true;
633 graph->
evalOpParm(myPreserveGroups, nodeidx,
"preservegroups", time, graph->
isDirect()?
nullptr:depnode);
636 graph->
evalOpParm(myLimitInset, nodeidx,
"limitinset", time, graph->
isDirect()?
nullptr:depnode);
637 myCommonLimit =
true;
638 if (
true && ( (
true&&!(((getLimitInset()==0)))) ) )
639 graph->
evalOpParm(myCommonLimit, nodeidx,
"commonlimit", time, graph->
isDirect()?
nullptr:depnode);
640 myAddVertexNormals =
false;
642 graph->
evalOpParm(myAddVertexNormals, nodeidx,
"addvertexnomrals", time, graph->
isDirect()?
nullptr:depnode);
644 if (
true && ( (
true&&!(((getAddVertexNormals()==0)))) ) )
645 graph->
evalOpParm(myCuspAngle, nodeidx,
"cuspangle", time, graph->
isDirect()?
nullptr:depnode);
647 if (
true && ( (
true&&!(((getAddVertexNormals()==0)))) ) )
648 graph->
evalOpParm(myCuspFront, nodeidx,
"cuspfront", time, graph->
isDirect()?
nullptr:depnode);
650 if (
true && ( (
true&&!(((getAddVertexNormals()==0)))) ) )
651 graph->
evalOpParm(myCuspBack, nodeidx,
"cuspback", time, graph->
isDirect()?
nullptr:depnode);
654 graph->
evalOpParm(myGenUVs, nodeidx,
"genuvs", time, graph->
isDirect()?
nullptr:depnode);
656 if (
true && ( (
true&&!(((getGenUVs()==0)))) ) )
657 graph->
evalOpParm(myUVStyle, nodeidx,
"uvstyle", time, graph->
isDirect()?
nullptr:depnode);
659 if (
true && ( (
true&&!(((getGenUVs()==0)))) ) )
660 graph->
evalOpParm(myUVScaling, nodeidx,
"uvscaling", time, graph->
isDirect()?
nullptr:depnode);
661 myFrontMagnitude = 1;
662 if (
true && ( (
true&&!(((
int64(getSpineType())==0)))) ) )
663 graph->
evalOpParm(myFrontMagnitude, nodeidx,
"frontmagnitude", time, graph->
isDirect()?
nullptr:depnode);
665 if (
true && ( (
true&&!(((
int64(getSpineType())==0)))) ) )
666 graph->
evalOpParm(myBackMagnitude, nodeidx,
"backmagnitude", time, graph->
isDirect()?
nullptr:depnode);
667 myFrontStiffness = 0;
668 if (
true && ( (
true&&!(((
int64(getSpineType())==0)))) ) )
669 graph->
evalOpParm(myFrontStiffness, nodeidx,
"frontstiffness", time, graph->
isDirect()?
nullptr:depnode);
671 if (
true && ( (
true&&!(((
int64(getSpineType())==0)))) ) )
672 graph->
evalOpParm(myBackStiffness, nodeidx,
"backstiffness", time, graph->
isDirect()?
nullptr:depnode);
675 graph->
evalOpParm(myInterpolation, nodeidx,
"interpolation", time, graph->
isDirect()?
nullptr:depnode);
678 graph->
evalOpParm(mySpacing, nodeidx,
"spacing", time, graph->
isDirect()?
nullptr:depnode);
679 myReverseSpineDirection =
false;
680 if (
true && ( (
true&&!(((
int64(getSpineType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0)))) ) )
681 graph->
evalOpParm(myReverseSpineDirection, nodeidx,
"reversespinedirection", time, graph->
isDirect()?
nullptr:depnode);
683 if (
true && ( (
true&&!(((
int64(getSpineType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0)))) ) )
684 graph->
evalOpParm(myAxialRotation, nodeidx,
"axialrotation", time, graph->
isDirect()?
nullptr:depnode);
686 if (
true && ( (
true&&!(((
int64(getSpineType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0)))) ) )
687 graph->
evalOpParm(myFrontBlend, nodeidx,
"frontblend", time, graph->
isDirect()?
nullptr:depnode);
689 if (
true && ( (
true&&!(((
int64(getSpineType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0)))) ) )
690 graph->
evalOpParm(myBackBlend, nodeidx,
"backblend", time, graph->
isDirect()?
nullptr:depnode);
691 myThicknessScale = 1;
693 graph->
evalOpParm(myThicknessScale, nodeidx,
"thicknessscale", time, graph->
isDirect()?
nullptr:depnode);
694 myUseThicknessAttrib =
true;
695 if (
true && ( (
true&&!(((
int64(getSpineType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0)))) ) )
696 graph->
evalOpParm(myUseThicknessAttrib, nodeidx,
"usethicknessattrib", time, graph->
isDirect()?
nullptr:depnode);
697 myThicknessAttrib =
"thickness"_UTsh;
698 if (
true && ( (
true&&!(((
int64(getSpineType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0))||((getUseThicknessAttrib()==0)))) ) )
699 graph->
evalOpParm(myThicknessAttrib, nodeidx,
"thicknessattrib", time, graph->
isDirect()?
nullptr:depnode);
700 myUseThicknessRamp =
true;
702 graph->
evalOpParm(myUseThicknessRamp, nodeidx,
"usethicknessramp", time, graph->
isDirect()?
nullptr:depnode);
703 myThicknessRamp =
UT_Ramp::buildFromDefault(
"1pos ( 0 ) 1value ( 1 ) 1interp ( catmull-rom ) 2pos ( 1 ) 2value ( 1 ) 2interp ( catmull-rom )");
704 if (
true && ( (
true&&!(((getUseThicknessRamp()==0)))) ) )
705 graph->
evalOpParm(myThicknessRamp, nodeidx,
"thicknessramp", time, graph->
isDirect()?
nullptr:depnode);
706 myUseTwistAttrib =
true;
707 if (
true && ( (
true&&!(((
int64(getSpineType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0)))) ) )
708 graph->
evalOpParm(myUseTwistAttrib, nodeidx,
"usetwistattrib", time, graph->
isDirect()?
nullptr:depnode);
709 myTwistAttrib =
"twist"_UTsh;
710 if (
true && ( (
true&&!(((
int64(getSpineType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0))||((getUseTwistAttrib()==0)))) ) )
711 graph->
evalOpParm(myTwistAttrib, nodeidx,
"twistattrib", time, graph->
isDirect()?
nullptr:depnode);
712 myUseTwistRamp =
true;
714 graph->
evalOpParm(myUseTwistRamp, nodeidx,
"usetwistramp", time, graph->
isDirect()?
nullptr:depnode);
715 myTwistRamp =
UT_Ramp::buildFromDefault(
"1pos ( 0 ) 1value ( 0.5 ) 1interp ( catmull-rom ) 2pos ( 1 ) 2value ( 0.5 ) 2interp ( catmull-rom )");
716 if (
true && ( (
true&&!(((getUseTwistRamp()==0)))) ) )
717 graph->
evalOpParm(myTwistRamp, nodeidx,
"twistramp", time, graph->
isDirect()?
nullptr:depnode);
720 graph->
evalOpParm(myTwistScale, nodeidx,
"twistscale", time, graph->
isDirect()?
nullptr:depnode);
721 myUseLocalZScaleAttrib =
false;
723 graph->
evalOpParm(myUseLocalZScaleAttrib, nodeidx,
"uselocalzscaleattrib", time, graph->
isDirect()?
nullptr:depnode);
724 myLocalZScaleAttrib =
"zscale"_UTsh;
725 if (
true && ( (
true&&!(((getUseLocalZScaleAttrib()==0)))) ) )
726 graph->
evalOpParm(myLocalZScaleAttrib, nodeidx,
"localzscaleattrib", time, graph->
isDirect()?
nullptr:depnode);
727 myUseLocalInsetScaleAttrib =
false;
729 graph->
evalOpParm(myUseLocalInsetScaleAttrib, nodeidx,
"uselocalinsetscaleattrib", time, graph->
isDirect()?
nullptr:depnode);
730 myLocalInsetScaleAttrib =
"insetscale"_UTsh;
731 if (
true && ( (
true&&!(((getUseLocalInsetScaleAttrib()==0)))) ) )
732 graph->
evalOpParm(myLocalInsetScaleAttrib, nodeidx,
"localinsetscaleattrib", time, graph->
isDirect()?
nullptr:depnode);
733 myUseLocalTwistScaleAttrib =
false;
735 graph->
evalOpParm(myUseLocalTwistScaleAttrib, nodeidx,
"uselocaltwistattrib", time, graph->
isDirect()?
nullptr:depnode);
736 myLocalTwistScaleAttrib =
"twistscale"_UTsh;
737 if (
true && ( (
true&&!(((getUseLocalTwistScaleAttrib()==0)))) ) )
738 graph->
evalOpParm(myLocalTwistScaleAttrib, nodeidx,
"localtwistscaleattrib", time, graph->
isDirect()?
nullptr:depnode);
739 myUseLocalDivScaleAttrib =
false;
741 graph->
evalOpParm(myUseLocalDivScaleAttrib, nodeidx,
"uselocaldivsattrib", time, graph->
isDirect()?
nullptr:depnode);
742 myLocalDivScaleAttrib =
"divsscale"_UTsh;
743 if (
true && ( (
true&&!(((getUseLocalDivScaleAttrib()==0)))) ) )
744 graph->
evalOpParm(myLocalDivScaleAttrib, nodeidx,
"locadivscaleattrib", time, graph->
isDirect()?
nullptr:depnode);
745 myUseLocalXAttrib =
false;
747 graph->
evalOpParm(myUseLocalXAttrib, nodeidx,
"uselocalxattrib", time, graph->
isDirect()?
nullptr:depnode);
748 myLocalXAttrib =
"localx"_UTsh;
749 if (
true && ( (
true&&!(((getUseLocalXAttrib()==0)))) ) )
750 graph->
evalOpParm(myLocalXAttrib, nodeidx,
"localxattrib", time, graph->
isDirect()?
nullptr:depnode);
751 myUseLocalZAttrib =
false;
753 graph->
evalOpParm(myUseLocalZAttrib, nodeidx,
"uselocalzattirb", time, graph->
isDirect()?
nullptr:depnode);
754 myLocalZAttrib =
"localz"_UTsh;
755 if (
true && ( (
true&&!(((getUseLocalZAttrib()==0)))) ) )
756 graph->
evalOpParm(myLocalZAttrib, nodeidx,
"localzattirb", time, graph->
isDirect()?
nullptr:depnode);
757 myUseLocalCtrAttrib =
false;
759 graph->
evalOpParm(myUseLocalCtrAttrib, nodeidx,
"uselocalctrattrib", time, graph->
isDirect()?
nullptr:depnode);
760 myLocalCtrAttrib =
"localctr"_UTsh;
761 if (
true && ( (
true&&!(((getUseLocalCtrAttrib()==0)))) ) )
762 graph->
evalOpParm(myLocalCtrAttrib, nodeidx,
"localctrattrib", time, graph->
isDirect()?
nullptr:depnode);
778 template <
typename T>
785 if (idx.
size() != instance.
size()+1)
790 coerceValue(value, myGroup);
793 coerceValue(value, mySplitType);
796 coerceValue(value, myUseSplitGroup);
799 coerceValue(value, mySplitGroup);
802 coerceValue(value, myExtrusionMode);
805 coerceValue(value, myPtNormalSrc);
808 coerceValue(value, myPtNormalAttrib);
811 coerceValue(value, myDist);
814 coerceValue(value, myInset);
817 coerceValue(value, myTwist);
820 coerceValue(value, myDivs);
823 coerceValue(value, mySpineType);
826 coerceValue(value, myXformFront);
829 coerceValue(value, myXformSpace);
832 coerceValue(value, myXformOrder);
835 coerceValue(value, myRotateOrder);
838 coerceValue(value, myTranslate);
841 coerceValue(value, myRotate);
844 coerceValue(value, myScale);
847 coerceValue(value, myShear);
850 coerceValue(value, myPivot);
853 coerceValue(value, myPivotRotate);
856 coerceValue(value, myPreXformOrder);
859 coerceValue(value, myPreXformRotateOrder);
862 coerceValue(value, myPreXformTranslate);
865 coerceValue(value, myPreXformRotate);
868 coerceValue(value, myPreXformScale);
871 coerceValue(value, myPreXformShear);
874 coerceValue(value, myOutputFront);
877 coerceValue(value, myOutputFrontGrp);
880 coerceValue(value, myFrontGrp);
883 coerceValue(value, myOutputBack);
886 coerceValue(value, myOutputBackGrp);
889 coerceValue(value, myBackGrp);
892 coerceValue(value, myOutputSide);
895 coerceValue(value, myOutputSideGrp);
898 coerceValue(value, mySideGrp);
901 coerceValue(value, myOutputFrontSeamGrp);
904 coerceValue(value, myFrontSeamGrp);
907 coerceValue(value, myOutputBackSeamGrp);
910 coerceValue(value, myBackSeamGrp);
913 coerceValue(value, myPreserveGroups);
916 coerceValue(value, myLimitInset);
919 coerceValue(value, myCommonLimit);
922 coerceValue(value, myAddVertexNormals);
925 coerceValue(value, myCuspAngle);
928 coerceValue(value, myCuspFront);
931 coerceValue(value, myCuspBack);
934 coerceValue(value, myGenUVs);
937 coerceValue(value, myUVStyle);
940 coerceValue(value, myUVScaling);
943 coerceValue(value, myFrontMagnitude);
946 coerceValue(value, myBackMagnitude);
949 coerceValue(value, myFrontStiffness);
952 coerceValue(value, myBackStiffness);
955 coerceValue(value, myInterpolation);
958 coerceValue(value, mySpacing);
961 coerceValue(value, myReverseSpineDirection);
964 coerceValue(value, myAxialRotation);
967 coerceValue(value, myFrontBlend);
970 coerceValue(value, myBackBlend);
973 coerceValue(value, myThicknessScale);
976 coerceValue(value, myUseThicknessAttrib);
979 coerceValue(value, myThicknessAttrib);
982 coerceValue(value, myUseThicknessRamp);
985 coerceValue(value, myThicknessRamp);
988 coerceValue(value, myUseTwistAttrib);
991 coerceValue(value, myTwistAttrib);
994 coerceValue(value, myUseTwistRamp);
997 coerceValue(value, myTwistRamp);
1000 coerceValue(value, myTwistScale);
1003 coerceValue(value, myUseLocalZScaleAttrib);
1006 coerceValue(value, myLocalZScaleAttrib);
1009 coerceValue(value, myUseLocalInsetScaleAttrib);
1012 coerceValue(value, myLocalInsetScaleAttrib);
1015 coerceValue(value, myUseLocalTwistScaleAttrib);
1018 coerceValue(value, myLocalTwistScaleAttrib);
1021 coerceValue(value, myUseLocalDivScaleAttrib);
1024 coerceValue(value, myLocalDivScaleAttrib);
1027 coerceValue(value, myUseLocalXAttrib);
1030 coerceValue(value, myLocalXAttrib);
1033 coerceValue(value, myUseLocalZAttrib);
1036 coerceValue(value, myLocalZAttrib);
1039 coerceValue(value, myUseLocalCtrAttrib);
1042 coerceValue(value, myLocalCtrAttrib);
1058 { doGetParmValue(idx, instance, value); }
1060 { doGetParmValue(idx, instance, value); }
1062 { doGetParmValue(idx, instance, value); }
1064 { doGetParmValue(idx, instance, value); }
1066 { doGetParmValue(idx, instance, value); }
1068 { doGetParmValue(idx, instance, value); }
1070 { doGetParmValue(idx, instance, value); }
1072 { doGetParmValue(idx, instance, value); }
1074 { doGetParmValue(idx, instance, value); }
1076 { doGetParmValue(idx, instance, value); }
1078 { doGetParmValue(idx, instance, value); }
1080 template <
typename T>
1087 if (idx.
size() != instance.
size()+1)
1092 coerceValue(myGroup, ( ( value ) ));
1095 coerceValue(mySplitType, clampMinValue(0, clampMaxValue(1, value ) ));
1098 coerceValue(myUseSplitGroup, ( ( value ) ));
1101 coerceValue(mySplitGroup, ( ( value ) ));
1104 coerceValue(myExtrusionMode, clampMinValue(0, clampMaxValue(1, value ) ));
1107 coerceValue(myPtNormalSrc, clampMinValue(0, clampMaxValue(2, value ) ));
1110 coerceValue(myPtNormalAttrib, ( ( value ) ));
1113 coerceValue(myDist, ( ( value ) ));
1116 coerceValue(myInset, ( ( value ) ));
1119 coerceValue(myTwist, ( ( value ) ));
1122 coerceValue(myDivs, clampMinValue(1, ( value ) ));
1125 coerceValue(mySpineType, clampMinValue(0, clampMaxValue(2, value ) ));
1128 coerceValue(myXformFront, ( ( value ) ));
1131 coerceValue(myXformSpace, clampMinValue(0, clampMaxValue(1, value ) ));
1134 coerceValue(myXformOrder, clampMinValue(0, clampMaxValue(5, value ) ));
1137 coerceValue(myRotateOrder, clampMinValue(0, clampMaxValue(5, value ) ));
1140 coerceValue(myTranslate, ( ( value ) ));
1143 coerceValue(myRotate, ( ( value ) ));
1146 coerceValue(myScale, ( ( value ) ));
1149 coerceValue(myShear, ( ( value ) ));
1152 coerceValue(myPivot, ( ( value ) ));
1155 coerceValue(myPivotRotate, ( ( value ) ));
1158 coerceValue(myPreXformOrder, clampMinValue(0, clampMaxValue(5, value ) ));
1161 coerceValue(myPreXformRotateOrder, clampMinValue(0, clampMaxValue(5, value ) ));
1164 coerceValue(myPreXformTranslate, ( ( value ) ));
1167 coerceValue(myPreXformRotate, ( ( value ) ));
1170 coerceValue(myPreXformScale, ( ( value ) ));
1173 coerceValue(myPreXformShear, ( ( value ) ));
1176 coerceValue(myOutputFront, ( ( value ) ));
1179 coerceValue(myOutputFrontGrp, ( ( value ) ));
1182 coerceValue(myFrontGrp, ( ( value ) ));
1185 coerceValue(myOutputBack, ( ( value ) ));
1188 coerceValue(myOutputBackGrp, ( ( value ) ));
1191 coerceValue(myBackGrp, ( ( value ) ));
1194 coerceValue(myOutputSide, ( ( value ) ));
1197 coerceValue(myOutputSideGrp, ( ( value ) ));
1200 coerceValue(mySideGrp, ( ( value ) ));
1203 coerceValue(myOutputFrontSeamGrp, ( ( value ) ));
1206 coerceValue(myFrontSeamGrp, ( ( value ) ));
1209 coerceValue(myOutputBackSeamGrp, ( ( value ) ));
1212 coerceValue(myBackSeamGrp, ( ( value ) ));
1215 coerceValue(myPreserveGroups, ( ( value ) ));
1218 coerceValue(myLimitInset, ( ( value ) ));
1221 coerceValue(myCommonLimit, ( ( value ) ));
1224 coerceValue(myAddVertexNormals, ( ( value ) ));
1227 coerceValue(myCuspAngle, clampMinValue(0, clampMaxValue(180, value ) ));
1230 coerceValue(myCuspFront, ( ( value ) ));
1233 coerceValue(myCuspBack, ( ( value ) ));
1236 coerceValue(myGenUVs, ( ( value ) ));
1239 coerceValue(myUVStyle, clampMinValue(0, clampMaxValue(2, value ) ));
1242 coerceValue(myUVScaling, clampMinValue(0, clampMaxValue(2, value ) ));
1245 coerceValue(myFrontMagnitude, clampMinValue(0.0001, ( value ) ));
1248 coerceValue(myBackMagnitude, clampMinValue(0.0001, ( value ) ));
1251 coerceValue(myFrontStiffness, clampMinValue(0, clampMaxValue(1, value ) ));
1254 coerceValue(myBackStiffness, clampMinValue(0, clampMaxValue(1, value ) ));
1257 coerceValue(myInterpolation, clampMinValue(0, clampMaxValue(1, value ) ));
1260 coerceValue(mySpacing, clampMinValue(0, clampMaxValue(1, value ) ));
1263 coerceValue(myReverseSpineDirection, ( ( value ) ));
1266 coerceValue(myAxialRotation, clampMinValue(0, clampMaxValue(360, value ) ));
1269 coerceValue(myFrontBlend, clampMinValue(0, clampMaxValue(1, value ) ));
1272 coerceValue(myBackBlend, clampMinValue(0, clampMaxValue(1, value ) ));
1275 coerceValue(myThicknessScale, ( ( value ) ));
1278 coerceValue(myUseThicknessAttrib, ( ( value ) ));
1281 coerceValue(myThicknessAttrib, ( ( value ) ));
1284 coerceValue(myUseThicknessRamp, ( ( value ) ));
1287 coerceValue(myThicknessRamp, clampMinValue(1, ( value ) ));
1290 coerceValue(myUseTwistAttrib, ( ( value ) ));
1293 coerceValue(myTwistAttrib, ( ( value ) ));
1296 coerceValue(myUseTwistRamp, ( ( value ) ));
1299 coerceValue(myTwistRamp, clampMinValue(1, ( value ) ));
1302 coerceValue(myTwistScale, ( ( value ) ));
1305 coerceValue(myUseLocalZScaleAttrib, ( ( value ) ));
1308 coerceValue(myLocalZScaleAttrib, ( ( value ) ));
1311 coerceValue(myUseLocalInsetScaleAttrib, ( ( value ) ));
1314 coerceValue(myLocalInsetScaleAttrib, ( ( value ) ));
1317 coerceValue(myUseLocalTwistScaleAttrib, ( ( value ) ));
1320 coerceValue(myLocalTwistScaleAttrib, ( ( value ) ));
1323 coerceValue(myUseLocalDivScaleAttrib, ( ( value ) ));
1326 coerceValue(myLocalDivScaleAttrib, ( ( value ) ));
1329 coerceValue(myUseLocalXAttrib, ( ( value ) ));
1332 coerceValue(myLocalXAttrib, ( ( value ) ));
1335 coerceValue(myUseLocalZAttrib, ( ( value ) ));
1338 coerceValue(myLocalZAttrib, ( ( value ) ));
1341 coerceValue(myUseLocalCtrAttrib, ( ( value ) ));
1344 coerceValue(myLocalCtrAttrib, ( ( value ) ));
1351 { doSetParmValue(idx, instance, value); }
1353 { doSetParmValue(idx, instance, value); }
1355 { doSetParmValue(idx, instance, value); }
1357 { doSetParmValue(idx, instance, value); }
1359 { doSetParmValue(idx, instance, value); }
1361 { doSetParmValue(idx, instance, value); }
1363 { doSetParmValue(idx, instance, value); }
1365 { doSetParmValue(idx, instance, value); }
1367 { doSetParmValue(idx, instance, value); }
1369 { doSetParmValue(idx, instance, value); }
1371 { doSetParmValue(idx, instance, value); }
1375 if (idx.
size() == 0)
1387 if (fieldnum.
size() < 1)
1389 switch (fieldnum[0])
1396 return "usesplitgroup";
1398 return "splitgroup";
1400 return "extrusionmode";
1402 return "ptnormalsrc";
1404 return "ptnormalattrib";
1416 return "xformfront";
1418 return "xformspace";
1434 return "pivotrotate";
1436 return "prexform_rst";
1438 return "prexform_xyz";
1440 return "prexform_translate";
1442 return "prexform_rotate";
1444 return "prexform_scale";
1446 return "prexform_shear";
1448 return "outputfront";
1450 return "outputfrontgrp";
1454 return "outputback";
1456 return "outputbackgrp";
1460 return "outputside";
1462 return "outputsidegrp";
1466 return "outputfrontseamgrp";
1468 return "frontseamgrp";
1470 return "outputbackseamgrp";
1472 return "backseamgrp";
1474 return "preservegroups";
1476 return "limitinset";
1478 return "commonlimit";
1480 return "addvertexnomrals";
1494 return "frontmagnitude";
1496 return "backmagnitude";
1498 return "frontstiffness";
1500 return "backstiffness";
1502 return "interpolation";
1506 return "reversespinedirection";
1508 return "axialrotation";
1510 return "frontblend";
1514 return "thicknessscale";
1516 return "usethicknessattrib";
1518 return "thicknessattrib";
1520 return "usethicknessramp";
1522 return "thicknessramp";
1524 return "usetwistattrib";
1526 return "twistattrib";
1528 return "usetwistramp";
1532 return "twistscale";
1534 return "uselocalzscaleattrib";
1536 return "localzscaleattrib";
1538 return "uselocalinsetscaleattrib";
1540 return "localinsetscaleattrib";
1542 return "uselocaltwistattrib";
1544 return "localtwistscaleattrib";
1546 return "uselocaldivsattrib";
1548 return "locadivscaleattrib";
1550 return "uselocalxattrib";
1552 return "localxattrib";
1554 return "uselocalzattirb";
1556 return "localzattirb";
1558 return "uselocalctrattrib";
1560 return "localctrattrib";
1568 if (fieldnum.
size() < 1)
1569 return PARM_UNSUPPORTED;
1570 switch (fieldnum[0])
1575 return PARM_INTEGER;
1577 return PARM_INTEGER;
1581 return PARM_INTEGER;
1583 return PARM_INTEGER;
1593 return PARM_INTEGER;
1595 return PARM_INTEGER;
1597 return PARM_INTEGER;
1599 return PARM_INTEGER;
1601 return PARM_INTEGER;
1603 return PARM_INTEGER;
1605 return PARM_VECTOR3;
1607 return PARM_VECTOR3;
1609 return PARM_VECTOR3;
1611 return PARM_VECTOR3;
1613 return PARM_VECTOR3;
1615 return PARM_VECTOR3;
1617 return PARM_INTEGER;
1619 return PARM_INTEGER;
1621 return PARM_VECTOR3;
1623 return PARM_VECTOR3;
1625 return PARM_VECTOR3;
1627 return PARM_VECTOR3;
1629 return PARM_INTEGER;
1631 return PARM_INTEGER;
1635 return PARM_INTEGER;
1637 return PARM_INTEGER;
1641 return PARM_INTEGER;
1643 return PARM_INTEGER;
1647 return PARM_INTEGER;
1651 return PARM_INTEGER;
1655 return PARM_INTEGER;
1657 return PARM_INTEGER;
1659 return PARM_INTEGER;
1661 return PARM_INTEGER;
1665 return PARM_INTEGER;
1667 return PARM_INTEGER;
1669 return PARM_INTEGER;
1671 return PARM_INTEGER;
1673 return PARM_INTEGER;
1683 return PARM_INTEGER;
1685 return PARM_INTEGER;
1687 return PARM_INTEGER;
1697 return PARM_INTEGER;
1701 return PARM_INTEGER;
1705 return PARM_INTEGER;
1709 return PARM_INTEGER;
1715 return PARM_INTEGER;
1719 return PARM_INTEGER;
1723 return PARM_INTEGER;
1727 return PARM_INTEGER;
1731 return PARM_INTEGER;
1735 return PARM_INTEGER;
1739 return PARM_INTEGER;
1744 return PARM_UNSUPPORTED;
1749 { is.
bread(&v, 1); }
1780 loadData(is, rampdata);
1798 int typelen = colon - data.
buffer();
1810 { UTwrite(os, &v); }
1812 {
int64 iv =
v; UTwrite(os, &iv); }
1814 { UTwrite<fpreal64>(os, &
v); }
1816 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1818 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1819 UTwrite<fpreal64>(os, &v.
z()); }
1821 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1822 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1834 if (s) s->save(ostr);
1835 result = ostr.
str();
1836 saveData(os, result);
1843 ostr << s->getDataTypeToken();
1845 s->saveBinary(ostr);
1847 result = ostr.
str();
1848 saveData(os, result);
1856 saveData(os, myGroup);
1857 saveData(os, mySplitType);
1858 saveData(os, myUseSplitGroup);
1859 saveData(os, mySplitGroup);
1860 saveData(os, myExtrusionMode);
1861 saveData(os, myPtNormalSrc);
1862 saveData(os, myPtNormalAttrib);
1863 saveData(os, myDist);
1864 saveData(os, myInset);
1865 saveData(os, myTwist);
1866 saveData(os, myDivs);
1867 saveData(os, mySpineType);
1868 saveData(os, myXformFront);
1869 saveData(os, myXformSpace);
1870 saveData(os, myXformOrder);
1871 saveData(os, myRotateOrder);
1872 saveData(os, myTranslate);
1873 saveData(os, myRotate);
1874 saveData(os, myScale);
1875 saveData(os, myShear);
1876 saveData(os, myPivot);
1877 saveData(os, myPivotRotate);
1878 saveData(os, myPreXformOrder);
1879 saveData(os, myPreXformRotateOrder);
1880 saveData(os, myPreXformTranslate);
1881 saveData(os, myPreXformRotate);
1882 saveData(os, myPreXformScale);
1883 saveData(os, myPreXformShear);
1884 saveData(os, myOutputFront);
1885 saveData(os, myOutputFrontGrp);
1886 saveData(os, myFrontGrp);
1887 saveData(os, myOutputBack);
1888 saveData(os, myOutputBackGrp);
1889 saveData(os, myBackGrp);
1890 saveData(os, myOutputSide);
1891 saveData(os, myOutputSideGrp);
1892 saveData(os, mySideGrp);
1893 saveData(os, myOutputFrontSeamGrp);
1894 saveData(os, myFrontSeamGrp);
1895 saveData(os, myOutputBackSeamGrp);
1896 saveData(os, myBackSeamGrp);
1897 saveData(os, myPreserveGroups);
1898 saveData(os, myLimitInset);
1899 saveData(os, myCommonLimit);
1900 saveData(os, myAddVertexNormals);
1901 saveData(os, myCuspAngle);
1902 saveData(os, myCuspFront);
1903 saveData(os, myCuspBack);
1904 saveData(os, myGenUVs);
1905 saveData(os, myUVStyle);
1906 saveData(os, myUVScaling);
1907 saveData(os, myFrontMagnitude);
1908 saveData(os, myBackMagnitude);
1909 saveData(os, myFrontStiffness);
1910 saveData(os, myBackStiffness);
1911 saveData(os, myInterpolation);
1912 saveData(os, mySpacing);
1913 saveData(os, myReverseSpineDirection);
1914 saveData(os, myAxialRotation);
1915 saveData(os, myFrontBlend);
1916 saveData(os, myBackBlend);
1917 saveData(os, myThicknessScale);
1918 saveData(os, myUseThicknessAttrib);
1919 saveData(os, myThicknessAttrib);
1920 saveData(os, myUseThicknessRamp);
1921 saveData(os, myThicknessRamp);
1922 saveData(os, myUseTwistAttrib);
1923 saveData(os, myTwistAttrib);
1924 saveData(os, myUseTwistRamp);
1925 saveData(os, myTwistRamp);
1926 saveData(os, myTwistScale);
1927 saveData(os, myUseLocalZScaleAttrib);
1928 saveData(os, myLocalZScaleAttrib);
1929 saveData(os, myUseLocalInsetScaleAttrib);
1930 saveData(os, myLocalInsetScaleAttrib);
1931 saveData(os, myUseLocalTwistScaleAttrib);
1932 saveData(os, myLocalTwistScaleAttrib);
1933 saveData(os, myUseLocalDivScaleAttrib);
1934 saveData(os, myLocalDivScaleAttrib);
1935 saveData(os, myUseLocalXAttrib);
1936 saveData(os, myLocalXAttrib);
1937 saveData(os, myUseLocalZAttrib);
1938 saveData(os, myLocalZAttrib);
1939 saveData(os, myUseLocalCtrAttrib);
1940 saveData(os, myLocalCtrAttrib);
1953 loadData(is, myGroup);
1954 loadData(is, mySplitType);
1955 loadData(is, myUseSplitGroup);
1956 loadData(is, mySplitGroup);
1957 loadData(is, myExtrusionMode);
1958 loadData(is, myPtNormalSrc);
1959 loadData(is, myPtNormalAttrib);
1960 loadData(is, myDist);
1961 loadData(is, myInset);
1962 loadData(is, myTwist);
1963 loadData(is, myDivs);
1964 loadData(is, mySpineType);
1965 loadData(is, myXformFront);
1966 loadData(is, myXformSpace);
1967 loadData(is, myXformOrder);
1968 loadData(is, myRotateOrder);
1969 loadData(is, myTranslate);
1970 loadData(is, myRotate);
1971 loadData(is, myScale);
1972 loadData(is, myShear);
1973 loadData(is, myPivot);
1974 loadData(is, myPivotRotate);
1975 loadData(is, myPreXformOrder);
1976 loadData(is, myPreXformRotateOrder);
1977 loadData(is, myPreXformTranslate);
1978 loadData(is, myPreXformRotate);
1979 loadData(is, myPreXformScale);
1980 loadData(is, myPreXformShear);
1981 loadData(is, myOutputFront);
1982 loadData(is, myOutputFrontGrp);
1983 loadData(is, myFrontGrp);
1984 loadData(is, myOutputBack);
1985 loadData(is, myOutputBackGrp);
1986 loadData(is, myBackGrp);
1987 loadData(is, myOutputSide);
1988 loadData(is, myOutputSideGrp);
1989 loadData(is, mySideGrp);
1990 loadData(is, myOutputFrontSeamGrp);
1991 loadData(is, myFrontSeamGrp);
1992 loadData(is, myOutputBackSeamGrp);
1993 loadData(is, myBackSeamGrp);
1994 loadData(is, myPreserveGroups);
1995 loadData(is, myLimitInset);
1996 loadData(is, myCommonLimit);
1997 loadData(is, myAddVertexNormals);
1998 loadData(is, myCuspAngle);
1999 loadData(is, myCuspFront);
2000 loadData(is, myCuspBack);
2001 loadData(is, myGenUVs);
2002 loadData(is, myUVStyle);
2003 loadData(is, myUVScaling);
2004 loadData(is, myFrontMagnitude);
2005 loadData(is, myBackMagnitude);
2006 loadData(is, myFrontStiffness);
2007 loadData(is, myBackStiffness);
2008 loadData(is, myInterpolation);
2009 loadData(is, mySpacing);
2010 loadData(is, myReverseSpineDirection);
2011 loadData(is, myAxialRotation);
2012 loadData(is, myFrontBlend);
2013 loadData(is, myBackBlend);
2014 loadData(is, myThicknessScale);
2015 loadData(is, myUseThicknessAttrib);
2016 loadData(is, myThicknessAttrib);
2017 loadData(is, myUseThicknessRamp);
2018 loadData(is, myThicknessRamp);
2019 loadData(is, myUseTwistAttrib);
2020 loadData(is, myTwistAttrib);
2021 loadData(is, myUseTwistRamp);
2022 loadData(is, myTwistRamp);
2023 loadData(is, myTwistScale);
2024 loadData(is, myUseLocalZScaleAttrib);
2025 loadData(is, myLocalZScaleAttrib);
2026 loadData(is, myUseLocalInsetScaleAttrib);
2027 loadData(is, myLocalInsetScaleAttrib);
2028 loadData(is, myUseLocalTwistScaleAttrib);
2029 loadData(is, myLocalTwistScaleAttrib);
2030 loadData(is, myUseLocalDivScaleAttrib);
2031 loadData(is, myLocalDivScaleAttrib);
2032 loadData(is, myUseLocalXAttrib);
2033 loadData(is, myLocalXAttrib);
2034 loadData(is, myUseLocalZAttrib);
2035 loadData(is, myLocalZAttrib);
2036 loadData(is, myUseLocalCtrAttrib);
2037 loadData(is, myLocalCtrAttrib);
2047 if (!thissop)
return getGroup();
2049 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
2057 if (!thissop)
return getSplitType();
2059 OP_Utils::evalOpParm(result, thissop,
"splittype", cookparms.
getCookTime(), 0);
2067 if (!thissop)
return getUseSplitGroup();
2069 OP_Utils::evalOpParm(result, thissop,
"usesplitgroup", cookparms.
getCookTime(), 0);
2077 if (!thissop)
return getSplitGroup();
2079 OP_Utils::evalOpParm(result, thissop,
"splitgroup", cookparms.
getCookTime(), 0);
2087 if (!thissop)
return getExtrusionMode();
2089 OP_Utils::evalOpParm(result, thissop,
"extrusionmode", cookparms.
getCookTime(), 0);
2097 if (!thissop)
return getPtNormalSrc();
2099 OP_Utils::evalOpParm(result, thissop,
"ptnormalsrc", cookparms.
getCookTime(), 0);
2107 if (!thissop)
return getPtNormalAttrib();
2109 OP_Utils::evalOpParm(result, thissop,
"ptnormalattrib", cookparms.
getCookTime(), 0);
2117 if (!thissop)
return getDist();
2119 OP_Utils::evalOpParm(result, thissop,
"dist", cookparms.
getCookTime(), 0);
2127 if (!thissop)
return getInset();
2129 OP_Utils::evalOpParm(result, thissop,
"inset", cookparms.
getCookTime(), 0);
2137 if (!thissop)
return getTwist();
2139 OP_Utils::evalOpParm(result, thissop,
"twist", cookparms.
getCookTime(), 0);
2147 if (!thissop)
return getDivs();
2149 OP_Utils::evalOpParm(result, thissop,
"divs", cookparms.
getCookTime(), 0);
2157 if (!thissop)
return getSpineType();
2159 OP_Utils::evalOpParm(result, thissop,
"spinetype", cookparms.
getCookTime(), 0);
2167 if (!thissop)
return getXformFront();
2169 OP_Utils::evalOpParm(result, thissop,
"xformfront", cookparms.
getCookTime(), 0);
2177 if (!thissop)
return getXformSpace();
2179 OP_Utils::evalOpParm(result, thissop,
"xformspace", cookparms.
getCookTime(), 0);
2187 if (!thissop)
return getXformOrder();
2189 OP_Utils::evalOpParm(result, thissop,
"rst", cookparms.
getCookTime(), 0);
2197 if (!thissop)
return getRotateOrder();
2199 OP_Utils::evalOpParm(result, thissop,
"xyz", cookparms.
getCookTime(), 0);
2207 if (!thissop)
return getTranslate();
2209 OP_Utils::evalOpParm(result, thissop,
"translate", cookparms.
getCookTime(), 0);
2217 if (!thissop)
return getRotate();
2219 OP_Utils::evalOpParm(result, thissop,
"rotate", cookparms.
getCookTime(), 0);
2229 OP_Utils::evalOpParm(result, thissop,
"scale", cookparms.
getCookTime(), 0);
2237 if (!thissop)
return getShear();
2239 OP_Utils::evalOpParm(result, thissop,
"shear", cookparms.
getCookTime(), 0);
2247 if (!thissop)
return getPivot();
2249 OP_Utils::evalOpParm(result, thissop,
"pivot", cookparms.
getCookTime(), 0);
2257 if (!thissop)
return getPivotRotate();
2259 OP_Utils::evalOpParm(result, thissop,
"pivotrotate", cookparms.
getCookTime(), 0);
2267 if (!thissop)
return getPreXformOrder();
2269 OP_Utils::evalOpParm(result, thissop,
"prexform_rst", cookparms.
getCookTime(), 0);
2277 if (!thissop)
return getPreXformRotateOrder();
2279 OP_Utils::evalOpParm(result, thissop,
"prexform_xyz", cookparms.
getCookTime(), 0);
2287 if (!thissop)
return getPreXformTranslate();
2289 OP_Utils::evalOpParm(result, thissop,
"prexform_translate", cookparms.
getCookTime(), 0);
2297 if (!thissop)
return getPreXformRotate();
2299 OP_Utils::evalOpParm(result, thissop,
"prexform_rotate", cookparms.
getCookTime(), 0);
2307 if (!thissop)
return getPreXformScale();
2309 OP_Utils::evalOpParm(result, thissop,
"prexform_scale", cookparms.
getCookTime(), 0);
2317 if (!thissop)
return getPreXformShear();
2319 OP_Utils::evalOpParm(result, thissop,
"prexform_shear", cookparms.
getCookTime(), 0);
2327 if (!thissop)
return getOutputFront();
2329 OP_Utils::evalOpParm(result, thissop,
"outputfront", cookparms.
getCookTime(), 0);
2337 if (!thissop)
return getOutputFrontGrp();
2339 OP_Utils::evalOpParm(result, thissop,
"outputfrontgrp", cookparms.
getCookTime(), 0);
2347 if (!thissop)
return getFrontGrp();
2349 OP_Utils::evalOpParm(result, thissop,
"frontgrp", cookparms.
getCookTime(), 0);
2357 if (!thissop)
return getOutputBack();
2359 OP_Utils::evalOpParm(result, thissop,
"outputback", cookparms.
getCookTime(), 0);
2367 if (!thissop)
return getOutputBackGrp();
2369 OP_Utils::evalOpParm(result, thissop,
"outputbackgrp", cookparms.
getCookTime(), 0);
2377 if (!thissop)
return getBackGrp();
2379 OP_Utils::evalOpParm(result, thissop,
"backgrp", cookparms.
getCookTime(), 0);
2387 if (!thissop)
return getOutputSide();
2389 OP_Utils::evalOpParm(result, thissop,
"outputside", cookparms.
getCookTime(), 0);
2397 if (!thissop)
return getOutputSideGrp();
2399 OP_Utils::evalOpParm(result, thissop,
"outputsidegrp", cookparms.
getCookTime(), 0);
2407 if (!thissop)
return getSideGrp();
2409 OP_Utils::evalOpParm(result, thissop,
"sidegrp", cookparms.
getCookTime(), 0);
2417 if (!thissop)
return getOutputFrontSeamGrp();
2419 OP_Utils::evalOpParm(result, thissop,
"outputfrontseamgrp", cookparms.
getCookTime(), 0);
2427 if (!thissop)
return getFrontSeamGrp();
2429 OP_Utils::evalOpParm(result, thissop,
"frontseamgrp", cookparms.
getCookTime(), 0);
2437 if (!thissop)
return getOutputBackSeamGrp();
2439 OP_Utils::evalOpParm(result, thissop,
"outputbackseamgrp", cookparms.
getCookTime(), 0);
2447 if (!thissop)
return getBackSeamGrp();
2449 OP_Utils::evalOpParm(result, thissop,
"backseamgrp", cookparms.
getCookTime(), 0);
2457 if (!thissop)
return getPreserveGroups();
2459 OP_Utils::evalOpParm(result, thissop,
"preservegroups", cookparms.
getCookTime(), 0);
2467 if (!thissop)
return getLimitInset();
2469 OP_Utils::evalOpParm(result, thissop,
"limitinset", cookparms.
getCookTime(), 0);
2477 if (!thissop)
return getCommonLimit();
2479 OP_Utils::evalOpParm(result, thissop,
"commonlimit", cookparms.
getCookTime(), 0);
2487 if (!thissop)
return getAddVertexNormals();
2489 OP_Utils::evalOpParm(result, thissop,
"addvertexnomrals", cookparms.
getCookTime(), 0);
2497 if (!thissop)
return getCuspAngle();
2499 OP_Utils::evalOpParm(result, thissop,
"cuspangle", cookparms.
getCookTime(), 0);
2507 if (!thissop)
return getCuspFront();
2509 OP_Utils::evalOpParm(result, thissop,
"cuspfront", cookparms.
getCookTime(), 0);
2517 if (!thissop)
return getCuspBack();
2519 OP_Utils::evalOpParm(result, thissop,
"cuspback", cookparms.
getCookTime(), 0);
2527 if (!thissop)
return getGenUVs();
2529 OP_Utils::evalOpParm(result, thissop,
"genuvs", cookparms.
getCookTime(), 0);
2537 if (!thissop)
return getUVStyle();
2539 OP_Utils::evalOpParm(result, thissop,
"uvstyle", cookparms.
getCookTime(), 0);
2547 if (!thissop)
return getUVScaling();
2549 OP_Utils::evalOpParm(result, thissop,
"uvscaling", cookparms.
getCookTime(), 0);
2557 if (!thissop)
return getFrontMagnitude();
2559 OP_Utils::evalOpParm(result, thissop,
"frontmagnitude", cookparms.
getCookTime(), 0);
2567 if (!thissop)
return getBackMagnitude();
2569 OP_Utils::evalOpParm(result, thissop,
"backmagnitude", cookparms.
getCookTime(), 0);
2577 if (!thissop)
return getFrontStiffness();
2579 OP_Utils::evalOpParm(result, thissop,
"frontstiffness", cookparms.
getCookTime(), 0);
2587 if (!thissop)
return getBackStiffness();
2589 OP_Utils::evalOpParm(result, thissop,
"backstiffness", cookparms.
getCookTime(), 0);
2597 if (!thissop)
return getInterpolation();
2599 OP_Utils::evalOpParm(result, thissop,
"interpolation", cookparms.
getCookTime(), 0);
2607 if (!thissop)
return getSpacing();
2609 OP_Utils::evalOpParm(result, thissop,
"spacing", cookparms.
getCookTime(), 0);
2617 if (!thissop)
return getReverseSpineDirection();
2619 OP_Utils::evalOpParm(result, thissop,
"reversespinedirection", cookparms.
getCookTime(), 0);
2627 if (!thissop)
return getAxialRotation();
2629 OP_Utils::evalOpParm(result, thissop,
"axialrotation", cookparms.
getCookTime(), 0);
2637 if (!thissop)
return getFrontBlend();
2639 OP_Utils::evalOpParm(result, thissop,
"frontblend", cookparms.
getCookTime(), 0);
2647 if (!thissop)
return getBackBlend();
2649 OP_Utils::evalOpParm(result, thissop,
"backblend", cookparms.
getCookTime(), 0);
2657 if (!thissop)
return getThicknessScale();
2659 OP_Utils::evalOpParm(result, thissop,
"thicknessscale", cookparms.
getCookTime(), 0);
2667 if (!thissop)
return getUseThicknessAttrib();
2669 OP_Utils::evalOpParm(result, thissop,
"usethicknessattrib", cookparms.
getCookTime(), 0);
2677 if (!thissop)
return getThicknessAttrib();
2679 OP_Utils::evalOpParm(result, thissop,
"thicknessattrib", cookparms.
getCookTime(), 0);
2687 if (!thissop)
return getUseThicknessRamp();
2689 OP_Utils::evalOpParm(result, thissop,
"usethicknessramp", cookparms.
getCookTime(), 0);
2697 if (!thissop)
return getThicknessRamp();
2699 OP_Utils::evalOpParm(result, thissop,
"thicknessramp", cookparms.
getCookTime(), 0);
2707 if (!thissop)
return getUseTwistAttrib();
2709 OP_Utils::evalOpParm(result, thissop,
"usetwistattrib", cookparms.
getCookTime(), 0);
2717 if (!thissop)
return getTwistAttrib();
2719 OP_Utils::evalOpParm(result, thissop,
"twistattrib", cookparms.
getCookTime(), 0);
2727 if (!thissop)
return getUseTwistRamp();
2729 OP_Utils::evalOpParm(result, thissop,
"usetwistramp", cookparms.
getCookTime(), 0);
2737 if (!thissop)
return getTwistRamp();
2739 OP_Utils::evalOpParm(result, thissop,
"twistramp", cookparms.
getCookTime(), 0);
2747 if (!thissop)
return getTwistScale();
2749 OP_Utils::evalOpParm(result, thissop,
"twistscale", cookparms.
getCookTime(), 0);
2757 if (!thissop)
return getUseLocalZScaleAttrib();
2759 OP_Utils::evalOpParm(result, thissop,
"uselocalzscaleattrib", cookparms.
getCookTime(), 0);
2767 if (!thissop)
return getLocalZScaleAttrib();
2769 OP_Utils::evalOpParm(result, thissop,
"localzscaleattrib", cookparms.
getCookTime(), 0);
2777 if (!thissop)
return getUseLocalInsetScaleAttrib();
2779 OP_Utils::evalOpParm(result, thissop,
"uselocalinsetscaleattrib", cookparms.
getCookTime(), 0);
2787 if (!thissop)
return getLocalInsetScaleAttrib();
2789 OP_Utils::evalOpParm(result, thissop,
"localinsetscaleattrib", cookparms.
getCookTime(), 0);
2797 if (!thissop)
return getUseLocalTwistScaleAttrib();
2799 OP_Utils::evalOpParm(result, thissop,
"uselocaltwistattrib", cookparms.
getCookTime(), 0);
2807 if (!thissop)
return getLocalTwistScaleAttrib();
2809 OP_Utils::evalOpParm(result, thissop,
"localtwistscaleattrib", cookparms.
getCookTime(), 0);
2817 if (!thissop)
return getUseLocalDivScaleAttrib();
2819 OP_Utils::evalOpParm(result, thissop,
"uselocaldivsattrib", cookparms.
getCookTime(), 0);
2827 if (!thissop)
return getLocalDivScaleAttrib();
2829 OP_Utils::evalOpParm(result, thissop,
"locadivscaleattrib", cookparms.
getCookTime(), 0);
2837 if (!thissop)
return getUseLocalXAttrib();
2839 OP_Utils::evalOpParm(result, thissop,
"uselocalxattrib", cookparms.
getCookTime(), 0);
2847 if (!thissop)
return getLocalXAttrib();
2849 OP_Utils::evalOpParm(result, thissop,
"localxattrib", cookparms.
getCookTime(), 0);
2857 if (!thissop)
return getUseLocalZAttrib();
2859 OP_Utils::evalOpParm(result, thissop,
"uselocalzattirb", cookparms.
getCookTime(), 0);
2867 if (!thissop)
return getLocalZAttrib();
2869 OP_Utils::evalOpParm(result, thissop,
"localzattirb", cookparms.
getCookTime(), 0);
2877 if (!thissop)
return getUseLocalCtrAttrib();
2879 OP_Utils::evalOpParm(result, thissop,
"uselocalctrattrib", cookparms.
getCookTime(), 0);
2887 if (!thissop)
return getLocalCtrAttrib();
2889 OP_Utils::evalOpParm(result, thissop,
"localctrattrib", cookparms.
getCookTime(), 0);
2896 bool myUseSplitGroup;
2898 int64 myExtrusionMode;
2899 int64 myPtNormalSrc;
2909 int64 myRotateOrder;
2916 int64 myPreXformOrder;
2917 int64 myPreXformRotateOrder;
2923 bool myOutputFrontGrp;
2926 bool myOutputBackGrp;
2929 bool myOutputSideGrp;
2931 bool myOutputFrontSeamGrp;
2933 bool myOutputBackSeamGrp;
2935 bool myPreserveGroups;
2938 bool myAddVertexNormals;
2949 int64 myInterpolation;
2951 bool myReverseSpineDirection;
2956 bool myUseThicknessAttrib;
2958 bool myUseThicknessRamp;
2960 bool myUseTwistAttrib;
2962 bool myUseTwistRamp;
2965 bool myUseLocalZScaleAttrib;
2967 bool myUseLocalInsetScaleAttrib;
2969 bool myUseLocalTwistScaleAttrib;
2971 bool myUseLocalDivScaleAttrib;
2973 bool myUseLocalXAttrib;
2975 bool myUseLocalZAttrib;
2977 bool myUseLocalCtrAttrib;
bool opUseLocalTwistScaleAttrib(const SOP_NodeVerb::CookParms &cookparms) const
virtual NodeIdx getInput(NodeIdx idx, OP_InputIdx input, bool markused=false) const =0
bool getUseLocalZAttrib() const
UT_StringHolder opSplitGroup(const SOP_NodeVerb::CookParms &cookparms) const
void setAxialRotation(fpreal64 val)
fpreal64 getAxialRotation() const
fpreal64 getCuspAngle() const
void setUseLocalCtrAttrib(bool val)
bool getCommonLimit() const
fpreal64 getThicknessScale() const
void setCuspAngle(fpreal64 val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
void setPreXformRotate(UT_Vector3D val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
bool getReverseSpineDirection() const
bool opOutputBackSeamGrp(const SOP_NodeVerb::CookParms &cookparms) const
void setPivotRotate(UT_Vector3D val)
static void saveData(std::ostream &os, UT_Matrix4D v)
void setThicknessRamp(UT_SharedPtr< UT_Ramp > val)
void setPivot(UT_Vector3D val)
void setSpacing(Spacing val)
int64 opDivs(const SOP_NodeVerb::CookParms &cookparms) const
bool opCommonLimit(const SOP_NodeVerb::CookParms &cookparms) const
SOP_Node * getNode() const
void setOutputBackSeamGrp(bool val)
void setBackGrp(const UT_StringHolder &val)
bool getOutputBackGrp() const
PtNormalSrc getPtNormalSrc() const
UT_StringHolder opLocalZAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setGroup(const UT_StringHolder &val)
UT_StringHolder opLocalZScaleAttrib(const SOP_NodeVerb::CookParms &cookparms) const
bool getUseLocalXAttrib() const
void setOutputFrontGrp(bool val)
const UT_StringHolder & getSideGrp() const
UT_Vector3D opPreXformShear(const SOP_NodeVerb::CookParms &cookparms) const
static UT_SharedPtr< UT_Ramp > buildFromDefault(const char *def)
Returns a ramp constructed from the canonical default strings.
UT_SharedPtr< UT_Ramp > getThicknessRamp() const
const UT_StringHolder & getSplitGroup() const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
fpreal64 getFrontStiffness() const
void setUseLocalZScaleAttrib(bool val)
UT_Vector3D getPreXformTranslate() const
UT_Vector3D getPivot() const
void setFrontStiffness(fpreal64 val)
void setLocalInsetScaleAttrib(const UT_StringHolder &val)
fpreal64 getTwistScale() const
exint bread(int32 *buffer, exint asize=1)
bool opOutputBack(const SOP_NodeVerb::CookParms &cookparms) const
GT_API const UT_StringHolder time
UT_Vector3D opScale(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & y() noexcept
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
void setScale(UT_Vector3D val)
UT_StringHolder opTwistAttrib(const SOP_NodeVerb::CookParms &cookparms) const
ExtrusionMode opExtrusionMode(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix2D v)
GLsizei const GLfloat * value
static void loadData(UT_IStream &is, int64 &v)
static void loadData(UT_IStream &is, UT_Matrix4D &v)
UT_StringHolder opPtNormalAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setReverseSpineDirection(bool val)
bool getUseThicknessAttrib() const
bool getUseThicknessRamp() const
bool getUseLocalTwistScaleAttrib() const
const OP_Context & context() const
fpreal64 opBackMagnitude(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getTwist() const
void setUVStyle(UVStyle val)
fpreal64 getBackMagnitude() const
constexpr SYS_FORCE_INLINE T & z() noexcept
void setShear(UT_Vector3D val)
SYS_FORCE_INLINE const char * buffer() const
const UT_StringHolder & getPtNormalAttrib() const
SYS_FORCE_INLINE UT_StringHolder getToken(SplitType enum_value)
const UT_StringHolder & getBackSeamGrp() const
void setRotate(UT_Vector3D val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
bool opAddVertexNormals(const SOP_NodeVerb::CookParms &cookparms) const
void setLocalZAttrib(const UT_StringHolder &val)
void setLocalZScaleAttrib(const UT_StringHolder &val)
UT_SharedPtr< UT_Ramp > opThicknessRamp(const SOP_NodeVerb::CookParms &cookparms) const
An output stream object that owns its own string buffer storage.
fpreal64 opInset(const SOP_NodeVerb::CookParms &cookparms) const
bool opOutputFrontGrp(const SOP_NodeVerb::CookParms &cookparms) const
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
bool opUseLocalInsetScaleAttrib(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getInset() const
UT_Vector3D getTranslate() const
void setCuspFront(bool val)
bool opUseThicknessRamp(const SOP_NodeVerb::CookParms &cookparms) const
**But if you need a result
bool opUseLocalDivScaleAttrib(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opDist(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
bool opOutputFrontSeamGrp(const SOP_NodeVerb::CookParms &cookparms) const
XformSpace getXformSpace() const
static void saveData(std::ostream &os, bool v)
fpreal64 opFrontStiffness(const SOP_NodeVerb::CookParms &cookparms) const
void setUseTwistRamp(bool val)
static void loadData(UT_IStream &is, fpreal64 &v)
bool opUseLocalZScaleAttrib(const SOP_NodeVerb::CookParms &cookparms) const
bool getOutputBackSeamGrp() const
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
void setCuspBack(bool val)
void copyFrom(const OP_NodeParms *src) override
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
UVScaling opUVScaling(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opFrontSeamGrp(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opFrontBlend(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getLocalZAttrib() const
void setSplitGroup(const UT_StringHolder &val)
constexpr SYS_FORCE_INLINE T & x() noexcept
bool getUseSplitGroup() const
void setInterpolation(Interpolation val)
SpineType getSpineType() const
static void loadData(UT_IStream &is, UT_Vector2I &v)
UT_StringHolder opThicknessAttrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opFrontGrp(const SOP_NodeVerb::CookParms &cookparms) const
void setBackStiffness(fpreal64 val)
const UT_StringHolder & getBackGrp() const
static void loadData(UT_IStream &is, UT_Vector2D &v)
void setInset(fpreal64 val)
const UT_StringHolder & getGroup() const
const UT_StringHolder & getTwistAttrib() const
void setOutputBackGrp(bool val)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
constexpr SYS_FORCE_INLINE T & x() noexcept
bool getOutputFrontSeamGrp() const
void setOutputBack(bool val)
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
const UT_StringHolder & getThicknessAttrib() const
UT_Vector3D opPreXformRotate(const SOP_NodeVerb::CookParms &cookparms) const
void setUseLocalInsetScaleAttrib(bool val)
void setRotateOrder(RotateOrder val)
const UT_StringHolder & getLocalCtrAttrib() const
static void loadData(UT_IStream &is, UT_Vector3D &v)
bool getOutputFrontGrp() const
void setUseLocalXAttrib(bool val)
bool getUseTwistRamp() const
UT_StringHolder opLocalTwistScaleAttrib(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_StringHolder &v)
void setUseTwistAttrib(bool val)
UT_Vector3D opPreXformScale(const SOP_NodeVerb::CookParms &cookparms) const
PreXformRotateOrder opPreXformRotateOrder(const SOP_NodeVerb::CookParms &cookparms) const
void setUseLocalZAttrib(bool val)
const UT_StringHolder & getLocalDivScaleAttrib() const
fpreal64 getBackStiffness() const
void setDist(fpreal64 val)
PtNormalSrc opPtNormalSrc(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
bool opUseLocalZAttrib(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
bool opOutputBackGrp(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
bool opGenUVs(const SOP_NodeVerb::CookParms &cookparms) const
void setTwistAttrib(const UT_StringHolder &val)
SpineType opSpineType(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & z() noexcept
void setBackSeamGrp(const UT_StringHolder &val)
bool opOutputSideGrp(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
bool opReverseSpineDirection(const SOP_NodeVerb::CookParms &cookparms) const
PreXformOrder opPreXformOrder(const SOP_NodeVerb::CookParms &cookparms) const
void loadFromOpSubclass(const LoadParms &loadparms) override
UT_Vector3D getPreXformRotate() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
UT_StringHolder opBackSeamGrp(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getBackBlend() const
bool getPreserveGroups() const
UT_StringHolder opLocalInsetScaleAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
const OP_GraphProxy * graph() const
bool getUseLocalInsetScaleAttrib() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
fpreal64 opCuspAngle(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D opShear(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opBackBlend(const SOP_NodeVerb::CookParms &cookparms) const
XformOrder getXformOrder() const
bool opPreserveGroups(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getLocalZScaleAttrib() const
UVStyle getUVStyle() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
void setPreXformTranslate(UT_Vector3D val)
static void saveData(std::ostream &os, UT_Matrix3D v)
bool opCuspBack(const SOP_NodeVerb::CookParms &cookparms) const
bool operator!=(const SOP_PolyExtrude_2_0Parms &src) const
bool opUseSplitGroup(const SOP_NodeVerb::CookParms &cookparms) const
void setPreXformScale(UT_Vector3D val)
fpreal64 opFrontMagnitude(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseTwistAttrib(const SOP_NodeVerb::CookParms &cookparms) const
Spacing getSpacing() const
bool getUseLocalZScaleAttrib() const
fpreal64 opAxialRotation(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3I &v)
bool getUseLocalDivScaleAttrib() const
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
void setSideGrp(const UT_StringHolder &val)
bool getOutputSide() const
void setBackMagnitude(fpreal64 val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
bool getCuspFront() const
bool opUseLocalXAttrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3T< fpreal64 > UT_Vector3D
static void saveData(std::ostream &os, UT_Vector3D v)
PreXformRotateOrder getPreXformRotateOrder() const
RotateOrder opRotateOrder(const SOP_NodeVerb::CookParms &cookparms) const
void setThicknessScale(fpreal64 val)
void setXformSpace(XformSpace val)
const UT_StringHolder & getLocalXAttrib() const
bool opLimitInset(const SOP_NodeVerb::CookParms &cookparms) const
void setUseThicknessRamp(bool val)
void setFrontSeamGrp(const UT_StringHolder &val)
void setUseSplitGroup(bool val)
UT_StringHolder opLocalXAttrib(const SOP_NodeVerb::CookParms &cookparms) const
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
void setAddVertexNormals(bool val)
UVScaling getUVScaling() const
void setThicknessAttrib(const UT_StringHolder &val)
void setLimitInset(bool val)
UVStyle opUVStyle(const SOP_NodeVerb::CookParms &cookparms) const
bool getUseLocalCtrAttrib() const
void saveBinary(std::ostream &os) const
Save string to binary stream.
fpreal64 getFrontMagnitude() const
bool getUseTwistAttrib() const
UT_Vector3D opPivot(const SOP_NodeVerb::CookParms &cookparms) const
bool opOutputSide(const SOP_NodeVerb::CookParms &cookparms) const
XformOrder opXformOrder(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D getPivotRotate() const
GT_API const UT_StringHolder version
UT_StringHolder opSideGrp(const SOP_NodeVerb::CookParms &cookparms) const
void setTwistRamp(UT_SharedPtr< UT_Ramp > val)
void setTwist(fpreal64 val)
XformSpace opXformSpace(const SOP_NodeVerb::CookParms &cookparms) const
bool opXformFront(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector4I &v)
static void loadData(UT_IStream &is, UT_Matrix3D &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
void setExtrusionMode(ExtrusionMode val)
UT_StringHolder opBackGrp(const SOP_NodeVerb::CookParms &cookparms) const
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
fpreal64 getFrontBlend() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
void setOutputSideGrp(bool val)
const char * getNestParmName(TempIndex fieldnum) const override
UT_Vector3D opPivotRotate(const SOP_NodeVerb::CookParms &cookparms) const
void setUseLocalDivScaleAttrib(bool val)
exint getNestNumParms(TempIndex idx) const override
bool opOutputFront(const SOP_NodeVerb::CookParms &cookparms) const
void setPtNormalSrc(PtNormalSrc val)
void setCommonLimit(bool val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
RotateOrder getRotateOrder() const
const UT_StringHolder & getFrontSeamGrp() const
SOP_PolyExtrude_2_0Parms()
static void loadData(UT_IStream &is, UT_Vector4D &v)
void setLocalCtrAttrib(const UT_StringHolder &val)
fpreal64 opThicknessScale(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opLocalDivScaleAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setBackBlend(fpreal64 val)
DEP_MicroNode * depnode() const
void setPreserveGroups(bool val)
UT_Vector3D opRotate(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseTwistRamp(const SOP_NodeVerb::CookParms &cookparms) const
LeafData & operator=(const LeafData &)=delete
UT_SharedPtr< UT_Ramp > getTwistRamp() const
Utility class for containing a color ramp.
UT_Vector3D opTranslate(const SOP_NodeVerb::CookParms &cookparms) const
bool getLimitInset() const
UT_Vector3D opPreXformTranslate(const SOP_NodeVerb::CookParms &cookparms) const
bool isParmColorRamp(exint idx) const override
constexpr SYS_FORCE_INLINE T & w() noexcept
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
void setUseThicknessAttrib(bool val)
void setLocalXAttrib(const UT_StringHolder &val)
static void saveData(std::ostream &os, int64 v)
UT_Vector3D getRotate() const
UT_SharedPtr< UT_Ramp > opTwistRamp(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
virtual UT_StringHolder baseGetSignature() 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.
void setLocalTwistScaleAttrib(const UT_StringHolder &val)
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
void setPreXformShear(UT_Vector3D val)
fpreal64 opBackStiffness(const SOP_NodeVerb::CookParms &cookparms) const
void setPreXformOrder(PreXformOrder val)
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
bool getOutputSideGrp() const
fpreal64 opTwistScale(const SOP_NodeVerb::CookParms &cookparms) const
bool load(UT_IStream &is)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
Interpolation getInterpolation() const
static void loadData(UT_IStream &is, bool &v)
SplitType opSplitType(const SOP_NodeVerb::CookParms &cookparms) const
fpreal getCookTime() const
void setLocalDivScaleAttrib(const UT_StringHolder &val)
void save(std::ostream &os) const
UT_Vector3D getShear() const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
void setFrontBlend(fpreal64 val)
void setOutputFrontSeamGrp(bool val)
UT_StringHolder opLocalCtrAttrib(const SOP_NodeVerb::CookParms &cookparms) const
const char * findChar(int c) const
fpreal64 opTwist(const SOP_NodeVerb::CookParms &cookparms) const
SplitType getSplitType() const
bool operator==(const SOP_PolyExtrude_2_0Parms &src) const
Spacing opSpacing(const SOP_NodeVerb::CookParms &cookparms) const
void setSpineType(SpineType val)
bool opUseLocalCtrAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
bool opUseThicknessAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setFrontGrp(const UT_StringHolder &val)
PreXformOrder getPreXformOrder() const
ParmType getNestParmType(TempIndex fieldnum) const override
bool opCuspFront(const SOP_NodeVerb::CookParms &cookparms) const
void setPtNormalAttrib(const UT_StringHolder &val)
const UT_StringHolder & getLocalTwistScaleAttrib() const
void setOutputFront(bool val)
void setUVScaling(UVScaling val)
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
constexpr SYS_FORCE_INLINE T & y() noexcept
Interpolation opInterpolation(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Vector4D v)
void setXformOrder(XformOrder val)
void setFrontMagnitude(fpreal64 val)
bool getOutputBack() const
ExtrusionMode getExtrusionMode() const
UT_Vector3D getScale() const
bool getOutputFront() const
UT_Vector3D getPreXformShear() const
static void saveData(std::ostream &os, fpreal64 v)
virtual bool isDirect() const =0
Direct proxies mirror actual nodes:
void setTwistScale(fpreal64 val)
void setSplitType(SplitType val)
void setUseLocalTwistScaleAttrib(bool val)
static void saveData(std::ostream &os, UT_StringHolder s)
UT_Vector3D getPreXformScale() const
constexpr SYS_FORCE_INLINE T & y() noexcept
void setOutputSide(bool val)
SYS_FORCE_INLINE bool isstring() const
void setTranslate(UT_Vector3D val)
bool getAddVertexNormals() const
void setXformFront(bool val)
void setPreXformRotateOrder(PreXformRotateOrder val)
static void saveData(std::ostream &os, UT_Vector2D v)
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
bool getXformFront() const
const UT_StringHolder & getLocalInsetScaleAttrib() const
const UT_StringHolder & getFrontGrp() const
constexpr SYS_FORCE_INLINE T & x() noexcept