23 namespace SOP_UVFlatten_3_0Enums
34 using namespace UT::Literal;
51 using namespace UT::Literal;
68 using namespace UT::Literal;
102 if (usepin != src.
usepin)
return false;
103 if (primvert != src.
primvert)
return false;
104 if (pinuv != src.
pinuv)
return false;
105 if (pinrefuv != src.
pinrefuv)
return false;
121 for (
int i = 0; i < list.
entries(); i++)
127 buf.
appendSprintf(
"%s", (list(i).usepin) ?
"true" :
"false");
129 buf.
appendSprintf(
"(%f, %f)", list(i).primvert.x(), list(i).primvert.y());
131 buf.
appendSprintf(
"(%f, %f)", list(i).pinuv.x(), list(i).pinuv.y());
133 buf.
appendSprintf(
"(%f, %f)", list(i).pinrefuv.x(), list(i).pinrefuv.y());
151 align_enabled =
true;
152 align_group =
""_UTsh;
161 if (align_axis != src.
align_axis)
return false;
177 for (
int i = 0; i < list.
entries(); i++)
183 buf.
appendSprintf(
"%s", (list(i).align_enabled) ?
"true" :
"false");
204 straight_enabled =
true;
205 straight_group =
""_UTsh;
228 for (
int i = 0; i < list.
entries(); i++)
234 buf.
appendSprintf(
"%s", (list(i).straight_enabled) ?
"true" :
"false");
262 if (lprimvert != src.
lprimvert)
return false;
263 if (lpinuv != src.
lpinuv)
return false;
264 if (lpinrefuv != src.
lpinrefuv)
return false;
280 for (
int i = 0; i < list.
entries(); i++)
286 buf.
appendSprintf(
"(%f, %f)", list(i).lprimvert.x(), list(i).lprimvert.y());
288 buf.
appendSprintf(
"(%f, %f)", list(i).lpinuv.x(), list(i).lpinuv.y());
290 buf.
appendSprintf(
"(%f, %f)", list(i).lpinrefuv.x(), list(i).lpinrefuv.y());
307 lalign_group =
""_UTsh;
331 for (
int i = 0; i < list.
entries(); i++)
355 lstraight_group =
""_UTsh;
377 for (
int i = 0; i < list.
entries(); i++)
396 myUVAttrib =
"uv"_UTsh;
398 myKeepExistingSeams =
false;
399 myKeepExistingLayout =
false;
400 myPinBoundaries =
false;
402 myRectifyGroup =
""_UTsh;
405 myUseAlignments =
true;
406 myAlignments.setSize(0);
407 myUseStraightenings =
true;
408 myStraightenings.setSize(0);
409 myManualLayout =
true;
410 myLayoutSeams =
""_UTsh;
411 myLayoutRectifyGroup =
""_UTsh;
413 myLalignments.setSize(0);
414 myLstraightenings.setSize(0);
415 myUseOutputSeams =
false;
416 myOutputSeams =
"outputseams"_UTsh;
417 myUseOutputConstrIslands =
false;
418 myOutputConstrIslands =
"constrainedprims"_UTsh;
433 if (myGroup != src.myGroup)
return false;
434 if (myUVAttrib != src.myUVAttrib)
return false;
435 if (myMethod != src.myMethod)
return false;
436 if (myKeepExistingSeams != src.myKeepExistingSeams)
return false;
437 if (myKeepExistingLayout != src.myKeepExistingLayout)
return false;
438 if (myPinBoundaries != src.myPinBoundaries)
return false;
439 if (mySeams != src.mySeams)
return false;
440 if (myRectifyGroup != src.myRectifyGroup)
return false;
441 if (myUsePins != src.myUsePins)
return false;
442 if (myPins != src.myPins)
return false;
443 if (myUseAlignments != src.myUseAlignments)
return false;
444 if (myAlignments != src.myAlignments)
return false;
445 if (myUseStraightenings != src.myUseStraightenings)
return false;
446 if (myStraightenings != src.myStraightenings)
return false;
447 if (myManualLayout != src.myManualLayout)
return false;
448 if (myLayoutSeams != src.myLayoutSeams)
return false;
449 if (myLayoutRectifyGroup != src.myLayoutRectifyGroup)
return false;
450 if (myLpins != src.myLpins)
return false;
451 if (myLalignments != src.myLalignments)
return false;
452 if (myLstraightenings != src.myLstraightenings)
return false;
453 if (myUseOutputSeams != src.myUseOutputSeams)
return false;
454 if (myOutputSeams != src.myOutputSeams)
return false;
455 if (myUseOutputConstrIslands != src.myUseOutputConstrIslands)
return false;
456 if (myOutputConstrIslands != src.myOutputConstrIslands)
return false;
457 if (myBBoxCenter != src.myBBoxCenter)
return false;
458 if (myBBoxSize != src.myBBoxSize)
return false;
479 graph->
evalOpParm(myGroup, nodeidx,
"group", time, graph->
isDirect()?
nullptr:depnode);
480 myUVAttrib =
"uv"_UTsh;
482 graph->
evalOpParm(myUVAttrib, nodeidx,
"uvattrib", time, graph->
isDirect()?
nullptr:depnode);
485 graph->
evalOpParm(myMethod, nodeidx,
"method", time, graph->
isDirect()?
nullptr:depnode);
486 myKeepExistingSeams =
false;
488 graph->
evalOpParm(myKeepExistingSeams, nodeidx,
"keepexistingseams", time, graph->
isDirect()?
nullptr:depnode);
489 myKeepExistingLayout =
false;
490 if (
true && ( (
true&&!(((getKeepExistingSeams()==0)))) ) )
491 graph->
evalOpParm(myKeepExistingLayout, nodeidx,
"keepexistinglayout", time, graph->
isDirect()?
nullptr:depnode);
492 myPinBoundaries =
false;
493 if (
true && ( (
true&&!(((getKeepExistingSeams()==0))||((
int64(getMethod())!=0)))) ) )
494 graph->
evalOpParm(myPinBoundaries, nodeidx,
"pinboundaries", time, graph->
isDirect()?
nullptr:depnode);
497 graph->
evalOpParm(mySeams, nodeidx,
"seamgroup", time, graph->
isDirect()?
nullptr:depnode);
498 myRectifyGroup =
""_UTsh;
500 graph->
evalOpParm(myRectifyGroup, nodeidx,
"rectifygroup", time, graph->
isDirect()?
nullptr:depnode);
503 graph->
evalOpParm(myUsePins, nodeidx,
"usepins", time, graph->
isDirect()?
nullptr:depnode);
504 if (
true && ( (!(((getUsePins()==0)))) ) )
508 if (length < 0) length = 0;
509 myPins.setSize(length);
516 auto && _curentry = myPins(i);
518 _curentry.usepin =
true;
519 if (
true && ( (!(((getUsePins()==0)))) ) )
520 graph->
evalOpParmInst(_curentry.usepin, nodeidx,
"usepin#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
522 if (
true && ( (!(((getUsePins()==0)))) ) )
523 graph->
evalOpParmInst(_curentry.primvert, nodeidx,
"primvert#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
525 if (
true && ( (!(((getUsePins()==0)))) ) )
526 graph->
evalOpParmInst(_curentry.pinuv, nodeidx,
"pinuv#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
528 if (
true && ( (!(((getUsePins()==0)))) ) )
529 graph->
evalOpParmInst(_curentry.pinrefuv, nodeidx,
"pinrefuv#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
535 myUseAlignments =
true;
537 graph->
evalOpParm(myUseAlignments, nodeidx,
"usealignments", time, graph->
isDirect()?
nullptr:depnode);
538 if (
true && ( (!(((getUseAlignments()==0)))) ) )
541 graph->
evalOpParm(length, nodeidx,
"alignments", time, graph->
isDirect()?
nullptr:depnode);
542 if (length < 0) length = 0;
543 myAlignments.setSize(length);
550 auto && _curentry = myAlignments(i);
552 _curentry.align_enabled =
true;
553 if (
true && ( (!(((getUseAlignments()==0)))) ) )
554 graph->
evalOpParmInst(_curentry.align_enabled, nodeidx,
"align_enabled#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
555 _curentry.align_group =
""_UTsh;
556 if (
true && ( (!(((getUseAlignments()==0)))) ) )
557 graph->
evalOpParmInst(_curentry.align_group, nodeidx,
"align_group#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
558 _curentry.align_axis = 0;
559 if (
true && ( (!(((getUseAlignments()==0)))) ) )
560 graph->
evalOpParmInst(_curentry.align_axis, nodeidx,
"align_axis#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
565 myAlignments.clear();
566 myUseStraightenings =
true;
568 graph->
evalOpParm(myUseStraightenings, nodeidx,
"usestraightenings", time, graph->
isDirect()?
nullptr:depnode);
569 if (
true && ( (!(((getUseStraightenings()==0)))) ) )
572 graph->
evalOpParm(length, nodeidx,
"straightenings", time, graph->
isDirect()?
nullptr:depnode);
573 if (length < 0) length = 0;
574 myStraightenings.setSize(length);
581 auto && _curentry = myStraightenings(i);
583 _curentry.straight_enabled =
true;
584 if (
true && ( (!(((getUseStraightenings()==0)))) ) )
585 graph->
evalOpParmInst(_curentry.straight_enabled, nodeidx,
"straight_enabled#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
586 _curentry.straight_group =
""_UTsh;
587 if (
true && ( (!(((getUseStraightenings()==0)))) ) )
588 graph->
evalOpParmInst(_curentry.straight_group, nodeidx,
"straight_group#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
593 myStraightenings.clear();
594 myManualLayout =
true;
596 graph->
evalOpParm(myManualLayout, nodeidx,
"manuallayout", time, graph->
isDirect()?
nullptr:depnode);
597 myLayoutSeams =
""_UTsh;
598 if (
true && ( (
true&&!(((getManualLayout()==0)))) ) )
599 graph->
evalOpParm(myLayoutSeams, nodeidx,
"layoutseamgroup", time, graph->
isDirect()?
nullptr:depnode);
600 myLayoutRectifyGroup =
""_UTsh;
601 if (
true && ( (
true&&!(((getManualLayout()==0)))) ) )
602 graph->
evalOpParm(myLayoutRectifyGroup, nodeidx,
"layoutrectifygroup", time, graph->
isDirect()?
nullptr:depnode);
603 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) )
607 if (length < 0) length = 0;
608 myLpins.setSize(length);
615 auto && _curentry = myLpins(i);
618 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
619 graph->
evalOpParmInst(_curentry.lprimvert, nodeidx,
"lprimvert#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
621 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
622 graph->
evalOpParmInst(_curentry.lpinuv, nodeidx,
"lpinuv#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
624 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
625 graph->
evalOpParmInst(_curentry.lpinrefuv, nodeidx,
"lpinrefuv#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
631 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) )
634 graph->
evalOpParm(length, nodeidx,
"lalignments", time, graph->
isDirect()?
nullptr:depnode);
635 if (length < 0) length = 0;
636 myLalignments.setSize(length);
643 auto && _curentry = myLalignments(i);
645 _curentry.lalign_group =
""_UTsh;
646 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
647 graph->
evalOpParmInst(_curentry.lalign_group, nodeidx,
"lalign_group#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
648 _curentry.lalign_axis = 0;
649 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
650 graph->
evalOpParmInst(_curentry.lalign_axis, nodeidx,
"lalign_axis#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
655 myLalignments.clear();
656 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) )
659 graph->
evalOpParm(length, nodeidx,
"lstraightenings", time, graph->
isDirect()?
nullptr:depnode);
660 if (length < 0) length = 0;
661 myLstraightenings.setSize(length);
668 auto && _curentry = myLstraightenings(i);
670 _curentry.lstraight_group =
""_UTsh;
671 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
672 graph->
evalOpParmInst(_curentry.lstraight_group, nodeidx,
"lstraight_group#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
677 myLstraightenings.clear();
678 myUseOutputSeams =
false;
680 graph->
evalOpParm(myUseOutputSeams, nodeidx,
"useoutputseams", time, graph->
isDirect()?
nullptr:depnode);
681 myOutputSeams =
"outputseams"_UTsh;
682 if (
true && ( (
true&&!(((getUseOutputSeams()==0)))) ) )
683 graph->
evalOpParm(myOutputSeams, nodeidx,
"outputseams", time, graph->
isDirect()?
nullptr:depnode);
684 myUseOutputConstrIslands =
false;
686 graph->
evalOpParm(myUseOutputConstrIslands, nodeidx,
"useoutputconstrislands", time, graph->
isDirect()?
nullptr:depnode);
687 myOutputConstrIslands =
"constrainedprims"_UTsh;
688 if (
true && ( (
true&&!(((getUseOutputConstrIslands()==0)))) ) )
689 graph->
evalOpParm(myOutputConstrIslands, nodeidx,
"outputconstrislands", time, graph->
isDirect()?
nullptr:depnode);
692 graph->
evalOpParm(myBBoxCenter, nodeidx,
"bboxcenter", time, graph->
isDirect()?
nullptr:depnode);
695 graph->
evalOpParm(myBBoxSize, nodeidx,
"bboxsize", time, graph->
isDirect()?
nullptr:depnode);
711 template <
typename T>
718 if (idx.
size() != instance.
size()+1)
723 coerceValue(value, myGroup);
726 coerceValue(value, myUVAttrib);
729 coerceValue(value, myMethod);
732 coerceValue(value, myKeepExistingSeams);
735 coerceValue(value, myKeepExistingLayout);
738 coerceValue(value, myPinBoundaries);
741 coerceValue(value, mySeams);
744 coerceValue(value, myRectifyGroup);
747 coerceValue(value, myUsePins);
751 coerceValue(value, myPins.entries());
752 else if (instance[0] < myPins.entries())
754 auto && _data = myPins(instance[0]);
758 coerceValue(value, _data.usepin);
761 coerceValue(value, _data.primvert);
764 coerceValue(value, _data.pinuv);
767 coerceValue(value, _data.pinrefuv);
774 coerceValue(value, myUseAlignments);
778 coerceValue(value, myAlignments.entries());
779 else if (instance[0] < myAlignments.entries())
781 auto && _data = myAlignments(instance[0]);
785 coerceValue(value, _data.align_enabled);
788 coerceValue(value, _data.align_group);
791 coerceValue(value, _data.align_axis);
798 coerceValue(value, myUseStraightenings);
802 coerceValue(value, myStraightenings.entries());
803 else if (instance[0] < myStraightenings.entries())
805 auto && _data = myStraightenings(instance[0]);
809 coerceValue(value, _data.straight_enabled);
812 coerceValue(value, _data.straight_group);
819 coerceValue(value, myManualLayout);
822 coerceValue(value, myLayoutSeams);
825 coerceValue(value, myLayoutRectifyGroup);
829 coerceValue(value, myLpins.entries());
830 else if (instance[0] < myLpins.entries())
832 auto && _data = myLpins(instance[0]);
836 coerceValue(value, _data.lprimvert);
839 coerceValue(value, _data.lpinuv);
842 coerceValue(value, _data.lpinrefuv);
850 coerceValue(value, myLalignments.entries());
851 else if (instance[0] < myLalignments.entries())
853 auto && _data = myLalignments(instance[0]);
857 coerceValue(value, _data.lalign_group);
860 coerceValue(value, _data.lalign_axis);
868 coerceValue(value, myLstraightenings.entries());
869 else if (instance[0] < myLstraightenings.entries())
871 auto && _data = myLstraightenings(instance[0]);
875 coerceValue(value, _data.lstraight_group);
882 coerceValue(value, myUseOutputSeams);
885 coerceValue(value, myOutputSeams);
888 coerceValue(value, myUseOutputConstrIslands);
891 coerceValue(value, myOutputConstrIslands);
894 coerceValue(value, myBBoxCenter);
897 coerceValue(value, myBBoxSize);
913 { doGetParmValue(idx, instance, value); }
915 { doGetParmValue(idx, instance, value); }
917 { doGetParmValue(idx, instance, value); }
919 { doGetParmValue(idx, instance, value); }
921 { doGetParmValue(idx, instance, value); }
923 { doGetParmValue(idx, instance, value); }
925 { doGetParmValue(idx, instance, value); }
927 { doGetParmValue(idx, instance, value); }
929 { doGetParmValue(idx, instance, value); }
931 { doGetParmValue(idx, instance, value); }
933 { doGetParmValue(idx, instance, value); }
935 template <
typename T>
942 if (idx.
size() != instance.
size()+1)
947 coerceValue(myGroup, ( ( value ) ));
950 coerceValue(myUVAttrib, ( ( value ) ));
953 coerceValue(myMethod, clampMinValue(0, clampMaxValue(1, value ) ));
956 coerceValue(myKeepExistingSeams, ( ( value ) ));
959 coerceValue(myKeepExistingLayout, ( ( value ) ));
962 coerceValue(myPinBoundaries, ( ( value ) ));
965 coerceValue(mySeams, ( ( value ) ));
968 coerceValue(myRectifyGroup, ( ( value ) ));
971 coerceValue(myUsePins, ( ( value ) ));
977 coerceValue(newsize, value);
978 if (newsize < 0) newsize = 0;
979 myPins.setSize(newsize);
985 myPins.setSizeIfNeeded(instance[0]+1);
986 auto && _data = myPins(instance[0]);
990 coerceValue(_data.usepin, value);
993 coerceValue(_data.primvert, value);
996 coerceValue(_data.pinuv, value);
999 coerceValue(_data.pinrefuv, value);
1006 coerceValue(myUseAlignments, ( ( value ) ));
1009 if (idx.
size() == 1)
1012 coerceValue(newsize, value);
1013 if (newsize < 0) newsize = 0;
1014 myAlignments.setSize(newsize);
1018 if (instance[0] < 0)
1020 myAlignments.setSizeIfNeeded(instance[0]+1);
1021 auto && _data = myAlignments(instance[0]);
1025 coerceValue(_data.align_enabled, value);
1028 coerceValue(_data.align_group, value);
1031 coerceValue(_data.align_axis, value);
1038 coerceValue(myUseStraightenings, ( ( value ) ));
1041 if (idx.
size() == 1)
1044 coerceValue(newsize, value);
1045 if (newsize < 0) newsize = 0;
1046 myStraightenings.setSize(newsize);
1050 if (instance[0] < 0)
1052 myStraightenings.setSizeIfNeeded(instance[0]+1);
1053 auto && _data = myStraightenings(instance[0]);
1057 coerceValue(_data.straight_enabled, value);
1060 coerceValue(_data.straight_group, value);
1067 coerceValue(myManualLayout, ( ( value ) ));
1070 coerceValue(myLayoutSeams, ( ( value ) ));
1073 coerceValue(myLayoutRectifyGroup, ( ( value ) ));
1076 if (idx.
size() == 1)
1079 coerceValue(newsize, value);
1080 if (newsize < 0) newsize = 0;
1081 myLpins.setSize(newsize);
1085 if (instance[0] < 0)
1087 myLpins.setSizeIfNeeded(instance[0]+1);
1088 auto && _data = myLpins(instance[0]);
1092 coerceValue(_data.lprimvert, value);
1095 coerceValue(_data.lpinuv, value);
1098 coerceValue(_data.lpinrefuv, value);
1105 if (idx.
size() == 1)
1108 coerceValue(newsize, value);
1109 if (newsize < 0) newsize = 0;
1110 myLalignments.setSize(newsize);
1114 if (instance[0] < 0)
1116 myLalignments.setSizeIfNeeded(instance[0]+1);
1117 auto && _data = myLalignments(instance[0]);
1121 coerceValue(_data.lalign_group, value);
1124 coerceValue(_data.lalign_axis, value);
1131 if (idx.
size() == 1)
1134 coerceValue(newsize, value);
1135 if (newsize < 0) newsize = 0;
1136 myLstraightenings.setSize(newsize);
1140 if (instance[0] < 0)
1142 myLstraightenings.setSizeIfNeeded(instance[0]+1);
1143 auto && _data = myLstraightenings(instance[0]);
1147 coerceValue(_data.lstraight_group, value);
1154 coerceValue(myUseOutputSeams, ( ( value ) ));
1157 coerceValue(myOutputSeams, ( ( value ) ));
1160 coerceValue(myUseOutputConstrIslands, ( ( value ) ));
1163 coerceValue(myOutputConstrIslands, ( ( value ) ));
1166 coerceValue(myBBoxCenter, ( ( value ) ));
1169 coerceValue(myBBoxSize, clampMinValue(0, ( value ) ));
1176 { doSetParmValue(idx, instance, value); }
1178 { doSetParmValue(idx, instance, value); }
1180 { doSetParmValue(idx, instance, value); }
1182 { doSetParmValue(idx, instance, value); }
1184 { doSetParmValue(idx, instance, value); }
1186 { doSetParmValue(idx, instance, value); }
1188 { doSetParmValue(idx, instance, value); }
1190 { doSetParmValue(idx, instance, value); }
1192 { doSetParmValue(idx, instance, value); }
1194 { doSetParmValue(idx, instance, value); }
1196 { doSetParmValue(idx, instance, value); }
1200 if (idx.
size() == 0)
1224 if (fieldnum.
size() < 1)
1226 switch (fieldnum[0])
1235 return "keepexistingseams";
1237 return "keepexistinglayout";
1239 return "pinboundaries";
1243 return "rectifygroup";
1247 if (fieldnum.
size() == 1)
1249 switch (fieldnum[1])
1263 return "usealignments";
1265 if (fieldnum.
size() == 1)
1266 return "alignments";
1267 switch (fieldnum[1])
1270 return "align_enabled#";
1272 return "align_group#";
1274 return "align_axis#";
1279 return "usestraightenings";
1281 if (fieldnum.
size() == 1)
1282 return "straightenings";
1283 switch (fieldnum[1])
1286 return "straight_enabled#";
1288 return "straight_group#";
1293 return "manuallayout";
1295 return "layoutseamgroup";
1297 return "layoutrectifygroup";
1299 if (fieldnum.
size() == 1)
1301 switch (fieldnum[1])
1304 return "lprimvert#";
1308 return "lpinrefuv#";
1313 if (fieldnum.
size() == 1)
1314 return "lalignments";
1315 switch (fieldnum[1])
1318 return "lalign_group#";
1320 return "lalign_axis#";
1325 if (fieldnum.
size() == 1)
1326 return "lstraightenings";
1327 switch (fieldnum[1])
1330 return "lstraight_group#";
1335 return "useoutputseams";
1337 return "outputseams";
1339 return "useoutputconstrislands";
1341 return "outputconstrislands";
1343 return "bboxcenter";
1353 if (fieldnum.
size() < 1)
1354 return PARM_UNSUPPORTED;
1355 switch (fieldnum[0])
1362 return PARM_INTEGER;
1364 return PARM_INTEGER;
1366 return PARM_INTEGER;
1368 return PARM_INTEGER;
1374 return PARM_INTEGER;
1376 if (fieldnum.
size() == 1)
1377 return PARM_MULTIPARM;
1378 switch (fieldnum[1])
1381 return PARM_INTEGER;
1383 return PARM_VECTOR2;
1385 return PARM_VECTOR2;
1387 return PARM_VECTOR2;
1390 return PARM_UNSUPPORTED;
1392 return PARM_INTEGER;
1394 if (fieldnum.
size() == 1)
1395 return PARM_MULTIPARM;
1396 switch (fieldnum[1])
1399 return PARM_INTEGER;
1403 return PARM_INTEGER;
1406 return PARM_UNSUPPORTED;
1408 return PARM_INTEGER;
1410 if (fieldnum.
size() == 1)
1411 return PARM_MULTIPARM;
1412 switch (fieldnum[1])
1415 return PARM_INTEGER;
1420 return PARM_UNSUPPORTED;
1422 return PARM_INTEGER;
1428 if (fieldnum.
size() == 1)
1429 return PARM_MULTIPARM;
1430 switch (fieldnum[1])
1433 return PARM_VECTOR2;
1435 return PARM_VECTOR2;
1437 return PARM_VECTOR2;
1440 return PARM_UNSUPPORTED;
1442 if (fieldnum.
size() == 1)
1443 return PARM_MULTIPARM;
1444 switch (fieldnum[1])
1449 return PARM_INTEGER;
1452 return PARM_UNSUPPORTED;
1454 if (fieldnum.
size() == 1)
1455 return PARM_MULTIPARM;
1456 switch (fieldnum[1])
1462 return PARM_UNSUPPORTED;
1464 return PARM_INTEGER;
1468 return PARM_INTEGER;
1472 return PARM_VECTOR2;
1474 return PARM_VECTOR2;
1477 return PARM_UNSUPPORTED;
1482 { is.
bread(&v, 1); }
1513 loadData(is, rampdata);
1531 int typelen = colon - data.
buffer();
1543 { UTwrite(os, &v); }
1545 {
int64 iv =
v; UTwrite(os, &iv); }
1547 { UTwrite<fpreal64>(os, &
v); }
1549 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1551 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1552 UTwrite<fpreal64>(os, &v.
z()); }
1554 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1555 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1567 if (s) s->save(ostr);
1568 result = ostr.
str();
1569 saveData(os, result);
1576 ostr << s->getDataTypeToken();
1578 s->saveBinary(ostr);
1580 result = ostr.
str();
1581 saveData(os, result);
1589 saveData(os, myGroup);
1590 saveData(os, myUVAttrib);
1591 saveData(os, myMethod);
1592 saveData(os, myKeepExistingSeams);
1593 saveData(os, myKeepExistingLayout);
1594 saveData(os, myPinBoundaries);
1595 saveData(os, mySeams);
1596 saveData(os, myRectifyGroup);
1597 saveData(os, myUsePins);
1600 UTwrite(os, &length);
1603 auto && _curentry = myPins(i);
1605 saveData(os, _curentry.usepin);
1606 saveData(os, _curentry.primvert);
1607 saveData(os, _curentry.pinuv);
1608 saveData(os, _curentry.pinrefuv);
1612 saveData(os, myUseAlignments);
1615 UTwrite(os, &length);
1618 auto && _curentry = myAlignments(i);
1620 saveData(os, _curentry.align_enabled);
1621 saveData(os, _curentry.align_group);
1622 saveData(os, _curentry.align_axis);
1626 saveData(os, myUseStraightenings);
1629 UTwrite(os, &length);
1632 auto && _curentry = myStraightenings(i);
1634 saveData(os, _curentry.straight_enabled);
1635 saveData(os, _curentry.straight_group);
1639 saveData(os, myManualLayout);
1640 saveData(os, myLayoutSeams);
1641 saveData(os, myLayoutRectifyGroup);
1644 UTwrite(os, &length);
1647 auto && _curentry = myLpins(i);
1649 saveData(os, _curentry.lprimvert);
1650 saveData(os, _curentry.lpinuv);
1651 saveData(os, _curentry.lpinrefuv);
1657 UTwrite(os, &length);
1660 auto && _curentry = myLalignments(i);
1662 saveData(os, _curentry.lalign_group);
1663 saveData(os, _curentry.lalign_axis);
1669 UTwrite(os, &length);
1672 auto && _curentry = myLstraightenings(i);
1674 saveData(os, _curentry.lstraight_group);
1678 saveData(os, myUseOutputSeams);
1679 saveData(os, myOutputSeams);
1680 saveData(os, myUseOutputConstrIslands);
1681 saveData(os, myOutputConstrIslands);
1682 saveData(os, myBBoxCenter);
1683 saveData(os, myBBoxSize);
1696 loadData(is, myGroup);
1697 loadData(is, myUVAttrib);
1698 loadData(is, myMethod);
1699 loadData(is, myKeepExistingSeams);
1700 loadData(is, myKeepExistingLayout);
1701 loadData(is, myPinBoundaries);
1702 loadData(is, mySeams);
1703 loadData(is, myRectifyGroup);
1704 loadData(is, myUsePins);
1707 is.
read(&length, 1);
1708 myPins.setSize(length);
1711 auto && _curentry = myPins(i);
1713 loadData(is, _curentry.usepin);
1714 loadData(is, _curentry.primvert);
1715 loadData(is, _curentry.pinuv);
1716 loadData(is, _curentry.pinrefuv);
1720 loadData(is, myUseAlignments);
1723 is.
read(&length, 1);
1724 myAlignments.setSize(length);
1727 auto && _curentry = myAlignments(i);
1729 loadData(is, _curentry.align_enabled);
1730 loadData(is, _curentry.align_group);
1731 loadData(is, _curentry.align_axis);
1735 loadData(is, myUseStraightenings);
1738 is.
read(&length, 1);
1739 myStraightenings.setSize(length);
1742 auto && _curentry = myStraightenings(i);
1744 loadData(is, _curentry.straight_enabled);
1745 loadData(is, _curentry.straight_group);
1749 loadData(is, myManualLayout);
1750 loadData(is, myLayoutSeams);
1751 loadData(is, myLayoutRectifyGroup);
1754 is.
read(&length, 1);
1755 myLpins.setSize(length);
1758 auto && _curentry = myLpins(i);
1760 loadData(is, _curentry.lprimvert);
1761 loadData(is, _curentry.lpinuv);
1762 loadData(is, _curentry.lpinrefuv);
1768 is.
read(&length, 1);
1769 myLalignments.setSize(length);
1772 auto && _curentry = myLalignments(i);
1774 loadData(is, _curentry.lalign_group);
1775 loadData(is, _curentry.lalign_axis);
1781 is.
read(&length, 1);
1782 myLstraightenings.setSize(length);
1785 auto && _curentry = myLstraightenings(i);
1787 loadData(is, _curentry.lstraight_group);
1791 loadData(is, myUseOutputSeams);
1792 loadData(is, myOutputSeams);
1793 loadData(is, myUseOutputConstrIslands);
1794 loadData(is, myOutputConstrIslands);
1795 loadData(is, myBBoxCenter);
1796 loadData(is, myBBoxSize);
1806 if (!thissop)
return getGroup();
1808 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
1816 if (!thissop)
return getUVAttrib();
1818 OP_Utils::evalOpParm(result, thissop,
"uvattrib", cookparms.
getCookTime(), 0);
1826 if (!thissop)
return getMethod();
1828 OP_Utils::evalOpParm(result, thissop,
"method", cookparms.
getCookTime(), 0);
1836 if (!thissop)
return getKeepExistingSeams();
1838 OP_Utils::evalOpParm(result, thissop,
"keepexistingseams", cookparms.
getCookTime(), 0);
1846 if (!thissop)
return getKeepExistingLayout();
1848 OP_Utils::evalOpParm(result, thissop,
"keepexistinglayout", cookparms.
getCookTime(), 0);
1856 if (!thissop)
return getPinBoundaries();
1858 OP_Utils::evalOpParm(result, thissop,
"pinboundaries", cookparms.
getCookTime(), 0);
1866 if (!thissop)
return getSeams();
1868 OP_Utils::evalOpParm(result, thissop,
"seamgroup", cookparms.
getCookTime(), 0);
1876 if (!thissop)
return getRectifyGroup();
1878 OP_Utils::evalOpParm(result, thissop,
"rectifygroup", cookparms.
getCookTime(), 0);
1886 if (!thissop)
return getUsePins();
1888 OP_Utils::evalOpParm(result, thissop,
"usepins", cookparms.
getCookTime(), 0);
1896 if (!thissop)
return getPins().entries();
1898 OP_Utils::evalOpParm(result, thissop,
"pins", cookparms.
getCookTime(), 0);
1902 {
return opinstPins_usepin(cookparms, &_idx); }
1906 if (!thissop)
return (myPins(_idx[0]).usepin);
1908 _parmidx[1-1] = _idx[1-1] + 0;
1911 OP_Utils::evalOpParmInst(result, thissop,
"usepin#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1915 {
return opinstPins_primvert(cookparms, &_idx); }
1919 if (!thissop)
return (myPins(_idx[0]).primvert);
1921 _parmidx[1-1] = _idx[1-1] + 0;
1924 OP_Utils::evalOpParmInst(result, thissop,
"primvert#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1928 {
return opinstPins_pinuv(cookparms, &_idx); }
1932 if (!thissop)
return (myPins(_idx[0]).pinuv);
1934 _parmidx[1-1] = _idx[1-1] + 0;
1937 OP_Utils::evalOpParmInst(result, thissop,
"pinuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1941 {
return opinstPins_pinrefuv(cookparms, &_idx); }
1945 if (!thissop)
return (myPins(_idx[0]).pinrefuv);
1947 _parmidx[1-1] = _idx[1-1] + 0;
1950 OP_Utils::evalOpParmInst(result, thissop,
"pinrefuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1959 if (!thissop)
return getUseAlignments();
1961 OP_Utils::evalOpParm(result, thissop,
"usealignments", cookparms.
getCookTime(), 0);
1969 if (!thissop)
return getAlignments().entries();
1971 OP_Utils::evalOpParm(result, thissop,
"alignments", cookparms.
getCookTime(), 0);
1975 {
return opinstAlignments_align_enabled(cookparms, &_idx); }
1979 if (!thissop)
return (myAlignments(_idx[0]).align_enabled);
1981 _parmidx[1-1] = _idx[1-1] + 0;
1984 OP_Utils::evalOpParmInst(result, thissop,
"align_enabled#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1988 {
return opinstAlignments_align_group(cookparms, &_idx); }
1992 if (!thissop)
return (myAlignments(_idx[0]).align_group);
1994 _parmidx[1-1] = _idx[1-1] + 0;
1997 OP_Utils::evalOpParmInst(result, thissop,
"align_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2001 {
return opinstAlignments_align_axis(cookparms, &_idx); }
2005 if (!thissop)
return (myAlignments(_idx[0]).align_axis);
2007 _parmidx[1-1] = _idx[1-1] + 0;
2010 OP_Utils::evalOpParmInst(result, thissop,
"align_axis#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2019 if (!thissop)
return getUseStraightenings();
2021 OP_Utils::evalOpParm(result, thissop,
"usestraightenings", cookparms.
getCookTime(), 0);
2029 if (!thissop)
return getStraightenings().entries();
2031 OP_Utils::evalOpParm(result, thissop,
"straightenings", cookparms.
getCookTime(), 0);
2035 {
return opinstStraightenings_straight_enabled(cookparms, &_idx); }
2039 if (!thissop)
return (myStraightenings(_idx[0]).straight_enabled);
2041 _parmidx[1-1] = _idx[1-1] + 0;
2044 OP_Utils::evalOpParmInst(result, thissop,
"straight_enabled#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2048 {
return opinstStraightenings_straight_group(cookparms, &_idx); }
2052 if (!thissop)
return (myStraightenings(_idx[0]).straight_group);
2054 _parmidx[1-1] = _idx[1-1] + 0;
2057 OP_Utils::evalOpParmInst(result, thissop,
"straight_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2066 if (!thissop)
return getManualLayout();
2068 OP_Utils::evalOpParm(result, thissop,
"manuallayout", cookparms.
getCookTime(), 0);
2076 if (!thissop)
return getLayoutSeams();
2078 OP_Utils::evalOpParm(result, thissop,
"layoutseamgroup", cookparms.
getCookTime(), 0);
2086 if (!thissop)
return getLayoutRectifyGroup();
2088 OP_Utils::evalOpParm(result, thissop,
"layoutrectifygroup", cookparms.
getCookTime(), 0);
2096 if (!thissop)
return getLpins().entries();
2098 OP_Utils::evalOpParm(result, thissop,
"lpins", cookparms.
getCookTime(), 0);
2102 {
return opinstLpins_lprimvert(cookparms, &_idx); }
2106 if (!thissop)
return (myLpins(_idx[0]).lprimvert);
2108 _parmidx[1-1] = _idx[1-1] + 0;
2111 OP_Utils::evalOpParmInst(result, thissop,
"lprimvert#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2115 {
return opinstLpins_lpinuv(cookparms, &_idx); }
2119 if (!thissop)
return (myLpins(_idx[0]).lpinuv);
2121 _parmidx[1-1] = _idx[1-1] + 0;
2124 OP_Utils::evalOpParmInst(result, thissop,
"lpinuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2128 {
return opinstLpins_lpinrefuv(cookparms, &_idx); }
2132 if (!thissop)
return (myLpins(_idx[0]).lpinrefuv);
2134 _parmidx[1-1] = _idx[1-1] + 0;
2137 OP_Utils::evalOpParmInst(result, thissop,
"lpinrefuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2146 if (!thissop)
return getLalignments().entries();
2148 OP_Utils::evalOpParm(result, thissop,
"lalignments", cookparms.
getCookTime(), 0);
2152 {
return opinstLalignments_lalign_group(cookparms, &_idx); }
2156 if (!thissop)
return (myLalignments(_idx[0]).lalign_group);
2158 _parmidx[1-1] = _idx[1-1] + 0;
2161 OP_Utils::evalOpParmInst(result, thissop,
"lalign_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2165 {
return opinstLalignments_lalign_axis(cookparms, &_idx); }
2169 if (!thissop)
return (myLalignments(_idx[0]).lalign_axis);
2171 _parmidx[1-1] = _idx[1-1] + 0;
2174 OP_Utils::evalOpParmInst(result, thissop,
"lalign_axis#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2183 if (!thissop)
return getLstraightenings().entries();
2185 OP_Utils::evalOpParm(result, thissop,
"lstraightenings", cookparms.
getCookTime(), 0);
2189 {
return opinstLstraightenings_lstraight_group(cookparms, &_idx); }
2193 if (!thissop)
return (myLstraightenings(_idx[0]).lstraight_group);
2195 _parmidx[1-1] = _idx[1-1] + 0;
2198 OP_Utils::evalOpParmInst(result, thissop,
"lstraight_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2207 if (!thissop)
return getUseOutputSeams();
2209 OP_Utils::evalOpParm(result, thissop,
"useoutputseams", cookparms.
getCookTime(), 0);
2217 if (!thissop)
return getOutputSeams();
2219 OP_Utils::evalOpParm(result, thissop,
"outputseams", cookparms.
getCookTime(), 0);
2227 if (!thissop)
return getUseOutputConstrIslands();
2229 OP_Utils::evalOpParm(result, thissop,
"useoutputconstrislands", cookparms.
getCookTime(), 0);
2237 if (!thissop)
return getOutputConstrIslands();
2239 OP_Utils::evalOpParm(result, thissop,
"outputconstrislands", cookparms.
getCookTime(), 0);
2247 if (!thissop)
return getBBoxCenter();
2249 OP_Utils::evalOpParm(result, thissop,
"bboxcenter", cookparms.
getCookTime(), 0);
2257 if (!thissop)
return getBBoxSize();
2259 OP_Utils::evalOpParm(result, thissop,
"bboxsize", cookparms.
getCookTime(), 0);
2267 bool myKeepExistingSeams;
2268 bool myKeepExistingLayout;
2269 bool myPinBoundaries;
2274 bool myUseAlignments;
2276 bool myUseStraightenings;
2278 bool myManualLayout;
2284 bool myUseOutputSeams;
2286 bool myUseOutputConstrIslands;
void setUVAttrib(const UT_StringHolder &val)
UT_StringHolder align_group
UT_StringHolder opStraightenings_straight_group(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void saveData(std::ostream &os, int64 v)
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
exint opPins(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
void setLstraightenings(const UT_Array< Lstraightenings > &val)
const UT_StringHolder & getLayoutRectifyGroup() const
GLenum GLuint GLenum GLsizei const GLchar * buf
UT_StringHolder opSeams(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D opinstLpins_lpinrefuv(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
static void loadData(UT_IStream &is, UT_Vector2I &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
static void loadData(UT_IStream &is, UT_Vector4D &v)
SOP_Node * getNode() const
bool operator!=(const SOP_UVFlatten_3_0Parms &src) const
static void saveData(std::ostream &os, bool v)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
static void saveData(std::ostream &os, UT_Vector3D v)
bool operator!=(const Lalignments &src) const
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
const UT_Array< Lpins > & getLpins() const
void setUseAlignments(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
bool operator!=(const Lstraightenings &src) const
UT_Vector2D opLpins_lprimvert(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool opKeepExistingSeams(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder createString(const UT_Array< Alignments > &list) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
static void loadData(UT_IStream &is, UT_Vector3I &v)
const UT_StringHolder & getOutputSeams() const
bool load(UT_IStream &is)
UT_StringHolder lstraight_group
UT_Vector2D opinstPins_primvert(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
bool operator!=(const Lpins &src) const
static void loadData(UT_IStream &is, UT_Vector4I &v)
constexpr SYS_FORCE_INLINE T & y() noexcept
void setGroup(const UT_StringHolder &val)
static void saveData(std::ostream &os, PRM_DataItemHandle s)
bool opinstAlignments_align_enabled(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
int64 opAlignments_align_axis(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
exint opLstraightenings(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2T< fpreal64 > UT_Vector2D
UT_Vector2D opinstLpins_lprimvert(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
static void loadData(UT_IStream &is, bool &v)
GLsizei const GLfloat * value
void setPinBoundaries(bool val)
UT_Vector2D opinstLpins_lpinuv(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void setUseOutputSeams(bool val)
bool operator==(const Lstraightenings &src) const
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const
const UT_Array< Lalignments > & getLalignments() const
const OP_Context & context() const
const UT_StringHolder & getGroup() const
UT_Vector2D opPins_pinuv(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void loadData(UT_IStream &is, UT_StringHolder &v)
UT_Vector2D opinstPins_pinrefuv(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
constexpr SYS_FORCE_INLINE T & z() noexcept
SYS_FORCE_INLINE const char * buffer() const
void setUseStraightenings(bool val)
int64 opinstAlignments_align_axis(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
UT_StringHolder createString(const UT_Array< Lalignments > &list) const
GLuint GLsizei GLsizei * length
An output stream object that owns its own string buffer storage.
static void saveData(std::ostream &os, UT_StringHolder s)
exint opLalignments(const SOP_NodeVerb::CookParms &cookparms) const
**But if you need a result
bool operator==(const Pins &src) const
bool operator==(const Lpins &src) const
void setOutputSeams(const UT_StringHolder &val)
bool getManualLayout() const
void setLalignments(const UT_Array< Lalignments > &val)
Method opMethod(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opLayoutRectifyGroup(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
const UT_Array< Lstraightenings > & getLstraightenings() const
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
const UT_StringHolder & getOutputConstrIslands() const
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
bool opPins_usepin(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
UT_Vector2D opLpins_lpinuv(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool opUseStraightenings(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
constexpr SYS_FORCE_INLINE T & x() noexcept
bool isParmColorRamp(exint idx) const override
bool opUseOutputConstrIslands(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
GLuint GLsizei const GLuint const GLintptr * offsets
bool opinstPins_usepin(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
constexpr SYS_FORCE_INLINE T & x() noexcept
void setStraightenings(const UT_Array< Straightenings > &val)
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
UT_StringHolder opUVAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void loadFromOpSubclass(const LoadParms &loadparms) override
bool operator!=(const Alignments &src) const
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
bool operator==(const Lalignments &src) const
void setAlignments(const UT_Array< Alignments > &val)
bool operator!=(const Straightenings &src) const
bool operator==(const Alignments &src) const
bool opUseOutputSeams(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseAlignments(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
UT_Vector2D opBBoxCenter(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const Straightenings &src) const
void setBBoxCenter(UT_Vector2D val)
UT_StringHolder opinstAlignments_align_group(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
bool getKeepExistingSeams() const
constexpr SYS_FORCE_INLINE T & z() noexcept
void setSeams(const UT_StringHolder &val)
static void saveData(std::ostream &os, fpreal64 v)
const char * getNestParmName(TempIndex fieldnum) const override
void setKeepExistingSeams(bool val)
exint read(bool *array, exint sz=1)
const OP_GraphProxy * graph() const
bool opPinBoundaries(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
bool getPinBoundaries() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
virtual void evalOpParmInst(int64 &v, NodeIdx node, const char *parmname, const int *inst, const int *offsets, fpreal time, DEP_MicroNode *depnode, int nestlevel=1) const =0
static void saveData(std::ostream &os, UT_Matrix4D v)
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Vector2D v)
UT_Vector2D opLpins_lpinrefuv(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setKeepExistingLayout(bool val)
UT_StringHolder opinstLstraightenings_lstraight_group(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
const UT_Array< Pins > & getPins() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
bool getUseStraightenings() const
UT_StringHolder opAlignments_align_group(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
exint opLpins(const SOP_NodeVerb::CookParms &cookparms) const
exint opStraightenings(const SOP_NodeVerb::CookParms &cookparms) const
bool opManualLayout(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opOutputSeams(const SOP_NodeVerb::CookParms &cookparms) const
void setManualLayout(bool val)
void setUsePins(bool val)
UT_StringHolder createString(const UT_Array< Lpins > &list) const
SYS_FORCE_INLINE UT_StringHolder getToken(Method enum_value)
int64 opinstLalignments_lalign_axis(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
UT_Vector2D getBBoxCenter() const
UT_Vector2D opBBoxSize(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opLalignments_lalign_group(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
static void saveData(std::ostream &os, UT_Matrix3D v)
void setLayoutSeams(const UT_StringHolder &val)
SYS_FORCE_INLINE void strcat(const char *src)
void saveBinary(std::ostream &os) const
Save string to binary stream.
void setOutputConstrIslands(const UT_StringHolder &val)
UT_StringHolder createString(const UT_Array< Lstraightenings > &list) const
GT_API const UT_StringHolder version
int64 opLalignments_lalign_axis(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool getUseOutputSeams() const
static void loadData(UT_IStream &is, UT_Vector2D &v)
void setMethod(Method val)
UT_StringHolder straight_group
exint entries() const
Alias of size(). size() is preferred.
exint getNestNumParms(TempIndex idx) const override
ParmType getNestParmType(TempIndex fieldnum) const override
UT_StringHolder opinstStraightenings_straight_group(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
exint opAlignments(const SOP_NodeVerb::CookParms &cookparms) const
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
bool operator!=(const Pins &src) const
UT_StringHolder opinstLalignments_lalign_group(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void setLayoutRectifyGroup(const UT_StringHolder &val)
UT_StringHolder opLayoutSeams(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opLstraightenings_lstraight_group(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
UT_Vector2D getBBoxSize() const
bool opStraightenings_straight_enabled(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
DEP_MicroNode * depnode() const
const UT_Array< Straightenings > & getStraightenings() const
UT_StringHolder opRectifyGroup(const SOP_NodeVerb::CookParms &cookparms) const
LeafData & operator=(const LeafData &)=delete
Utility class for containing a color ramp.
void setRectifyGroup(const UT_StringHolder &val)
UT_StringHolder createString(const UT_Array< Pins > &list) const
UT_StringHolder opOutputConstrIslands(const SOP_NodeVerb::CookParms &cookparms) const
void setUseOutputConstrIslands(bool val)
static void saveData(std::ostream &os, UT_Vector4D v)
constexpr SYS_FORCE_INLINE T & w() noexcept
SYS_FORCE_INLINE void append(char character)
const UT_Array< Alignments > & getAlignments() const
static void loadData(UT_IStream &is, UT_Vector3D &v)
virtual UT_StringHolder baseGetSignature() const
bool getUseAlignments() const
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
const UT_StringHolder & getRectifyGroup() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
static void loadData(UT_IStream &is, UT_Matrix4D &v)
const UT_StringHolder & getSeams() const
void copyFrom(const OP_NodeParms *src) override
fpreal getCookTime() const
UT_Vector2D opinstPins_pinuv(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
static void loadData(UT_IStream &is, fpreal64 &v)
void setLpins(const UT_Array< Lpins > &val)
const char * findChar(int c) const
static void loadData(UT_IStream &is, int64 &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
bool getUseOutputConstrIslands() const
UT_Vector2D opPins_primvert(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
constexpr SYS_FORCE_INLINE T & y() noexcept
bool opUsePins(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getLayoutSeams() const
static void saveData(std::ostream &os, UT_Matrix2D v)
bool opinstStraightenings_straight_enabled(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
virtual bool isDirect() const =0
Direct proxies mirror actual nodes:
const UT_StringHolder & getUVAttrib() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
static void loadData(UT_IStream &is, UT_Matrix3D &v)
void setPins(const UT_Array< Pins > &val)
void save(std::ostream &os) const
constexpr SYS_FORCE_INLINE T & y() noexcept
SYS_FORCE_INLINE bool isstring() const
UT_StringHolder lalign_group
bool opAlignments_align_enabled(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool getKeepExistingLayout() const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
void setBBoxSize(UT_Vector2D val)
bool opKeepExistingLayout(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D opPins_pinrefuv(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
constexpr SYS_FORCE_INLINE T & x() noexcept
bool operator==(const SOP_UVFlatten_3_0Parms &src) const
UT_StringHolder createString(const UT_Array< Straightenings > &list) const