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;
338 myCopyEdgeGroups =
false;
340 myCommonLimit =
true;
341 myAddVertexNormals =
false;
348 myFrontMagnitude = 1;
350 myFrontStiffness = 0;
354 myReverseSpineDirection =
false;
358 myThicknessScale = 1;
359 myUseThicknessAttrib =
true;
360 myThicknessAttrib =
"thickness"_UTsh;
361 myUseThicknessRamp =
true;
362 myThicknessRamp =
UT_Ramp::buildFromDefault(
"1pos ( 0 ) 1value ( 1 ) 1interp ( catmull-rom ) 2pos ( 1 ) 2value ( 1 ) 2interp ( catmull-rom )");
363 myUseTwistAttrib =
true;
364 myTwistAttrib =
"twist"_UTsh;
365 myUseTwistRamp =
true;
366 myTwistRamp =
UT_Ramp::buildFromDefault(
"1pos ( 0 ) 1value ( 0.5 ) 1interp ( catmull-rom ) 2pos ( 1 ) 2value ( 0.5 ) 2interp ( catmull-rom )");
368 myUseLocalZScaleAttrib =
false;
369 myLocalZScaleAttrib =
"zscale"_UTsh;
370 myUseLocalInsetScaleAttrib =
false;
371 myLocalInsetScaleAttrib =
"insetscale"_UTsh;
372 myUseLocalTwistScaleAttrib =
false;
373 myLocalTwistScaleAttrib =
"twistscale"_UTsh;
374 myUseLocalDivScaleAttrib =
false;
375 myLocalDivScaleAttrib =
"divsscale"_UTsh;
376 myUseLocalXAttrib =
false;
377 myLocalXAttrib =
"localx"_UTsh;
378 myUseLocalZAttrib =
false;
379 myLocalZAttrib =
"localz"_UTsh;
380 myUseLocalCtrAttrib =
false;
381 myLocalCtrAttrib =
"localctr"_UTsh;
394 if (myGroup != src.myGroup)
return false;
395 if (mySplitType != src.mySplitType)
return false;
396 if (myUseSplitGroup != src.myUseSplitGroup)
return false;
397 if (mySplitGroup != src.mySplitGroup)
return false;
398 if (myExtrusionMode != src.myExtrusionMode)
return false;
399 if (myPtNormalSrc != src.myPtNormalSrc)
return false;
400 if (myPtNormalAttrib != src.myPtNormalAttrib)
return false;
401 if (myDist != src.myDist)
return false;
402 if (myInset != src.myInset)
return false;
403 if (myTwist != src.myTwist)
return false;
404 if (myDivs != src.myDivs)
return false;
405 if (mySpineType != src.mySpineType)
return false;
406 if (myXformFront != src.myXformFront)
return false;
407 if (myXformSpace != src.myXformSpace)
return false;
408 if (myXformOrder != src.myXformOrder)
return false;
409 if (myRotateOrder != src.myRotateOrder)
return false;
410 if (myTranslate != src.myTranslate)
return false;
411 if (myRotate != src.myRotate)
return false;
412 if (myScale != src.myScale)
return false;
413 if (myShear != src.myShear)
return false;
414 if (myPivot != src.myPivot)
return false;
415 if (myPivotRotate != src.myPivotRotate)
return false;
416 if (myPreXformOrder != src.myPreXformOrder)
return false;
417 if (myPreXformRotateOrder != src.myPreXformRotateOrder)
return false;
418 if (myPreXformTranslate != src.myPreXformTranslate)
return false;
419 if (myPreXformRotate != src.myPreXformRotate)
return false;
420 if (myPreXformScale != src.myPreXformScale)
return false;
421 if (myPreXformShear != src.myPreXformShear)
return false;
422 if (myOutputFront != src.myOutputFront)
return false;
423 if (myOutputFrontGrp != src.myOutputFrontGrp)
return false;
424 if (myFrontGrp != src.myFrontGrp)
return false;
425 if (myOutputBack != src.myOutputBack)
return false;
426 if (myOutputBackGrp != src.myOutputBackGrp)
return false;
427 if (myBackGrp != src.myBackGrp)
return false;
428 if (myOutputSide != src.myOutputSide)
return false;
429 if (myOutputSideGrp != src.myOutputSideGrp)
return false;
430 if (mySideGrp != src.mySideGrp)
return false;
431 if (myOutputFrontSeamGrp != src.myOutputFrontSeamGrp)
return false;
432 if (myFrontSeamGrp != src.myFrontSeamGrp)
return false;
433 if (myOutputBackSeamGrp != src.myOutputBackSeamGrp)
return false;
434 if (myBackSeamGrp != src.myBackSeamGrp)
return false;
435 if (myPreserveGroups != src.myPreserveGroups)
return false;
436 if (myCopyEdgeGroups != src.myCopyEdgeGroups)
return false;
437 if (myLimitInset != src.myLimitInset)
return false;
438 if (myCommonLimit != src.myCommonLimit)
return false;
439 if (myAddVertexNormals != src.myAddVertexNormals)
return false;
440 if (myCuspAngle != src.myCuspAngle)
return false;
441 if (myCuspFront != src.myCuspFront)
return false;
442 if (myCuspBack != src.myCuspBack)
return false;
443 if (myGenUVs != src.myGenUVs)
return false;
444 if (myUVStyle != src.myUVStyle)
return false;
445 if (myUVScaling != src.myUVScaling)
return false;
446 if (myFrontMagnitude != src.myFrontMagnitude)
return false;
447 if (myBackMagnitude != src.myBackMagnitude)
return false;
448 if (myFrontStiffness != src.myFrontStiffness)
return false;
449 if (myBackStiffness != src.myBackStiffness)
return false;
450 if (myInterpolation != src.myInterpolation)
return false;
451 if (mySpacing != src.mySpacing)
return false;
452 if (myReverseSpineDirection != src.myReverseSpineDirection)
return false;
453 if (myAxialRotation != src.myAxialRotation)
return false;
454 if (myFrontBlend != src.myFrontBlend)
return false;
455 if (myBackBlend != src.myBackBlend)
return false;
456 if (myThicknessScale != src.myThicknessScale)
return false;
457 if (myUseThicknessAttrib != src.myUseThicknessAttrib)
return false;
458 if (myThicknessAttrib != src.myThicknessAttrib)
return false;
459 if (myUseThicknessRamp != src.myUseThicknessRamp)
return false;
460 if (myThicknessRamp != src.myThicknessRamp)
461 {
if (!myThicknessRamp || !src.myThicknessRamp || !(*myThicknessRamp == *src.myThicknessRamp))
return false; }
462 if (myUseTwistAttrib != src.myUseTwistAttrib)
return false;
463 if (myTwistAttrib != src.myTwistAttrib)
return false;
464 if (myUseTwistRamp != src.myUseTwistRamp)
return false;
465 if (myTwistRamp != src.myTwistRamp)
466 {
if (!myTwistRamp || !src.myTwistRamp || !(*myTwistRamp == *src.myTwistRamp))
return false; }
467 if (myTwistScale != src.myTwistScale)
return false;
468 if (myUseLocalZScaleAttrib != src.myUseLocalZScaleAttrib)
return false;
469 if (myLocalZScaleAttrib != src.myLocalZScaleAttrib)
return false;
470 if (myUseLocalInsetScaleAttrib != src.myUseLocalInsetScaleAttrib)
return false;
471 if (myLocalInsetScaleAttrib != src.myLocalInsetScaleAttrib)
return false;
472 if (myUseLocalTwistScaleAttrib != src.myUseLocalTwistScaleAttrib)
return false;
473 if (myLocalTwistScaleAttrib != src.myLocalTwistScaleAttrib)
return false;
474 if (myUseLocalDivScaleAttrib != src.myUseLocalDivScaleAttrib)
return false;
475 if (myLocalDivScaleAttrib != src.myLocalDivScaleAttrib)
return false;
476 if (myUseLocalXAttrib != src.myUseLocalXAttrib)
return false;
477 if (myLocalXAttrib != src.myLocalXAttrib)
return false;
478 if (myUseLocalZAttrib != src.myUseLocalZAttrib)
return false;
479 if (myLocalZAttrib != src.myLocalZAttrib)
return false;
480 if (myUseLocalCtrAttrib != src.myUseLocalCtrAttrib)
return false;
481 if (myLocalCtrAttrib != src.myLocalCtrAttrib)
return false;
512 graph->
evalOpParm(myGroup, nodeidx,
"group", time, graph->
isDirect()?
nullptr:depnode);
515 graph->
evalOpParm(mySplitType, nodeidx,
"splittype", time, graph->
isDirect()?
nullptr:depnode);
516 myUseSplitGroup =
false;
517 if (
true && ( (
true&&!(((
int64(getSplitType())!=1)))) ) )
518 graph->
evalOpParm(myUseSplitGroup, nodeidx,
"usesplitgroup", time, graph->
isDirect()?
nullptr:depnode);
519 mySplitGroup =
""_UTsh;
520 if (
true && ( (
true&&!(((
int64(getSplitType())!=1))||((getUseSplitGroup()!=1)))) ) )
521 graph->
evalOpParm(mySplitGroup, nodeidx,
"splitgroup", time, graph->
isDirect()?
nullptr:depnode);
524 graph->
evalOpParm(myExtrusionMode, nodeidx,
"extrusionmode", time, graph->
isDirect()?
nullptr:depnode);
526 if (
true && ( (
true&&!(((
int64(getExtrusionMode())!=1)))) ) )
527 graph->
evalOpParm(myPtNormalSrc, nodeidx,
"ptnormalsrc", time, graph->
isDirect()?
nullptr:depnode);
528 myPtNormalAttrib =
"N"_UTsh;
529 if (
true && ( (
true&&!(((
int64(getExtrusionMode())!=1))||((
int64(getPtNormalSrc())!=2)))) ) )
530 graph->
evalOpParm(myPtNormalAttrib, nodeidx,
"ptnormalattrib", time, graph->
isDirect()?
nullptr:depnode);
536 graph->
evalOpParm(myInset, nodeidx,
"inset", time, graph->
isDirect()?
nullptr:depnode);
539 graph->
evalOpParm(myTwist, nodeidx,
"twist", time, graph->
isDirect()?
nullptr:depnode);
545 graph->
evalOpParm(mySpineType, nodeidx,
"spinetype", time, graph->
isDirect()?
nullptr:depnode);
546 myXformFront =
false;
548 graph->
evalOpParm(myXformFront, nodeidx,
"xformfront", time, graph->
isDirect()?
nullptr:depnode);
550 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
551 graph->
evalOpParm(myXformSpace, nodeidx,
"xformspace", time, graph->
isDirect()?
nullptr:depnode);
553 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
554 graph->
evalOpParm(myXformOrder, nodeidx,
"rst", time, graph->
isDirect()?
nullptr:depnode);
556 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
557 graph->
evalOpParm(myRotateOrder, nodeidx,
"xyz", time, graph->
isDirect()?
nullptr:depnode);
559 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
560 graph->
evalOpParm(myTranslate, nodeidx,
"translate", time, graph->
isDirect()?
nullptr:depnode);
562 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
563 graph->
evalOpParm(myRotate, nodeidx,
"rotate", time, graph->
isDirect()?
nullptr:depnode);
565 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
566 graph->
evalOpParm(myScale, nodeidx,
"scale", time, graph->
isDirect()?
nullptr:depnode);
568 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
569 graph->
evalOpParm(myShear, nodeidx,
"shear", time, graph->
isDirect()?
nullptr:depnode);
571 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
572 graph->
evalOpParm(myPivot, nodeidx,
"pivot", time, graph->
isDirect()?
nullptr:depnode);
574 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
575 graph->
evalOpParm(myPivotRotate, nodeidx,
"pivotrotate", time, graph->
isDirect()?
nullptr:depnode);
577 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
578 graph->
evalOpParm(myPreXformOrder, nodeidx,
"prexform_rst", time, graph->
isDirect()?
nullptr:depnode);
579 myPreXformRotateOrder = 0;
580 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
581 graph->
evalOpParm(myPreXformRotateOrder, nodeidx,
"prexform_xyz", time, graph->
isDirect()?
nullptr:depnode);
583 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
584 graph->
evalOpParm(myPreXformTranslate, nodeidx,
"prexform_translate", time, graph->
isDirect()?
nullptr:depnode);
586 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
587 graph->
evalOpParm(myPreXformRotate, nodeidx,
"prexform_rotate", time, graph->
isDirect()?
nullptr:depnode);
589 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
590 graph->
evalOpParm(myPreXformScale, nodeidx,
"prexform_scale", time, graph->
isDirect()?
nullptr:depnode);
592 if (
true && ( (
true&&!(((getXformFront()==0)))) ) )
593 graph->
evalOpParm(myPreXformShear, nodeidx,
"prexform_shear", time, graph->
isDirect()?
nullptr:depnode);
594 myOutputFront =
true;
596 graph->
evalOpParm(myOutputFront, nodeidx,
"outputfront", time, graph->
isDirect()?
nullptr:depnode);
597 myOutputFrontGrp =
false;
599 graph->
evalOpParm(myOutputFrontGrp, nodeidx,
"outputfrontgrp", time, graph->
isDirect()?
nullptr:depnode);
600 myFrontGrp =
"extrudeFront"_UTsh;
601 if (
true && ( (
true&&!(((getOutputFrontGrp()==0)))) ) )
602 graph->
evalOpParm(myFrontGrp, nodeidx,
"frontgrp", time, graph->
isDirect()?
nullptr:depnode);
603 myOutputBack =
false;
605 graph->
evalOpParm(myOutputBack, nodeidx,
"outputback", time, graph->
isDirect()?
nullptr:depnode);
606 myOutputBackGrp =
false;
608 graph->
evalOpParm(myOutputBackGrp, nodeidx,
"outputbackgrp", time, graph->
isDirect()?
nullptr:depnode);
609 myBackGrp =
"extrudeBack"_UTsh;
610 if (
true && ( (
true&&!(((getOutputBackGrp()==0)))) ) )
611 graph->
evalOpParm(myBackGrp, nodeidx,
"backgrp", time, graph->
isDirect()?
nullptr:depnode);
614 graph->
evalOpParm(myOutputSide, nodeidx,
"outputside", time, graph->
isDirect()?
nullptr:depnode);
615 myOutputSideGrp =
false;
617 graph->
evalOpParm(myOutputSideGrp, nodeidx,
"outputsidegrp", time, graph->
isDirect()?
nullptr:depnode);
618 mySideGrp =
"extrudeSide"_UTsh;
619 if (
true && ( (
true&&!(((getOutputSideGrp()==0)))) ) )
620 graph->
evalOpParm(mySideGrp, nodeidx,
"sidegrp", time, graph->
isDirect()?
nullptr:depnode);
621 myOutputFrontSeamGrp =
false;
623 graph->
evalOpParm(myOutputFrontSeamGrp, nodeidx,
"outputfrontseamgrp", time, graph->
isDirect()?
nullptr:depnode);
624 myFrontSeamGrp =
"extrudeFrontSeam"_UTsh;
625 if (
true && ( (
true&&!(((getOutputFrontSeamGrp()==0)))) ) )
626 graph->
evalOpParm(myFrontSeamGrp, nodeidx,
"frontseamgrp", time, graph->
isDirect()?
nullptr:depnode);
627 myOutputBackSeamGrp =
false;
629 graph->
evalOpParm(myOutputBackSeamGrp, nodeidx,
"outputbackseamgrp", time, graph->
isDirect()?
nullptr:depnode);
630 myBackSeamGrp =
"extrudeBackSeam"_UTsh;
631 if (
true && ( (
true&&!(((getOutputBackSeamGrp()==0)))) ) )
632 graph->
evalOpParm(myBackSeamGrp, nodeidx,
"backseamgrp", time, graph->
isDirect()?
nullptr:depnode);
633 myPreserveGroups =
true;
635 graph->
evalOpParm(myPreserveGroups, nodeidx,
"preservegroups", time, graph->
isDirect()?
nullptr:depnode);
636 myCopyEdgeGroups =
false;
638 graph->
evalOpParm(myCopyEdgeGroups, nodeidx,
"copyedgegroups", time, graph->
isDirect()?
nullptr:depnode);
641 graph->
evalOpParm(myLimitInset, nodeidx,
"limitinset", time, graph->
isDirect()?
nullptr:depnode);
642 myCommonLimit =
true;
643 if (
true && ( (
true&&!(((getLimitInset()==0)))) ) )
644 graph->
evalOpParm(myCommonLimit, nodeidx,
"commonlimit", time, graph->
isDirect()?
nullptr:depnode);
645 myAddVertexNormals =
false;
647 graph->
evalOpParm(myAddVertexNormals, nodeidx,
"addvertexnomrals", time, graph->
isDirect()?
nullptr:depnode);
649 if (
true && ( (
true&&!(((getAddVertexNormals()==0)))) ) )
650 graph->
evalOpParm(myCuspAngle, nodeidx,
"cuspangle", time, graph->
isDirect()?
nullptr:depnode);
652 if (
true && ( (
true&&!(((getAddVertexNormals()==0)))) ) )
653 graph->
evalOpParm(myCuspFront, nodeidx,
"cuspfront", time, graph->
isDirect()?
nullptr:depnode);
655 if (
true && ( (
true&&!(((getAddVertexNormals()==0)))) ) )
656 graph->
evalOpParm(myCuspBack, nodeidx,
"cuspback", time, graph->
isDirect()?
nullptr:depnode);
659 graph->
evalOpParm(myGenUVs, nodeidx,
"genuvs", time, graph->
isDirect()?
nullptr:depnode);
661 if (
true && ( (
true&&!(((getGenUVs()==0)))) ) )
662 graph->
evalOpParm(myUVStyle, nodeidx,
"uvstyle", time, graph->
isDirect()?
nullptr:depnode);
664 if (
true && ( (
true&&!(((getGenUVs()==0)))) ) )
665 graph->
evalOpParm(myUVScaling, nodeidx,
"uvscaling", time, graph->
isDirect()?
nullptr:depnode);
666 myFrontMagnitude = 1;
667 if (
true && ( (
true&&!(((
int64(getSpineType())==0)))) ) )
668 graph->
evalOpParm(myFrontMagnitude, nodeidx,
"frontmagnitude", time, graph->
isDirect()?
nullptr:depnode);
670 if (
true && ( (
true&&!(((
int64(getSpineType())==0)))) ) )
671 graph->
evalOpParm(myBackMagnitude, nodeidx,
"backmagnitude", time, graph->
isDirect()?
nullptr:depnode);
672 myFrontStiffness = 0;
673 if (
true && ( (
true&&!(((
int64(getSpineType())==0)))) ) )
674 graph->
evalOpParm(myFrontStiffness, nodeidx,
"frontstiffness", time, graph->
isDirect()?
nullptr:depnode);
676 if (
true && ( (
true&&!(((
int64(getSpineType())==0)))) ) )
677 graph->
evalOpParm(myBackStiffness, nodeidx,
"backstiffness", time, graph->
isDirect()?
nullptr:depnode);
680 graph->
evalOpParm(myInterpolation, nodeidx,
"interpolation", time, graph->
isDirect()?
nullptr:depnode);
683 graph->
evalOpParm(mySpacing, nodeidx,
"spacing", time, graph->
isDirect()?
nullptr:depnode);
684 myReverseSpineDirection =
false;
685 if (
true && ( (
true&&!(((
int64(getSpineType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0)))) ) )
686 graph->
evalOpParm(myReverseSpineDirection, nodeidx,
"reversespinedirection", time, graph->
isDirect()?
nullptr:depnode);
688 if (
true && ( (
true&&!(((
int64(getSpineType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0)))) ) )
689 graph->
evalOpParm(myAxialRotation, nodeidx,
"axialrotation", time, graph->
isDirect()?
nullptr:depnode);
691 if (
true && ( (
true&&!(((
int64(getSpineType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0)))) ) )
692 graph->
evalOpParm(myFrontBlend, nodeidx,
"frontblend", time, graph->
isDirect()?
nullptr:depnode);
694 if (
true && ( (
true&&!(((
int64(getSpineType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0)))) ) )
695 graph->
evalOpParm(myBackBlend, nodeidx,
"backblend", time, graph->
isDirect()?
nullptr:depnode);
696 myThicknessScale = 1;
698 graph->
evalOpParm(myThicknessScale, nodeidx,
"thicknessscale", time, graph->
isDirect()?
nullptr:depnode);
699 myUseThicknessAttrib =
true;
700 if (
true && ( (
true&&!(((
int64(getSpineType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0)))) ) )
701 graph->
evalOpParm(myUseThicknessAttrib, nodeidx,
"usethicknessattrib", time, graph->
isDirect()?
nullptr:depnode);
702 myThicknessAttrib =
"thickness"_UTsh;
703 if (
true && ( (
true&&!(((
int64(getSpineType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0))||((getUseThicknessAttrib()==0)))) ) )
704 graph->
evalOpParm(myThicknessAttrib, nodeidx,
"thicknessattrib", time, graph->
isDirect()?
nullptr:depnode);
705 myUseThicknessRamp =
true;
707 graph->
evalOpParm(myUseThicknessRamp, nodeidx,
"usethicknessramp", time, graph->
isDirect()?
nullptr:depnode);
708 myThicknessRamp =
UT_Ramp::buildFromDefault(
"1pos ( 0 ) 1value ( 1 ) 1interp ( catmull-rom ) 2pos ( 1 ) 2value ( 1 ) 2interp ( catmull-rom )");
709 if (
true && ( (
true&&!(((getUseThicknessRamp()==0)))) ) )
710 graph->
evalOpParm(myThicknessRamp, nodeidx,
"thicknessramp", time, graph->
isDirect()?
nullptr:depnode);
711 myUseTwistAttrib =
true;
712 if (
true && ( (
true&&!(((
int64(getSpineType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0)))) ) )
713 graph->
evalOpParm(myUseTwistAttrib, nodeidx,
"usetwistattrib", time, graph->
isDirect()?
nullptr:depnode);
714 myTwistAttrib =
"twist"_UTsh;
715 if (
true && ( (
true&&!(((
int64(getSpineType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0))||((getUseTwistAttrib()==0)))) ) )
716 graph->
evalOpParm(myTwistAttrib, nodeidx,
"twistattrib", time, graph->
isDirect()?
nullptr:depnode);
717 myUseTwistRamp =
true;
719 graph->
evalOpParm(myUseTwistRamp, nodeidx,
"usetwistramp", time, graph->
isDirect()?
nullptr:depnode);
720 myTwistRamp =
UT_Ramp::buildFromDefault(
"1pos ( 0 ) 1value ( 0.5 ) 1interp ( catmull-rom ) 2pos ( 1 ) 2value ( 0.5 ) 2interp ( catmull-rom )");
721 if (
true && ( (
true&&!(((getUseTwistRamp()==0)))) ) )
722 graph->
evalOpParm(myTwistRamp, nodeidx,
"twistramp", time, graph->
isDirect()?
nullptr:depnode);
725 graph->
evalOpParm(myTwistScale, nodeidx,
"twistscale", time, graph->
isDirect()?
nullptr:depnode);
726 myUseLocalZScaleAttrib =
false;
728 graph->
evalOpParm(myUseLocalZScaleAttrib, nodeidx,
"uselocalzscaleattrib", time, graph->
isDirect()?
nullptr:depnode);
729 myLocalZScaleAttrib =
"zscale"_UTsh;
730 if (
true && ( (
true&&!(((getUseLocalZScaleAttrib()==0)))) ) )
731 graph->
evalOpParm(myLocalZScaleAttrib, nodeidx,
"localzscaleattrib", time, graph->
isDirect()?
nullptr:depnode);
732 myUseLocalInsetScaleAttrib =
false;
734 graph->
evalOpParm(myUseLocalInsetScaleAttrib, nodeidx,
"uselocalinsetscaleattrib", time, graph->
isDirect()?
nullptr:depnode);
735 myLocalInsetScaleAttrib =
"insetscale"_UTsh;
736 if (
true && ( (
true&&!(((getUseLocalInsetScaleAttrib()==0)))) ) )
737 graph->
evalOpParm(myLocalInsetScaleAttrib, nodeidx,
"localinsetscaleattrib", time, graph->
isDirect()?
nullptr:depnode);
738 myUseLocalTwistScaleAttrib =
false;
740 graph->
evalOpParm(myUseLocalTwistScaleAttrib, nodeidx,
"uselocaltwistattrib", time, graph->
isDirect()?
nullptr:depnode);
741 myLocalTwistScaleAttrib =
"twistscale"_UTsh;
742 if (
true && ( (
true&&!(((getUseLocalTwistScaleAttrib()==0)))) ) )
743 graph->
evalOpParm(myLocalTwistScaleAttrib, nodeidx,
"localtwistscaleattrib", time, graph->
isDirect()?
nullptr:depnode);
744 myUseLocalDivScaleAttrib =
false;
746 graph->
evalOpParm(myUseLocalDivScaleAttrib, nodeidx,
"uselocaldivsattrib", time, graph->
isDirect()?
nullptr:depnode);
747 myLocalDivScaleAttrib =
"divsscale"_UTsh;
748 if (
true && ( (
true&&!(((getUseLocalDivScaleAttrib()==0)))) ) )
749 graph->
evalOpParm(myLocalDivScaleAttrib, nodeidx,
"locadivscaleattrib", time, graph->
isDirect()?
nullptr:depnode);
750 myUseLocalXAttrib =
false;
752 graph->
evalOpParm(myUseLocalXAttrib, nodeidx,
"uselocalxattrib", time, graph->
isDirect()?
nullptr:depnode);
753 myLocalXAttrib =
"localx"_UTsh;
754 if (
true && ( (
true&&!(((getUseLocalXAttrib()==0)))) ) )
755 graph->
evalOpParm(myLocalXAttrib, nodeidx,
"localxattrib", time, graph->
isDirect()?
nullptr:depnode);
756 myUseLocalZAttrib =
false;
758 graph->
evalOpParm(myUseLocalZAttrib, nodeidx,
"uselocalzattirb", time, graph->
isDirect()?
nullptr:depnode);
759 myLocalZAttrib =
"localz"_UTsh;
760 if (
true && ( (
true&&!(((getUseLocalZAttrib()==0)))) ) )
761 graph->
evalOpParm(myLocalZAttrib, nodeidx,
"localzattirb", time, graph->
isDirect()?
nullptr:depnode);
762 myUseLocalCtrAttrib =
false;
764 graph->
evalOpParm(myUseLocalCtrAttrib, nodeidx,
"uselocalctrattrib", time, graph->
isDirect()?
nullptr:depnode);
765 myLocalCtrAttrib =
"localctr"_UTsh;
766 if (
true && ( (
true&&!(((getUseLocalCtrAttrib()==0)))) ) )
767 graph->
evalOpParm(myLocalCtrAttrib, nodeidx,
"localctrattrib", time, graph->
isDirect()?
nullptr:depnode);
783 template <
typename T>
790 if (idx.
size() != instance.
size()+1)
795 coerceValue(value, myGroup);
798 coerceValue(value, mySplitType);
801 coerceValue(value, myUseSplitGroup);
804 coerceValue(value, mySplitGroup);
807 coerceValue(value, myExtrusionMode);
810 coerceValue(value, myPtNormalSrc);
813 coerceValue(value, myPtNormalAttrib);
816 coerceValue(value, myDist);
819 coerceValue(value, myInset);
822 coerceValue(value, myTwist);
825 coerceValue(value, myDivs);
828 coerceValue(value, mySpineType);
831 coerceValue(value, myXformFront);
834 coerceValue(value, myXformSpace);
837 coerceValue(value, myXformOrder);
840 coerceValue(value, myRotateOrder);
843 coerceValue(value, myTranslate);
846 coerceValue(value, myRotate);
849 coerceValue(value, myScale);
852 coerceValue(value, myShear);
855 coerceValue(value, myPivot);
858 coerceValue(value, myPivotRotate);
861 coerceValue(value, myPreXformOrder);
864 coerceValue(value, myPreXformRotateOrder);
867 coerceValue(value, myPreXformTranslate);
870 coerceValue(value, myPreXformRotate);
873 coerceValue(value, myPreXformScale);
876 coerceValue(value, myPreXformShear);
879 coerceValue(value, myOutputFront);
882 coerceValue(value, myOutputFrontGrp);
885 coerceValue(value, myFrontGrp);
888 coerceValue(value, myOutputBack);
891 coerceValue(value, myOutputBackGrp);
894 coerceValue(value, myBackGrp);
897 coerceValue(value, myOutputSide);
900 coerceValue(value, myOutputSideGrp);
903 coerceValue(value, mySideGrp);
906 coerceValue(value, myOutputFrontSeamGrp);
909 coerceValue(value, myFrontSeamGrp);
912 coerceValue(value, myOutputBackSeamGrp);
915 coerceValue(value, myBackSeamGrp);
918 coerceValue(value, myPreserveGroups);
921 coerceValue(value, myCopyEdgeGroups);
924 coerceValue(value, myLimitInset);
927 coerceValue(value, myCommonLimit);
930 coerceValue(value, myAddVertexNormals);
933 coerceValue(value, myCuspAngle);
936 coerceValue(value, myCuspFront);
939 coerceValue(value, myCuspBack);
942 coerceValue(value, myGenUVs);
945 coerceValue(value, myUVStyle);
948 coerceValue(value, myUVScaling);
951 coerceValue(value, myFrontMagnitude);
954 coerceValue(value, myBackMagnitude);
957 coerceValue(value, myFrontStiffness);
960 coerceValue(value, myBackStiffness);
963 coerceValue(value, myInterpolation);
966 coerceValue(value, mySpacing);
969 coerceValue(value, myReverseSpineDirection);
972 coerceValue(value, myAxialRotation);
975 coerceValue(value, myFrontBlend);
978 coerceValue(value, myBackBlend);
981 coerceValue(value, myThicknessScale);
984 coerceValue(value, myUseThicknessAttrib);
987 coerceValue(value, myThicknessAttrib);
990 coerceValue(value, myUseThicknessRamp);
993 coerceValue(value, myThicknessRamp);
996 coerceValue(value, myUseTwistAttrib);
999 coerceValue(value, myTwistAttrib);
1002 coerceValue(value, myUseTwistRamp);
1005 coerceValue(value, myTwistRamp);
1008 coerceValue(value, myTwistScale);
1011 coerceValue(value, myUseLocalZScaleAttrib);
1014 coerceValue(value, myLocalZScaleAttrib);
1017 coerceValue(value, myUseLocalInsetScaleAttrib);
1020 coerceValue(value, myLocalInsetScaleAttrib);
1023 coerceValue(value, myUseLocalTwistScaleAttrib);
1026 coerceValue(value, myLocalTwistScaleAttrib);
1029 coerceValue(value, myUseLocalDivScaleAttrib);
1032 coerceValue(value, myLocalDivScaleAttrib);
1035 coerceValue(value, myUseLocalXAttrib);
1038 coerceValue(value, myLocalXAttrib);
1041 coerceValue(value, myUseLocalZAttrib);
1044 coerceValue(value, myLocalZAttrib);
1047 coerceValue(value, myUseLocalCtrAttrib);
1050 coerceValue(value, myLocalCtrAttrib);
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 { doGetParmValue(idx, instance, value); }
1082 { doGetParmValue(idx, instance, value); }
1084 { doGetParmValue(idx, instance, value); }
1086 { doGetParmValue(idx, instance, value); }
1088 template <
typename T>
1095 if (idx.
size() != instance.
size()+1)
1100 coerceValue(myGroup, ( ( value ) ));
1103 coerceValue(mySplitType, clampMinValue(0, clampMaxValue(1, value ) ));
1106 coerceValue(myUseSplitGroup, ( ( value ) ));
1109 coerceValue(mySplitGroup, ( ( value ) ));
1112 coerceValue(myExtrusionMode, clampMinValue(0, clampMaxValue(1, value ) ));
1115 coerceValue(myPtNormalSrc, clampMinValue(0, clampMaxValue(2, value ) ));
1118 coerceValue(myPtNormalAttrib, ( ( value ) ));
1121 coerceValue(myDist, ( ( value ) ));
1124 coerceValue(myInset, ( ( value ) ));
1127 coerceValue(myTwist, ( ( value ) ));
1130 coerceValue(myDivs, clampMinValue(1, ( value ) ));
1133 coerceValue(mySpineType, clampMinValue(0, clampMaxValue(2, value ) ));
1136 coerceValue(myXformFront, ( ( value ) ));
1139 coerceValue(myXformSpace, clampMinValue(0, clampMaxValue(1, value ) ));
1142 coerceValue(myXformOrder, clampMinValue(0, clampMaxValue(5, value ) ));
1145 coerceValue(myRotateOrder, clampMinValue(0, clampMaxValue(5, value ) ));
1148 coerceValue(myTranslate, ( ( value ) ));
1151 coerceValue(myRotate, ( ( value ) ));
1154 coerceValue(myScale, ( ( value ) ));
1157 coerceValue(myShear, ( ( value ) ));
1160 coerceValue(myPivot, ( ( value ) ));
1163 coerceValue(myPivotRotate, ( ( value ) ));
1166 coerceValue(myPreXformOrder, clampMinValue(0, clampMaxValue(5, value ) ));
1169 coerceValue(myPreXformRotateOrder, clampMinValue(0, clampMaxValue(5, value ) ));
1172 coerceValue(myPreXformTranslate, ( ( value ) ));
1175 coerceValue(myPreXformRotate, ( ( value ) ));
1178 coerceValue(myPreXformScale, ( ( value ) ));
1181 coerceValue(myPreXformShear, ( ( value ) ));
1184 coerceValue(myOutputFront, ( ( value ) ));
1187 coerceValue(myOutputFrontGrp, ( ( value ) ));
1190 coerceValue(myFrontGrp, ( ( value ) ));
1193 coerceValue(myOutputBack, ( ( value ) ));
1196 coerceValue(myOutputBackGrp, ( ( value ) ));
1199 coerceValue(myBackGrp, ( ( value ) ));
1202 coerceValue(myOutputSide, ( ( value ) ));
1205 coerceValue(myOutputSideGrp, ( ( value ) ));
1208 coerceValue(mySideGrp, ( ( value ) ));
1211 coerceValue(myOutputFrontSeamGrp, ( ( value ) ));
1214 coerceValue(myFrontSeamGrp, ( ( value ) ));
1217 coerceValue(myOutputBackSeamGrp, ( ( value ) ));
1220 coerceValue(myBackSeamGrp, ( ( value ) ));
1223 coerceValue(myPreserveGroups, ( ( value ) ));
1226 coerceValue(myCopyEdgeGroups, ( ( value ) ));
1229 coerceValue(myLimitInset, ( ( value ) ));
1232 coerceValue(myCommonLimit, ( ( value ) ));
1235 coerceValue(myAddVertexNormals, ( ( value ) ));
1238 coerceValue(myCuspAngle, clampMinValue(0, clampMaxValue(180, value ) ));
1241 coerceValue(myCuspFront, ( ( value ) ));
1244 coerceValue(myCuspBack, ( ( value ) ));
1247 coerceValue(myGenUVs, ( ( value ) ));
1250 coerceValue(myUVStyle, clampMinValue(0, clampMaxValue(2, value ) ));
1253 coerceValue(myUVScaling, clampMinValue(0, clampMaxValue(2, value ) ));
1256 coerceValue(myFrontMagnitude, clampMinValue(0.0001, ( value ) ));
1259 coerceValue(myBackMagnitude, clampMinValue(0.0001, ( value ) ));
1262 coerceValue(myFrontStiffness, clampMinValue(0, clampMaxValue(1, value ) ));
1265 coerceValue(myBackStiffness, clampMinValue(0, clampMaxValue(1, value ) ));
1268 coerceValue(myInterpolation, clampMinValue(0, clampMaxValue(1, value ) ));
1271 coerceValue(mySpacing, clampMinValue(0, clampMaxValue(1, value ) ));
1274 coerceValue(myReverseSpineDirection, ( ( value ) ));
1277 coerceValue(myAxialRotation, clampMinValue(0, clampMaxValue(360, value ) ));
1280 coerceValue(myFrontBlend, clampMinValue(0, clampMaxValue(1, value ) ));
1283 coerceValue(myBackBlend, clampMinValue(0, clampMaxValue(1, value ) ));
1286 coerceValue(myThicknessScale, ( ( value ) ));
1289 coerceValue(myUseThicknessAttrib, ( ( value ) ));
1292 coerceValue(myThicknessAttrib, ( ( value ) ));
1295 coerceValue(myUseThicknessRamp, ( ( value ) ));
1298 coerceValue(myThicknessRamp, clampMinValue(1, ( value ) ));
1301 coerceValue(myUseTwistAttrib, ( ( value ) ));
1304 coerceValue(myTwistAttrib, ( ( value ) ));
1307 coerceValue(myUseTwistRamp, ( ( value ) ));
1310 coerceValue(myTwistRamp, clampMinValue(1, ( value ) ));
1313 coerceValue(myTwistScale, ( ( value ) ));
1316 coerceValue(myUseLocalZScaleAttrib, ( ( value ) ));
1319 coerceValue(myLocalZScaleAttrib, ( ( value ) ));
1322 coerceValue(myUseLocalInsetScaleAttrib, ( ( value ) ));
1325 coerceValue(myLocalInsetScaleAttrib, ( ( value ) ));
1328 coerceValue(myUseLocalTwistScaleAttrib, ( ( value ) ));
1331 coerceValue(myLocalTwistScaleAttrib, ( ( value ) ));
1334 coerceValue(myUseLocalDivScaleAttrib, ( ( value ) ));
1337 coerceValue(myLocalDivScaleAttrib, ( ( value ) ));
1340 coerceValue(myUseLocalXAttrib, ( ( value ) ));
1343 coerceValue(myLocalXAttrib, ( ( value ) ));
1346 coerceValue(myUseLocalZAttrib, ( ( value ) ));
1349 coerceValue(myLocalZAttrib, ( ( value ) ));
1352 coerceValue(myUseLocalCtrAttrib, ( ( value ) ));
1355 coerceValue(myLocalCtrAttrib, ( ( value ) ));
1362 { doSetParmValue(idx, instance, value); }
1364 { doSetParmValue(idx, instance, value); }
1366 { doSetParmValue(idx, instance, value); }
1368 { doSetParmValue(idx, instance, value); }
1370 { doSetParmValue(idx, instance, value); }
1372 { doSetParmValue(idx, instance, value); }
1374 { doSetParmValue(idx, instance, value); }
1376 { doSetParmValue(idx, instance, value); }
1378 { doSetParmValue(idx, instance, value); }
1380 { doSetParmValue(idx, instance, value); }
1382 { doSetParmValue(idx, instance, value); }
1386 if (idx.
size() == 0)
1398 if (fieldnum.
size() < 1)
1400 switch (fieldnum[0])
1407 return "usesplitgroup";
1409 return "splitgroup";
1411 return "extrusionmode";
1413 return "ptnormalsrc";
1415 return "ptnormalattrib";
1427 return "xformfront";
1429 return "xformspace";
1445 return "pivotrotate";
1447 return "prexform_rst";
1449 return "prexform_xyz";
1451 return "prexform_translate";
1453 return "prexform_rotate";
1455 return "prexform_scale";
1457 return "prexform_shear";
1459 return "outputfront";
1461 return "outputfrontgrp";
1465 return "outputback";
1467 return "outputbackgrp";
1471 return "outputside";
1473 return "outputsidegrp";
1477 return "outputfrontseamgrp";
1479 return "frontseamgrp";
1481 return "outputbackseamgrp";
1483 return "backseamgrp";
1485 return "preservegroups";
1487 return "copyedgegroups";
1489 return "limitinset";
1491 return "commonlimit";
1493 return "addvertexnomrals";
1507 return "frontmagnitude";
1509 return "backmagnitude";
1511 return "frontstiffness";
1513 return "backstiffness";
1515 return "interpolation";
1519 return "reversespinedirection";
1521 return "axialrotation";
1523 return "frontblend";
1527 return "thicknessscale";
1529 return "usethicknessattrib";
1531 return "thicknessattrib";
1533 return "usethicknessramp";
1535 return "thicknessramp";
1537 return "usetwistattrib";
1539 return "twistattrib";
1541 return "usetwistramp";
1545 return "twistscale";
1547 return "uselocalzscaleattrib";
1549 return "localzscaleattrib";
1551 return "uselocalinsetscaleattrib";
1553 return "localinsetscaleattrib";
1555 return "uselocaltwistattrib";
1557 return "localtwistscaleattrib";
1559 return "uselocaldivsattrib";
1561 return "locadivscaleattrib";
1563 return "uselocalxattrib";
1565 return "localxattrib";
1567 return "uselocalzattirb";
1569 return "localzattirb";
1571 return "uselocalctrattrib";
1573 return "localctrattrib";
1581 if (fieldnum.
size() < 1)
1582 return PARM_UNSUPPORTED;
1583 switch (fieldnum[0])
1588 return PARM_INTEGER;
1590 return PARM_INTEGER;
1594 return PARM_INTEGER;
1596 return PARM_INTEGER;
1606 return PARM_INTEGER;
1608 return PARM_INTEGER;
1610 return PARM_INTEGER;
1612 return PARM_INTEGER;
1614 return PARM_INTEGER;
1616 return PARM_INTEGER;
1618 return PARM_VECTOR3;
1620 return PARM_VECTOR3;
1622 return PARM_VECTOR3;
1624 return PARM_VECTOR3;
1626 return PARM_VECTOR3;
1628 return PARM_VECTOR3;
1630 return PARM_INTEGER;
1632 return PARM_INTEGER;
1634 return PARM_VECTOR3;
1636 return PARM_VECTOR3;
1638 return PARM_VECTOR3;
1640 return PARM_VECTOR3;
1642 return PARM_INTEGER;
1644 return PARM_INTEGER;
1648 return PARM_INTEGER;
1650 return PARM_INTEGER;
1654 return PARM_INTEGER;
1656 return PARM_INTEGER;
1660 return PARM_INTEGER;
1664 return PARM_INTEGER;
1668 return PARM_INTEGER;
1670 return PARM_INTEGER;
1672 return PARM_INTEGER;
1674 return PARM_INTEGER;
1676 return PARM_INTEGER;
1680 return PARM_INTEGER;
1682 return PARM_INTEGER;
1684 return PARM_INTEGER;
1686 return PARM_INTEGER;
1688 return PARM_INTEGER;
1698 return PARM_INTEGER;
1700 return PARM_INTEGER;
1702 return PARM_INTEGER;
1712 return PARM_INTEGER;
1716 return PARM_INTEGER;
1720 return PARM_INTEGER;
1724 return PARM_INTEGER;
1730 return PARM_INTEGER;
1734 return PARM_INTEGER;
1738 return PARM_INTEGER;
1742 return PARM_INTEGER;
1746 return PARM_INTEGER;
1750 return PARM_INTEGER;
1754 return PARM_INTEGER;
1759 return PARM_UNSUPPORTED;
1764 { is.
bread(&v, 1); }
1795 loadData(is, rampdata);
1813 int typelen = colon - data.
buffer();
1825 { UTwrite(os, &v); }
1827 {
int64 iv =
v; UTwrite(os, &iv); }
1829 { UTwrite<fpreal64>(os, &
v); }
1831 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1833 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1834 UTwrite<fpreal64>(os, &v.
z()); }
1836 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1837 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1849 if (s) s->save(ostr);
1850 result = ostr.
str();
1851 saveData(os, result);
1858 ostr << s->getDataTypeToken();
1860 s->saveBinary(ostr);
1862 result = ostr.
str();
1863 saveData(os, result);
1871 saveData(os, myGroup);
1872 saveData(os, mySplitType);
1873 saveData(os, myUseSplitGroup);
1874 saveData(os, mySplitGroup);
1875 saveData(os, myExtrusionMode);
1876 saveData(os, myPtNormalSrc);
1877 saveData(os, myPtNormalAttrib);
1878 saveData(os, myDist);
1879 saveData(os, myInset);
1880 saveData(os, myTwist);
1881 saveData(os, myDivs);
1882 saveData(os, mySpineType);
1883 saveData(os, myXformFront);
1884 saveData(os, myXformSpace);
1885 saveData(os, myXformOrder);
1886 saveData(os, myRotateOrder);
1887 saveData(os, myTranslate);
1888 saveData(os, myRotate);
1889 saveData(os, myScale);
1890 saveData(os, myShear);
1891 saveData(os, myPivot);
1892 saveData(os, myPivotRotate);
1893 saveData(os, myPreXformOrder);
1894 saveData(os, myPreXformRotateOrder);
1895 saveData(os, myPreXformTranslate);
1896 saveData(os, myPreXformRotate);
1897 saveData(os, myPreXformScale);
1898 saveData(os, myPreXformShear);
1899 saveData(os, myOutputFront);
1900 saveData(os, myOutputFrontGrp);
1901 saveData(os, myFrontGrp);
1902 saveData(os, myOutputBack);
1903 saveData(os, myOutputBackGrp);
1904 saveData(os, myBackGrp);
1905 saveData(os, myOutputSide);
1906 saveData(os, myOutputSideGrp);
1907 saveData(os, mySideGrp);
1908 saveData(os, myOutputFrontSeamGrp);
1909 saveData(os, myFrontSeamGrp);
1910 saveData(os, myOutputBackSeamGrp);
1911 saveData(os, myBackSeamGrp);
1912 saveData(os, myPreserveGroups);
1913 saveData(os, myCopyEdgeGroups);
1914 saveData(os, myLimitInset);
1915 saveData(os, myCommonLimit);
1916 saveData(os, myAddVertexNormals);
1917 saveData(os, myCuspAngle);
1918 saveData(os, myCuspFront);
1919 saveData(os, myCuspBack);
1920 saveData(os, myGenUVs);
1921 saveData(os, myUVStyle);
1922 saveData(os, myUVScaling);
1923 saveData(os, myFrontMagnitude);
1924 saveData(os, myBackMagnitude);
1925 saveData(os, myFrontStiffness);
1926 saveData(os, myBackStiffness);
1927 saveData(os, myInterpolation);
1928 saveData(os, mySpacing);
1929 saveData(os, myReverseSpineDirection);
1930 saveData(os, myAxialRotation);
1931 saveData(os, myFrontBlend);
1932 saveData(os, myBackBlend);
1933 saveData(os, myThicknessScale);
1934 saveData(os, myUseThicknessAttrib);
1935 saveData(os, myThicknessAttrib);
1936 saveData(os, myUseThicknessRamp);
1937 saveData(os, myThicknessRamp);
1938 saveData(os, myUseTwistAttrib);
1939 saveData(os, myTwistAttrib);
1940 saveData(os, myUseTwistRamp);
1941 saveData(os, myTwistRamp);
1942 saveData(os, myTwistScale);
1943 saveData(os, myUseLocalZScaleAttrib);
1944 saveData(os, myLocalZScaleAttrib);
1945 saveData(os, myUseLocalInsetScaleAttrib);
1946 saveData(os, myLocalInsetScaleAttrib);
1947 saveData(os, myUseLocalTwistScaleAttrib);
1948 saveData(os, myLocalTwistScaleAttrib);
1949 saveData(os, myUseLocalDivScaleAttrib);
1950 saveData(os, myLocalDivScaleAttrib);
1951 saveData(os, myUseLocalXAttrib);
1952 saveData(os, myLocalXAttrib);
1953 saveData(os, myUseLocalZAttrib);
1954 saveData(os, myLocalZAttrib);
1955 saveData(os, myUseLocalCtrAttrib);
1956 saveData(os, myLocalCtrAttrib);
1969 loadData(is, myGroup);
1970 loadData(is, mySplitType);
1971 loadData(is, myUseSplitGroup);
1972 loadData(is, mySplitGroup);
1973 loadData(is, myExtrusionMode);
1974 loadData(is, myPtNormalSrc);
1975 loadData(is, myPtNormalAttrib);
1976 loadData(is, myDist);
1977 loadData(is, myInset);
1978 loadData(is, myTwist);
1979 loadData(is, myDivs);
1980 loadData(is, mySpineType);
1981 loadData(is, myXformFront);
1982 loadData(is, myXformSpace);
1983 loadData(is, myXformOrder);
1984 loadData(is, myRotateOrder);
1985 loadData(is, myTranslate);
1986 loadData(is, myRotate);
1987 loadData(is, myScale);
1988 loadData(is, myShear);
1989 loadData(is, myPivot);
1990 loadData(is, myPivotRotate);
1991 loadData(is, myPreXformOrder);
1992 loadData(is, myPreXformRotateOrder);
1993 loadData(is, myPreXformTranslate);
1994 loadData(is, myPreXformRotate);
1995 loadData(is, myPreXformScale);
1996 loadData(is, myPreXformShear);
1997 loadData(is, myOutputFront);
1998 loadData(is, myOutputFrontGrp);
1999 loadData(is, myFrontGrp);
2000 loadData(is, myOutputBack);
2001 loadData(is, myOutputBackGrp);
2002 loadData(is, myBackGrp);
2003 loadData(is, myOutputSide);
2004 loadData(is, myOutputSideGrp);
2005 loadData(is, mySideGrp);
2006 loadData(is, myOutputFrontSeamGrp);
2007 loadData(is, myFrontSeamGrp);
2008 loadData(is, myOutputBackSeamGrp);
2009 loadData(is, myBackSeamGrp);
2010 loadData(is, myPreserveGroups);
2011 loadData(is, myCopyEdgeGroups);
2012 loadData(is, myLimitInset);
2013 loadData(is, myCommonLimit);
2014 loadData(is, myAddVertexNormals);
2015 loadData(is, myCuspAngle);
2016 loadData(is, myCuspFront);
2017 loadData(is, myCuspBack);
2018 loadData(is, myGenUVs);
2019 loadData(is, myUVStyle);
2020 loadData(is, myUVScaling);
2021 loadData(is, myFrontMagnitude);
2022 loadData(is, myBackMagnitude);
2023 loadData(is, myFrontStiffness);
2024 loadData(is, myBackStiffness);
2025 loadData(is, myInterpolation);
2026 loadData(is, mySpacing);
2027 loadData(is, myReverseSpineDirection);
2028 loadData(is, myAxialRotation);
2029 loadData(is, myFrontBlend);
2030 loadData(is, myBackBlend);
2031 loadData(is, myThicknessScale);
2032 loadData(is, myUseThicknessAttrib);
2033 loadData(is, myThicknessAttrib);
2034 loadData(is, myUseThicknessRamp);
2035 loadData(is, myThicknessRamp);
2036 loadData(is, myUseTwistAttrib);
2037 loadData(is, myTwistAttrib);
2038 loadData(is, myUseTwistRamp);
2039 loadData(is, myTwistRamp);
2040 loadData(is, myTwistScale);
2041 loadData(is, myUseLocalZScaleAttrib);
2042 loadData(is, myLocalZScaleAttrib);
2043 loadData(is, myUseLocalInsetScaleAttrib);
2044 loadData(is, myLocalInsetScaleAttrib);
2045 loadData(is, myUseLocalTwistScaleAttrib);
2046 loadData(is, myLocalTwistScaleAttrib);
2047 loadData(is, myUseLocalDivScaleAttrib);
2048 loadData(is, myLocalDivScaleAttrib);
2049 loadData(is, myUseLocalXAttrib);
2050 loadData(is, myLocalXAttrib);
2051 loadData(is, myUseLocalZAttrib);
2052 loadData(is, myLocalZAttrib);
2053 loadData(is, myUseLocalCtrAttrib);
2054 loadData(is, myLocalCtrAttrib);
2064 if (!thissop)
return getGroup();
2066 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
2074 if (!thissop)
return getSplitType();
2076 OP_Utils::evalOpParm(result, thissop,
"splittype", cookparms.
getCookTime(), 0);
2084 if (!thissop)
return getUseSplitGroup();
2086 OP_Utils::evalOpParm(result, thissop,
"usesplitgroup", cookparms.
getCookTime(), 0);
2094 if (!thissop)
return getSplitGroup();
2096 OP_Utils::evalOpParm(result, thissop,
"splitgroup", cookparms.
getCookTime(), 0);
2104 if (!thissop)
return getExtrusionMode();
2106 OP_Utils::evalOpParm(result, thissop,
"extrusionmode", cookparms.
getCookTime(), 0);
2114 if (!thissop)
return getPtNormalSrc();
2116 OP_Utils::evalOpParm(result, thissop,
"ptnormalsrc", cookparms.
getCookTime(), 0);
2124 if (!thissop)
return getPtNormalAttrib();
2126 OP_Utils::evalOpParm(result, thissop,
"ptnormalattrib", cookparms.
getCookTime(), 0);
2134 if (!thissop)
return getDist();
2136 OP_Utils::evalOpParm(result, thissop,
"dist", cookparms.
getCookTime(), 0);
2144 if (!thissop)
return getInset();
2146 OP_Utils::evalOpParm(result, thissop,
"inset", cookparms.
getCookTime(), 0);
2154 if (!thissop)
return getTwist();
2156 OP_Utils::evalOpParm(result, thissop,
"twist", cookparms.
getCookTime(), 0);
2164 if (!thissop)
return getDivs();
2166 OP_Utils::evalOpParm(result, thissop,
"divs", cookparms.
getCookTime(), 0);
2174 if (!thissop)
return getSpineType();
2176 OP_Utils::evalOpParm(result, thissop,
"spinetype", cookparms.
getCookTime(), 0);
2184 if (!thissop)
return getXformFront();
2186 OP_Utils::evalOpParm(result, thissop,
"xformfront", cookparms.
getCookTime(), 0);
2194 if (!thissop)
return getXformSpace();
2196 OP_Utils::evalOpParm(result, thissop,
"xformspace", cookparms.
getCookTime(), 0);
2204 if (!thissop)
return getXformOrder();
2206 OP_Utils::evalOpParm(result, thissop,
"rst", cookparms.
getCookTime(), 0);
2214 if (!thissop)
return getRotateOrder();
2216 OP_Utils::evalOpParm(result, thissop,
"xyz", cookparms.
getCookTime(), 0);
2224 if (!thissop)
return getTranslate();
2226 OP_Utils::evalOpParm(result, thissop,
"translate", cookparms.
getCookTime(), 0);
2234 if (!thissop)
return getRotate();
2236 OP_Utils::evalOpParm(result, thissop,
"rotate", cookparms.
getCookTime(), 0);
2246 OP_Utils::evalOpParm(result, thissop,
"scale", cookparms.
getCookTime(), 0);
2254 if (!thissop)
return getShear();
2256 OP_Utils::evalOpParm(result, thissop,
"shear", cookparms.
getCookTime(), 0);
2264 if (!thissop)
return getPivot();
2266 OP_Utils::evalOpParm(result, thissop,
"pivot", cookparms.
getCookTime(), 0);
2274 if (!thissop)
return getPivotRotate();
2276 OP_Utils::evalOpParm(result, thissop,
"pivotrotate", cookparms.
getCookTime(), 0);
2284 if (!thissop)
return getPreXformOrder();
2286 OP_Utils::evalOpParm(result, thissop,
"prexform_rst", cookparms.
getCookTime(), 0);
2294 if (!thissop)
return getPreXformRotateOrder();
2296 OP_Utils::evalOpParm(result, thissop,
"prexform_xyz", cookparms.
getCookTime(), 0);
2304 if (!thissop)
return getPreXformTranslate();
2306 OP_Utils::evalOpParm(result, thissop,
"prexform_translate", cookparms.
getCookTime(), 0);
2314 if (!thissop)
return getPreXformRotate();
2316 OP_Utils::evalOpParm(result, thissop,
"prexform_rotate", cookparms.
getCookTime(), 0);
2324 if (!thissop)
return getPreXformScale();
2326 OP_Utils::evalOpParm(result, thissop,
"prexform_scale", cookparms.
getCookTime(), 0);
2334 if (!thissop)
return getPreXformShear();
2336 OP_Utils::evalOpParm(result, thissop,
"prexform_shear", cookparms.
getCookTime(), 0);
2344 if (!thissop)
return getOutputFront();
2346 OP_Utils::evalOpParm(result, thissop,
"outputfront", cookparms.
getCookTime(), 0);
2354 if (!thissop)
return getOutputFrontGrp();
2356 OP_Utils::evalOpParm(result, thissop,
"outputfrontgrp", cookparms.
getCookTime(), 0);
2364 if (!thissop)
return getFrontGrp();
2366 OP_Utils::evalOpParm(result, thissop,
"frontgrp", cookparms.
getCookTime(), 0);
2374 if (!thissop)
return getOutputBack();
2376 OP_Utils::evalOpParm(result, thissop,
"outputback", cookparms.
getCookTime(), 0);
2384 if (!thissop)
return getOutputBackGrp();
2386 OP_Utils::evalOpParm(result, thissop,
"outputbackgrp", cookparms.
getCookTime(), 0);
2394 if (!thissop)
return getBackGrp();
2396 OP_Utils::evalOpParm(result, thissop,
"backgrp", cookparms.
getCookTime(), 0);
2404 if (!thissop)
return getOutputSide();
2406 OP_Utils::evalOpParm(result, thissop,
"outputside", cookparms.
getCookTime(), 0);
2414 if (!thissop)
return getOutputSideGrp();
2416 OP_Utils::evalOpParm(result, thissop,
"outputsidegrp", cookparms.
getCookTime(), 0);
2424 if (!thissop)
return getSideGrp();
2426 OP_Utils::evalOpParm(result, thissop,
"sidegrp", cookparms.
getCookTime(), 0);
2434 if (!thissop)
return getOutputFrontSeamGrp();
2436 OP_Utils::evalOpParm(result, thissop,
"outputfrontseamgrp", cookparms.
getCookTime(), 0);
2444 if (!thissop)
return getFrontSeamGrp();
2446 OP_Utils::evalOpParm(result, thissop,
"frontseamgrp", cookparms.
getCookTime(), 0);
2454 if (!thissop)
return getOutputBackSeamGrp();
2456 OP_Utils::evalOpParm(result, thissop,
"outputbackseamgrp", cookparms.
getCookTime(), 0);
2464 if (!thissop)
return getBackSeamGrp();
2466 OP_Utils::evalOpParm(result, thissop,
"backseamgrp", cookparms.
getCookTime(), 0);
2474 if (!thissop)
return getPreserveGroups();
2476 OP_Utils::evalOpParm(result, thissop,
"preservegroups", cookparms.
getCookTime(), 0);
2484 if (!thissop)
return getCopyEdgeGroups();
2486 OP_Utils::evalOpParm(result, thissop,
"copyedgegroups", cookparms.
getCookTime(), 0);
2494 if (!thissop)
return getLimitInset();
2496 OP_Utils::evalOpParm(result, thissop,
"limitinset", cookparms.
getCookTime(), 0);
2504 if (!thissop)
return getCommonLimit();
2506 OP_Utils::evalOpParm(result, thissop,
"commonlimit", cookparms.
getCookTime(), 0);
2514 if (!thissop)
return getAddVertexNormals();
2516 OP_Utils::evalOpParm(result, thissop,
"addvertexnomrals", cookparms.
getCookTime(), 0);
2524 if (!thissop)
return getCuspAngle();
2526 OP_Utils::evalOpParm(result, thissop,
"cuspangle", cookparms.
getCookTime(), 0);
2534 if (!thissop)
return getCuspFront();
2536 OP_Utils::evalOpParm(result, thissop,
"cuspfront", cookparms.
getCookTime(), 0);
2544 if (!thissop)
return getCuspBack();
2546 OP_Utils::evalOpParm(result, thissop,
"cuspback", cookparms.
getCookTime(), 0);
2554 if (!thissop)
return getGenUVs();
2556 OP_Utils::evalOpParm(result, thissop,
"genuvs", cookparms.
getCookTime(), 0);
2564 if (!thissop)
return getUVStyle();
2566 OP_Utils::evalOpParm(result, thissop,
"uvstyle", cookparms.
getCookTime(), 0);
2574 if (!thissop)
return getUVScaling();
2576 OP_Utils::evalOpParm(result, thissop,
"uvscaling", cookparms.
getCookTime(), 0);
2584 if (!thissop)
return getFrontMagnitude();
2586 OP_Utils::evalOpParm(result, thissop,
"frontmagnitude", cookparms.
getCookTime(), 0);
2594 if (!thissop)
return getBackMagnitude();
2596 OP_Utils::evalOpParm(result, thissop,
"backmagnitude", cookparms.
getCookTime(), 0);
2604 if (!thissop)
return getFrontStiffness();
2606 OP_Utils::evalOpParm(result, thissop,
"frontstiffness", cookparms.
getCookTime(), 0);
2614 if (!thissop)
return getBackStiffness();
2616 OP_Utils::evalOpParm(result, thissop,
"backstiffness", cookparms.
getCookTime(), 0);
2624 if (!thissop)
return getInterpolation();
2626 OP_Utils::evalOpParm(result, thissop,
"interpolation", cookparms.
getCookTime(), 0);
2634 if (!thissop)
return getSpacing();
2636 OP_Utils::evalOpParm(result, thissop,
"spacing", cookparms.
getCookTime(), 0);
2644 if (!thissop)
return getReverseSpineDirection();
2646 OP_Utils::evalOpParm(result, thissop,
"reversespinedirection", cookparms.
getCookTime(), 0);
2654 if (!thissop)
return getAxialRotation();
2656 OP_Utils::evalOpParm(result, thissop,
"axialrotation", cookparms.
getCookTime(), 0);
2664 if (!thissop)
return getFrontBlend();
2666 OP_Utils::evalOpParm(result, thissop,
"frontblend", cookparms.
getCookTime(), 0);
2674 if (!thissop)
return getBackBlend();
2676 OP_Utils::evalOpParm(result, thissop,
"backblend", cookparms.
getCookTime(), 0);
2684 if (!thissop)
return getThicknessScale();
2686 OP_Utils::evalOpParm(result, thissop,
"thicknessscale", cookparms.
getCookTime(), 0);
2694 if (!thissop)
return getUseThicknessAttrib();
2696 OP_Utils::evalOpParm(result, thissop,
"usethicknessattrib", cookparms.
getCookTime(), 0);
2704 if (!thissop)
return getThicknessAttrib();
2706 OP_Utils::evalOpParm(result, thissop,
"thicknessattrib", cookparms.
getCookTime(), 0);
2714 if (!thissop)
return getUseThicknessRamp();
2716 OP_Utils::evalOpParm(result, thissop,
"usethicknessramp", cookparms.
getCookTime(), 0);
2724 if (!thissop)
return getThicknessRamp();
2726 OP_Utils::evalOpParm(result, thissop,
"thicknessramp", cookparms.
getCookTime(), 0);
2734 if (!thissop)
return getUseTwistAttrib();
2736 OP_Utils::evalOpParm(result, thissop,
"usetwistattrib", cookparms.
getCookTime(), 0);
2744 if (!thissop)
return getTwistAttrib();
2746 OP_Utils::evalOpParm(result, thissop,
"twistattrib", cookparms.
getCookTime(), 0);
2754 if (!thissop)
return getUseTwistRamp();
2756 OP_Utils::evalOpParm(result, thissop,
"usetwistramp", cookparms.
getCookTime(), 0);
2764 if (!thissop)
return getTwistRamp();
2766 OP_Utils::evalOpParm(result, thissop,
"twistramp", cookparms.
getCookTime(), 0);
2774 if (!thissop)
return getTwistScale();
2776 OP_Utils::evalOpParm(result, thissop,
"twistscale", cookparms.
getCookTime(), 0);
2784 if (!thissop)
return getUseLocalZScaleAttrib();
2786 OP_Utils::evalOpParm(result, thissop,
"uselocalzscaleattrib", cookparms.
getCookTime(), 0);
2794 if (!thissop)
return getLocalZScaleAttrib();
2796 OP_Utils::evalOpParm(result, thissop,
"localzscaleattrib", cookparms.
getCookTime(), 0);
2804 if (!thissop)
return getUseLocalInsetScaleAttrib();
2806 OP_Utils::evalOpParm(result, thissop,
"uselocalinsetscaleattrib", cookparms.
getCookTime(), 0);
2814 if (!thissop)
return getLocalInsetScaleAttrib();
2816 OP_Utils::evalOpParm(result, thissop,
"localinsetscaleattrib", cookparms.
getCookTime(), 0);
2824 if (!thissop)
return getUseLocalTwistScaleAttrib();
2826 OP_Utils::evalOpParm(result, thissop,
"uselocaltwistattrib", cookparms.
getCookTime(), 0);
2834 if (!thissop)
return getLocalTwistScaleAttrib();
2836 OP_Utils::evalOpParm(result, thissop,
"localtwistscaleattrib", cookparms.
getCookTime(), 0);
2844 if (!thissop)
return getUseLocalDivScaleAttrib();
2846 OP_Utils::evalOpParm(result, thissop,
"uselocaldivsattrib", cookparms.
getCookTime(), 0);
2854 if (!thissop)
return getLocalDivScaleAttrib();
2856 OP_Utils::evalOpParm(result, thissop,
"locadivscaleattrib", cookparms.
getCookTime(), 0);
2864 if (!thissop)
return getUseLocalXAttrib();
2866 OP_Utils::evalOpParm(result, thissop,
"uselocalxattrib", cookparms.
getCookTime(), 0);
2874 if (!thissop)
return getLocalXAttrib();
2876 OP_Utils::evalOpParm(result, thissop,
"localxattrib", cookparms.
getCookTime(), 0);
2884 if (!thissop)
return getUseLocalZAttrib();
2886 OP_Utils::evalOpParm(result, thissop,
"uselocalzattirb", cookparms.
getCookTime(), 0);
2894 if (!thissop)
return getLocalZAttrib();
2896 OP_Utils::evalOpParm(result, thissop,
"localzattirb", cookparms.
getCookTime(), 0);
2904 if (!thissop)
return getUseLocalCtrAttrib();
2906 OP_Utils::evalOpParm(result, thissop,
"uselocalctrattrib", cookparms.
getCookTime(), 0);
2914 if (!thissop)
return getLocalCtrAttrib();
2916 OP_Utils::evalOpParm(result, thissop,
"localctrattrib", cookparms.
getCookTime(), 0);
2923 bool myUseSplitGroup;
2925 int64 myExtrusionMode;
2926 int64 myPtNormalSrc;
2936 int64 myRotateOrder;
2943 int64 myPreXformOrder;
2944 int64 myPreXformRotateOrder;
2950 bool myOutputFrontGrp;
2953 bool myOutputBackGrp;
2956 bool myOutputSideGrp;
2958 bool myOutputFrontSeamGrp;
2960 bool myOutputBackSeamGrp;
2962 bool myPreserveGroups;
2963 bool myCopyEdgeGroups;
2966 bool myAddVertexNormals;
2977 int64 myInterpolation;
2979 bool myReverseSpineDirection;
2984 bool myUseThicknessAttrib;
2986 bool myUseThicknessRamp;
2988 bool myUseTwistAttrib;
2990 bool myUseTwistRamp;
2993 bool myUseLocalZScaleAttrib;
2995 bool myUseLocalInsetScaleAttrib;
2997 bool myUseLocalTwistScaleAttrib;
2999 bool myUseLocalDivScaleAttrib;
3001 bool myUseLocalXAttrib;
3003 bool myUseLocalZAttrib;
3005 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 setCopyEdgeGroups(bool val)
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 getCopyEdgeGroups() 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)
bool opCopyEdgeGroups(const SOP_NodeVerb::CookParms &cookparms) const
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