23 namespace SOP_Sweep_2_0Enums
36 using namespace UT::Literal;
61 using namespace UT::Literal;
86 using namespace UT::Literal;
109 using namespace UT::Literal;
110 switch (enum_value) {
133 using namespace UT::Literal;
134 switch (enum_value) {
156 using namespace UT::Literal;
157 switch (enum_value) {
179 using namespace UT::Literal;
180 switch (enum_value) {
202 using namespace UT::Literal;
203 switch (enum_value) {
226 using namespace UT::Literal;
227 switch (enum_value) {
251 using namespace UT::Literal;
252 switch (enum_value) {
275 using namespace UT::Literal;
276 switch (enum_value) {
296 myCurveGroup =
""_UTsh;
297 myCrossSectionGroup =
""_UTsh;
304 myReverseCrossSections =
false;
305 myStretchAroundTurns =
true;
306 myMaxStretchAroundTurns = 10;
309 myTriangularPoles =
false;
312 myAddEndCapsGroup =
false;
313 myEndCapsGroup =
"endcaps"_UTsh;
314 myApplyScale =
false;
315 myScaleRamp =
UT_Ramp::buildFromDefault(
"1pos ( 0 ) 1value ( 1 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )");
322 myRollAttrib =
"roll"_UTsh;
327 myYawAttrib =
"yaw"_UTsh;
328 myApplyPitch =
false;
332 myPitchAttrib =
"pitch"_UTsh;
334 myCrossSectionAttrib =
"variant"_UTsh;
336 myUnrollClosedRowCol =
false;
337 mySwapRowCol =
false;
338 myCloseIfNoCurveInput =
false;
340 myContinuousClosed =
true;
341 myExtrapolateEndTangents =
false;
342 myTransformByAttribs =
true;
343 myComputeUVs =
false;
344 myOverrideExistingUVs =
false;
345 myLengthWeightedUVs =
true;
347 myNormalizeV =
false;
350 myUseMeshEdgeLengths =
true;
351 myPropScalePerCurve =
true;
354 myAttribsFromBackbone =
"* ^P ^N ^up ^pscale ^scale ^orient ^rot ^pivot ^trans ^transform"_UTsh;
355 myAttribsFromCrossSection =
"*"_UTsh;
356 myAddPointRow =
false;
357 myPtRowAttrib =
"ptrow"_UTsh;
358 myAddPointCol =
false;
359 myPtColAttrib =
"ptcol"_UTsh;
360 myAddPrimRow =
false;
361 myPrimRowAttrib =
"primrow"_UTsh;
362 myAddPrimCol =
false;
363 myPrimColAttrib =
"primcol"_UTsh;
364 myAddCrossSectionNum =
false;
365 myCrossSectionNumAttrib =
"crossnum"_UTsh;
366 myAddCurveNum =
false;
367 myCurveNumAttrib =
"curvenum"_UTsh;
369 myUpVectorAtStart =
true;
370 myUseEndUpVector =
false;
371 myUpVectorAttrib =
"start_up"_UTsh;
372 myEndUpVectorAttrib =
"end_up"_UTsh;
387 if (myCurveGroup != src.myCurveGroup)
return false;
388 if (myCrossSectionGroup != src.myCrossSectionGroup)
return false;
389 if (mySurfaceShape != src.mySurfaceShape)
return false;
390 if (mySurfaceType != src.mySurfaceType)
return false;
391 if (myScale != src.myScale)
return false;
392 if (myCols != src.myCols)
return false;
393 if (myRadius != src.myRadius)
return false;
394 if (myWidth != src.myWidth)
return false;
395 if (myReverseCrossSections != src.myReverseCrossSections)
return false;
396 if (myStretchAroundTurns != src.myStretchAroundTurns)
return false;
397 if (myMaxStretchAroundTurns != src.myMaxStretchAroundTurns)
return false;
398 if (myEndCapType != src.myEndCapType)
return false;
399 if (myCapDivs != src.myCapDivs)
return false;
400 if (myTriangularPoles != src.myTriangularPoles)
return false;
401 if (myCapScale != src.myCapScale)
return false;
402 if (myCapRoundness != src.myCapRoundness)
return false;
403 if (myAddEndCapsGroup != src.myAddEndCapsGroup)
return false;
404 if (myEndCapsGroup != src.myEndCapsGroup)
return false;
405 if (myApplyScale != src.myApplyScale)
return false;
406 if (myScaleRamp != src.myScaleRamp)
407 {
if (!myScaleRamp || !src.myScaleRamp || !(*myScaleRamp == *src.myScaleRamp))
return false; }
408 if (myROrd != src.myROrd)
return false;
409 if (myApplyRoll != src.myApplyRoll)
return false;
410 if (myRoll != src.myRoll)
return false;
411 if (myFullTwists != src.myFullTwists)
return false;
412 if (myIncRoll != src.myIncRoll)
return false;
413 if (myRollPer != src.myRollPer)
return false;
414 if (myRollAttrib != src.myRollAttrib)
return false;
415 if (myApplyYaw != src.myApplyYaw)
return false;
416 if (myYaw != src.myYaw)
return false;
417 if (myIncYaw != src.myIncYaw)
return false;
418 if (myYawPer != src.myYawPer)
return false;
419 if (myYawAttrib != src.myYawAttrib)
return false;
420 if (myApplyPitch != src.myApplyPitch)
return false;
421 if (myPitch != src.myPitch)
return false;
422 if (myIncPitch != src.myIncPitch)
return false;
423 if (myPitchPer != src.myPitchPer)
return false;
424 if (myPitchAttrib != src.myPitchAttrib)
return false;
425 if (myCopyOrder != src.myCopyOrder)
return false;
426 if (myCrossSectionAttrib != src.myCrossSectionAttrib)
return false;
427 if (myPrimType != src.myPrimType)
return false;
428 if (myUnrollClosedRowCol != src.myUnrollClosedRowCol)
return false;
429 if (mySwapRowCol != src.mySwapRowCol)
return false;
430 if (myCloseIfNoCurveInput != src.myCloseIfNoCurveInput)
return false;
431 if (myTangentType != src.myTangentType)
return false;
432 if (myContinuousClosed != src.myContinuousClosed)
return false;
433 if (myExtrapolateEndTangents != src.myExtrapolateEndTangents)
return false;
434 if (myTransformByAttribs != src.myTransformByAttribs)
return false;
435 if (myComputeUVs != src.myComputeUVs)
return false;
436 if (myOverrideExistingUVs != src.myOverrideExistingUVs)
return false;
437 if (myLengthWeightedUVs != src.myLengthWeightedUVs)
return false;
438 if (myNormalizeU != src.myNormalizeU)
return false;
439 if (myNormalizeV != src.myNormalizeV)
return false;
440 if (myFlipU != src.myFlipU)
return false;
441 if (myUVScale != src.myUVScale)
return false;
442 if (myUseMeshEdgeLengths != src.myUseMeshEdgeLengths)
return false;
443 if (myPropScalePerCurve != src.myPropScalePerCurve)
return false;
444 if (myWrapU != src.myWrapU)
return false;
445 if (myWrapV != src.myWrapV)
return false;
446 if (myAttribsFromBackbone != src.myAttribsFromBackbone)
return false;
447 if (myAttribsFromCrossSection != src.myAttribsFromCrossSection)
return false;
448 if (myAddPointRow != src.myAddPointRow)
return false;
449 if (myPtRowAttrib != src.myPtRowAttrib)
return false;
450 if (myAddPointCol != src.myAddPointCol)
return false;
451 if (myPtColAttrib != src.myPtColAttrib)
return false;
452 if (myAddPrimRow != src.myAddPrimRow)
return false;
453 if (myPrimRowAttrib != src.myPrimRowAttrib)
return false;
454 if (myAddPrimCol != src.myAddPrimCol)
return false;
455 if (myPrimColAttrib != src.myPrimColAttrib)
return false;
456 if (myAddCrossSectionNum != src.myAddCrossSectionNum)
return false;
457 if (myCrossSectionNumAttrib != src.myCrossSectionNumAttrib)
return false;
458 if (myAddCurveNum != src.myAddCurveNum)
return false;
459 if (myCurveNumAttrib != src.myCurveNumAttrib)
return false;
460 if (myUpVectorType != src.myUpVectorType)
return false;
461 if (myUpVectorAtStart != src.myUpVectorAtStart)
return false;
462 if (myUseEndUpVector != src.myUseEndUpVector)
return false;
463 if (myUpVectorAttrib != src.myUpVectorAttrib)
return false;
464 if (myEndUpVectorAttrib != src.myEndUpVectorAttrib)
return false;
465 if (myUpVector != src.myUpVector)
return false;
466 if (myEndUpVector != src.myEndUpVector)
return false;
493 myCurveGroup =
""_UTsh;
495 graph->
evalOpParm(myCurveGroup, nodeidx,
"curvegroup", time, graph->
isDirect()?
nullptr:depnode);
496 myCrossSectionGroup =
""_UTsh;
498 graph->
evalOpParm(myCrossSectionGroup, nodeidx,
"crosssectiongroup", time, graph->
isDirect()?
nullptr:depnode);
501 graph->
evalOpParm(mySurfaceShape, nodeidx,
"surfaceshape", time, graph->
isDirect()?
nullptr:depnode);
504 graph->
evalOpParm(mySurfaceType, nodeidx,
"surfacetype", time, graph->
isDirect()?
nullptr:depnode);
506 if (
true && ( (
true&&!(((
int64(getSurfaceShape())!=0))||((
int64(getSurfaceShape())!=0)))) ) )
507 graph->
evalOpParm(myScale, nodeidx,
"scale", time, graph->
isDirect()?
nullptr:depnode);
509 if (
true && ( (
true&&!(((
int64(getSurfaceShape())==0))||((
int64(getSurfaceShape())==0)))) ) )
512 if (
true && ( (
true&&!(((
int64(getSurfaceShape())!=1))||((
int64(getSurfaceShape())!=1)))) ) )
513 graph->
evalOpParm(myRadius, nodeidx,
"radius", time, graph->
isDirect()?
nullptr:depnode);
515 if (
true && ( (
true&&!(((
int64(getSurfaceShape())!=3)&&(
int64(getSurfaceShape())!=2))||((
int64(getSurfaceShape())!=3)&&(
int64(getSurfaceShape())!=2)))) ) )
516 graph->
evalOpParm(myWidth, nodeidx,
"width", time, graph->
isDirect()?
nullptr:depnode);
517 myReverseCrossSections =
false;
519 graph->
evalOpParm(myReverseCrossSections, nodeidx,
"reversecrosssections", time, graph->
isDirect()?
nullptr:depnode);
520 myStretchAroundTurns =
true;
522 graph->
evalOpParm(myStretchAroundTurns, nodeidx,
"stretcharoundturns", time, graph->
isDirect()?
nullptr:depnode);
523 myMaxStretchAroundTurns = 10;
524 if (
true && ( (
true&&!(((getStretchAroundTurns()==0)))) ) )
525 graph->
evalOpParm(myMaxStretchAroundTurns, nodeidx,
"maxstretcharoundturns", time, graph->
isDirect()?
nullptr:depnode);
528 graph->
evalOpParm(myEndCapType, nodeidx,
"endcaptype", time, graph->
isDirect()?
nullptr:depnode);
530 if (
true && ( (
true&&!(((
int64(getEndCapType())==0))||((
int64(getEndCapType())==1))||((
int64(getEndCapType())==3))||((
int64(getEndCapType())==0))||((
int64(getEndCapType())==1))||((
int64(getEndCapType())==3)))) ) )
531 graph->
evalOpParm(myCapDivs, nodeidx,
"capdivs", time, graph->
isDirect()?
nullptr:depnode);
532 myTriangularPoles =
false;
533 if (
true && ( (
true&&!(((
int64(getEndCapType())==0))||((
int64(getEndCapType())==1))||((
int64(getEndCapType())==3))||((
int64(getEndCapType())==0))||((
int64(getEndCapType())==1))||((
int64(getEndCapType())==3)))) ) )
534 graph->
evalOpParm(myTriangularPoles, nodeidx,
"triangularpoles", time, graph->
isDirect()?
nullptr:depnode);
536 if (
true && ( (
true&&!(((
int64(getEndCapType())==0))||((
int64(getEndCapType())==1))||((
int64(getEndCapType())==3))||((
int64(getEndCapType())==0))||((
int64(getEndCapType())==1))||((
int64(getEndCapType())==3)))) ) )
537 graph->
evalOpParm(myCapScale, nodeidx,
"capscale", time, graph->
isDirect()?
nullptr:depnode);
539 if (
true && ( (
true&&!(((
int64(getEndCapType())==0))||((
int64(getEndCapType())==1))||((
int64(getEndCapType())==3))||((
int64(getEndCapType())==0))||((
int64(getEndCapType())==1))||((
int64(getEndCapType())==3)))) ) )
540 graph->
evalOpParm(myCapRoundness, nodeidx,
"caproundness", time, graph->
isDirect()?
nullptr:depnode);
541 myAddEndCapsGroup =
false;
543 graph->
evalOpParm(myAddEndCapsGroup, nodeidx,
"addendcapsgroup", time, graph->
isDirect()?
nullptr:depnode);
544 myEndCapsGroup =
"endcaps"_UTsh;
545 if (
true && ( (
true&&!(((getAddEndCapsGroup()==0)))) ) )
546 graph->
evalOpParm(myEndCapsGroup, nodeidx,
"endcapsgroup", time, graph->
isDirect()?
nullptr:depnode);
547 myApplyScale =
false;
549 graph->
evalOpParm(myApplyScale, nodeidx,
"applyscale", time, graph->
isDirect()?
nullptr:depnode);
550 myScaleRamp =
UT_Ramp::buildFromDefault(
"1pos ( 0 ) 1value ( 1 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )");
551 if (
true && ( (
true&&!(((getApplyScale()==0)))) ) )
552 graph->
evalOpParm(myScaleRamp, nodeidx,
"scaleramp", time, graph->
isDirect()?
nullptr:depnode);
558 graph->
evalOpParm(myApplyRoll, nodeidx,
"applyroll", time, graph->
isDirect()?
nullptr:depnode);
560 if (
true && ( (
true&&!(((getApplyRoll()==0)))) ) )
563 if (
true && ( (
true&&!(((getApplyRoll()==0)))) ) )
564 graph->
evalOpParm(myFullTwists, nodeidx,
"fulltwists", time, graph->
isDirect()?
nullptr:depnode);
566 if (
true && ( (
true&&!(((getApplyRoll()==0)))) ) )
567 graph->
evalOpParm(myIncRoll, nodeidx,
"incroll", time, graph->
isDirect()?
nullptr:depnode);
569 if (
true && ( (
true&&!(((getApplyRoll()==0)))) ) )
570 graph->
evalOpParm(myRollPer, nodeidx,
"rollper", time, graph->
isDirect()?
nullptr:depnode);
571 myRollAttrib =
"roll"_UTsh;
572 if (
true && ( (
true&&!(((getApplyRoll()==0))||((getApplyRoll()==1)&&(
int64(getRollPer())!=2))||((getApplyRoll()==0))||((getApplyRoll()==1)&&(
int64(getRollPer())!=2)))) ) )
573 graph->
evalOpParm(myRollAttrib, nodeidx,
"rollattrib", time, graph->
isDirect()?
nullptr:depnode);
576 graph->
evalOpParm(myApplyYaw, nodeidx,
"applyyaw", time, graph->
isDirect()?
nullptr:depnode);
578 if (
true && ( (
true&&!(((getApplyYaw()==0)))) ) )
581 if (
true && ( (
true&&!(((getApplyYaw()==0)))) ) )
582 graph->
evalOpParm(myIncYaw, nodeidx,
"incyaw", time, graph->
isDirect()?
nullptr:depnode);
584 if (
true && ( (
true&&!(((getApplyYaw()==0)))) ) )
585 graph->
evalOpParm(myYawPer, nodeidx,
"yawper", time, graph->
isDirect()?
nullptr:depnode);
586 myYawAttrib =
"yaw"_UTsh;
587 if (
true && ( (
true&&!(((getApplyYaw()==0))||((getApplyYaw()==1)&&(
int64(getYawPer())!=2))||((getApplyYaw()==0))||((getApplyYaw()==1)&&(
int64(getYawPer())!=2)))) ) )
588 graph->
evalOpParm(myYawAttrib, nodeidx,
"yawattrib", time, graph->
isDirect()?
nullptr:depnode);
589 myApplyPitch =
false;
591 graph->
evalOpParm(myApplyPitch, nodeidx,
"applypitch", time, graph->
isDirect()?
nullptr:depnode);
593 if (
true && ( (
true&&!(((getApplyPitch()==0)))) ) )
594 graph->
evalOpParm(myPitch, nodeidx,
"pitch", time, graph->
isDirect()?
nullptr:depnode);
596 if (
true && ( (
true&&!(((getApplyPitch()==0)))) ) )
597 graph->
evalOpParm(myIncPitch, nodeidx,
"incpitch", time, graph->
isDirect()?
nullptr:depnode);
599 if (
true && ( (
true&&!(((getApplyPitch()==0)))) ) )
600 graph->
evalOpParm(myPitchPer, nodeidx,
"pitchper", time, graph->
isDirect()?
nullptr:depnode);
601 myPitchAttrib =
"pitch"_UTsh;
602 if (
true && ( (
true&&!(((getApplyPitch()==0))||((getApplyPitch()==1)&&(
int64(getPitchPer())!=2))||((getApplyPitch()==0))||((getApplyPitch()==1)&&(
int64(getPitchPer())!=2)))) ) )
603 graph->
evalOpParm(myPitchAttrib, nodeidx,
"pitchattrib", time, graph->
isDirect()?
nullptr:depnode);
605 if (
true && ( (
true&&!(((
int64(getSurfaceShape())!=0)))) ) )
606 graph->
evalOpParm(myCopyOrder, nodeidx,
"copyorder", time, graph->
isDirect()?
nullptr:depnode);
607 myCrossSectionAttrib =
"variant"_UTsh;
608 if (
true && ( (
true&&!(((
int64(getSurfaceShape())!=0))||((
int64(getCopyOrder())!=4))||((
int64(getSurfaceShape())!=0))||((
int64(getCopyOrder())!=4)))) ) )
609 graph->
evalOpParm(myCrossSectionAttrib, nodeidx,
"crosssectionattrib", time, graph->
isDirect()?
nullptr:depnode);
611 if (
true && ( (
true&&!(((
int64(getSurfaceType())==0)))) ) )
612 graph->
evalOpParm(myPrimType, nodeidx,
"primtype", time, graph->
isDirect()?
nullptr:depnode);
613 myUnrollClosedRowCol =
false;
614 if (
true && ( (
true&&!(((
int64(getSurfaceType())==0)))) ) )
615 graph->
evalOpParm(myUnrollClosedRowCol, nodeidx,
"unrollclosedrowcol", time, graph->
isDirect()?
nullptr:depnode);
616 mySwapRowCol =
false;
618 graph->
evalOpParm(mySwapRowCol, nodeidx,
"swaprowcol", time, graph->
isDirect()?
nullptr:depnode);
619 myCloseIfNoCurveInput =
false;
620 if (
true && ( (
true&&!(((
int64(getSurfaceType())==0))||((
int64(getSurfaceType())==1))||(((graph->
getInput(nodeidx,0)>=0)!=0)))) ) )
621 graph->
evalOpParm(myCloseIfNoCurveInput, nodeidx,
"closeifnocurveinput", time, graph->
isDirect()?
nullptr:depnode);
624 graph->
evalOpParm(myTangentType, nodeidx,
"tangenttype", time, graph->
isDirect()?
nullptr:depnode);
625 myContinuousClosed =
true;
626 if (
true && ( (
true&&!(((
int64(getTangentType())==4)))) ) )
627 graph->
evalOpParm(myContinuousClosed, nodeidx,
"continuousclosed", time, graph->
isDirect()?
nullptr:depnode);
628 myExtrapolateEndTangents =
false;
629 if (
true && ( (
true&&!(((
int64(getTangentType())==4)))) ) )
630 graph->
evalOpParm(myExtrapolateEndTangents, nodeidx,
"extrapolateendtangents", time, graph->
isDirect()?
nullptr:depnode);
631 myTransformByAttribs =
true;
633 graph->
evalOpParm(myTransformByAttribs, nodeidx,
"transformbyattribs", time, graph->
isDirect()?
nullptr:depnode);
634 myComputeUVs =
false;
636 graph->
evalOpParm(myComputeUVs, nodeidx,
"computeuvs", time, graph->
isDirect()?
nullptr:depnode);
637 myOverrideExistingUVs =
false;
638 if (
true && ( (
true&&!(((getComputeUVs()==0)))) ) )
639 graph->
evalOpParm(myOverrideExistingUVs, nodeidx,
"overrideexistinguvs", time, graph->
isDirect()?
nullptr:depnode);
640 myLengthWeightedUVs =
true;
641 if (
true && ( (
true&&!(((getComputeUVs()==0)))) ) )
642 graph->
evalOpParm(myLengthWeightedUVs, nodeidx,
"lengthweighteduvs", time, graph->
isDirect()?
nullptr:depnode);
644 if (
true && ( (
true&&!(((getComputeUVs()==0))||((getLengthWeightedUVs()==0)))) ) )
645 graph->
evalOpParm(myNormalizeU, nodeidx,
"normalizeu", time, graph->
isDirect()?
nullptr:depnode);
646 myNormalizeV =
false;
647 if (
true && ( (
true&&!(((getComputeUVs()==0))||((getLengthWeightedUVs()==0)))) ) )
648 graph->
evalOpParm(myNormalizeV, nodeidx,
"normalizev", time, graph->
isDirect()?
nullptr:depnode);
650 if (
true && ( (
true&&!(((getComputeUVs()==0)))) ) )
651 graph->
evalOpParm(myFlipU, nodeidx,
"flipu", time, graph->
isDirect()?
nullptr:depnode);
653 if (
true && ( (
true&&!(((getComputeUVs()==0)))) ) )
654 graph->
evalOpParm(myUVScale, nodeidx,
"uvscale", time, graph->
isDirect()?
nullptr:depnode);
655 myUseMeshEdgeLengths =
true;
656 if (
true && ( (
true&&!(((getComputeUVs()==0))||((getLengthWeightedUVs()==0)))) ) )
657 graph->
evalOpParm(myUseMeshEdgeLengths, nodeidx,
"usemeshedgelengths", time, graph->
isDirect()?
nullptr:depnode);
658 myPropScalePerCurve =
true;
659 if (
true && ( (
true&&!(((getComputeUVs()==0))||((getLengthWeightedUVs()==0))||((getNormalizeU()!=1))||((getNormalizeV()!=0)))) ) )
660 graph->
evalOpParm(myPropScalePerCurve, nodeidx,
"propscalepercurve", time, graph->
isDirect()?
nullptr:depnode);
662 if (
true && ( (
true&&!(((getComputeUVs()==0))||((getLengthWeightedUVs()==0))||((getNormalizeU()==1)))) ) )
663 graph->
evalOpParm(myWrapU, nodeidx,
"wrapu", time, graph->
isDirect()?
nullptr:depnode);
665 if (
true && ( (
true&&!(((getComputeUVs()==0))||((getLengthWeightedUVs()==0))||((getNormalizeV()==1)))) ) )
666 graph->
evalOpParm(myWrapV, nodeidx,
"wrapv", time, graph->
isDirect()?
nullptr:depnode);
667 myAttribsFromBackbone =
"* ^P ^N ^up ^pscale ^scale ^orient ^rot ^pivot ^trans ^transform"_UTsh;
669 graph->
evalOpParm(myAttribsFromBackbone, nodeidx,
"attribsfrombackbone", time, graph->
isDirect()?
nullptr:depnode);
670 myAttribsFromCrossSection =
"*"_UTsh;
672 graph->
evalOpParm(myAttribsFromCrossSection, nodeidx,
"attribsfromcrosssection", time, graph->
isDirect()?
nullptr:depnode);
673 myAddPointRow =
false;
675 graph->
evalOpParm(myAddPointRow, nodeidx,
"addptrow", time, graph->
isDirect()?
nullptr:depnode);
676 myPtRowAttrib =
"ptrow"_UTsh;
677 if (
true && ( (
true&&!(((getAddPointRow()==0)))) ) )
678 graph->
evalOpParm(myPtRowAttrib, nodeidx,
"ptrowattrib", time, graph->
isDirect()?
nullptr:depnode);
679 myAddPointCol =
false;
681 graph->
evalOpParm(myAddPointCol, nodeidx,
"addptcol", time, graph->
isDirect()?
nullptr:depnode);
682 myPtColAttrib =
"ptcol"_UTsh;
683 if (
true && ( (
true&&!(((getAddPointCol()==0)))) ) )
684 graph->
evalOpParm(myPtColAttrib, nodeidx,
"ptcolattrib", time, graph->
isDirect()?
nullptr:depnode);
685 myAddPrimRow =
false;
687 graph->
evalOpParm(myAddPrimRow, nodeidx,
"addprimrow", time, graph->
isDirect()?
nullptr:depnode);
688 myPrimRowAttrib =
"primrow"_UTsh;
689 if (
true && ( (
true&&!(((getAddPrimRow()==0)))) ) )
690 graph->
evalOpParm(myPrimRowAttrib, nodeidx,
"primrowattrib", time, graph->
isDirect()?
nullptr:depnode);
691 myAddPrimCol =
false;
693 graph->
evalOpParm(myAddPrimCol, nodeidx,
"addprimcol", time, graph->
isDirect()?
nullptr:depnode);
694 myPrimColAttrib =
"primcol"_UTsh;
695 if (
true && ( (
true&&!(((getAddPrimCol()==0)))) ) )
696 graph->
evalOpParm(myPrimColAttrib, nodeidx,
"primcolattrib", time, graph->
isDirect()?
nullptr:depnode);
697 myAddCrossSectionNum =
false;
699 graph->
evalOpParm(myAddCrossSectionNum, nodeidx,
"addcrosssectionnum", time, graph->
isDirect()?
nullptr:depnode);
700 myCrossSectionNumAttrib =
"crossnum"_UTsh;
701 if (
true && ( (
true&&!(((getAddCrossSectionNum()==0)))) ) )
702 graph->
evalOpParm(myCrossSectionNumAttrib, nodeidx,
"crosssectionnumattrib", time, graph->
isDirect()?
nullptr:depnode);
703 myAddCurveNum =
false;
705 graph->
evalOpParm(myAddCurveNum, nodeidx,
"addcurvenum", time, graph->
isDirect()?
nullptr:depnode);
706 myCurveNumAttrib =
"curvenum"_UTsh;
707 if (
true && ( (
true&&!(((getAddCurveNum()==0)))) ) )
708 graph->
evalOpParm(myCurveNumAttrib, nodeidx,
"curvenumattrib", time, graph->
isDirect()?
nullptr:depnode);
710 if (
true && ( (
true&&!(((
int64(getTangentType())==4)))) ) )
711 graph->
evalOpParm(myUpVectorType, nodeidx,
"upvectortype", time, graph->
isDirect()?
nullptr:depnode);
712 myUpVectorAtStart =
true;
713 if (
true && ( (
true&&!(((
int64(getTangentType())==4)))) ) )
714 graph->
evalOpParm(myUpVectorAtStart, nodeidx,
"upvectoratstart", time, graph->
isDirect()?
nullptr:depnode);
715 myUseEndUpVector =
false;
716 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((getUpVectorAtStart()==0)))) ) )
717 graph->
evalOpParm(myUseEndUpVector, nodeidx,
"useendupvector", time, graph->
isDirect()?
nullptr:depnode);
718 myUpVectorAttrib =
"start_up"_UTsh;
719 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=4))||((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=4)))) ) )
720 graph->
evalOpParm(myUpVectorAttrib, nodeidx,
"upvectorattrib", time, graph->
isDirect()?
nullptr:depnode);
721 myEndUpVectorAttrib =
"end_up"_UTsh;
722 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=4))||((getUseEndUpVector()==0))||((getUpVectorAtStart()==0))||((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=4))||((getUseEndUpVector()==0))||((getUpVectorAtStart()==0)))) ) )
723 graph->
evalOpParm(myEndUpVectorAttrib, nodeidx,
"endupvectorattrib", time, graph->
isDirect()?
nullptr:depnode);
725 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=5))||((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=5)))) ) )
726 graph->
evalOpParm(myUpVector, nodeidx,
"upvector", time, graph->
isDirect()?
nullptr:depnode);
728 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=5))||((getUseEndUpVector()==0))||((getUpVectorAtStart()==0))||((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=5))||((getUseEndUpVector()==0))||((getUpVectorAtStart()==0)))) ) )
729 graph->
evalOpParm(myEndUpVector, nodeidx,
"endupvector", time, graph->
isDirect()?
nullptr:depnode);
745 template <
typename T>
752 if (idx.
size() != instance.
size()+1)
757 coerceValue(value, myCurveGroup);
760 coerceValue(value, myCrossSectionGroup);
763 coerceValue(value, mySurfaceShape);
766 coerceValue(value, mySurfaceType);
769 coerceValue(value, myScale);
772 coerceValue(value, myCols);
775 coerceValue(value, myRadius);
778 coerceValue(value, myWidth);
781 coerceValue(value, myReverseCrossSections);
784 coerceValue(value, myStretchAroundTurns);
787 coerceValue(value, myMaxStretchAroundTurns);
790 coerceValue(value, myEndCapType);
793 coerceValue(value, myCapDivs);
796 coerceValue(value, myTriangularPoles);
799 coerceValue(value, myCapScale);
802 coerceValue(value, myCapRoundness);
805 coerceValue(value, myAddEndCapsGroup);
808 coerceValue(value, myEndCapsGroup);
811 coerceValue(value, myApplyScale);
814 coerceValue(value, myScaleRamp);
817 coerceValue(value, myROrd);
820 coerceValue(value, myApplyRoll);
823 coerceValue(value, myRoll);
826 coerceValue(value, myFullTwists);
829 coerceValue(value, myIncRoll);
832 coerceValue(value, myRollPer);
835 coerceValue(value, myRollAttrib);
838 coerceValue(value, myApplyYaw);
841 coerceValue(value, myYaw);
844 coerceValue(value, myIncYaw);
847 coerceValue(value, myYawPer);
850 coerceValue(value, myYawAttrib);
853 coerceValue(value, myApplyPitch);
856 coerceValue(value, myPitch);
859 coerceValue(value, myIncPitch);
862 coerceValue(value, myPitchPer);
865 coerceValue(value, myPitchAttrib);
868 coerceValue(value, myCopyOrder);
871 coerceValue(value, myCrossSectionAttrib);
874 coerceValue(value, myPrimType);
877 coerceValue(value, myUnrollClosedRowCol);
880 coerceValue(value, mySwapRowCol);
883 coerceValue(value, myCloseIfNoCurveInput);
886 coerceValue(value, myTangentType);
889 coerceValue(value, myContinuousClosed);
892 coerceValue(value, myExtrapolateEndTangents);
895 coerceValue(value, myTransformByAttribs);
898 coerceValue(value, myComputeUVs);
901 coerceValue(value, myOverrideExistingUVs);
904 coerceValue(value, myLengthWeightedUVs);
907 coerceValue(value, myNormalizeU);
910 coerceValue(value, myNormalizeV);
913 coerceValue(value, myFlipU);
916 coerceValue(value, myUVScale);
919 coerceValue(value, myUseMeshEdgeLengths);
922 coerceValue(value, myPropScalePerCurve);
925 coerceValue(value, myWrapU);
928 coerceValue(value, myWrapV);
931 coerceValue(value, myAttribsFromBackbone);
934 coerceValue(value, myAttribsFromCrossSection);
937 coerceValue(value, myAddPointRow);
940 coerceValue(value, myPtRowAttrib);
943 coerceValue(value, myAddPointCol);
946 coerceValue(value, myPtColAttrib);
949 coerceValue(value, myAddPrimRow);
952 coerceValue(value, myPrimRowAttrib);
955 coerceValue(value, myAddPrimCol);
958 coerceValue(value, myPrimColAttrib);
961 coerceValue(value, myAddCrossSectionNum);
964 coerceValue(value, myCrossSectionNumAttrib);
967 coerceValue(value, myAddCurveNum);
970 coerceValue(value, myCurveNumAttrib);
973 coerceValue(value, myUpVectorType);
976 coerceValue(value, myUpVectorAtStart);
979 coerceValue(value, myUseEndUpVector);
982 coerceValue(value, myUpVectorAttrib);
985 coerceValue(value, myEndUpVectorAttrib);
988 coerceValue(value, myUpVector);
991 coerceValue(value, myEndUpVector);
1007 { doGetParmValue(idx, instance, value); }
1009 { doGetParmValue(idx, instance, value); }
1011 { doGetParmValue(idx, instance, value); }
1013 { doGetParmValue(idx, instance, value); }
1015 { doGetParmValue(idx, instance, value); }
1017 { doGetParmValue(idx, instance, value); }
1019 { doGetParmValue(idx, instance, value); }
1021 { doGetParmValue(idx, instance, value); }
1023 { doGetParmValue(idx, instance, value); }
1025 { doGetParmValue(idx, instance, value); }
1027 { doGetParmValue(idx, instance, value); }
1029 template <
typename T>
1036 if (idx.
size() != instance.
size()+1)
1041 coerceValue(myCurveGroup, ( ( value ) ));
1044 coerceValue(myCrossSectionGroup, ( ( value ) ));
1047 coerceValue(mySurfaceShape, clampMinValue(0, clampMaxValue(3, value ) ));
1050 coerceValue(mySurfaceType, clampMinValue(0, clampMaxValue(7, value ) ));
1053 coerceValue(myScale, ( ( value ) ));
1056 coerceValue(myCols, clampMinValue(1, ( value ) ));
1059 coerceValue(myRadius, ( ( value ) ));
1062 coerceValue(myWidth, ( ( value ) ));
1065 coerceValue(myReverseCrossSections, ( ( value ) ));
1068 coerceValue(myStretchAroundTurns, ( ( value ) ));
1071 coerceValue(myMaxStretchAroundTurns, clampMinValue(1, ( value ) ));
1074 coerceValue(myEndCapType, clampMinValue(0, clampMaxValue(3, value ) ));
1077 coerceValue(myCapDivs, clampMinValue(1, ( value ) ));
1080 coerceValue(myTriangularPoles, ( ( value ) ));
1083 coerceValue(myCapScale, ( ( value ) ));
1086 coerceValue(myCapRoundness, ( ( value ) ));
1089 coerceValue(myAddEndCapsGroup, ( ( value ) ));
1092 coerceValue(myEndCapsGroup, ( ( value ) ));
1095 coerceValue(myApplyScale, ( ( value ) ));
1098 coerceValue(myScaleRamp, clampMinValue(0, ( value ) ));
1101 coerceValue(myROrd, clampMinValue(0, clampMaxValue(5, value ) ));
1104 coerceValue(myApplyRoll, ( ( value ) ));
1107 coerceValue(myRoll, ( ( value ) ));
1110 coerceValue(myFullTwists, ( ( value ) ));
1113 coerceValue(myIncRoll, ( ( value ) ));
1116 coerceValue(myRollPer, clampMinValue(0, clampMaxValue(4, value ) ));
1119 coerceValue(myRollAttrib, ( ( value ) ));
1122 coerceValue(myApplyYaw, ( ( value ) ));
1125 coerceValue(myYaw, ( ( value ) ));
1128 coerceValue(myIncYaw, ( ( value ) ));
1131 coerceValue(myYawPer, clampMinValue(0, clampMaxValue(4, value ) ));
1134 coerceValue(myYawAttrib, ( ( value ) ));
1137 coerceValue(myApplyPitch, ( ( value ) ));
1140 coerceValue(myPitch, ( ( value ) ));
1143 coerceValue(myIncPitch, ( ( value ) ));
1146 coerceValue(myPitchPer, clampMinValue(0, clampMaxValue(4, value ) ));
1149 coerceValue(myPitchAttrib, ( ( value ) ));
1152 coerceValue(myCopyOrder, clampMinValue(0, clampMaxValue(4, value ) ));
1155 coerceValue(myCrossSectionAttrib, ( ( value ) ));
1158 coerceValue(myPrimType, clampMinValue(0, clampMaxValue(5, value ) ));
1161 coerceValue(myUnrollClosedRowCol, ( ( value ) ));
1164 coerceValue(mySwapRowCol, ( ( value ) ));
1167 coerceValue(myCloseIfNoCurveInput, ( ( value ) ));
1170 coerceValue(myTangentType, clampMinValue(0, clampMaxValue(4, value ) ));
1173 coerceValue(myContinuousClosed, ( ( value ) ));
1176 coerceValue(myExtrapolateEndTangents, ( ( value ) ));
1179 coerceValue(myTransformByAttribs, ( ( value ) ));
1182 coerceValue(myComputeUVs, ( ( value ) ));
1185 coerceValue(myOverrideExistingUVs, ( ( value ) ));
1188 coerceValue(myLengthWeightedUVs, ( ( value ) ));
1191 coerceValue(myNormalizeU, ( ( value ) ));
1194 coerceValue(myNormalizeV, ( ( value ) ));
1197 coerceValue(myFlipU, ( ( value ) ));
1200 coerceValue(myUVScale, ( ( value ) ));
1203 coerceValue(myUseMeshEdgeLengths, ( ( value ) ));
1206 coerceValue(myPropScalePerCurve, ( ( value ) ));
1209 coerceValue(myWrapU, ( ( value ) ));
1212 coerceValue(myWrapV, ( ( value ) ));
1215 coerceValue(myAttribsFromBackbone, ( ( value ) ));
1218 coerceValue(myAttribsFromCrossSection, ( ( value ) ));
1221 coerceValue(myAddPointRow, ( ( value ) ));
1224 coerceValue(myPtRowAttrib, ( ( value ) ));
1227 coerceValue(myAddPointCol, ( ( value ) ));
1230 coerceValue(myPtColAttrib, ( ( value ) ));
1233 coerceValue(myAddPrimRow, ( ( value ) ));
1236 coerceValue(myPrimRowAttrib, ( ( value ) ));
1239 coerceValue(myAddPrimCol, ( ( value ) ));
1242 coerceValue(myPrimColAttrib, ( ( value ) ));
1245 coerceValue(myAddCrossSectionNum, ( ( value ) ));
1248 coerceValue(myCrossSectionNumAttrib, ( ( value ) ));
1251 coerceValue(myAddCurveNum, ( ( value ) ));
1254 coerceValue(myCurveNumAttrib, ( ( value ) ));
1257 coerceValue(myUpVectorType, clampMinValue(0, clampMaxValue(5, value ) ));
1260 coerceValue(myUpVectorAtStart, ( ( value ) ));
1263 coerceValue(myUseEndUpVector, ( ( value ) ));
1266 coerceValue(myUpVectorAttrib, ( ( value ) ));
1269 coerceValue(myEndUpVectorAttrib, ( ( value ) ));
1272 coerceValue(myUpVector, ( ( value ) ));
1275 coerceValue(myEndUpVector, ( ( value ) ));
1282 { doSetParmValue(idx, instance, value); }
1284 { doSetParmValue(idx, instance, value); }
1286 { doSetParmValue(idx, instance, value); }
1288 { doSetParmValue(idx, instance, value); }
1290 { doSetParmValue(idx, instance, value); }
1292 { doSetParmValue(idx, instance, value); }
1294 { doSetParmValue(idx, instance, value); }
1296 { doSetParmValue(idx, instance, value); }
1298 { doSetParmValue(idx, instance, value); }
1300 { doSetParmValue(idx, instance, value); }
1302 { doSetParmValue(idx, instance, value); }
1306 if (idx.
size() == 0)
1318 if (fieldnum.
size() < 1)
1320 switch (fieldnum[0])
1323 return "curvegroup";
1325 return "crosssectiongroup";
1327 return "surfaceshape";
1329 return "surfacetype";
1339 return "reversecrosssections";
1341 return "stretcharoundturns";
1343 return "maxstretcharoundturns";
1345 return "endcaptype";
1349 return "triangularpoles";
1353 return "caproundness";
1355 return "addendcapsgroup";
1357 return "endcapsgroup";
1359 return "applyscale";
1369 return "fulltwists";
1375 return "rollattrib";
1387 return "applypitch";
1395 return "pitchattrib";
1399 return "crosssectionattrib";
1403 return "unrollclosedrowcol";
1405 return "swaprowcol";
1407 return "closeifnocurveinput";
1409 return "tangenttype";
1411 return "continuousclosed";
1413 return "extrapolateendtangents";
1415 return "transformbyattribs";
1417 return "computeuvs";
1419 return "overrideexistinguvs";
1421 return "lengthweighteduvs";
1423 return "normalizeu";
1425 return "normalizev";
1431 return "usemeshedgelengths";
1433 return "propscalepercurve";
1439 return "attribsfrombackbone";
1441 return "attribsfromcrosssection";
1445 return "ptrowattrib";
1449 return "ptcolattrib";
1451 return "addprimrow";
1453 return "primrowattrib";
1455 return "addprimcol";
1457 return "primcolattrib";
1459 return "addcrosssectionnum";
1461 return "crosssectionnumattrib";
1463 return "addcurvenum";
1465 return "curvenumattrib";
1467 return "upvectortype";
1469 return "upvectoratstart";
1471 return "useendupvector";
1473 return "upvectorattrib";
1475 return "endupvectorattrib";
1479 return "endupvector";
1487 if (fieldnum.
size() < 1)
1488 return PARM_UNSUPPORTED;
1489 switch (fieldnum[0])
1496 return PARM_INTEGER;
1498 return PARM_INTEGER;
1502 return PARM_INTEGER;
1508 return PARM_INTEGER;
1510 return PARM_INTEGER;
1514 return PARM_INTEGER;
1516 return PARM_INTEGER;
1518 return PARM_INTEGER;
1524 return PARM_INTEGER;
1528 return PARM_INTEGER;
1532 return PARM_INTEGER;
1534 return PARM_INTEGER;
1538 return PARM_INTEGER;
1542 return PARM_INTEGER;
1546 return PARM_INTEGER;
1552 return PARM_INTEGER;
1556 return PARM_INTEGER;
1562 return PARM_INTEGER;
1566 return PARM_INTEGER;
1570 return PARM_INTEGER;
1572 return PARM_INTEGER;
1574 return PARM_INTEGER;
1576 return PARM_INTEGER;
1578 return PARM_INTEGER;
1580 return PARM_INTEGER;
1582 return PARM_INTEGER;
1584 return PARM_INTEGER;
1586 return PARM_INTEGER;
1588 return PARM_INTEGER;
1590 return PARM_INTEGER;
1592 return PARM_INTEGER;
1594 return PARM_INTEGER;
1596 return PARM_INTEGER;
1598 return PARM_VECTOR2;
1600 return PARM_INTEGER;
1602 return PARM_INTEGER;
1604 return PARM_INTEGER;
1606 return PARM_INTEGER;
1612 return PARM_INTEGER;
1616 return PARM_INTEGER;
1620 return PARM_INTEGER;
1624 return PARM_INTEGER;
1628 return PARM_INTEGER;
1632 return PARM_INTEGER;
1636 return PARM_INTEGER;
1638 return PARM_INTEGER;
1640 return PARM_INTEGER;
1646 return PARM_VECTOR3;
1648 return PARM_VECTOR3;
1651 return PARM_UNSUPPORTED;
1656 { is.
bread(&v, 1); }
1687 loadData(is, rampdata);
1705 int typelen = colon - data.
buffer();
1717 { UTwrite(os, &v); }
1719 {
int64 iv =
v; UTwrite(os, &iv); }
1721 { UTwrite<fpreal64>(os, &
v); }
1723 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1725 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1726 UTwrite<fpreal64>(os, &v.
z()); }
1728 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1729 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1741 if (s) s->save(ostr);
1742 result = ostr.
str();
1743 saveData(os, result);
1750 ostr << s->getDataTypeToken();
1752 s->saveBinary(ostr);
1754 result = ostr.
str();
1755 saveData(os, result);
1763 saveData(os, myCurveGroup);
1764 saveData(os, myCrossSectionGroup);
1765 saveData(os, mySurfaceShape);
1766 saveData(os, mySurfaceType);
1767 saveData(os, myScale);
1768 saveData(os, myCols);
1769 saveData(os, myRadius);
1770 saveData(os, myWidth);
1771 saveData(os, myReverseCrossSections);
1772 saveData(os, myStretchAroundTurns);
1773 saveData(os, myMaxStretchAroundTurns);
1774 saveData(os, myEndCapType);
1775 saveData(os, myCapDivs);
1776 saveData(os, myTriangularPoles);
1777 saveData(os, myCapScale);
1778 saveData(os, myCapRoundness);
1779 saveData(os, myAddEndCapsGroup);
1780 saveData(os, myEndCapsGroup);
1781 saveData(os, myApplyScale);
1782 saveData(os, myScaleRamp);
1783 saveData(os, myROrd);
1784 saveData(os, myApplyRoll);
1785 saveData(os, myRoll);
1786 saveData(os, myFullTwists);
1787 saveData(os, myIncRoll);
1788 saveData(os, myRollPer);
1789 saveData(os, myRollAttrib);
1790 saveData(os, myApplyYaw);
1791 saveData(os, myYaw);
1792 saveData(os, myIncYaw);
1793 saveData(os, myYawPer);
1794 saveData(os, myYawAttrib);
1795 saveData(os, myApplyPitch);
1796 saveData(os, myPitch);
1797 saveData(os, myIncPitch);
1798 saveData(os, myPitchPer);
1799 saveData(os, myPitchAttrib);
1800 saveData(os, myCopyOrder);
1801 saveData(os, myCrossSectionAttrib);
1802 saveData(os, myPrimType);
1803 saveData(os, myUnrollClosedRowCol);
1804 saveData(os, mySwapRowCol);
1805 saveData(os, myCloseIfNoCurveInput);
1806 saveData(os, myTangentType);
1807 saveData(os, myContinuousClosed);
1808 saveData(os, myExtrapolateEndTangents);
1809 saveData(os, myTransformByAttribs);
1810 saveData(os, myComputeUVs);
1811 saveData(os, myOverrideExistingUVs);
1812 saveData(os, myLengthWeightedUVs);
1813 saveData(os, myNormalizeU);
1814 saveData(os, myNormalizeV);
1815 saveData(os, myFlipU);
1816 saveData(os, myUVScale);
1817 saveData(os, myUseMeshEdgeLengths);
1818 saveData(os, myPropScalePerCurve);
1819 saveData(os, myWrapU);
1820 saveData(os, myWrapV);
1821 saveData(os, myAttribsFromBackbone);
1822 saveData(os, myAttribsFromCrossSection);
1823 saveData(os, myAddPointRow);
1824 saveData(os, myPtRowAttrib);
1825 saveData(os, myAddPointCol);
1826 saveData(os, myPtColAttrib);
1827 saveData(os, myAddPrimRow);
1828 saveData(os, myPrimRowAttrib);
1829 saveData(os, myAddPrimCol);
1830 saveData(os, myPrimColAttrib);
1831 saveData(os, myAddCrossSectionNum);
1832 saveData(os, myCrossSectionNumAttrib);
1833 saveData(os, myAddCurveNum);
1834 saveData(os, myCurveNumAttrib);
1835 saveData(os, myUpVectorType);
1836 saveData(os, myUpVectorAtStart);
1837 saveData(os, myUseEndUpVector);
1838 saveData(os, myUpVectorAttrib);
1839 saveData(os, myEndUpVectorAttrib);
1840 saveData(os, myUpVector);
1841 saveData(os, myEndUpVector);
1854 loadData(is, myCurveGroup);
1855 loadData(is, myCrossSectionGroup);
1856 loadData(is, mySurfaceShape);
1857 loadData(is, mySurfaceType);
1858 loadData(is, myScale);
1859 loadData(is, myCols);
1860 loadData(is, myRadius);
1861 loadData(is, myWidth);
1862 loadData(is, myReverseCrossSections);
1863 loadData(is, myStretchAroundTurns);
1864 loadData(is, myMaxStretchAroundTurns);
1865 loadData(is, myEndCapType);
1866 loadData(is, myCapDivs);
1867 loadData(is, myTriangularPoles);
1868 loadData(is, myCapScale);
1869 loadData(is, myCapRoundness);
1870 loadData(is, myAddEndCapsGroup);
1871 loadData(is, myEndCapsGroup);
1872 loadData(is, myApplyScale);
1873 loadData(is, myScaleRamp);
1874 loadData(is, myROrd);
1875 loadData(is, myApplyRoll);
1876 loadData(is, myRoll);
1877 loadData(is, myFullTwists);
1878 loadData(is, myIncRoll);
1879 loadData(is, myRollPer);
1880 loadData(is, myRollAttrib);
1881 loadData(is, myApplyYaw);
1882 loadData(is, myYaw);
1883 loadData(is, myIncYaw);
1884 loadData(is, myYawPer);
1885 loadData(is, myYawAttrib);
1886 loadData(is, myApplyPitch);
1887 loadData(is, myPitch);
1888 loadData(is, myIncPitch);
1889 loadData(is, myPitchPer);
1890 loadData(is, myPitchAttrib);
1891 loadData(is, myCopyOrder);
1892 loadData(is, myCrossSectionAttrib);
1893 loadData(is, myPrimType);
1894 loadData(is, myUnrollClosedRowCol);
1895 loadData(is, mySwapRowCol);
1896 loadData(is, myCloseIfNoCurveInput);
1897 loadData(is, myTangentType);
1898 loadData(is, myContinuousClosed);
1899 loadData(is, myExtrapolateEndTangents);
1900 loadData(is, myTransformByAttribs);
1901 loadData(is, myComputeUVs);
1902 loadData(is, myOverrideExistingUVs);
1903 loadData(is, myLengthWeightedUVs);
1904 loadData(is, myNormalizeU);
1905 loadData(is, myNormalizeV);
1906 loadData(is, myFlipU);
1907 loadData(is, myUVScale);
1908 loadData(is, myUseMeshEdgeLengths);
1909 loadData(is, myPropScalePerCurve);
1910 loadData(is, myWrapU);
1911 loadData(is, myWrapV);
1912 loadData(is, myAttribsFromBackbone);
1913 loadData(is, myAttribsFromCrossSection);
1914 loadData(is, myAddPointRow);
1915 loadData(is, myPtRowAttrib);
1916 loadData(is, myAddPointCol);
1917 loadData(is, myPtColAttrib);
1918 loadData(is, myAddPrimRow);
1919 loadData(is, myPrimRowAttrib);
1920 loadData(is, myAddPrimCol);
1921 loadData(is, myPrimColAttrib);
1922 loadData(is, myAddCrossSectionNum);
1923 loadData(is, myCrossSectionNumAttrib);
1924 loadData(is, myAddCurveNum);
1925 loadData(is, myCurveNumAttrib);
1926 loadData(is, myUpVectorType);
1927 loadData(is, myUpVectorAtStart);
1928 loadData(is, myUseEndUpVector);
1929 loadData(is, myUpVectorAttrib);
1930 loadData(is, myEndUpVectorAttrib);
1931 loadData(is, myUpVector);
1932 loadData(is, myEndUpVector);
1942 if (!thissop)
return getCurveGroup();
1944 OP_Utils::evalOpParm(result, thissop,
"curvegroup", cookparms.
getCookTime(), 0);
1952 if (!thissop)
return getCrossSectionGroup();
1954 OP_Utils::evalOpParm(result, thissop,
"crosssectiongroup", cookparms.
getCookTime(), 0);
1962 if (!thissop)
return getSurfaceShape();
1964 OP_Utils::evalOpParm(result, thissop,
"surfaceshape", cookparms.
getCookTime(), 0);
1972 if (!thissop)
return getSurfaceType();
1974 OP_Utils::evalOpParm(result, thissop,
"surfacetype", cookparms.
getCookTime(), 0);
1984 OP_Utils::evalOpParm(result, thissop,
"scale", cookparms.
getCookTime(), 0);
1992 if (!thissop)
return getCols();
1994 OP_Utils::evalOpParm(result, thissop,
"cols", cookparms.
getCookTime(), 0);
2002 if (!thissop)
return getRadius();
2004 OP_Utils::evalOpParm(result, thissop,
"radius", cookparms.
getCookTime(), 0);
2012 if (!thissop)
return getWidth();
2014 OP_Utils::evalOpParm(result, thissop,
"width", cookparms.
getCookTime(), 0);
2022 if (!thissop)
return getReverseCrossSections();
2024 OP_Utils::evalOpParm(result, thissop,
"reversecrosssections", cookparms.
getCookTime(), 0);
2032 if (!thissop)
return getStretchAroundTurns();
2034 OP_Utils::evalOpParm(result, thissop,
"stretcharoundturns", cookparms.
getCookTime(), 0);
2042 if (!thissop)
return getMaxStretchAroundTurns();
2044 OP_Utils::evalOpParm(result, thissop,
"maxstretcharoundturns", cookparms.
getCookTime(), 0);
2052 if (!thissop)
return getEndCapType();
2054 OP_Utils::evalOpParm(result, thissop,
"endcaptype", cookparms.
getCookTime(), 0);
2062 if (!thissop)
return getCapDivs();
2064 OP_Utils::evalOpParm(result, thissop,
"capdivs", cookparms.
getCookTime(), 0);
2072 if (!thissop)
return getTriangularPoles();
2074 OP_Utils::evalOpParm(result, thissop,
"triangularpoles", cookparms.
getCookTime(), 0);
2082 if (!thissop)
return getCapScale();
2084 OP_Utils::evalOpParm(result, thissop,
"capscale", cookparms.
getCookTime(), 0);
2092 if (!thissop)
return getCapRoundness();
2094 OP_Utils::evalOpParm(result, thissop,
"caproundness", cookparms.
getCookTime(), 0);
2102 if (!thissop)
return getAddEndCapsGroup();
2104 OP_Utils::evalOpParm(result, thissop,
"addendcapsgroup", cookparms.
getCookTime(), 0);
2112 if (!thissop)
return getEndCapsGroup();
2114 OP_Utils::evalOpParm(result, thissop,
"endcapsgroup", cookparms.
getCookTime(), 0);
2122 if (!thissop)
return getApplyScale();
2124 OP_Utils::evalOpParm(result, thissop,
"applyscale", cookparms.
getCookTime(), 0);
2132 if (!thissop)
return getScaleRamp();
2134 OP_Utils::evalOpParm(result, thissop,
"scaleramp", cookparms.
getCookTime(), 0);
2142 if (!thissop)
return getROrd();
2144 OP_Utils::evalOpParm(result, thissop,
"rOrd", cookparms.
getCookTime(), 0);
2145 return ROrd(result);
2152 if (!thissop)
return getApplyRoll();
2154 OP_Utils::evalOpParm(result, thissop,
"applyroll", cookparms.
getCookTime(), 0);
2162 if (!thissop)
return getRoll();
2164 OP_Utils::evalOpParm(result, thissop,
"roll", cookparms.
getCookTime(), 0);
2172 if (!thissop)
return getFullTwists();
2174 OP_Utils::evalOpParm(result, thissop,
"fulltwists", cookparms.
getCookTime(), 0);
2182 if (!thissop)
return getIncRoll();
2184 OP_Utils::evalOpParm(result, thissop,
"incroll", cookparms.
getCookTime(), 0);
2192 if (!thissop)
return getRollPer();
2194 OP_Utils::evalOpParm(result, thissop,
"rollper", cookparms.
getCookTime(), 0);
2202 if (!thissop)
return getRollAttrib();
2204 OP_Utils::evalOpParm(result, thissop,
"rollattrib", cookparms.
getCookTime(), 0);
2212 if (!thissop)
return getApplyYaw();
2214 OP_Utils::evalOpParm(result, thissop,
"applyyaw", cookparms.
getCookTime(), 0);
2222 if (!thissop)
return getYaw();
2224 OP_Utils::evalOpParm(result, thissop,
"yaw", cookparms.
getCookTime(), 0);
2232 if (!thissop)
return getIncYaw();
2234 OP_Utils::evalOpParm(result, thissop,
"incyaw", cookparms.
getCookTime(), 0);
2242 if (!thissop)
return getYawPer();
2244 OP_Utils::evalOpParm(result, thissop,
"yawper", cookparms.
getCookTime(), 0);
2252 if (!thissop)
return getYawAttrib();
2254 OP_Utils::evalOpParm(result, thissop,
"yawattrib", cookparms.
getCookTime(), 0);
2262 if (!thissop)
return getApplyPitch();
2264 OP_Utils::evalOpParm(result, thissop,
"applypitch", cookparms.
getCookTime(), 0);
2272 if (!thissop)
return getPitch();
2274 OP_Utils::evalOpParm(result, thissop,
"pitch", cookparms.
getCookTime(), 0);
2282 if (!thissop)
return getIncPitch();
2284 OP_Utils::evalOpParm(result, thissop,
"incpitch", cookparms.
getCookTime(), 0);
2292 if (!thissop)
return getPitchPer();
2294 OP_Utils::evalOpParm(result, thissop,
"pitchper", cookparms.
getCookTime(), 0);
2302 if (!thissop)
return getPitchAttrib();
2304 OP_Utils::evalOpParm(result, thissop,
"pitchattrib", cookparms.
getCookTime(), 0);
2312 if (!thissop)
return getCopyOrder();
2314 OP_Utils::evalOpParm(result, thissop,
"copyorder", cookparms.
getCookTime(), 0);
2322 if (!thissop)
return getCrossSectionAttrib();
2324 OP_Utils::evalOpParm(result, thissop,
"crosssectionattrib", cookparms.
getCookTime(), 0);
2334 OP_Utils::evalOpParm(result, thissop,
"primtype", cookparms.
getCookTime(), 0);
2342 if (!thissop)
return getUnrollClosedRowCol();
2344 OP_Utils::evalOpParm(result, thissop,
"unrollclosedrowcol", cookparms.
getCookTime(), 0);
2352 if (!thissop)
return getSwapRowCol();
2354 OP_Utils::evalOpParm(result, thissop,
"swaprowcol", cookparms.
getCookTime(), 0);
2362 if (!thissop)
return getCloseIfNoCurveInput();
2364 OP_Utils::evalOpParm(result, thissop,
"closeifnocurveinput", cookparms.
getCookTime(), 0);
2372 if (!thissop)
return getTangentType();
2374 OP_Utils::evalOpParm(result, thissop,
"tangenttype", cookparms.
getCookTime(), 0);
2382 if (!thissop)
return getContinuousClosed();
2384 OP_Utils::evalOpParm(result, thissop,
"continuousclosed", cookparms.
getCookTime(), 0);
2392 if (!thissop)
return getExtrapolateEndTangents();
2394 OP_Utils::evalOpParm(result, thissop,
"extrapolateendtangents", cookparms.
getCookTime(), 0);
2402 if (!thissop)
return getTransformByAttribs();
2404 OP_Utils::evalOpParm(result, thissop,
"transformbyattribs", cookparms.
getCookTime(), 0);
2412 if (!thissop)
return getComputeUVs();
2414 OP_Utils::evalOpParm(result, thissop,
"computeuvs", cookparms.
getCookTime(), 0);
2422 if (!thissop)
return getOverrideExistingUVs();
2424 OP_Utils::evalOpParm(result, thissop,
"overrideexistinguvs", cookparms.
getCookTime(), 0);
2432 if (!thissop)
return getLengthWeightedUVs();
2434 OP_Utils::evalOpParm(result, thissop,
"lengthweighteduvs", cookparms.
getCookTime(), 0);
2442 if (!thissop)
return getNormalizeU();
2444 OP_Utils::evalOpParm(result, thissop,
"normalizeu", cookparms.
getCookTime(), 0);
2452 if (!thissop)
return getNormalizeV();
2454 OP_Utils::evalOpParm(result, thissop,
"normalizev", cookparms.
getCookTime(), 0);
2462 if (!thissop)
return getFlipU();
2464 OP_Utils::evalOpParm(result, thissop,
"flipu", cookparms.
getCookTime(), 0);
2472 if (!thissop)
return getUVScale();
2474 OP_Utils::evalOpParm(result, thissop,
"uvscale", cookparms.
getCookTime(), 0);
2482 if (!thissop)
return getUseMeshEdgeLengths();
2484 OP_Utils::evalOpParm(result, thissop,
"usemeshedgelengths", cookparms.
getCookTime(), 0);
2492 if (!thissop)
return getPropScalePerCurve();
2494 OP_Utils::evalOpParm(result, thissop,
"propscalepercurve", cookparms.
getCookTime(), 0);
2502 if (!thissop)
return getWrapU();
2504 OP_Utils::evalOpParm(result, thissop,
"wrapu", cookparms.
getCookTime(), 0);
2512 if (!thissop)
return getWrapV();
2514 OP_Utils::evalOpParm(result, thissop,
"wrapv", cookparms.
getCookTime(), 0);
2522 if (!thissop)
return getAttribsFromBackbone();
2524 OP_Utils::evalOpParm(result, thissop,
"attribsfrombackbone", cookparms.
getCookTime(), 0);
2532 if (!thissop)
return getAttribsFromCrossSection();
2534 OP_Utils::evalOpParm(result, thissop,
"attribsfromcrosssection", cookparms.
getCookTime(), 0);
2542 if (!thissop)
return getAddPointRow();
2544 OP_Utils::evalOpParm(result, thissop,
"addptrow", cookparms.
getCookTime(), 0);
2552 if (!thissop)
return getPtRowAttrib();
2554 OP_Utils::evalOpParm(result, thissop,
"ptrowattrib", cookparms.
getCookTime(), 0);
2562 if (!thissop)
return getAddPointCol();
2564 OP_Utils::evalOpParm(result, thissop,
"addptcol", cookparms.
getCookTime(), 0);
2572 if (!thissop)
return getPtColAttrib();
2574 OP_Utils::evalOpParm(result, thissop,
"ptcolattrib", cookparms.
getCookTime(), 0);
2582 if (!thissop)
return getAddPrimRow();
2584 OP_Utils::evalOpParm(result, thissop,
"addprimrow", cookparms.
getCookTime(), 0);
2592 if (!thissop)
return getPrimRowAttrib();
2594 OP_Utils::evalOpParm(result, thissop,
"primrowattrib", cookparms.
getCookTime(), 0);
2602 if (!thissop)
return getAddPrimCol();
2604 OP_Utils::evalOpParm(result, thissop,
"addprimcol", cookparms.
getCookTime(), 0);
2612 if (!thissop)
return getPrimColAttrib();
2614 OP_Utils::evalOpParm(result, thissop,
"primcolattrib", cookparms.
getCookTime(), 0);
2622 if (!thissop)
return getAddCrossSectionNum();
2624 OP_Utils::evalOpParm(result, thissop,
"addcrosssectionnum", cookparms.
getCookTime(), 0);
2632 if (!thissop)
return getCrossSectionNumAttrib();
2634 OP_Utils::evalOpParm(result, thissop,
"crosssectionnumattrib", cookparms.
getCookTime(), 0);
2642 if (!thissop)
return getAddCurveNum();
2644 OP_Utils::evalOpParm(result, thissop,
"addcurvenum", cookparms.
getCookTime(), 0);
2652 if (!thissop)
return getCurveNumAttrib();
2654 OP_Utils::evalOpParm(result, thissop,
"curvenumattrib", cookparms.
getCookTime(), 0);
2662 if (!thissop)
return getUpVectorType();
2664 OP_Utils::evalOpParm(result, thissop,
"upvectortype", cookparms.
getCookTime(), 0);
2672 if (!thissop)
return getUpVectorAtStart();
2674 OP_Utils::evalOpParm(result, thissop,
"upvectoratstart", cookparms.
getCookTime(), 0);
2682 if (!thissop)
return getUseEndUpVector();
2684 OP_Utils::evalOpParm(result, thissop,
"useendupvector", cookparms.
getCookTime(), 0);
2692 if (!thissop)
return getUpVectorAttrib();
2694 OP_Utils::evalOpParm(result, thissop,
"upvectorattrib", cookparms.
getCookTime(), 0);
2702 if (!thissop)
return getEndUpVectorAttrib();
2704 OP_Utils::evalOpParm(result, thissop,
"endupvectorattrib", cookparms.
getCookTime(), 0);
2712 if (!thissop)
return getUpVector();
2714 OP_Utils::evalOpParm(result, thissop,
"upvector", cookparms.
getCookTime(), 0);
2722 if (!thissop)
return getEndUpVector();
2724 OP_Utils::evalOpParm(result, thissop,
"endupvector", cookparms.
getCookTime(), 0);
2731 int64 mySurfaceShape;
2732 int64 mySurfaceType;
2737 bool myReverseCrossSections;
2738 bool myStretchAroundTurns;
2742 bool myTriangularPoles;
2745 bool myAddEndCapsGroup;
2769 bool myUnrollClosedRowCol;
2771 bool myCloseIfNoCurveInput;
2772 int64 myTangentType;
2773 bool myContinuousClosed;
2774 bool myExtrapolateEndTangents;
2775 bool myTransformByAttribs;
2777 bool myOverrideExistingUVs;
2778 bool myLengthWeightedUVs;
2783 bool myUseMeshEdgeLengths;
2784 bool myPropScalePerCurve;
2797 bool myAddCrossSectionNum;
2801 int64 myUpVectorType;
2802 bool myUpVectorAtStart;
2803 bool myUseEndUpVector;
virtual NodeIdx getInput(NodeIdx idx, OP_InputIdx input, bool markused=false) const =0
const UT_StringHolder & getPitchAttrib() const
void setPropScalePerCurve(bool val)
fpreal64 getPitch() const
bool getPropScalePerCurve() const
void setComputeUVs(bool val)
bool getTransformByAttribs() const
bool getStretchAroundTurns() const
fpreal64 getRadius() const
fpreal64 getScale() const
const UT_StringHolder & getEndUpVectorAttrib() const
void setWidth(fpreal64 val)
bool getApplyRoll() const
UpVectorType getUpVectorType() const
static void loadData(UT_IStream &is, UT_Vector4I &v)
bool opAddPointCol(const SOP_NodeVerb::CookParms &cookparms) const
YawPer opYawPer(const SOP_NodeVerb::CookParms &cookparms) const
bool opPropScalePerCurve(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getIncPitch() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
bool getOverrideExistingUVs() const
SOP_Node * getNode() const
bool opNormalizeU(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getPtColAttrib() const
bool getNormalizeU() const
void setPitch(fpreal64 val)
static UT_SharedPtr< UT_Ramp > buildFromDefault(const char *def)
Returns a ramp constructed from the canonical default strings.
void setAddPrimCol(bool val)
static void saveData(std::ostream &os, UT_Vector4D v)
void setRadius(fpreal64 val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
bool opUnrollClosedRowCol(const SOP_NodeVerb::CookParms &cookparms) const
void setCrossSectionNumAttrib(const UT_StringHolder &val)
void setPtRowAttrib(const UT_StringHolder &val)
bool getUseEndUpVector() const
const UT_StringHolder & getCurveNumAttrib() const
void setTransformByAttribs(bool val)
fpreal64 opWidth(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getEndCapsGroup() const
fpreal64 opRoll(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix4D v)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
exint bread(int32 *buffer, exint asize=1)
PrimType opPrimType(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opCurveGroup(const SOP_NodeVerb::CookParms &cookparms) const
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
fpreal64 opIncPitch(const SOP_NodeVerb::CookParms &cookparms) const
void setUpVectorAtStart(bool val)
bool getUnrollClosedRowCol() const
void setPrimColAttrib(const UT_StringHolder &val)
UT_Vector2T< fpreal64 > UT_Vector2D
fpreal64 getWidth() const
UT_StringHolder opPrimColAttrib(const SOP_NodeVerb::CookParms &cookparms) const
UpVectorType opUpVectorType(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opRadius(const SOP_NodeVerb::CookParms &cookparms) const
GLsizei const GLfloat * value
exint getNestNumParms(TempIndex idx) const override
bool opApplyYaw(const SOP_NodeVerb::CookParms &cookparms) const
bool opAddPrimRow(const SOP_NodeVerb::CookParms &cookparms) const
bool opWrapV(const SOP_NodeVerb::CookParms &cookparms) const
void setRoll(fpreal64 val)
bool opComputeUVs(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opAttribsFromBackbone(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseEndUpVector(const SOP_NodeVerb::CookParms &cookparms) const
void setYaw(fpreal64 val)
const OP_Context & context() const
constexpr SYS_FORCE_INLINE T & z() noexcept
void setEndCapsGroup(const UT_StringHolder &val)
SYS_FORCE_INLINE const char * buffer() const
void setEndUpVectorAttrib(const UT_StringHolder &val)
void setTriangularPoles(bool val)
void setPrimRowAttrib(const UT_StringHolder &val)
void setCloseIfNoCurveInput(bool val)
void setAddCurveNum(bool val)
UT_Vector3D getEndUpVector() const
An output stream object that owns its own string buffer storage.
static void saveData(std::ostream &os, fpreal64 v)
static void saveData(std::ostream &os, PRM_DataItemHandle s)
bool getUpVectorAtStart() const
UT_StringHolder opUpVectorAttrib(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
const UT_StringHolder & getCurveGroup() const
void setUpVectorType(UpVectorType val)
bool getAddPointCol() const
**But if you need a result
void setOverrideExistingUVs(bool val)
void setAddPointRow(bool val)
static void loadData(UT_IStream &is, int64 &v)
static void saveData(std::ostream &os, bool v)
static void loadData(UT_IStream &is, UT_Vector2D &v)
void setSurfaceShape(SurfaceShape val)
ROrd opROrd(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opIncYaw(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
bool opCloseIfNoCurveInput(const SOP_NodeVerb::CookParms &cookparms) const
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
bool getContinuousClosed() const
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
const UT_StringHolder & getCrossSectionGroup() const
const UT_StringHolder & getRollAttrib() const
void setCapDivs(int64 val)
static void loadData(UT_IStream &is, fpreal64 &v)
const UT_StringHolder & getYawAttrib() const
void setPtColAttrib(const UT_StringHolder &val)
UT_StringHolder opCrossSectionAttrib(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & x() noexcept
fpreal64 opIncRoll(const SOP_NodeVerb::CookParms &cookparms) const
bool opLengthWeightedUVs(const SOP_NodeVerb::CookParms &cookparms) const
ParmType getNestParmType(TempIndex fieldnum) const override
bool getNormalizeV() const
void setMaxStretchAroundTurns(fpreal64 val)
bool getTriangularPoles() const
bool getAddCurveNum() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
void setUpVectorAttrib(const UT_StringHolder &val)
bool opSwapRowCol(const SOP_NodeVerb::CookParms &cookparms) const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
constexpr SYS_FORCE_INLINE T & x() noexcept
PrimType getPrimType() const
void setCrossSectionGroup(const UT_StringHolder &val)
void setAttribsFromCrossSection(const UT_StringHolder &val)
bool getUseMeshEdgeLengths() const
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
void setApplyYaw(bool val)
void setAddCrossSectionNum(bool val)
PitchPer opPitchPer(const SOP_NodeVerb::CookParms &cookparms) const
void loadFromOpSubclass(const LoadParms &loadparms) override
void setAddPointCol(bool val)
bool opAddCurveNum(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE UT_StringHolder getToken(SurfaceShape enum_value)
bool getExtrapolateEndTangents() const
static void loadData(UT_IStream &is, UT_Vector3I &v)
UT_SharedPtr< UT_Ramp > opScaleRamp(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getCapRoundness() const
SurfaceType getSurfaceType() const
void save(std::ostream &os) const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
bool opNormalizeV(const SOP_NodeVerb::CookParms &cookparms) const
void setRollAttrib(const UT_StringHolder &val)
bool getApplyScale() const
SurfaceShape getSurfaceShape() const
fpreal64 getMaxStretchAroundTurns() const
UT_StringHolder opCurveNumAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
void setFullTwists(int64 val)
const char * getNestParmName(TempIndex fieldnum) const override
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
const UT_StringHolder & getPtRowAttrib() const
constexpr SYS_FORCE_INLINE T & z() noexcept
bool getSwapRowCol() const
void setStretchAroundTurns(bool val)
void setCapRoundness(fpreal64 val)
static void loadData(UT_IStream &is, UT_StringHolder &v)
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
bool getAddPrimRow() const
void setUpVector(UT_Vector3D val)
void setAddPrimRow(bool val)
void copyFrom(const OP_NodeParms *src) override
fpreal64 opCapScale(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
bool getAddPrimCol() const
const OP_GraphProxy * graph() const
int64 opCols(const SOP_NodeVerb::CookParms &cookparms) const
bool opAddPrimCol(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opScale(const SOP_NodeVerb::CookParms &cookparms) const
void setReverseCrossSections(bool val)
void setApplyRoll(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
bool getComputeUVs() const
bool getAddEndCapsGroup() const
bool load(UT_IStream &is)
void setPitchAttrib(const UT_StringHolder &val)
void setNormalizeV(bool val)
UT_StringHolder opEndCapsGroup(const SOP_NodeVerb::CookParms &cookparms) const
EndCapType getEndCapType() const
void setScaleRamp(UT_SharedPtr< UT_Ramp > val)
void setScale(fpreal64 val)
void setCapScale(fpreal64 val)
void setAddEndCapsGroup(bool val)
void setPrimType(PrimType val)
void setIncPitch(fpreal64 val)
UT_Vector3T< fpreal64 > UT_Vector3D
UT_StringHolder opPitchAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
void setEndCapType(EndCapType val)
void setCrossSectionAttrib(const UT_StringHolder &val)
fpreal64 getIncYaw() const
static void loadData(UT_IStream &is, bool &v)
fpreal64 getCapScale() const
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
void setUseMeshEdgeLengths(bool val)
void setYawAttrib(const UT_StringHolder &val)
void setYawPer(YawPer val)
TangentType opTangentType(const SOP_NodeVerb::CookParms &cookparms) const
bool getReverseCrossSections() const
bool opAddPointRow(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3D &v)
void saveBinary(std::ostream &os) const
Save string to binary stream.
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
bool isParmColorRamp(exint idx) const override
bool getAddPointRow() const
bool getCloseIfNoCurveInput() const
const UT_StringHolder & getPrimColAttrib() const
GT_API const UT_StringHolder version
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
void setLengthWeightedUVs(bool val)
bool opOverrideExistingUVs(const SOP_NodeVerb::CookParms &cookparms) const
void setIncYaw(fpreal64 val)
static void saveData(std::ostream &os, UT_Vector2D v)
const UT_StringHolder & getAttribsFromBackbone() const
void setUnrollClosedRowCol(bool val)
bool opUpVectorAtStart(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix3D v)
void setRollPer(RollPer val)
bool opWrapU(const SOP_NodeVerb::CookParms &cookparms) const
void setPitchPer(PitchPer val)
UT_StringHolder opEndUpVectorAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setUVScale(UT_Vector2D val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
bool opApplyPitch(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const SOP_Sweep_2_0Parms &src) const
void setCurveGroup(const UT_StringHolder &val)
bool opAddEndCapsGroup(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opPrimRowAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
fpreal64 opPitch(const SOP_NodeVerb::CookParms &cookparms) const
DEP_MicroNode * depnode() const
UT_Vector3D opEndUpVector(const SOP_NodeVerb::CookParms &cookparms) const
void setTangentType(TangentType val)
bool getLengthWeightedUVs() const
LeafData & operator=(const LeafData &)=delete
void setApplyPitch(bool val)
UT_StringHolder opCrossSectionNumAttrib(const SOP_NodeVerb::CookParms &cookparms) const
Utility class for containing a color ramp.
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
void setAttribsFromBackbone(const UT_StringHolder &val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
static void loadData(UT_IStream &is, UT_Vector2I &v)
void setCopyOrder(CopyOrder val)
const UT_StringHolder & getCrossSectionAttrib() const
bool opApplyRoll(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getAttribsFromCrossSection() const
constexpr SYS_FORCE_INLINE T & w() noexcept
static void loadData(UT_IStream &is, UT_Vector4D &v)
int64 opCapDivs(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
virtual UT_StringHolder baseGetSignature() const
void setExtrapolateEndTangents(bool val)
Vec3< typename MatType::value_type > getScale(const MatType &mat)
Return a Vec3 representing the lengths of the passed matrix's upper 3×3's rows.
bool opReverseCrossSections(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opCapRoundness(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opYawAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
UT_StringHolder opPtColAttrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opPtRowAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
fpreal64 opYaw(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseMeshEdgeLengths(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opMaxStretchAroundTurns(const SOP_NodeVerb::CookParms &cookparms) const
bool opTriangularPoles(const SOP_NodeVerb::CookParms &cookparms) const
bool opStretchAroundTurns(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Vector3D v)
fpreal getCookTime() const
void setCurveNumAttrib(const UT_StringHolder &val)
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
bool getApplyPitch() const
void setApplyScale(bool val)
UT_StringHolder opCrossSectionGroup(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
bool opFlipU(const SOP_NodeVerb::CookParms &cookparms) const
const char * findChar(int c) const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
UT_SharedPtr< UT_Ramp > getScaleRamp() const
const UT_StringHolder & getCrossSectionNumAttrib() const
void setSurfaceType(SurfaceType val)
void setNormalizeU(bool val)
int64 getFullTwists() const
PitchPer getPitchPer() const
RollPer getRollPer() const
fpreal64 getIncRoll() const
EndCapType opEndCapType(const SOP_NodeVerb::CookParms &cookparms) const
void setEndUpVector(UT_Vector3D val)
void setSwapRowCol(bool val)
constexpr SYS_FORCE_INLINE T & y() noexcept
void setUseEndUpVector(bool val)
bool opApplyScale(const SOP_NodeVerb::CookParms &cookparms) const
CopyOrder opCopyOrder(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D getUVScale() const
void setIncRoll(fpreal64 val)
const UT_StringHolder & getPrimRowAttrib() const
virtual bool isDirect() const =0
Direct proxies mirror actual nodes:
UT_Vector3D getUpVector() const
CopyOrder getCopyOrder() const
static void saveData(std::ostream &os, UT_Matrix2D v)
bool opAddCrossSectionNum(const SOP_NodeVerb::CookParms &cookparms) const
int64 opFullTwists(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D opUpVector(const SOP_NodeVerb::CookParms &cookparms) const
GEO_API int getPrimType(const TypeMask &mask)
UT_StringHolder opAttribsFromCrossSection(const SOP_NodeVerb::CookParms &cookparms) const
bool getAddCrossSectionNum() const
UT_StringHolder opRollAttrib(const SOP_NodeVerb::CookParms &cookparms) const
SurfaceType opSurfaceType(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getUpVectorAttrib() const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
constexpr SYS_FORCE_INLINE T & y() noexcept
SYS_FORCE_INLINE bool isstring() const
bool opExtrapolateEndTangents(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D opUVScale(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
TangentType getTangentType() const
SurfaceShape opSurfaceShape(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_StringHolder s)
bool opTransformByAttribs(const SOP_NodeVerb::CookParms &cookparms) const
bool operator!=(const SOP_Sweep_2_0Parms &src) const
static void saveData(std::ostream &os, int64 v)
RollPer opRollPer(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & x() noexcept
void setContinuousClosed(bool val)
bool opContinuousClosed(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override