23 namespace SOP_UVFlatten_2_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;
404 myUseAlignments =
true;
405 myAlignments.setSize(0);
406 myUseStraightenings =
true;
407 myStraightenings.setSize(0);
408 myManualLayout =
true;
409 myLayoutSeams =
""_UTsh;
411 myLalignments.setSize(0);
412 myLstraightenings.setSize(0);
413 myUseOutputSeams =
false;
414 myOutputSeams =
"outputseams"_UTsh;
415 myUseOutputConstrIslands =
false;
416 myOutputConstrIslands =
"constrainedprims"_UTsh;
431 if (myGroup != src.myGroup)
return false;
432 if (myUVAttrib != src.myUVAttrib)
return false;
433 if (myMethod != src.myMethod)
return false;
434 if (myKeepExistingSeams != src.myKeepExistingSeams)
return false;
435 if (myKeepExistingLayout != src.myKeepExistingLayout)
return false;
436 if (myPinBoundaries != src.myPinBoundaries)
return false;
437 if (mySeams != src.mySeams)
return false;
438 if (myUsePins != src.myUsePins)
return false;
439 if (myPins != src.myPins)
return false;
440 if (myUseAlignments != src.myUseAlignments)
return false;
441 if (myAlignments != src.myAlignments)
return false;
442 if (myUseStraightenings != src.myUseStraightenings)
return false;
443 if (myStraightenings != src.myStraightenings)
return false;
444 if (myManualLayout != src.myManualLayout)
return false;
445 if (myLayoutSeams != src.myLayoutSeams)
return false;
446 if (myLpins != src.myLpins)
return false;
447 if (myLalignments != src.myLalignments)
return false;
448 if (myLstraightenings != src.myLstraightenings)
return false;
449 if (myUseOutputSeams != src.myUseOutputSeams)
return false;
450 if (myOutputSeams != src.myOutputSeams)
return false;
451 if (myUseOutputConstrIslands != src.myUseOutputConstrIslands)
return false;
452 if (myOutputConstrIslands != src.myOutputConstrIslands)
return false;
453 if (myBBoxCenter != src.myBBoxCenter)
return false;
454 if (myBBoxSize != src.myBBoxSize)
return false;
472 graph->
evalOpParm(myGroup, nodeidx,
"group", time, 0);
473 myUVAttrib =
"uv"_UTsh;
475 graph->
evalOpParm(myUVAttrib, nodeidx,
"uvattrib", time, 0);
478 graph->
evalOpParm(myMethod, nodeidx,
"method", time, 0);
479 myKeepExistingSeams =
false;
481 graph->
evalOpParm(myKeepExistingSeams, nodeidx,
"keepexistingseams", time, 0);
482 myKeepExistingLayout =
false;
483 if (
true && ( (
true&&!(((getKeepExistingSeams()==0)))) ) )
484 graph->
evalOpParm(myKeepExistingLayout, nodeidx,
"keepexistinglayout", time, 0);
485 myPinBoundaries =
false;
486 if (
true && ( (
true&&!(((getKeepExistingSeams()==0))||((
int64(getMethod())!=0)))) ) )
487 graph->
evalOpParm(myPinBoundaries, nodeidx,
"pinboundaries", time, 0);
490 graph->
evalOpParm(mySeams, nodeidx,
"seamgroup", time, 0);
493 graph->
evalOpParm(myUsePins, nodeidx,
"usepins", time, 0);
494 if (
true && ( (!(((getUsePins()==0)))) ) )
497 graph->
evalOpParm(length, nodeidx,
"pins", time, 0);
498 if (length < 0) length = 0;
499 myPins.setSize(length);
506 auto && _curentry = myPins(i);
508 _curentry.usepin =
true;
509 if (
true && ( (!(((getUsePins()==0)))) ) )
510 graph->
evalOpParmInst(_curentry.usepin, nodeidx,
"usepin#", parmidx, offsets, time, 0, 2-1);
512 if (
true && ( (!(((getUsePins()==0)))) ) )
513 graph->
evalOpParmInst(_curentry.primvert, nodeidx,
"primvert#", parmidx, offsets, time, 0, 2-1);
515 if (
true && ( (!(((getUsePins()==0)))) ) )
516 graph->
evalOpParmInst(_curentry.pinuv, nodeidx,
"pinuv#", parmidx, offsets, time, 0, 2-1);
518 if (
true && ( (!(((getUsePins()==0)))) ) )
519 graph->
evalOpParmInst(_curentry.pinrefuv, nodeidx,
"pinrefuv#", parmidx, offsets, time, 0, 2-1);
525 myUseAlignments =
true;
527 graph->
evalOpParm(myUseAlignments, nodeidx,
"usealignments", time, 0);
528 if (
true && ( (!(((getUseAlignments()==0)))) ) )
531 graph->
evalOpParm(length, nodeidx,
"alignments", time, 0);
532 if (length < 0) length = 0;
533 myAlignments.setSize(length);
540 auto && _curentry = myAlignments(i);
542 _curentry.align_enabled =
true;
543 if (
true && ( (!(((getUseAlignments()==0)))) ) )
544 graph->
evalOpParmInst(_curentry.align_enabled, nodeidx,
"align_enabled#", parmidx, offsets, time, 0, 2-1);
545 _curentry.align_group =
""_UTsh;
546 if (
true && ( (!(((getUseAlignments()==0)))) ) )
547 graph->
evalOpParmInst(_curentry.align_group, nodeidx,
"align_group#", parmidx, offsets, time, 0, 2-1);
548 _curentry.align_axis = 0;
549 if (
true && ( (!(((getUseAlignments()==0)))) ) )
550 graph->
evalOpParmInst(_curentry.align_axis, nodeidx,
"align_axis#", parmidx, offsets, time, 0, 2-1);
555 myAlignments.clear();
556 myUseStraightenings =
true;
558 graph->
evalOpParm(myUseStraightenings, nodeidx,
"usestraightenings", time, 0);
559 if (
true && ( (!(((getUseStraightenings()==0)))) ) )
562 graph->
evalOpParm(length, nodeidx,
"straightenings", time, 0);
563 if (length < 0) length = 0;
564 myStraightenings.setSize(length);
571 auto && _curentry = myStraightenings(i);
573 _curentry.straight_enabled =
true;
574 if (
true && ( (!(((getUseStraightenings()==0)))) ) )
575 graph->
evalOpParmInst(_curentry.straight_enabled, nodeidx,
"straight_enabled#", parmidx, offsets, time, 0, 2-1);
576 _curentry.straight_group =
""_UTsh;
577 if (
true && ( (!(((getUseStraightenings()==0)))) ) )
578 graph->
evalOpParmInst(_curentry.straight_group, nodeidx,
"straight_group#", parmidx, offsets, time, 0, 2-1);
583 myStraightenings.clear();
584 myManualLayout =
true;
586 graph->
evalOpParm(myManualLayout, nodeidx,
"manuallayout", time, 0);
587 myLayoutSeams =
""_UTsh;
588 if (
true && ( (
true&&!(((getManualLayout()==0)))) ) )
589 graph->
evalOpParm(myLayoutSeams, nodeidx,
"layoutseamgroup", time, 0);
590 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) )
593 graph->
evalOpParm(length, nodeidx,
"lpins", time, 0);
594 if (length < 0) length = 0;
595 myLpins.setSize(length);
602 auto && _curentry = myLpins(i);
605 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
606 graph->
evalOpParmInst(_curentry.lprimvert, nodeidx,
"lprimvert#", parmidx, offsets, time, 0, 2-1);
608 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
609 graph->
evalOpParmInst(_curentry.lpinuv, nodeidx,
"lpinuv#", parmidx, offsets, time, 0, 2-1);
611 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
612 graph->
evalOpParmInst(_curentry.lpinrefuv, nodeidx,
"lpinrefuv#", parmidx, offsets, time, 0, 2-1);
618 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) )
621 graph->
evalOpParm(length, nodeidx,
"lalignments", time, 0);
622 if (length < 0) length = 0;
623 myLalignments.setSize(length);
630 auto && _curentry = myLalignments(i);
632 _curentry.lalign_group =
""_UTsh;
633 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
634 graph->
evalOpParmInst(_curentry.lalign_group, nodeidx,
"lalign_group#", parmidx, offsets, time, 0, 2-1);
635 _curentry.lalign_axis = 0;
636 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
637 graph->
evalOpParmInst(_curentry.lalign_axis, nodeidx,
"lalign_axis#", parmidx, offsets, time, 0, 2-1);
642 myLalignments.clear();
643 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) )
646 graph->
evalOpParm(length, nodeidx,
"lstraightenings", time, 0);
647 if (length < 0) length = 0;
648 myLstraightenings.setSize(length);
655 auto && _curentry = myLstraightenings(i);
657 _curentry.lstraight_group =
""_UTsh;
658 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
659 graph->
evalOpParmInst(_curentry.lstraight_group, nodeidx,
"lstraight_group#", parmidx, offsets, time, 0, 2-1);
664 myLstraightenings.clear();
665 myUseOutputSeams =
false;
667 graph->
evalOpParm(myUseOutputSeams, nodeidx,
"useoutputseams", time, 0);
668 myOutputSeams =
"outputseams"_UTsh;
669 if (
true && ( (
true&&!(((getUseOutputSeams()==0)))) ) )
670 graph->
evalOpParm(myOutputSeams, nodeidx,
"outputseams", time, 0);
671 myUseOutputConstrIslands =
false;
673 graph->
evalOpParm(myUseOutputConstrIslands, nodeidx,
"useoutputconstrislands", time, 0);
674 myOutputConstrIslands =
"constrainedprims"_UTsh;
675 if (
true && ( (
true&&!(((getUseOutputConstrIslands()==0)))) ) )
676 graph->
evalOpParm(myOutputConstrIslands, nodeidx,
"outputconstrislands", time, 0);
679 graph->
evalOpParm(myBBoxCenter, nodeidx,
"bboxcenter", time, 0);
682 graph->
evalOpParm(myBBoxSize, nodeidx,
"bboxsize", time, 0);
698 template <
typename T>
705 if (idx.
size() != instance.
size()+1)
710 coerceValue(value, myGroup);
713 coerceValue(value, myUVAttrib);
716 coerceValue(value, myMethod);
719 coerceValue(value, myKeepExistingSeams);
722 coerceValue(value, myKeepExistingLayout);
725 coerceValue(value, myPinBoundaries);
728 coerceValue(value, mySeams);
731 coerceValue(value, myUsePins);
735 coerceValue(value, myPins.entries());
736 else if (instance[0] < myPins.entries())
738 auto && _data = myPins(instance[0]);
742 coerceValue(value, _data.usepin);
745 coerceValue(value, _data.primvert);
748 coerceValue(value, _data.pinuv);
751 coerceValue(value, _data.pinrefuv);
758 coerceValue(value, myUseAlignments);
762 coerceValue(value, myAlignments.entries());
763 else if (instance[0] < myAlignments.entries())
765 auto && _data = myAlignments(instance[0]);
769 coerceValue(value, _data.align_enabled);
772 coerceValue(value, _data.align_group);
775 coerceValue(value, _data.align_axis);
782 coerceValue(value, myUseStraightenings);
786 coerceValue(value, myStraightenings.entries());
787 else if (instance[0] < myStraightenings.entries())
789 auto && _data = myStraightenings(instance[0]);
793 coerceValue(value, _data.straight_enabled);
796 coerceValue(value, _data.straight_group);
803 coerceValue(value, myManualLayout);
806 coerceValue(value, myLayoutSeams);
810 coerceValue(value, myLpins.entries());
811 else if (instance[0] < myLpins.entries())
813 auto && _data = myLpins(instance[0]);
817 coerceValue(value, _data.lprimvert);
820 coerceValue(value, _data.lpinuv);
823 coerceValue(value, _data.lpinrefuv);
831 coerceValue(value, myLalignments.entries());
832 else if (instance[0] < myLalignments.entries())
834 auto && _data = myLalignments(instance[0]);
838 coerceValue(value, _data.lalign_group);
841 coerceValue(value, _data.lalign_axis);
849 coerceValue(value, myLstraightenings.entries());
850 else if (instance[0] < myLstraightenings.entries())
852 auto && _data = myLstraightenings(instance[0]);
856 coerceValue(value, _data.lstraight_group);
863 coerceValue(value, myUseOutputSeams);
866 coerceValue(value, myOutputSeams);
869 coerceValue(value, myUseOutputConstrIslands);
872 coerceValue(value, myOutputConstrIslands);
875 coerceValue(value, myBBoxCenter);
878 coerceValue(value, myBBoxSize);
894 { doGetParmValue(idx, instance, value); }
896 { doGetParmValue(idx, instance, value); }
898 { doGetParmValue(idx, instance, value); }
900 { doGetParmValue(idx, instance, value); }
902 { doGetParmValue(idx, instance, value); }
904 { doGetParmValue(idx, instance, value); }
906 { doGetParmValue(idx, instance, value); }
908 { doGetParmValue(idx, instance, value); }
910 { doGetParmValue(idx, instance, value); }
912 { doGetParmValue(idx, instance, value); }
914 { doGetParmValue(idx, instance, value); }
916 template <
typename T>
923 if (idx.
size() != instance.
size()+1)
928 coerceValue(myGroup, ( ( value ) ));
931 coerceValue(myUVAttrib, ( ( value ) ));
934 coerceValue(myMethod, clampMinValue(0, clampMaxValue(1, value ) ));
937 coerceValue(myKeepExistingSeams, ( ( value ) ));
940 coerceValue(myKeepExistingLayout, ( ( value ) ));
943 coerceValue(myPinBoundaries, ( ( value ) ));
946 coerceValue(mySeams, ( ( value ) ));
949 coerceValue(myUsePins, ( ( value ) ));
955 coerceValue(newsize, value);
956 if (newsize < 0) newsize = 0;
957 myPins.setSize(newsize);
963 myPins.setSizeIfNeeded(instance[0]+1);
964 auto && _data = myPins(instance[0]);
968 coerceValue(_data.usepin, value);
971 coerceValue(_data.primvert, value);
974 coerceValue(_data.pinuv, value);
977 coerceValue(_data.pinrefuv, value);
984 coerceValue(myUseAlignments, ( ( value ) ));
990 coerceValue(newsize, value);
991 if (newsize < 0) newsize = 0;
992 myAlignments.setSize(newsize);
998 myAlignments.setSizeIfNeeded(instance[0]+1);
999 auto && _data = myAlignments(instance[0]);
1003 coerceValue(_data.align_enabled, value);
1006 coerceValue(_data.align_group, value);
1009 coerceValue(_data.align_axis, value);
1016 coerceValue(myUseStraightenings, ( ( value ) ));
1019 if (idx.
size() == 1)
1022 coerceValue(newsize, value);
1023 if (newsize < 0) newsize = 0;
1024 myStraightenings.setSize(newsize);
1028 if (instance[0] < 0)
1030 myStraightenings.setSizeIfNeeded(instance[0]+1);
1031 auto && _data = myStraightenings(instance[0]);
1035 coerceValue(_data.straight_enabled, value);
1038 coerceValue(_data.straight_group, value);
1045 coerceValue(myManualLayout, ( ( value ) ));
1048 coerceValue(myLayoutSeams, ( ( value ) ));
1051 if (idx.
size() == 1)
1054 coerceValue(newsize, value);
1055 if (newsize < 0) newsize = 0;
1056 myLpins.setSize(newsize);
1060 if (instance[0] < 0)
1062 myLpins.setSizeIfNeeded(instance[0]+1);
1063 auto && _data = myLpins(instance[0]);
1067 coerceValue(_data.lprimvert, value);
1070 coerceValue(_data.lpinuv, value);
1073 coerceValue(_data.lpinrefuv, value);
1080 if (idx.
size() == 1)
1083 coerceValue(newsize, value);
1084 if (newsize < 0) newsize = 0;
1085 myLalignments.setSize(newsize);
1089 if (instance[0] < 0)
1091 myLalignments.setSizeIfNeeded(instance[0]+1);
1092 auto && _data = myLalignments(instance[0]);
1096 coerceValue(_data.lalign_group, value);
1099 coerceValue(_data.lalign_axis, value);
1106 if (idx.
size() == 1)
1109 coerceValue(newsize, value);
1110 if (newsize < 0) newsize = 0;
1111 myLstraightenings.setSize(newsize);
1115 if (instance[0] < 0)
1117 myLstraightenings.setSizeIfNeeded(instance[0]+1);
1118 auto && _data = myLstraightenings(instance[0]);
1122 coerceValue(_data.lstraight_group, value);
1129 coerceValue(myUseOutputSeams, ( ( value ) ));
1132 coerceValue(myOutputSeams, ( ( value ) ));
1135 coerceValue(myUseOutputConstrIslands, ( ( value ) ));
1138 coerceValue(myOutputConstrIslands, ( ( value ) ));
1141 coerceValue(myBBoxCenter, ( ( value ) ));
1144 coerceValue(myBBoxSize, clampMinValue(0, ( value ) ));
1151 { doSetParmValue(idx, instance, value); }
1153 { doSetParmValue(idx, instance, value); }
1155 { doSetParmValue(idx, instance, value); }
1157 { doSetParmValue(idx, instance, value); }
1159 { doSetParmValue(idx, instance, value); }
1161 { doSetParmValue(idx, instance, value); }
1163 { doSetParmValue(idx, instance, value); }
1165 { doSetParmValue(idx, instance, value); }
1167 { doSetParmValue(idx, instance, value); }
1169 { doSetParmValue(idx, instance, value); }
1171 { doSetParmValue(idx, instance, value); }
1175 if (idx.
size() == 0)
1199 if (fieldnum.
size() < 1)
1201 switch (fieldnum[0])
1210 return "keepexistingseams";
1212 return "keepexistinglayout";
1214 return "pinboundaries";
1220 if (fieldnum.
size() == 1)
1222 switch (fieldnum[1])
1236 return "usealignments";
1238 if (fieldnum.
size() == 1)
1239 return "alignments";
1240 switch (fieldnum[1])
1243 return "align_enabled#";
1245 return "align_group#";
1247 return "align_axis#";
1252 return "usestraightenings";
1254 if (fieldnum.
size() == 1)
1255 return "straightenings";
1256 switch (fieldnum[1])
1259 return "straight_enabled#";
1261 return "straight_group#";
1266 return "manuallayout";
1268 return "layoutseamgroup";
1270 if (fieldnum.
size() == 1)
1272 switch (fieldnum[1])
1275 return "lprimvert#";
1279 return "lpinrefuv#";
1284 if (fieldnum.
size() == 1)
1285 return "lalignments";
1286 switch (fieldnum[1])
1289 return "lalign_group#";
1291 return "lalign_axis#";
1296 if (fieldnum.
size() == 1)
1297 return "lstraightenings";
1298 switch (fieldnum[1])
1301 return "lstraight_group#";
1306 return "useoutputseams";
1308 return "outputseams";
1310 return "useoutputconstrislands";
1312 return "outputconstrislands";
1314 return "bboxcenter";
1324 if (fieldnum.
size() < 1)
1325 return PARM_UNSUPPORTED;
1326 switch (fieldnum[0])
1333 return PARM_INTEGER;
1335 return PARM_INTEGER;
1337 return PARM_INTEGER;
1339 return PARM_INTEGER;
1343 return PARM_INTEGER;
1345 if (fieldnum.
size() == 1)
1346 return PARM_MULTIPARM;
1347 switch (fieldnum[1])
1350 return PARM_INTEGER;
1352 return PARM_VECTOR2;
1354 return PARM_VECTOR2;
1356 return PARM_VECTOR2;
1359 return PARM_UNSUPPORTED;
1361 return PARM_INTEGER;
1363 if (fieldnum.
size() == 1)
1364 return PARM_MULTIPARM;
1365 switch (fieldnum[1])
1368 return PARM_INTEGER;
1372 return PARM_INTEGER;
1375 return PARM_UNSUPPORTED;
1377 return PARM_INTEGER;
1379 if (fieldnum.
size() == 1)
1380 return PARM_MULTIPARM;
1381 switch (fieldnum[1])
1384 return PARM_INTEGER;
1389 return PARM_UNSUPPORTED;
1391 return PARM_INTEGER;
1395 if (fieldnum.
size() == 1)
1396 return PARM_MULTIPARM;
1397 switch (fieldnum[1])
1400 return PARM_VECTOR2;
1402 return PARM_VECTOR2;
1404 return PARM_VECTOR2;
1407 return PARM_UNSUPPORTED;
1409 if (fieldnum.
size() == 1)
1410 return PARM_MULTIPARM;
1411 switch (fieldnum[1])
1416 return PARM_INTEGER;
1419 return PARM_UNSUPPORTED;
1421 if (fieldnum.
size() == 1)
1422 return PARM_MULTIPARM;
1423 switch (fieldnum[1])
1429 return PARM_UNSUPPORTED;
1431 return PARM_INTEGER;
1435 return PARM_INTEGER;
1439 return PARM_VECTOR2;
1441 return PARM_VECTOR2;
1444 return PARM_UNSUPPORTED;
1449 { is.
bread(&v, 1); }
1480 loadData(is, rampdata);
1498 int typelen = colon - data.
buffer();
1510 { UTwrite(os, &v); }
1512 {
int64 iv =
v; UTwrite(os, &iv); }
1514 { UTwrite<fpreal64>(os, &
v); }
1516 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1518 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1519 UTwrite<fpreal64>(os, &v.
z()); }
1521 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1522 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1534 if (s) s->save(ostr);
1535 result = ostr.
str();
1536 saveData(os, result);
1543 ostr << s->getDataTypeToken();
1545 s->saveBinary(ostr);
1547 result = ostr.
str();
1548 saveData(os, result);
1556 saveData(os, myGroup);
1557 saveData(os, myUVAttrib);
1558 saveData(os, myMethod);
1559 saveData(os, myKeepExistingSeams);
1560 saveData(os, myKeepExistingLayout);
1561 saveData(os, myPinBoundaries);
1562 saveData(os, mySeams);
1563 saveData(os, myUsePins);
1566 UTwrite(os, &length);
1569 auto && _curentry = myPins(i);
1571 saveData(os, _curentry.usepin);
1572 saveData(os, _curentry.primvert);
1573 saveData(os, _curentry.pinuv);
1574 saveData(os, _curentry.pinrefuv);
1578 saveData(os, myUseAlignments);
1581 UTwrite(os, &length);
1584 auto && _curentry = myAlignments(i);
1586 saveData(os, _curentry.align_enabled);
1587 saveData(os, _curentry.align_group);
1588 saveData(os, _curentry.align_axis);
1592 saveData(os, myUseStraightenings);
1595 UTwrite(os, &length);
1598 auto && _curentry = myStraightenings(i);
1600 saveData(os, _curentry.straight_enabled);
1601 saveData(os, _curentry.straight_group);
1605 saveData(os, myManualLayout);
1606 saveData(os, myLayoutSeams);
1609 UTwrite(os, &length);
1612 auto && _curentry = myLpins(i);
1614 saveData(os, _curentry.lprimvert);
1615 saveData(os, _curentry.lpinuv);
1616 saveData(os, _curentry.lpinrefuv);
1622 UTwrite(os, &length);
1625 auto && _curentry = myLalignments(i);
1627 saveData(os, _curentry.lalign_group);
1628 saveData(os, _curentry.lalign_axis);
1634 UTwrite(os, &length);
1637 auto && _curentry = myLstraightenings(i);
1639 saveData(os, _curentry.lstraight_group);
1643 saveData(os, myUseOutputSeams);
1644 saveData(os, myOutputSeams);
1645 saveData(os, myUseOutputConstrIslands);
1646 saveData(os, myOutputConstrIslands);
1647 saveData(os, myBBoxCenter);
1648 saveData(os, myBBoxSize);
1661 loadData(is, myGroup);
1662 loadData(is, myUVAttrib);
1663 loadData(is, myMethod);
1664 loadData(is, myKeepExistingSeams);
1665 loadData(is, myKeepExistingLayout);
1666 loadData(is, myPinBoundaries);
1667 loadData(is, mySeams);
1668 loadData(is, myUsePins);
1671 is.
read(&length, 1);
1672 myPins.setSize(length);
1675 auto && _curentry = myPins(i);
1677 loadData(is, _curentry.usepin);
1678 loadData(is, _curentry.primvert);
1679 loadData(is, _curentry.pinuv);
1680 loadData(is, _curentry.pinrefuv);
1684 loadData(is, myUseAlignments);
1687 is.
read(&length, 1);
1688 myAlignments.setSize(length);
1691 auto && _curentry = myAlignments(i);
1693 loadData(is, _curentry.align_enabled);
1694 loadData(is, _curentry.align_group);
1695 loadData(is, _curentry.align_axis);
1699 loadData(is, myUseStraightenings);
1702 is.
read(&length, 1);
1703 myStraightenings.setSize(length);
1706 auto && _curentry = myStraightenings(i);
1708 loadData(is, _curentry.straight_enabled);
1709 loadData(is, _curentry.straight_group);
1713 loadData(is, myManualLayout);
1714 loadData(is, myLayoutSeams);
1717 is.
read(&length, 1);
1718 myLpins.setSize(length);
1721 auto && _curentry = myLpins(i);
1723 loadData(is, _curentry.lprimvert);
1724 loadData(is, _curentry.lpinuv);
1725 loadData(is, _curentry.lpinrefuv);
1731 is.
read(&length, 1);
1732 myLalignments.setSize(length);
1735 auto && _curentry = myLalignments(i);
1737 loadData(is, _curentry.lalign_group);
1738 loadData(is, _curentry.lalign_axis);
1744 is.
read(&length, 1);
1745 myLstraightenings.setSize(length);
1748 auto && _curentry = myLstraightenings(i);
1750 loadData(is, _curentry.lstraight_group);
1754 loadData(is, myUseOutputSeams);
1755 loadData(is, myOutputSeams);
1756 loadData(is, myUseOutputConstrIslands);
1757 loadData(is, myOutputConstrIslands);
1758 loadData(is, myBBoxCenter);
1759 loadData(is, myBBoxSize);
1769 if (!thissop)
return getGroup();
1771 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
1779 if (!thissop)
return getUVAttrib();
1781 OP_Utils::evalOpParm(result, thissop,
"uvattrib", cookparms.
getCookTime(), 0);
1789 if (!thissop)
return getMethod();
1791 OP_Utils::evalOpParm(result, thissop,
"method", cookparms.
getCookTime(), 0);
1799 if (!thissop)
return getKeepExistingSeams();
1801 OP_Utils::evalOpParm(result, thissop,
"keepexistingseams", cookparms.
getCookTime(), 0);
1809 if (!thissop)
return getKeepExistingLayout();
1811 OP_Utils::evalOpParm(result, thissop,
"keepexistinglayout", cookparms.
getCookTime(), 0);
1819 if (!thissop)
return getPinBoundaries();
1821 OP_Utils::evalOpParm(result, thissop,
"pinboundaries", cookparms.
getCookTime(), 0);
1829 if (!thissop)
return getSeams();
1831 OP_Utils::evalOpParm(result, thissop,
"seamgroup", cookparms.
getCookTime(), 0);
1839 if (!thissop)
return getUsePins();
1841 OP_Utils::evalOpParm(result, thissop,
"usepins", cookparms.
getCookTime(), 0);
1849 if (!thissop)
return getPins().entries();
1851 OP_Utils::evalOpParm(result, thissop,
"pins", cookparms.
getCookTime(), 0);
1855 {
return opinstPins_usepin(cookparms, &_idx); }
1859 if (!thissop)
return (myPins(_idx[0]).usepin);
1861 _parmidx[1-1] = _idx[1-1] + 0;
1864 OP_Utils::evalOpParmInst(result, thissop,
"usepin#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1868 {
return opinstPins_primvert(cookparms, &_idx); }
1872 if (!thissop)
return (myPins(_idx[0]).primvert);
1874 _parmidx[1-1] = _idx[1-1] + 0;
1877 OP_Utils::evalOpParmInst(result, thissop,
"primvert#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1881 {
return opinstPins_pinuv(cookparms, &_idx); }
1885 if (!thissop)
return (myPins(_idx[0]).pinuv);
1887 _parmidx[1-1] = _idx[1-1] + 0;
1890 OP_Utils::evalOpParmInst(result, thissop,
"pinuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1894 {
return opinstPins_pinrefuv(cookparms, &_idx); }
1898 if (!thissop)
return (myPins(_idx[0]).pinrefuv);
1900 _parmidx[1-1] = _idx[1-1] + 0;
1903 OP_Utils::evalOpParmInst(result, thissop,
"pinrefuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1912 if (!thissop)
return getUseAlignments();
1914 OP_Utils::evalOpParm(result, thissop,
"usealignments", cookparms.
getCookTime(), 0);
1922 if (!thissop)
return getAlignments().entries();
1924 OP_Utils::evalOpParm(result, thissop,
"alignments", cookparms.
getCookTime(), 0);
1928 {
return opinstAlignments_align_enabled(cookparms, &_idx); }
1932 if (!thissop)
return (myAlignments(_idx[0]).align_enabled);
1934 _parmidx[1-1] = _idx[1-1] + 0;
1937 OP_Utils::evalOpParmInst(result, thissop,
"align_enabled#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1941 {
return opinstAlignments_align_group(cookparms, &_idx); }
1945 if (!thissop)
return (myAlignments(_idx[0]).align_group);
1947 _parmidx[1-1] = _idx[1-1] + 0;
1950 OP_Utils::evalOpParmInst(result, thissop,
"align_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1954 {
return opinstAlignments_align_axis(cookparms, &_idx); }
1958 if (!thissop)
return (myAlignments(_idx[0]).align_axis);
1960 _parmidx[1-1] = _idx[1-1] + 0;
1963 OP_Utils::evalOpParmInst(result, thissop,
"align_axis#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1972 if (!thissop)
return getUseStraightenings();
1974 OP_Utils::evalOpParm(result, thissop,
"usestraightenings", cookparms.
getCookTime(), 0);
1982 if (!thissop)
return getStraightenings().entries();
1984 OP_Utils::evalOpParm(result, thissop,
"straightenings", cookparms.
getCookTime(), 0);
1988 {
return opinstStraightenings_straight_enabled(cookparms, &_idx); }
1992 if (!thissop)
return (myStraightenings(_idx[0]).straight_enabled);
1994 _parmidx[1-1] = _idx[1-1] + 0;
1997 OP_Utils::evalOpParmInst(result, thissop,
"straight_enabled#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2001 {
return opinstStraightenings_straight_group(cookparms, &_idx); }
2005 if (!thissop)
return (myStraightenings(_idx[0]).straight_group);
2007 _parmidx[1-1] = _idx[1-1] + 0;
2010 OP_Utils::evalOpParmInst(result, thissop,
"straight_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2019 if (!thissop)
return getManualLayout();
2021 OP_Utils::evalOpParm(result, thissop,
"manuallayout", cookparms.
getCookTime(), 0);
2029 if (!thissop)
return getLayoutSeams();
2031 OP_Utils::evalOpParm(result, thissop,
"layoutseamgroup", cookparms.
getCookTime(), 0);
2039 if (!thissop)
return getLpins().entries();
2041 OP_Utils::evalOpParm(result, thissop,
"lpins", cookparms.
getCookTime(), 0);
2045 {
return opinstLpins_lprimvert(cookparms, &_idx); }
2049 if (!thissop)
return (myLpins(_idx[0]).lprimvert);
2051 _parmidx[1-1] = _idx[1-1] + 0;
2054 OP_Utils::evalOpParmInst(result, thissop,
"lprimvert#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2058 {
return opinstLpins_lpinuv(cookparms, &_idx); }
2062 if (!thissop)
return (myLpins(_idx[0]).lpinuv);
2064 _parmidx[1-1] = _idx[1-1] + 0;
2067 OP_Utils::evalOpParmInst(result, thissop,
"lpinuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2071 {
return opinstLpins_lpinrefuv(cookparms, &_idx); }
2075 if (!thissop)
return (myLpins(_idx[0]).lpinrefuv);
2077 _parmidx[1-1] = _idx[1-1] + 0;
2080 OP_Utils::evalOpParmInst(result, thissop,
"lpinrefuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2089 if (!thissop)
return getLalignments().entries();
2091 OP_Utils::evalOpParm(result, thissop,
"lalignments", cookparms.
getCookTime(), 0);
2095 {
return opinstLalignments_lalign_group(cookparms, &_idx); }
2099 if (!thissop)
return (myLalignments(_idx[0]).lalign_group);
2101 _parmidx[1-1] = _idx[1-1] + 0;
2104 OP_Utils::evalOpParmInst(result, thissop,
"lalign_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2108 {
return opinstLalignments_lalign_axis(cookparms, &_idx); }
2112 if (!thissop)
return (myLalignments(_idx[0]).lalign_axis);
2114 _parmidx[1-1] = _idx[1-1] + 0;
2117 OP_Utils::evalOpParmInst(result, thissop,
"lalign_axis#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2126 if (!thissop)
return getLstraightenings().entries();
2128 OP_Utils::evalOpParm(result, thissop,
"lstraightenings", cookparms.
getCookTime(), 0);
2132 {
return opinstLstraightenings_lstraight_group(cookparms, &_idx); }
2136 if (!thissop)
return (myLstraightenings(_idx[0]).lstraight_group);
2138 _parmidx[1-1] = _idx[1-1] + 0;
2141 OP_Utils::evalOpParmInst(result, thissop,
"lstraight_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2150 if (!thissop)
return getUseOutputSeams();
2152 OP_Utils::evalOpParm(result, thissop,
"useoutputseams", cookparms.
getCookTime(), 0);
2160 if (!thissop)
return getOutputSeams();
2162 OP_Utils::evalOpParm(result, thissop,
"outputseams", cookparms.
getCookTime(), 0);
2170 if (!thissop)
return getUseOutputConstrIslands();
2172 OP_Utils::evalOpParm(result, thissop,
"useoutputconstrislands", cookparms.
getCookTime(), 0);
2180 if (!thissop)
return getOutputConstrIslands();
2182 OP_Utils::evalOpParm(result, thissop,
"outputconstrislands", cookparms.
getCookTime(), 0);
2190 if (!thissop)
return getBBoxCenter();
2192 OP_Utils::evalOpParm(result, thissop,
"bboxcenter", cookparms.
getCookTime(), 0);
2200 if (!thissop)
return getBBoxSize();
2202 OP_Utils::evalOpParm(result, thissop,
"bboxsize", cookparms.
getCookTime(), 0);
2210 bool myKeepExistingSeams;
2211 bool myKeepExistingLayout;
2212 bool myPinBoundaries;
2216 bool myUseAlignments;
2218 bool myUseStraightenings;
2220 bool myManualLayout;
2225 bool myUseOutputSeams;
2227 bool myUseOutputConstrIslands;
static void loadData(UT_IStream &is, bool &v)
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
bool getUseStraightenings() const
static void saveData(std::ostream &os, int64 v)
bool operator==(const SOP_UVFlatten_2_0Parms &src) const
UT_Vector2D opBBoxCenter(const SOP_NodeVerb::CookParms &cookparms) const
GLenum GLuint GLenum GLsizei const GLchar * buf
UT_Vector2D opPins_primvert(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
SOP_Node * getNode() const
exint getNestNumParms(TempIndex idx) const override
static void loadData(UT_IStream &is, UT_Matrix4D &v)
const UT_Array< Lstraightenings > & getLstraightenings() const
static void saveData(std::ostream &os, bool v)
bool opPins_usepin(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
UT_StringHolder createString(const UT_Array< Pins > &list) const
UT_StringHolder opinstLstraightenings_lstraight_group(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void setLstraightenings(const UT_Array< Lstraightenings > &val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
UT_StringHolder opOutputSeams(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D opinstLpins_lpinrefuv(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
exint bread(int32 *buffer, exint asize=1)
bool opAlignments_align_enabled(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
UT_Vector2D opLpins_lprimvert(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool opUsePins(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder lstraight_group
static void loadData(UT_IStream &is, int64 &v)
UT_Vector2T< fpreal64 > UT_Vector2D
UT_Vector2D opPins_pinuv(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
bool operator==(const Lpins &src) const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
void loadFromOpSubclass(const LoadParms &loadparms) override
UT_Vector2D opBBoxSize(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D getBBoxCenter() const
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const
const OP_Context & context() const
bool load(UT_IStream &is)
constexpr SYS_FORCE_INLINE T & z() noexcept
void setUseOutputConstrIslands(bool val)
static void loadData(UT_IStream &is, UT_Vector4D &v)
UT_StringHolder createString(const UT_Array< Alignments > &list) const
static void saveData(std::ostream &os, UT_StringHolder s)
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
SYS_FORCE_INLINE const char * buffer() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
bool operator==(const Pins &src) const
bool opKeepExistingSeams(const SOP_NodeVerb::CookParms &cookparms) const
bool opPinBoundaries(const SOP_NodeVerb::CookParms &cookparms) const
GLuint GLsizei GLsizei * length
UT_Vector2D opinstPins_pinrefuv(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
An output stream object that owns its own string buffer storage.
bool operator==(const Alignments &src) const
static void saveData(std::ostream &os, UT_Matrix2D v)
static void saveData(std::ostream &os, UT_Matrix3D v)
bool getUseOutputSeams() const
const UT_Array< Lpins > & getLpins() const
**But if you need a result
const UT_StringHolder & getGroup() const
UT_Vector2D opinstLpins_lprimvert(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
exint opPins(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, fpreal64 &v)
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
UT_StringHolder align_group
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
const UT_Array< Lalignments > & getLalignments() const
UT_StringHolder opAlignments_align_group(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
UT_StringHolder opLayoutSeams(const SOP_NodeVerb::CookParms &cookparms) const
void setOutputConstrIslands(const UT_StringHolder &val)
UT_StringHolder createString(const UT_Array< Lstraightenings > &list) const
bool operator!=(const Lstraightenings &src) const
void setLpins(const UT_Array< Lpins > &val)
constexpr SYS_FORCE_INLINE T & x() noexcept
exint opLstraightenings(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
UT_StringHolder opLstraightenings_lstraight_group(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
GLuint GLsizei const GLuint const GLintptr * offsets
UT_Vector2D opinstPins_pinuv(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
exint opAlignments(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & x() noexcept
bool opinstPins_usepin(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
static void saveData(std::ostream &os, UT_Matrix4D v)
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
void setBBoxCenter(UT_Vector2D val)
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
static void loadData(UT_IStream &is, UT_Vector4I &v)
static void loadData(UT_IStream &is, UT_Vector3D &v)
UT_StringHolder opStraightenings_straight_group(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
exint opLalignments(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opOutputConstrIslands(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
void copyFrom(const OP_NodeParms *src) override
int64 opAlignments_align_axis(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
void setUseStraightenings(bool val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
constexpr SYS_FORCE_INLINE T & z() noexcept
bool operator!=(const Pins &src) const
const UT_Array< Alignments > & getAlignments() const
exint read(bool *array, exint sz=1)
UT_StringHolder opinstAlignments_align_group(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
const OP_GraphProxy * graph() const
void setManualLayout(bool val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
const UT_StringHolder & getUVAttrib() const
static void saveData(std::ostream &os, UT_Vector2D v)
void setKeepExistingSeams(bool val)
bool operator!=(const Lpins &src) const
UT_StringHolder createString(const UT_Array< Lalignments > &list) const
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
const UT_Array< Pins > & getPins() const
void setAlignments(const UT_Array< Alignments > &val)
void setUseAlignments(bool val)
void setBBoxSize(UT_Vector2D val)
UT_Vector2D getBBoxSize() const
bool opUseAlignments(const SOP_NodeVerb::CookParms &cookparms) const
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
bool getPinBoundaries() const
bool opKeepExistingLayout(const SOP_NodeVerb::CookParms &cookparms) const
int64 opLalignments_lalign_axis(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool opUseStraightenings(const SOP_NodeVerb::CookParms &cookparms) const
bool isParmColorRamp(exint idx) const override
void setUsePins(bool val)
UT_Vector2D opPins_pinrefuv(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
const UT_StringHolder & getOutputConstrIslands() const
bool operator!=(const Alignments &src) const
UT_StringHolder straight_group
ParmType getNestParmType(TempIndex fieldnum) const override
SYS_FORCE_INLINE UT_StringHolder getToken(Method enum_value)
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
UT_StringHolder createString(const UT_Array< Straightenings > &list) const
static void loadData(UT_IStream &is, UT_StringHolder &v)
bool operator!=(const Lalignments &src) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
SYS_FORCE_INLINE void strcat(const char *src)
bool opUseOutputConstrIslands(const SOP_NodeVerb::CookParms &cookparms) const
void saveBinary(std::ostream &os) const
Save string to binary stream.
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
bool getManualLayout() const
bool operator!=(const Straightenings &src) const
GT_API const UT_StringHolder version
bool opinstStraightenings_straight_enabled(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
static void saveData(std::ostream &os, fpreal64 v)
void setPins(const UT_Array< Pins > &val)
exint entries() const
Alias of size(). size() is preferred.
void setUseOutputSeams(bool val)
exint opLpins(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder lalign_group
const char * getNestParmName(TempIndex fieldnum) const override
const UT_StringHolder & getSeams() const
const UT_StringHolder & getLayoutSeams() const
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
void setStraightenings(const UT_Array< Straightenings > &val)
UT_StringHolder opinstLalignments_lalign_group(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
UT_StringHolder createString(const UT_Array< Lpins > &list) const
void setGroup(const UT_StringHolder &val)
void setPinBoundaries(bool val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
bool getKeepExistingSeams() const
bool opManualLayout(const SOP_NodeVerb::CookParms &cookparms) const
Method opMethod(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
void setOutputSeams(const UT_StringHolder &val)
UT_Vector2D opLpins_lpinrefuv(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
DEP_MicroNode * depnode() const
LeafData & operator=(const LeafData &)=delete
bool getUseOutputConstrIslands() const
Utility class for containing a color ramp.
UT_StringHolder opinstStraightenings_straight_group(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
const UT_Array< Straightenings > & getStraightenings() const
void setUVAttrib(const UT_StringHolder &val)
constexpr SYS_FORCE_INLINE T & w() noexcept
SYS_FORCE_INLINE void append(char character)
static void loadData(UT_IStream &is, UT_Vector2D &v)
void setLayoutSeams(const UT_StringHolder &val)
UT_StringHolder opUVAttrib(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseOutputSeams(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getOutputSeams() const
exint opStraightenings(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D opinstLpins_lpinuv(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
bool operator==(const Lalignments &src) const
UT_StringHolder opSeams(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3I &v)
fpreal getCookTime() const
bool operator!=(const SOP_UVFlatten_2_0Parms &src) const
const char * findChar(int c) const
static void saveData(std::ostream &os, UT_Vector4D v)
void setLalignments(const UT_Array< Lalignments > &val)
static void saveData(std::ostream &os, UT_Vector3D v)
void setKeepExistingLayout(bool val)
bool operator==(const Lstraightenings &src) const
constexpr SYS_FORCE_INLINE T & y() noexcept
void setSeams(const UT_StringHolder &val)
void setMethod(Method val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
bool opinstAlignments_align_enabled(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool operator==(const Straightenings &src) const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
static void loadData(UT_IStream &is, UT_Vector2I &v)
UT_Vector2D opLpins_lpinuv(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
constexpr SYS_FORCE_INLINE T & y() noexcept
void save(std::ostream &os) const
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
SYS_FORCE_INLINE bool isstring() const
bool getUseAlignments() const
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
int64 opinstAlignments_align_axis(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
UT_StringHolder opLalignments_lalign_group(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool opStraightenings_straight_enabled(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
bool getKeepExistingLayout() const
int64 opinstLalignments_lalign_axis(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
UT_Vector2D opinstPins_primvert(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
constexpr SYS_FORCE_INLINE T & x() noexcept