23 namespace SOP_UVFlatten_3_0Enums
66 if (usepin != src.
usepin)
return false;
67 if (primvert != src.
primvert)
return false;
68 if (pinuv != src.
pinuv)
return false;
69 if (pinrefuv != src.
pinrefuv)
return false;
85 for (
int i = 0; i < list.
entries(); i++)
93 buf.
appendSprintf(
"(%f, %f)", list(i).primvert.x(), list(i).primvert.y());
95 buf.
appendSprintf(
"(%f, %f)", list(i).pinuv.x(), list(i).pinuv.y());
97 buf.
appendSprintf(
"(%f, %f)", list(i).pinrefuv.x(), list(i).pinrefuv.y());
115 align_enabled =
true;
116 align_group =
""_UTsh;
125 if (align_axis != src.
align_axis)
return false;
141 for (
int i = 0; i < list.
entries(); i++)
147 buf.
appendSprintf(
"%s", (list(i).align_enabled) ?
"true" :
"false");
168 straight_enabled =
true;
169 straight_group =
""_UTsh;
192 for (
int i = 0; i < list.
entries(); i++)
198 buf.
appendSprintf(
"%s", (list(i).straight_enabled) ?
"true" :
"false");
226 if (lprimvert != src.
lprimvert)
return false;
227 if (lpinuv != src.
lpinuv)
return false;
228 if (lpinrefuv != src.
lpinrefuv)
return false;
244 for (
int i = 0; i < list.
entries(); i++)
250 buf.
appendSprintf(
"(%f, %f)", list(i).lprimvert.x(), list(i).lprimvert.y());
252 buf.
appendSprintf(
"(%f, %f)", list(i).lpinuv.x(), list(i).lpinuv.y());
254 buf.
appendSprintf(
"(%f, %f)", list(i).lpinrefuv.x(), list(i).lpinrefuv.y());
271 lalign_group =
""_UTsh;
295 for (
int i = 0; i < list.
entries(); i++)
319 lstraight_group =
""_UTsh;
341 for (
int i = 0; i < list.
entries(); i++)
360 myUVAttrib =
"uv"_UTsh;
362 myKeepExistingSeams =
false;
363 myKeepExistingLayout =
false;
364 myPinBoundaries =
false;
366 myRectifyGroup =
""_UTsh;
369 myUseAlignments =
true;
370 myAlignments.setSize(0);
371 myUseStraightenings =
true;
372 myStraightenings.setSize(0);
373 myManualLayout =
true;
374 myLayoutSeams =
""_UTsh;
375 myLayoutRectifyGroup =
""_UTsh;
377 myLalignments.setSize(0);
378 myLstraightenings.setSize(0);
379 myUseOutputSeams =
false;
380 myOutputSeams =
"outputseams"_UTsh;
381 myUseOutputConstrIslands =
false;
382 myOutputConstrIslands =
"constrainedprims"_UTsh;
397 if (myGroup != src.myGroup)
return false;
398 if (myUVAttrib != src.myUVAttrib)
return false;
399 if (myMethod != src.myMethod)
return false;
400 if (myKeepExistingSeams != src.myKeepExistingSeams)
return false;
401 if (myKeepExistingLayout != src.myKeepExistingLayout)
return false;
402 if (myPinBoundaries != src.myPinBoundaries)
return false;
403 if (mySeams != src.mySeams)
return false;
404 if (myRectifyGroup != src.myRectifyGroup)
return false;
405 if (myUsePins != src.myUsePins)
return false;
406 if (myPins != src.myPins)
return false;
407 if (myUseAlignments != src.myUseAlignments)
return false;
408 if (myAlignments != src.myAlignments)
return false;
409 if (myUseStraightenings != src.myUseStraightenings)
return false;
410 if (myStraightenings != src.myStraightenings)
return false;
411 if (myManualLayout != src.myManualLayout)
return false;
412 if (myLayoutSeams != src.myLayoutSeams)
return false;
413 if (myLayoutRectifyGroup != src.myLayoutRectifyGroup)
return false;
414 if (myLpins != src.myLpins)
return false;
415 if (myLalignments != src.myLalignments)
return false;
416 if (myLstraightenings != src.myLstraightenings)
return false;
417 if (myUseOutputSeams != src.myUseOutputSeams)
return false;
418 if (myOutputSeams != src.myOutputSeams)
return false;
419 if (myUseOutputConstrIslands != src.myUseOutputConstrIslands)
return false;
420 if (myOutputConstrIslands != src.myOutputConstrIslands)
return false;
421 if (myBBoxCenter != src.myBBoxCenter)
return false;
422 if (myBBoxSize != src.myBBoxSize)
return false;
440 graph->
evalOpParm(myGroup, nodeidx,
"group", time, 0);
441 myUVAttrib =
"uv"_UTsh;
443 graph->
evalOpParm(myUVAttrib, nodeidx,
"uvattrib", time, 0);
446 graph->
evalOpParm(myMethod, nodeidx,
"method", time, 0);
447 myKeepExistingSeams =
false;
449 graph->
evalOpParm(myKeepExistingSeams, nodeidx,
"keepexistingseams", time, 0);
450 myKeepExistingLayout =
false;
451 if (
true && ( (
true&&!(((getKeepExistingSeams()==0)))) ) )
452 graph->
evalOpParm(myKeepExistingLayout, nodeidx,
"keepexistinglayout", time, 0);
453 myPinBoundaries =
false;
454 if (
true && ( (
true&&!(((getKeepExistingSeams()==0))||((
int64(getMethod())!=0)))) ) )
455 graph->
evalOpParm(myPinBoundaries, nodeidx,
"pinboundaries", time, 0);
458 graph->
evalOpParm(mySeams, nodeidx,
"seamgroup", time, 0);
459 myRectifyGroup =
""_UTsh;
461 graph->
evalOpParm(myRectifyGroup, nodeidx,
"rectifygroup", time, 0);
464 graph->
evalOpParm(myUsePins, nodeidx,
"usepins", time, 0);
465 if (
true && ( (!(((getUsePins()==0)))) ) )
468 graph->
evalOpParm(length, nodeidx,
"pins", time, 0);
469 if (length < 0) length = 0;
470 myPins.setSize(length);
477 auto && _curentry = myPins(i);
479 _curentry.usepin =
true;
480 if (
true && ( (!(((getUsePins()==0)))) ) )
481 graph->
evalOpParmInst(_curentry.usepin, nodeidx,
"usepin#", parmidx, offsets, time, 0, 2-1);
483 if (
true && ( (!(((getUsePins()==0)))) ) )
484 graph->
evalOpParmInst(_curentry.primvert, nodeidx,
"primvert#", parmidx, offsets, time, 0, 2-1);
486 if (
true && ( (!(((getUsePins()==0)))) ) )
487 graph->
evalOpParmInst(_curentry.pinuv, nodeidx,
"pinuv#", parmidx, offsets, time, 0, 2-1);
489 if (
true && ( (!(((getUsePins()==0)))) ) )
490 graph->
evalOpParmInst(_curentry.pinrefuv, nodeidx,
"pinrefuv#", parmidx, offsets, time, 0, 2-1);
496 myUseAlignments =
true;
498 graph->
evalOpParm(myUseAlignments, nodeidx,
"usealignments", time, 0);
499 if (
true && ( (!(((getUseAlignments()==0)))) ) )
502 graph->
evalOpParm(length, nodeidx,
"alignments", time, 0);
503 if (length < 0) length = 0;
504 myAlignments.setSize(length);
511 auto && _curentry = myAlignments(i);
513 _curentry.align_enabled =
true;
514 if (
true && ( (!(((getUseAlignments()==0)))) ) )
515 graph->
evalOpParmInst(_curentry.align_enabled, nodeidx,
"align_enabled#", parmidx, offsets, time, 0, 2-1);
516 _curentry.align_group =
""_UTsh;
517 if (
true && ( (!(((getUseAlignments()==0)))) ) )
518 graph->
evalOpParmInst(_curentry.align_group, nodeidx,
"align_group#", parmidx, offsets, time, 0, 2-1);
519 _curentry.align_axis = 0;
520 if (
true && ( (!(((getUseAlignments()==0)))) ) )
521 graph->
evalOpParmInst(_curentry.align_axis, nodeidx,
"align_axis#", parmidx, offsets, time, 0, 2-1);
526 myAlignments.clear();
527 myUseStraightenings =
true;
529 graph->
evalOpParm(myUseStraightenings, nodeidx,
"usestraightenings", time, 0);
530 if (
true && ( (!(((getUseStraightenings()==0)))) ) )
533 graph->
evalOpParm(length, nodeidx,
"straightenings", time, 0);
534 if (length < 0) length = 0;
535 myStraightenings.setSize(length);
542 auto && _curentry = myStraightenings(i);
544 _curentry.straight_enabled =
true;
545 if (
true && ( (!(((getUseStraightenings()==0)))) ) )
546 graph->
evalOpParmInst(_curentry.straight_enabled, nodeidx,
"straight_enabled#", parmidx, offsets, time, 0, 2-1);
547 _curentry.straight_group =
""_UTsh;
548 if (
true && ( (!(((getUseStraightenings()==0)))) ) )
549 graph->
evalOpParmInst(_curentry.straight_group, nodeidx,
"straight_group#", parmidx, offsets, time, 0, 2-1);
554 myStraightenings.clear();
555 myManualLayout =
true;
557 graph->
evalOpParm(myManualLayout, nodeidx,
"manuallayout", time, 0);
558 myLayoutSeams =
""_UTsh;
559 if (
true && ( (
true&&!(((getManualLayout()==0)))) ) )
560 graph->
evalOpParm(myLayoutSeams, nodeidx,
"layoutseamgroup", time, 0);
561 myLayoutRectifyGroup =
""_UTsh;
562 if (
true && ( (
true&&!(((getManualLayout()==0)))) ) )
563 graph->
evalOpParm(myLayoutRectifyGroup, nodeidx,
"layoutrectifygroup", time, 0);
564 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) )
567 graph->
evalOpParm(length, nodeidx,
"lpins", time, 0);
568 if (length < 0) length = 0;
569 myLpins.setSize(length);
576 auto && _curentry = myLpins(i);
579 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
580 graph->
evalOpParmInst(_curentry.lprimvert, nodeidx,
"lprimvert#", parmidx, offsets, time, 0, 2-1);
582 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
583 graph->
evalOpParmInst(_curentry.lpinuv, nodeidx,
"lpinuv#", parmidx, offsets, time, 0, 2-1);
585 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
586 graph->
evalOpParmInst(_curentry.lpinrefuv, nodeidx,
"lpinrefuv#", parmidx, offsets, time, 0, 2-1);
592 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) )
595 graph->
evalOpParm(length, nodeidx,
"lalignments", time, 0);
596 if (length < 0) length = 0;
597 myLalignments.setSize(length);
604 auto && _curentry = myLalignments(i);
606 _curentry.lalign_group =
""_UTsh;
607 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
608 graph->
evalOpParmInst(_curentry.lalign_group, nodeidx,
"lalign_group#", parmidx, offsets, time, 0, 2-1);
609 _curentry.lalign_axis = 0;
610 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
611 graph->
evalOpParmInst(_curentry.lalign_axis, nodeidx,
"lalign_axis#", parmidx, offsets, time, 0, 2-1);
616 myLalignments.clear();
617 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) )
620 graph->
evalOpParm(length, nodeidx,
"lstraightenings", time, 0);
621 if (length < 0) length = 0;
622 myLstraightenings.setSize(length);
629 auto && _curentry = myLstraightenings(i);
631 _curentry.lstraight_group =
""_UTsh;
632 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
633 graph->
evalOpParmInst(_curentry.lstraight_group, nodeidx,
"lstraight_group#", parmidx, offsets, time, 0, 2-1);
638 myLstraightenings.clear();
639 myUseOutputSeams =
false;
641 graph->
evalOpParm(myUseOutputSeams, nodeidx,
"useoutputseams", time, 0);
642 myOutputSeams =
"outputseams"_UTsh;
643 if (
true && ( (
true&&!(((getUseOutputSeams()==0)))) ) )
644 graph->
evalOpParm(myOutputSeams, nodeidx,
"outputseams", time, 0);
645 myUseOutputConstrIslands =
false;
647 graph->
evalOpParm(myUseOutputConstrIslands, nodeidx,
"useoutputconstrislands", time, 0);
648 myOutputConstrIslands =
"constrainedprims"_UTsh;
649 if (
true && ( (
true&&!(((getUseOutputConstrIslands()==0)))) ) )
650 graph->
evalOpParm(myOutputConstrIslands, nodeidx,
"outputconstrislands", time, 0);
653 graph->
evalOpParm(myBBoxCenter, nodeidx,
"bboxcenter", time, 0);
656 graph->
evalOpParm(myBBoxSize, nodeidx,
"bboxsize", time, 0);
672 template <
typename T>
679 if (idx.
size() != instance.
size()+1)
713 else if (instance[0] < myPins.entries())
715 auto && _data = myPins(instance[0]);
740 else if (instance[0] < myAlignments.entries())
742 auto && _data = myAlignments(instance[0]);
764 else if (instance[0] < myStraightenings.entries())
766 auto && _data = myStraightenings(instance[0]);
791 else if (instance[0] < myLpins.entries())
793 auto && _data = myLpins(instance[0]);
812 else if (instance[0] < myLalignments.entries())
814 auto && _data = myLalignments(instance[0]);
830 else if (instance[0] < myLstraightenings.entries())
832 auto && _data = myLstraightenings(instance[0]);
874 { doGetParmValue(idx, instance, value); }
876 { doGetParmValue(idx, instance, value); }
878 { doGetParmValue(idx, instance, value); }
880 { doGetParmValue(idx, instance, value); }
882 { doGetParmValue(idx, instance, value); }
884 { doGetParmValue(idx, instance, value); }
886 { doGetParmValue(idx, instance, value); }
888 { doGetParmValue(idx, instance, value); }
890 { doGetParmValue(idx, instance, value); }
892 { doGetParmValue(idx, instance, value); }
894 { doGetParmValue(idx, instance, value); }
896 template <
typename T>
903 if (idx.
size() != instance.
size()+1)
939 if (newsize < 0) newsize = 0;
940 myPins.setSize(newsize);
946 myPins.setSizeIfNeeded(instance[0]+1);
947 auto && _data = myPins(instance[0]);
974 if (newsize < 0) newsize = 0;
975 myAlignments.setSize(newsize);
981 myAlignments.setSizeIfNeeded(instance[0]+1);
982 auto && _data = myAlignments(instance[0]);
1002 if (idx.
size() == 1)
1006 if (newsize < 0) newsize = 0;
1007 myStraightenings.setSize(newsize);
1011 if (instance[0] < 0)
1013 myStraightenings.setSizeIfNeeded(instance[0]+1);
1014 auto && _data = myStraightenings(instance[0]);
1037 if (idx.
size() == 1)
1041 if (newsize < 0) newsize = 0;
1042 myLpins.setSize(newsize);
1046 if (instance[0] < 0)
1048 myLpins.setSizeIfNeeded(instance[0]+1);
1049 auto && _data = myLpins(instance[0]);
1066 if (idx.
size() == 1)
1070 if (newsize < 0) newsize = 0;
1071 myLalignments.setSize(newsize);
1075 if (instance[0] < 0)
1077 myLalignments.setSizeIfNeeded(instance[0]+1);
1078 auto && _data = myLalignments(instance[0]);
1092 if (idx.
size() == 1)
1096 if (newsize < 0) newsize = 0;
1097 myLstraightenings.setSize(newsize);
1101 if (instance[0] < 0)
1103 myLstraightenings.setSizeIfNeeded(instance[0]+1);
1104 auto && _data = myLstraightenings(instance[0]);
1121 coerceValue(myUseOutputConstrIslands, ( ( value ) ));
1124 coerceValue(myOutputConstrIslands, ( ( value ) ));
1137 { doSetParmValue(idx, instance, value); }
1139 { doSetParmValue(idx, instance, value); }
1141 { doSetParmValue(idx, instance, value); }
1143 { doSetParmValue(idx, instance, value); }
1145 { doSetParmValue(idx, instance, value); }
1147 { doSetParmValue(idx, instance, value); }
1149 { doSetParmValue(idx, instance, value); }
1151 { doSetParmValue(idx, instance, value); }
1153 { doSetParmValue(idx, instance, value); }
1155 { doSetParmValue(idx, instance, value); }
1157 { doSetParmValue(idx, instance, value); }
1161 if (idx.
size() == 0)
1185 if (fieldnum.
size() < 1)
1187 switch (fieldnum[0])
1196 return "keepexistingseams";
1198 return "keepexistinglayout";
1200 return "pinboundaries";
1204 return "rectifygroup";
1208 if (fieldnum.
size() == 1)
1210 switch (fieldnum[1])
1224 return "usealignments";
1226 if (fieldnum.
size() == 1)
1227 return "alignments";
1228 switch (fieldnum[1])
1231 return "align_enabled#";
1233 return "align_group#";
1235 return "align_axis#";
1240 return "usestraightenings";
1242 if (fieldnum.
size() == 1)
1243 return "straightenings";
1244 switch (fieldnum[1])
1247 return "straight_enabled#";
1249 return "straight_group#";
1254 return "manuallayout";
1256 return "layoutseamgroup";
1258 return "layoutrectifygroup";
1260 if (fieldnum.
size() == 1)
1262 switch (fieldnum[1])
1265 return "lprimvert#";
1269 return "lpinrefuv#";
1274 if (fieldnum.
size() == 1)
1275 return "lalignments";
1276 switch (fieldnum[1])
1279 return "lalign_group#";
1281 return "lalign_axis#";
1286 if (fieldnum.
size() == 1)
1287 return "lstraightenings";
1288 switch (fieldnum[1])
1291 return "lstraight_group#";
1296 return "useoutputseams";
1298 return "outputseams";
1300 return "useoutputconstrislands";
1302 return "outputconstrislands";
1304 return "bboxcenter";
1314 if (fieldnum.
size() < 1)
1315 return PARM_UNSUPPORTED;
1316 switch (fieldnum[0])
1337 if (fieldnum.
size() == 1)
1338 return PARM_MULTIPARM;
1339 switch (fieldnum[1])
1355 if (fieldnum.
size() == 1)
1356 return PARM_MULTIPARM;
1357 switch (fieldnum[1])
1371 if (fieldnum.
size() == 1)
1372 return PARM_MULTIPARM;
1373 switch (fieldnum[1])
1389 if (fieldnum.
size() == 1)
1390 return PARM_MULTIPARM;
1391 switch (fieldnum[1])
1403 if (fieldnum.
size() == 1)
1404 return PARM_MULTIPARM;
1405 switch (fieldnum[1])
1415 if (fieldnum.
size() == 1)
1416 return PARM_MULTIPARM;
1417 switch (fieldnum[1])
1443 { is.
bread(&v, 1); }
1457 {
for (
int r = 0;
r < 2;
r++)
for (
int c = 0; c < 2; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
1459 {
for (
int r = 0;
r < 3;
r++)
for (
int c = 0; c < 3; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
1461 {
for (
int r = 0;
r < 4;
r++)
for (
int c = 0; c < 4; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
1474 loadData(is, rampdata);
1492 int typelen = colon - data.
buffer();
1504 { UTwrite(os, &v); }
1506 {
int64 iv =
v; UTwrite(os, &iv); }
1508 { UTwrite<fpreal64>(os, &
v); }
1510 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1512 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1513 UTwrite<fpreal64>(os, &v.
z()); }
1515 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1516 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1528 if (s) s->save(ostr);
1529 result = ostr.
str();
1530 saveData(os, result);
1537 ostr << s->getDataTypeToken();
1539 s->saveBinary(ostr);
1541 result = ostr.
str();
1542 saveData(os, result);
1550 saveData(os, myGroup);
1551 saveData(os, myUVAttrib);
1552 saveData(os, myMethod);
1553 saveData(os, myKeepExistingSeams);
1554 saveData(os, myKeepExistingLayout);
1555 saveData(os, myPinBoundaries);
1556 saveData(os, mySeams);
1557 saveData(os, myRectifyGroup);
1558 saveData(os, myUsePins);
1561 UTwrite(os, &length);
1564 auto && _curentry = myPins(i);
1566 saveData(os, _curentry.usepin);
1567 saveData(os, _curentry.primvert);
1568 saveData(os, _curentry.pinuv);
1569 saveData(os, _curentry.pinrefuv);
1573 saveData(os, myUseAlignments);
1576 UTwrite(os, &length);
1579 auto && _curentry = myAlignments(i);
1581 saveData(os, _curentry.align_enabled);
1582 saveData(os, _curentry.align_group);
1583 saveData(os, _curentry.align_axis);
1587 saveData(os, myUseStraightenings);
1590 UTwrite(os, &length);
1593 auto && _curentry = myStraightenings(i);
1595 saveData(os, _curentry.straight_enabled);
1596 saveData(os, _curentry.straight_group);
1600 saveData(os, myManualLayout);
1601 saveData(os, myLayoutSeams);
1602 saveData(os, myLayoutRectifyGroup);
1605 UTwrite(os, &length);
1608 auto && _curentry = myLpins(i);
1610 saveData(os, _curentry.lprimvert);
1611 saveData(os, _curentry.lpinuv);
1612 saveData(os, _curentry.lpinrefuv);
1618 UTwrite(os, &length);
1621 auto && _curentry = myLalignments(i);
1623 saveData(os, _curentry.lalign_group);
1624 saveData(os, _curentry.lalign_axis);
1630 UTwrite(os, &length);
1633 auto && _curentry = myLstraightenings(i);
1635 saveData(os, _curentry.lstraight_group);
1639 saveData(os, myUseOutputSeams);
1640 saveData(os, myOutputSeams);
1641 saveData(os, myUseOutputConstrIslands);
1642 saveData(os, myOutputConstrIslands);
1643 saveData(os, myBBoxCenter);
1644 saveData(os, myBBoxSize);
1657 loadData(is, myGroup);
1658 loadData(is, myUVAttrib);
1659 loadData(is, myMethod);
1660 loadData(is, myKeepExistingSeams);
1661 loadData(is, myKeepExistingLayout);
1662 loadData(is, myPinBoundaries);
1663 loadData(is, mySeams);
1664 loadData(is, myRectifyGroup);
1665 loadData(is, myUsePins);
1668 is.
read(&length, 1);
1669 myPins.setSize(length);
1672 auto && _curentry = myPins(i);
1674 loadData(is, _curentry.usepin);
1675 loadData(is, _curentry.primvert);
1676 loadData(is, _curentry.pinuv);
1677 loadData(is, _curentry.pinrefuv);
1681 loadData(is, myUseAlignments);
1684 is.
read(&length, 1);
1685 myAlignments.setSize(length);
1688 auto && _curentry = myAlignments(i);
1690 loadData(is, _curentry.align_enabled);
1691 loadData(is, _curentry.align_group);
1692 loadData(is, _curentry.align_axis);
1696 loadData(is, myUseStraightenings);
1699 is.
read(&length, 1);
1700 myStraightenings.setSize(length);
1703 auto && _curentry = myStraightenings(i);
1705 loadData(is, _curentry.straight_enabled);
1706 loadData(is, _curentry.straight_group);
1710 loadData(is, myManualLayout);
1711 loadData(is, myLayoutSeams);
1712 loadData(is, myLayoutRectifyGroup);
1715 is.
read(&length, 1);
1716 myLpins.setSize(length);
1719 auto && _curentry = myLpins(i);
1721 loadData(is, _curentry.lprimvert);
1722 loadData(is, _curentry.lpinuv);
1723 loadData(is, _curentry.lpinrefuv);
1729 is.
read(&length, 1);
1730 myLalignments.setSize(length);
1733 auto && _curentry = myLalignments(i);
1735 loadData(is, _curentry.lalign_group);
1736 loadData(is, _curentry.lalign_axis);
1742 is.
read(&length, 1);
1743 myLstraightenings.setSize(length);
1746 auto && _curentry = myLstraightenings(i);
1748 loadData(is, _curentry.lstraight_group);
1752 loadData(is, myUseOutputSeams);
1753 loadData(is, myOutputSeams);
1754 loadData(is, myUseOutputConstrIslands);
1755 loadData(is, myOutputConstrIslands);
1756 loadData(is, myBBoxCenter);
1757 loadData(is, myBBoxSize);
1767 if (!thissop)
return getGroup();
1769 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
1777 if (!thissop)
return getUVAttrib();
1779 OP_Utils::evalOpParm(result, thissop,
"uvattrib", cookparms.
getCookTime(), 0);
1787 if (!thissop)
return getMethod();
1789 OP_Utils::evalOpParm(result, thissop,
"method", cookparms.
getCookTime(), 0);
1797 if (!thissop)
return getKeepExistingSeams();
1799 OP_Utils::evalOpParm(result, thissop,
"keepexistingseams", cookparms.
getCookTime(), 0);
1807 if (!thissop)
return getKeepExistingLayout();
1809 OP_Utils::evalOpParm(result, thissop,
"keepexistinglayout", cookparms.
getCookTime(), 0);
1817 if (!thissop)
return getPinBoundaries();
1819 OP_Utils::evalOpParm(result, thissop,
"pinboundaries", cookparms.
getCookTime(), 0);
1827 if (!thissop)
return getSeams();
1829 OP_Utils::evalOpParm(result, thissop,
"seamgroup", cookparms.
getCookTime(), 0);
1837 if (!thissop)
return getRectifyGroup();
1839 OP_Utils::evalOpParm(result, thissop,
"rectifygroup", cookparms.
getCookTime(), 0);
1847 if (!thissop)
return getUsePins();
1849 OP_Utils::evalOpParm(result, thissop,
"usepins", cookparms.
getCookTime(), 0);
1857 if (!thissop)
return getPins().entries();
1859 OP_Utils::evalOpParm(result, thissop,
"pins", cookparms.
getCookTime(), 0);
1863 {
return opinstPins_usepin(cookparms, &_idx); }
1867 if (!thissop)
return (myPins(_idx[0]).usepin);
1869 _parmidx[1-1] = _idx[1-1] + 0;
1872 OP_Utils::evalOpParmInst(result, thissop,
"usepin#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1876 {
return opinstPins_primvert(cookparms, &_idx); }
1880 if (!thissop)
return (myPins(_idx[0]).primvert);
1882 _parmidx[1-1] = _idx[1-1] + 0;
1885 OP_Utils::evalOpParmInst(result, thissop,
"primvert#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1889 {
return opinstPins_pinuv(cookparms, &_idx); }
1893 if (!thissop)
return (myPins(_idx[0]).pinuv);
1895 _parmidx[1-1] = _idx[1-1] + 0;
1898 OP_Utils::evalOpParmInst(result, thissop,
"pinuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1902 {
return opinstPins_pinrefuv(cookparms, &_idx); }
1906 if (!thissop)
return (myPins(_idx[0]).pinrefuv);
1908 _parmidx[1-1] = _idx[1-1] + 0;
1911 OP_Utils::evalOpParmInst(result, thissop,
"pinrefuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1920 if (!thissop)
return getUseAlignments();
1922 OP_Utils::evalOpParm(result, thissop,
"usealignments", cookparms.
getCookTime(), 0);
1930 if (!thissop)
return getAlignments().entries();
1932 OP_Utils::evalOpParm(result, thissop,
"alignments", cookparms.
getCookTime(), 0);
1936 {
return opinstAlignments_align_enabled(cookparms, &_idx); }
1940 if (!thissop)
return (myAlignments(_idx[0]).align_enabled);
1942 _parmidx[1-1] = _idx[1-1] + 0;
1945 OP_Utils::evalOpParmInst(result, thissop,
"align_enabled#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1949 {
return opinstAlignments_align_group(cookparms, &_idx); }
1953 if (!thissop)
return (myAlignments(_idx[0]).align_group);
1955 _parmidx[1-1] = _idx[1-1] + 0;
1958 OP_Utils::evalOpParmInst(result, thissop,
"align_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1962 {
return opinstAlignments_align_axis(cookparms, &_idx); }
1966 if (!thissop)
return (myAlignments(_idx[0]).align_axis);
1968 _parmidx[1-1] = _idx[1-1] + 0;
1971 OP_Utils::evalOpParmInst(result, thissop,
"align_axis#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1980 if (!thissop)
return getUseStraightenings();
1982 OP_Utils::evalOpParm(result, thissop,
"usestraightenings", cookparms.
getCookTime(), 0);
1990 if (!thissop)
return getStraightenings().entries();
1992 OP_Utils::evalOpParm(result, thissop,
"straightenings", cookparms.
getCookTime(), 0);
1996 {
return opinstStraightenings_straight_enabled(cookparms, &_idx); }
2000 if (!thissop)
return (myStraightenings(_idx[0]).straight_enabled);
2002 _parmidx[1-1] = _idx[1-1] + 0;
2005 OP_Utils::evalOpParmInst(result, thissop,
"straight_enabled#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2009 {
return opinstStraightenings_straight_group(cookparms, &_idx); }
2013 if (!thissop)
return (myStraightenings(_idx[0]).straight_group);
2015 _parmidx[1-1] = _idx[1-1] + 0;
2018 OP_Utils::evalOpParmInst(result, thissop,
"straight_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2027 if (!thissop)
return getManualLayout();
2029 OP_Utils::evalOpParm(result, thissop,
"manuallayout", cookparms.
getCookTime(), 0);
2037 if (!thissop)
return getLayoutSeams();
2039 OP_Utils::evalOpParm(result, thissop,
"layoutseamgroup", cookparms.
getCookTime(), 0);
2047 if (!thissop)
return getLayoutRectifyGroup();
2049 OP_Utils::evalOpParm(result, thissop,
"layoutrectifygroup", cookparms.
getCookTime(), 0);
2057 if (!thissop)
return getLpins().entries();
2059 OP_Utils::evalOpParm(result, thissop,
"lpins", cookparms.
getCookTime(), 0);
2063 {
return opinstLpins_lprimvert(cookparms, &_idx); }
2067 if (!thissop)
return (myLpins(_idx[0]).lprimvert);
2069 _parmidx[1-1] = _idx[1-1] + 0;
2072 OP_Utils::evalOpParmInst(result, thissop,
"lprimvert#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2076 {
return opinstLpins_lpinuv(cookparms, &_idx); }
2080 if (!thissop)
return (myLpins(_idx[0]).lpinuv);
2082 _parmidx[1-1] = _idx[1-1] + 0;
2085 OP_Utils::evalOpParmInst(result, thissop,
"lpinuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2089 {
return opinstLpins_lpinrefuv(cookparms, &_idx); }
2093 if (!thissop)
return (myLpins(_idx[0]).lpinrefuv);
2095 _parmidx[1-1] = _idx[1-1] + 0;
2098 OP_Utils::evalOpParmInst(result, thissop,
"lpinrefuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2107 if (!thissop)
return getLalignments().entries();
2109 OP_Utils::evalOpParm(result, thissop,
"lalignments", cookparms.
getCookTime(), 0);
2113 {
return opinstLalignments_lalign_group(cookparms, &_idx); }
2117 if (!thissop)
return (myLalignments(_idx[0]).lalign_group);
2119 _parmidx[1-1] = _idx[1-1] + 0;
2122 OP_Utils::evalOpParmInst(result, thissop,
"lalign_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2126 {
return opinstLalignments_lalign_axis(cookparms, &_idx); }
2130 if (!thissop)
return (myLalignments(_idx[0]).lalign_axis);
2132 _parmidx[1-1] = _idx[1-1] + 0;
2135 OP_Utils::evalOpParmInst(result, thissop,
"lalign_axis#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2144 if (!thissop)
return getLstraightenings().entries();
2146 OP_Utils::evalOpParm(result, thissop,
"lstraightenings", cookparms.
getCookTime(), 0);
2150 {
return opinstLstraightenings_lstraight_group(cookparms, &_idx); }
2154 if (!thissop)
return (myLstraightenings(_idx[0]).lstraight_group);
2156 _parmidx[1-1] = _idx[1-1] + 0;
2159 OP_Utils::evalOpParmInst(result, thissop,
"lstraight_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2168 if (!thissop)
return getUseOutputSeams();
2170 OP_Utils::evalOpParm(result, thissop,
"useoutputseams", cookparms.
getCookTime(), 0);
2178 if (!thissop)
return getOutputSeams();
2180 OP_Utils::evalOpParm(result, thissop,
"outputseams", cookparms.
getCookTime(), 0);
2188 if (!thissop)
return getUseOutputConstrIslands();
2190 OP_Utils::evalOpParm(result, thissop,
"useoutputconstrislands", cookparms.
getCookTime(), 0);
2198 if (!thissop)
return getOutputConstrIslands();
2200 OP_Utils::evalOpParm(result, thissop,
"outputconstrislands", cookparms.
getCookTime(), 0);
2208 if (!thissop)
return getBBoxCenter();
2210 OP_Utils::evalOpParm(result, thissop,
"bboxcenter", cookparms.
getCookTime(), 0);
2218 if (!thissop)
return getBBoxSize();
2220 OP_Utils::evalOpParm(result, thissop,
"bboxsize", cookparms.
getCookTime(), 0);
2228 bool myKeepExistingSeams;
2229 bool myKeepExistingLayout;
2230 bool myPinBoundaries;
2235 bool myUseAlignments;
2237 bool myUseStraightenings;
2239 bool myManualLayout;
2245 bool myUseOutputSeams;
2247 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)
T clampMaxValue(fpreal maxvalue, const T &src) const
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
T clampMinValue(fpreal minvalue, const T &src) 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
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
void coerceValue(T &result, const S &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
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
OP_NodeParms & operator=(const OP_NodeParms &)=default
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