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;
476 graph->
evalOpParm(myGroup, nodeidx,
"group", time, 0);
477 myUVAttrib =
"uv"_UTsh;
479 graph->
evalOpParm(myUVAttrib, nodeidx,
"uvattrib", time, 0);
482 graph->
evalOpParm(myMethod, nodeidx,
"method", time, 0);
483 myKeepExistingSeams =
false;
485 graph->
evalOpParm(myKeepExistingSeams, nodeidx,
"keepexistingseams", time, 0);
486 myKeepExistingLayout =
false;
487 if (
true && ( (
true&&!(((getKeepExistingSeams()==0)))) ) )
488 graph->
evalOpParm(myKeepExistingLayout, nodeidx,
"keepexistinglayout", time, 0);
489 myPinBoundaries =
false;
490 if (
true && ( (
true&&!(((getKeepExistingSeams()==0))||((
int64(getMethod())!=0)))) ) )
491 graph->
evalOpParm(myPinBoundaries, nodeidx,
"pinboundaries", time, 0);
494 graph->
evalOpParm(mySeams, nodeidx,
"seamgroup", time, 0);
495 myRectifyGroup =
""_UTsh;
497 graph->
evalOpParm(myRectifyGroup, nodeidx,
"rectifygroup", time, 0);
500 graph->
evalOpParm(myUsePins, nodeidx,
"usepins", time, 0);
501 if (
true && ( (!(((getUsePins()==0)))) ) )
504 graph->
evalOpParm(length, nodeidx,
"pins", time, 0);
505 if (length < 0) length = 0;
506 myPins.setSize(length);
513 auto && _curentry = myPins(i);
515 _curentry.usepin =
true;
516 if (
true && ( (!(((getUsePins()==0)))) ) )
517 graph->
evalOpParmInst(_curentry.usepin, nodeidx,
"usepin#", parmidx, offsets, time, 0, 2-1);
519 if (
true && ( (!(((getUsePins()==0)))) ) )
520 graph->
evalOpParmInst(_curentry.primvert, nodeidx,
"primvert#", parmidx, offsets, time, 0, 2-1);
522 if (
true && ( (!(((getUsePins()==0)))) ) )
523 graph->
evalOpParmInst(_curentry.pinuv, nodeidx,
"pinuv#", parmidx, offsets, time, 0, 2-1);
525 if (
true && ( (!(((getUsePins()==0)))) ) )
526 graph->
evalOpParmInst(_curentry.pinrefuv, nodeidx,
"pinrefuv#", parmidx, offsets, time, 0, 2-1);
532 myUseAlignments =
true;
534 graph->
evalOpParm(myUseAlignments, nodeidx,
"usealignments", time, 0);
535 if (
true && ( (!(((getUseAlignments()==0)))) ) )
538 graph->
evalOpParm(length, nodeidx,
"alignments", time, 0);
539 if (length < 0) length = 0;
540 myAlignments.setSize(length);
547 auto && _curentry = myAlignments(i);
549 _curentry.align_enabled =
true;
550 if (
true && ( (!(((getUseAlignments()==0)))) ) )
551 graph->
evalOpParmInst(_curentry.align_enabled, nodeidx,
"align_enabled#", parmidx, offsets, time, 0, 2-1);
552 _curentry.align_group =
""_UTsh;
553 if (
true && ( (!(((getUseAlignments()==0)))) ) )
554 graph->
evalOpParmInst(_curentry.align_group, nodeidx,
"align_group#", parmidx, offsets, time, 0, 2-1);
555 _curentry.align_axis = 0;
556 if (
true && ( (!(((getUseAlignments()==0)))) ) )
557 graph->
evalOpParmInst(_curentry.align_axis, nodeidx,
"align_axis#", parmidx, offsets, time, 0, 2-1);
562 myAlignments.clear();
563 myUseStraightenings =
true;
565 graph->
evalOpParm(myUseStraightenings, nodeidx,
"usestraightenings", time, 0);
566 if (
true && ( (!(((getUseStraightenings()==0)))) ) )
569 graph->
evalOpParm(length, nodeidx,
"straightenings", time, 0);
570 if (length < 0) length = 0;
571 myStraightenings.setSize(length);
578 auto && _curentry = myStraightenings(i);
580 _curentry.straight_enabled =
true;
581 if (
true && ( (!(((getUseStraightenings()==0)))) ) )
582 graph->
evalOpParmInst(_curentry.straight_enabled, nodeidx,
"straight_enabled#", parmidx, offsets, time, 0, 2-1);
583 _curentry.straight_group =
""_UTsh;
584 if (
true && ( (!(((getUseStraightenings()==0)))) ) )
585 graph->
evalOpParmInst(_curentry.straight_group, nodeidx,
"straight_group#", parmidx, offsets, time, 0, 2-1);
590 myStraightenings.clear();
591 myManualLayout =
true;
593 graph->
evalOpParm(myManualLayout, nodeidx,
"manuallayout", time, 0);
594 myLayoutSeams =
""_UTsh;
595 if (
true && ( (
true&&!(((getManualLayout()==0)))) ) )
596 graph->
evalOpParm(myLayoutSeams, nodeidx,
"layoutseamgroup", time, 0);
597 myLayoutRectifyGroup =
""_UTsh;
598 if (
true && ( (
true&&!(((getManualLayout()==0)))) ) )
599 graph->
evalOpParm(myLayoutRectifyGroup, nodeidx,
"layoutrectifygroup", time, 0);
600 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) )
603 graph->
evalOpParm(length, nodeidx,
"lpins", time, 0);
604 if (length < 0) length = 0;
605 myLpins.setSize(length);
612 auto && _curentry = myLpins(i);
615 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
616 graph->
evalOpParmInst(_curentry.lprimvert, nodeidx,
"lprimvert#", parmidx, offsets, time, 0, 2-1);
618 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
619 graph->
evalOpParmInst(_curentry.lpinuv, nodeidx,
"lpinuv#", parmidx, offsets, time, 0, 2-1);
621 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
622 graph->
evalOpParmInst(_curentry.lpinrefuv, nodeidx,
"lpinrefuv#", parmidx, offsets, time, 0, 2-1);
628 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) )
631 graph->
evalOpParm(length, nodeidx,
"lalignments", time, 0);
632 if (length < 0) length = 0;
633 myLalignments.setSize(length);
640 auto && _curentry = myLalignments(i);
642 _curentry.lalign_group =
""_UTsh;
643 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
644 graph->
evalOpParmInst(_curentry.lalign_group, nodeidx,
"lalign_group#", parmidx, offsets, time, 0, 2-1);
645 _curentry.lalign_axis = 0;
646 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
647 graph->
evalOpParmInst(_curentry.lalign_axis, nodeidx,
"lalign_axis#", parmidx, offsets, time, 0, 2-1);
652 myLalignments.clear();
653 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) )
656 graph->
evalOpParm(length, nodeidx,
"lstraightenings", time, 0);
657 if (length < 0) length = 0;
658 myLstraightenings.setSize(length);
665 auto && _curentry = myLstraightenings(i);
667 _curentry.lstraight_group =
""_UTsh;
668 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
669 graph->
evalOpParmInst(_curentry.lstraight_group, nodeidx,
"lstraight_group#", parmidx, offsets, time, 0, 2-1);
674 myLstraightenings.clear();
675 myUseOutputSeams =
false;
677 graph->
evalOpParm(myUseOutputSeams, nodeidx,
"useoutputseams", time, 0);
678 myOutputSeams =
"outputseams"_UTsh;
679 if (
true && ( (
true&&!(((getUseOutputSeams()==0)))) ) )
680 graph->
evalOpParm(myOutputSeams, nodeidx,
"outputseams", time, 0);
681 myUseOutputConstrIslands =
false;
683 graph->
evalOpParm(myUseOutputConstrIslands, nodeidx,
"useoutputconstrislands", time, 0);
684 myOutputConstrIslands =
"constrainedprims"_UTsh;
685 if (
true && ( (
true&&!(((getUseOutputConstrIslands()==0)))) ) )
686 graph->
evalOpParm(myOutputConstrIslands, nodeidx,
"outputconstrislands", time, 0);
689 graph->
evalOpParm(myBBoxCenter, nodeidx,
"bboxcenter", time, 0);
692 graph->
evalOpParm(myBBoxSize, nodeidx,
"bboxsize", time, 0);
708 template <
typename T>
715 if (idx.
size() != instance.
size()+1)
720 coerceValue(value, myGroup);
723 coerceValue(value, myUVAttrib);
726 coerceValue(value, myMethod);
729 coerceValue(value, myKeepExistingSeams);
732 coerceValue(value, myKeepExistingLayout);
735 coerceValue(value, myPinBoundaries);
738 coerceValue(value, mySeams);
741 coerceValue(value, myRectifyGroup);
744 coerceValue(value, myUsePins);
748 coerceValue(value, myPins.entries());
749 else if (instance[0] < myPins.entries())
751 auto && _data = myPins(instance[0]);
755 coerceValue(value, _data.usepin);
758 coerceValue(value, _data.primvert);
761 coerceValue(value, _data.pinuv);
764 coerceValue(value, _data.pinrefuv);
771 coerceValue(value, myUseAlignments);
775 coerceValue(value, myAlignments.entries());
776 else if (instance[0] < myAlignments.entries())
778 auto && _data = myAlignments(instance[0]);
782 coerceValue(value, _data.align_enabled);
785 coerceValue(value, _data.align_group);
788 coerceValue(value, _data.align_axis);
795 coerceValue(value, myUseStraightenings);
799 coerceValue(value, myStraightenings.entries());
800 else if (instance[0] < myStraightenings.entries())
802 auto && _data = myStraightenings(instance[0]);
806 coerceValue(value, _data.straight_enabled);
809 coerceValue(value, _data.straight_group);
816 coerceValue(value, myManualLayout);
819 coerceValue(value, myLayoutSeams);
822 coerceValue(value, myLayoutRectifyGroup);
826 coerceValue(value, myLpins.entries());
827 else if (instance[0] < myLpins.entries())
829 auto && _data = myLpins(instance[0]);
833 coerceValue(value, _data.lprimvert);
836 coerceValue(value, _data.lpinuv);
839 coerceValue(value, _data.lpinrefuv);
847 coerceValue(value, myLalignments.entries());
848 else if (instance[0] < myLalignments.entries())
850 auto && _data = myLalignments(instance[0]);
854 coerceValue(value, _data.lalign_group);
857 coerceValue(value, _data.lalign_axis);
865 coerceValue(value, myLstraightenings.entries());
866 else if (instance[0] < myLstraightenings.entries())
868 auto && _data = myLstraightenings(instance[0]);
872 coerceValue(value, _data.lstraight_group);
879 coerceValue(value, myUseOutputSeams);
882 coerceValue(value, myOutputSeams);
885 coerceValue(value, myUseOutputConstrIslands);
888 coerceValue(value, myOutputConstrIslands);
891 coerceValue(value, myBBoxCenter);
894 coerceValue(value, myBBoxSize);
910 { doGetParmValue(idx, instance, value); }
912 { doGetParmValue(idx, instance, value); }
914 { doGetParmValue(idx, instance, value); }
916 { doGetParmValue(idx, instance, value); }
918 { doGetParmValue(idx, instance, value); }
920 { doGetParmValue(idx, instance, value); }
922 { doGetParmValue(idx, instance, value); }
924 { doGetParmValue(idx, instance, value); }
926 { doGetParmValue(idx, instance, value); }
928 { doGetParmValue(idx, instance, value); }
930 { doGetParmValue(idx, instance, value); }
932 template <
typename T>
939 if (idx.
size() != instance.
size()+1)
944 coerceValue(myGroup, ( ( value ) ));
947 coerceValue(myUVAttrib, ( ( value ) ));
950 coerceValue(myMethod, clampMinValue(0, clampMaxValue(1, value ) ));
953 coerceValue(myKeepExistingSeams, ( ( value ) ));
956 coerceValue(myKeepExistingLayout, ( ( value ) ));
959 coerceValue(myPinBoundaries, ( ( value ) ));
962 coerceValue(mySeams, ( ( value ) ));
965 coerceValue(myRectifyGroup, ( ( value ) ));
968 coerceValue(myUsePins, ( ( value ) ));
974 coerceValue(newsize, value);
975 if (newsize < 0) newsize = 0;
976 myPins.setSize(newsize);
982 myPins.setSizeIfNeeded(instance[0]+1);
983 auto && _data = myPins(instance[0]);
987 coerceValue(_data.usepin, value);
990 coerceValue(_data.primvert, value);
993 coerceValue(_data.pinuv, value);
996 coerceValue(_data.pinrefuv, value);
1003 coerceValue(myUseAlignments, ( ( value ) ));
1006 if (idx.
size() == 1)
1009 coerceValue(newsize, value);
1010 if (newsize < 0) newsize = 0;
1011 myAlignments.setSize(newsize);
1015 if (instance[0] < 0)
1017 myAlignments.setSizeIfNeeded(instance[0]+1);
1018 auto && _data = myAlignments(instance[0]);
1022 coerceValue(_data.align_enabled, value);
1025 coerceValue(_data.align_group, value);
1028 coerceValue(_data.align_axis, value);
1035 coerceValue(myUseStraightenings, ( ( value ) ));
1038 if (idx.
size() == 1)
1041 coerceValue(newsize, value);
1042 if (newsize < 0) newsize = 0;
1043 myStraightenings.setSize(newsize);
1047 if (instance[0] < 0)
1049 myStraightenings.setSizeIfNeeded(instance[0]+1);
1050 auto && _data = myStraightenings(instance[0]);
1054 coerceValue(_data.straight_enabled, value);
1057 coerceValue(_data.straight_group, value);
1064 coerceValue(myManualLayout, ( ( value ) ));
1067 coerceValue(myLayoutSeams, ( ( value ) ));
1070 coerceValue(myLayoutRectifyGroup, ( ( value ) ));
1073 if (idx.
size() == 1)
1076 coerceValue(newsize, value);
1077 if (newsize < 0) newsize = 0;
1078 myLpins.setSize(newsize);
1082 if (instance[0] < 0)
1084 myLpins.setSizeIfNeeded(instance[0]+1);
1085 auto && _data = myLpins(instance[0]);
1089 coerceValue(_data.lprimvert, value);
1092 coerceValue(_data.lpinuv, value);
1095 coerceValue(_data.lpinrefuv, value);
1102 if (idx.
size() == 1)
1105 coerceValue(newsize, value);
1106 if (newsize < 0) newsize = 0;
1107 myLalignments.setSize(newsize);
1111 if (instance[0] < 0)
1113 myLalignments.setSizeIfNeeded(instance[0]+1);
1114 auto && _data = myLalignments(instance[0]);
1118 coerceValue(_data.lalign_group, value);
1121 coerceValue(_data.lalign_axis, value);
1128 if (idx.
size() == 1)
1131 coerceValue(newsize, value);
1132 if (newsize < 0) newsize = 0;
1133 myLstraightenings.setSize(newsize);
1137 if (instance[0] < 0)
1139 myLstraightenings.setSizeIfNeeded(instance[0]+1);
1140 auto && _data = myLstraightenings(instance[0]);
1144 coerceValue(_data.lstraight_group, value);
1151 coerceValue(myUseOutputSeams, ( ( value ) ));
1154 coerceValue(myOutputSeams, ( ( value ) ));
1157 coerceValue(myUseOutputConstrIslands, ( ( value ) ));
1160 coerceValue(myOutputConstrIslands, ( ( value ) ));
1163 coerceValue(myBBoxCenter, ( ( value ) ));
1166 coerceValue(myBBoxSize, clampMinValue(0, ( value ) ));
1173 { doSetParmValue(idx, instance, value); }
1175 { doSetParmValue(idx, instance, value); }
1177 { doSetParmValue(idx, instance, value); }
1179 { doSetParmValue(idx, instance, value); }
1181 { doSetParmValue(idx, instance, value); }
1183 { doSetParmValue(idx, instance, value); }
1185 { doSetParmValue(idx, instance, value); }
1187 { doSetParmValue(idx, instance, value); }
1189 { doSetParmValue(idx, instance, value); }
1191 { doSetParmValue(idx, instance, value); }
1193 { doSetParmValue(idx, instance, value); }
1197 if (idx.
size() == 0)
1221 if (fieldnum.
size() < 1)
1223 switch (fieldnum[0])
1232 return "keepexistingseams";
1234 return "keepexistinglayout";
1236 return "pinboundaries";
1240 return "rectifygroup";
1244 if (fieldnum.
size() == 1)
1246 switch (fieldnum[1])
1260 return "usealignments";
1262 if (fieldnum.
size() == 1)
1263 return "alignments";
1264 switch (fieldnum[1])
1267 return "align_enabled#";
1269 return "align_group#";
1271 return "align_axis#";
1276 return "usestraightenings";
1278 if (fieldnum.
size() == 1)
1279 return "straightenings";
1280 switch (fieldnum[1])
1283 return "straight_enabled#";
1285 return "straight_group#";
1290 return "manuallayout";
1292 return "layoutseamgroup";
1294 return "layoutrectifygroup";
1296 if (fieldnum.
size() == 1)
1298 switch (fieldnum[1])
1301 return "lprimvert#";
1305 return "lpinrefuv#";
1310 if (fieldnum.
size() == 1)
1311 return "lalignments";
1312 switch (fieldnum[1])
1315 return "lalign_group#";
1317 return "lalign_axis#";
1322 if (fieldnum.
size() == 1)
1323 return "lstraightenings";
1324 switch (fieldnum[1])
1327 return "lstraight_group#";
1332 return "useoutputseams";
1334 return "outputseams";
1336 return "useoutputconstrislands";
1338 return "outputconstrislands";
1340 return "bboxcenter";
1350 if (fieldnum.
size() < 1)
1351 return PARM_UNSUPPORTED;
1352 switch (fieldnum[0])
1359 return PARM_INTEGER;
1361 return PARM_INTEGER;
1363 return PARM_INTEGER;
1365 return PARM_INTEGER;
1371 return PARM_INTEGER;
1373 if (fieldnum.
size() == 1)
1374 return PARM_MULTIPARM;
1375 switch (fieldnum[1])
1378 return PARM_INTEGER;
1380 return PARM_VECTOR2;
1382 return PARM_VECTOR2;
1384 return PARM_VECTOR2;
1387 return PARM_UNSUPPORTED;
1389 return PARM_INTEGER;
1391 if (fieldnum.
size() == 1)
1392 return PARM_MULTIPARM;
1393 switch (fieldnum[1])
1396 return PARM_INTEGER;
1400 return PARM_INTEGER;
1403 return PARM_UNSUPPORTED;
1405 return PARM_INTEGER;
1407 if (fieldnum.
size() == 1)
1408 return PARM_MULTIPARM;
1409 switch (fieldnum[1])
1412 return PARM_INTEGER;
1417 return PARM_UNSUPPORTED;
1419 return PARM_INTEGER;
1425 if (fieldnum.
size() == 1)
1426 return PARM_MULTIPARM;
1427 switch (fieldnum[1])
1430 return PARM_VECTOR2;
1432 return PARM_VECTOR2;
1434 return PARM_VECTOR2;
1437 return PARM_UNSUPPORTED;
1439 if (fieldnum.
size() == 1)
1440 return PARM_MULTIPARM;
1441 switch (fieldnum[1])
1446 return PARM_INTEGER;
1449 return PARM_UNSUPPORTED;
1451 if (fieldnum.
size() == 1)
1452 return PARM_MULTIPARM;
1453 switch (fieldnum[1])
1459 return PARM_UNSUPPORTED;
1461 return PARM_INTEGER;
1465 return PARM_INTEGER;
1469 return PARM_VECTOR2;
1471 return PARM_VECTOR2;
1474 return PARM_UNSUPPORTED;
1479 { is.
bread(&v, 1); }
1510 loadData(is, rampdata);
1528 int typelen = colon - data.
buffer();
1540 { UTwrite(os, &v); }
1542 {
int64 iv =
v; UTwrite(os, &iv); }
1544 { UTwrite<fpreal64>(os, &
v); }
1546 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1548 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1549 UTwrite<fpreal64>(os, &v.
z()); }
1551 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1552 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1564 if (s) s->save(ostr);
1565 result = ostr.
str();
1566 saveData(os, result);
1573 ostr << s->getDataTypeToken();
1575 s->saveBinary(ostr);
1577 result = ostr.
str();
1578 saveData(os, result);
1586 saveData(os, myGroup);
1587 saveData(os, myUVAttrib);
1588 saveData(os, myMethod);
1589 saveData(os, myKeepExistingSeams);
1590 saveData(os, myKeepExistingLayout);
1591 saveData(os, myPinBoundaries);
1592 saveData(os, mySeams);
1593 saveData(os, myRectifyGroup);
1594 saveData(os, myUsePins);
1597 UTwrite(os, &length);
1600 auto && _curentry = myPins(i);
1602 saveData(os, _curentry.usepin);
1603 saveData(os, _curentry.primvert);
1604 saveData(os, _curentry.pinuv);
1605 saveData(os, _curentry.pinrefuv);
1609 saveData(os, myUseAlignments);
1612 UTwrite(os, &length);
1615 auto && _curentry = myAlignments(i);
1617 saveData(os, _curentry.align_enabled);
1618 saveData(os, _curentry.align_group);
1619 saveData(os, _curentry.align_axis);
1623 saveData(os, myUseStraightenings);
1626 UTwrite(os, &length);
1629 auto && _curentry = myStraightenings(i);
1631 saveData(os, _curentry.straight_enabled);
1632 saveData(os, _curentry.straight_group);
1636 saveData(os, myManualLayout);
1637 saveData(os, myLayoutSeams);
1638 saveData(os, myLayoutRectifyGroup);
1641 UTwrite(os, &length);
1644 auto && _curentry = myLpins(i);
1646 saveData(os, _curentry.lprimvert);
1647 saveData(os, _curentry.lpinuv);
1648 saveData(os, _curentry.lpinrefuv);
1654 UTwrite(os, &length);
1657 auto && _curentry = myLalignments(i);
1659 saveData(os, _curentry.lalign_group);
1660 saveData(os, _curentry.lalign_axis);
1666 UTwrite(os, &length);
1669 auto && _curentry = myLstraightenings(i);
1671 saveData(os, _curentry.lstraight_group);
1675 saveData(os, myUseOutputSeams);
1676 saveData(os, myOutputSeams);
1677 saveData(os, myUseOutputConstrIslands);
1678 saveData(os, myOutputConstrIslands);
1679 saveData(os, myBBoxCenter);
1680 saveData(os, myBBoxSize);
1693 loadData(is, myGroup);
1694 loadData(is, myUVAttrib);
1695 loadData(is, myMethod);
1696 loadData(is, myKeepExistingSeams);
1697 loadData(is, myKeepExistingLayout);
1698 loadData(is, myPinBoundaries);
1699 loadData(is, mySeams);
1700 loadData(is, myRectifyGroup);
1701 loadData(is, myUsePins);
1704 is.
read(&length, 1);
1705 myPins.setSize(length);
1708 auto && _curentry = myPins(i);
1710 loadData(is, _curentry.usepin);
1711 loadData(is, _curentry.primvert);
1712 loadData(is, _curentry.pinuv);
1713 loadData(is, _curentry.pinrefuv);
1717 loadData(is, myUseAlignments);
1720 is.
read(&length, 1);
1721 myAlignments.setSize(length);
1724 auto && _curentry = myAlignments(i);
1726 loadData(is, _curentry.align_enabled);
1727 loadData(is, _curentry.align_group);
1728 loadData(is, _curentry.align_axis);
1732 loadData(is, myUseStraightenings);
1735 is.
read(&length, 1);
1736 myStraightenings.setSize(length);
1739 auto && _curentry = myStraightenings(i);
1741 loadData(is, _curentry.straight_enabled);
1742 loadData(is, _curentry.straight_group);
1746 loadData(is, myManualLayout);
1747 loadData(is, myLayoutSeams);
1748 loadData(is, myLayoutRectifyGroup);
1751 is.
read(&length, 1);
1752 myLpins.setSize(length);
1755 auto && _curentry = myLpins(i);
1757 loadData(is, _curentry.lprimvert);
1758 loadData(is, _curentry.lpinuv);
1759 loadData(is, _curentry.lpinrefuv);
1765 is.
read(&length, 1);
1766 myLalignments.setSize(length);
1769 auto && _curentry = myLalignments(i);
1771 loadData(is, _curentry.lalign_group);
1772 loadData(is, _curentry.lalign_axis);
1778 is.
read(&length, 1);
1779 myLstraightenings.setSize(length);
1782 auto && _curentry = myLstraightenings(i);
1784 loadData(is, _curentry.lstraight_group);
1788 loadData(is, myUseOutputSeams);
1789 loadData(is, myOutputSeams);
1790 loadData(is, myUseOutputConstrIslands);
1791 loadData(is, myOutputConstrIslands);
1792 loadData(is, myBBoxCenter);
1793 loadData(is, myBBoxSize);
1803 if (!thissop)
return getGroup();
1805 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
1813 if (!thissop)
return getUVAttrib();
1815 OP_Utils::evalOpParm(result, thissop,
"uvattrib", cookparms.
getCookTime(), 0);
1823 if (!thissop)
return getMethod();
1825 OP_Utils::evalOpParm(result, thissop,
"method", cookparms.
getCookTime(), 0);
1833 if (!thissop)
return getKeepExistingSeams();
1835 OP_Utils::evalOpParm(result, thissop,
"keepexistingseams", cookparms.
getCookTime(), 0);
1843 if (!thissop)
return getKeepExistingLayout();
1845 OP_Utils::evalOpParm(result, thissop,
"keepexistinglayout", cookparms.
getCookTime(), 0);
1853 if (!thissop)
return getPinBoundaries();
1855 OP_Utils::evalOpParm(result, thissop,
"pinboundaries", cookparms.
getCookTime(), 0);
1863 if (!thissop)
return getSeams();
1865 OP_Utils::evalOpParm(result, thissop,
"seamgroup", cookparms.
getCookTime(), 0);
1873 if (!thissop)
return getRectifyGroup();
1875 OP_Utils::evalOpParm(result, thissop,
"rectifygroup", cookparms.
getCookTime(), 0);
1883 if (!thissop)
return getUsePins();
1885 OP_Utils::evalOpParm(result, thissop,
"usepins", cookparms.
getCookTime(), 0);
1893 if (!thissop)
return getPins().entries();
1895 OP_Utils::evalOpParm(result, thissop,
"pins", cookparms.
getCookTime(), 0);
1899 {
return opinstPins_usepin(cookparms, &_idx); }
1903 if (!thissop)
return (myPins(_idx[0]).usepin);
1905 _parmidx[1-1] = _idx[1-1] + 0;
1908 OP_Utils::evalOpParmInst(result, thissop,
"usepin#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1912 {
return opinstPins_primvert(cookparms, &_idx); }
1916 if (!thissop)
return (myPins(_idx[0]).primvert);
1918 _parmidx[1-1] = _idx[1-1] + 0;
1921 OP_Utils::evalOpParmInst(result, thissop,
"primvert#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1925 {
return opinstPins_pinuv(cookparms, &_idx); }
1929 if (!thissop)
return (myPins(_idx[0]).pinuv);
1931 _parmidx[1-1] = _idx[1-1] + 0;
1934 OP_Utils::evalOpParmInst(result, thissop,
"pinuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1938 {
return opinstPins_pinrefuv(cookparms, &_idx); }
1942 if (!thissop)
return (myPins(_idx[0]).pinrefuv);
1944 _parmidx[1-1] = _idx[1-1] + 0;
1947 OP_Utils::evalOpParmInst(result, thissop,
"pinrefuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1956 if (!thissop)
return getUseAlignments();
1958 OP_Utils::evalOpParm(result, thissop,
"usealignments", cookparms.
getCookTime(), 0);
1966 if (!thissop)
return getAlignments().entries();
1968 OP_Utils::evalOpParm(result, thissop,
"alignments", cookparms.
getCookTime(), 0);
1972 {
return opinstAlignments_align_enabled(cookparms, &_idx); }
1976 if (!thissop)
return (myAlignments(_idx[0]).align_enabled);
1978 _parmidx[1-1] = _idx[1-1] + 0;
1981 OP_Utils::evalOpParmInst(result, thissop,
"align_enabled#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1985 {
return opinstAlignments_align_group(cookparms, &_idx); }
1989 if (!thissop)
return (myAlignments(_idx[0]).align_group);
1991 _parmidx[1-1] = _idx[1-1] + 0;
1994 OP_Utils::evalOpParmInst(result, thissop,
"align_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1998 {
return opinstAlignments_align_axis(cookparms, &_idx); }
2002 if (!thissop)
return (myAlignments(_idx[0]).align_axis);
2004 _parmidx[1-1] = _idx[1-1] + 0;
2007 OP_Utils::evalOpParmInst(result, thissop,
"align_axis#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2016 if (!thissop)
return getUseStraightenings();
2018 OP_Utils::evalOpParm(result, thissop,
"usestraightenings", cookparms.
getCookTime(), 0);
2026 if (!thissop)
return getStraightenings().entries();
2028 OP_Utils::evalOpParm(result, thissop,
"straightenings", cookparms.
getCookTime(), 0);
2032 {
return opinstStraightenings_straight_enabled(cookparms, &_idx); }
2036 if (!thissop)
return (myStraightenings(_idx[0]).straight_enabled);
2038 _parmidx[1-1] = _idx[1-1] + 0;
2041 OP_Utils::evalOpParmInst(result, thissop,
"straight_enabled#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2045 {
return opinstStraightenings_straight_group(cookparms, &_idx); }
2049 if (!thissop)
return (myStraightenings(_idx[0]).straight_group);
2051 _parmidx[1-1] = _idx[1-1] + 0;
2054 OP_Utils::evalOpParmInst(result, thissop,
"straight_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2063 if (!thissop)
return getManualLayout();
2065 OP_Utils::evalOpParm(result, thissop,
"manuallayout", cookparms.
getCookTime(), 0);
2073 if (!thissop)
return getLayoutSeams();
2075 OP_Utils::evalOpParm(result, thissop,
"layoutseamgroup", cookparms.
getCookTime(), 0);
2083 if (!thissop)
return getLayoutRectifyGroup();
2085 OP_Utils::evalOpParm(result, thissop,
"layoutrectifygroup", cookparms.
getCookTime(), 0);
2093 if (!thissop)
return getLpins().entries();
2095 OP_Utils::evalOpParm(result, thissop,
"lpins", cookparms.
getCookTime(), 0);
2099 {
return opinstLpins_lprimvert(cookparms, &_idx); }
2103 if (!thissop)
return (myLpins(_idx[0]).lprimvert);
2105 _parmidx[1-1] = _idx[1-1] + 0;
2108 OP_Utils::evalOpParmInst(result, thissop,
"lprimvert#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2112 {
return opinstLpins_lpinuv(cookparms, &_idx); }
2116 if (!thissop)
return (myLpins(_idx[0]).lpinuv);
2118 _parmidx[1-1] = _idx[1-1] + 0;
2121 OP_Utils::evalOpParmInst(result, thissop,
"lpinuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2125 {
return opinstLpins_lpinrefuv(cookparms, &_idx); }
2129 if (!thissop)
return (myLpins(_idx[0]).lpinrefuv);
2131 _parmidx[1-1] = _idx[1-1] + 0;
2134 OP_Utils::evalOpParmInst(result, thissop,
"lpinrefuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2143 if (!thissop)
return getLalignments().entries();
2145 OP_Utils::evalOpParm(result, thissop,
"lalignments", cookparms.
getCookTime(), 0);
2149 {
return opinstLalignments_lalign_group(cookparms, &_idx); }
2153 if (!thissop)
return (myLalignments(_idx[0]).lalign_group);
2155 _parmidx[1-1] = _idx[1-1] + 0;
2158 OP_Utils::evalOpParmInst(result, thissop,
"lalign_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2162 {
return opinstLalignments_lalign_axis(cookparms, &_idx); }
2166 if (!thissop)
return (myLalignments(_idx[0]).lalign_axis);
2168 _parmidx[1-1] = _idx[1-1] + 0;
2171 OP_Utils::evalOpParmInst(result, thissop,
"lalign_axis#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2180 if (!thissop)
return getLstraightenings().entries();
2182 OP_Utils::evalOpParm(result, thissop,
"lstraightenings", cookparms.
getCookTime(), 0);
2186 {
return opinstLstraightenings_lstraight_group(cookparms, &_idx); }
2190 if (!thissop)
return (myLstraightenings(_idx[0]).lstraight_group);
2192 _parmidx[1-1] = _idx[1-1] + 0;
2195 OP_Utils::evalOpParmInst(result, thissop,
"lstraight_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2204 if (!thissop)
return getUseOutputSeams();
2206 OP_Utils::evalOpParm(result, thissop,
"useoutputseams", cookparms.
getCookTime(), 0);
2214 if (!thissop)
return getOutputSeams();
2216 OP_Utils::evalOpParm(result, thissop,
"outputseams", cookparms.
getCookTime(), 0);
2224 if (!thissop)
return getUseOutputConstrIslands();
2226 OP_Utils::evalOpParm(result, thissop,
"useoutputconstrislands", cookparms.
getCookTime(), 0);
2234 if (!thissop)
return getOutputConstrIslands();
2236 OP_Utils::evalOpParm(result, thissop,
"outputconstrislands", cookparms.
getCookTime(), 0);
2244 if (!thissop)
return getBBoxCenter();
2246 OP_Utils::evalOpParm(result, thissop,
"bboxcenter", cookparms.
getCookTime(), 0);
2254 if (!thissop)
return getBBoxSize();
2256 OP_Utils::evalOpParm(result, thissop,
"bboxsize", cookparms.
getCookTime(), 0);
2264 bool myKeepExistingSeams;
2265 bool myKeepExistingLayout;
2266 bool myPinBoundaries;
2271 bool myUseAlignments;
2273 bool myUseStraightenings;
2275 bool myManualLayout;
2281 bool myUseOutputSeams;
2283 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)
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
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)
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
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)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
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