23 namespace SOP_UVFlatten_2_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;
368 myUseAlignments =
true;
369 myAlignments.setSize(0);
370 myUseStraightenings =
true;
371 myStraightenings.setSize(0);
372 myManualLayout =
true;
373 myLayoutSeams =
""_UTsh;
375 myLalignments.setSize(0);
376 myLstraightenings.setSize(0);
377 myUseOutputSeams =
false;
378 myOutputSeams =
"outputseams"_UTsh;
379 myUseOutputConstrIslands =
false;
380 myOutputConstrIslands =
"constrainedprims"_UTsh;
395 if (myGroup != src.myGroup)
return false;
396 if (myUVAttrib != src.myUVAttrib)
return false;
397 if (myMethod != src.myMethod)
return false;
398 if (myKeepExistingSeams != src.myKeepExistingSeams)
return false;
399 if (myKeepExistingLayout != src.myKeepExistingLayout)
return false;
400 if (myPinBoundaries != src.myPinBoundaries)
return false;
401 if (mySeams != src.mySeams)
return false;
402 if (myUsePins != src.myUsePins)
return false;
403 if (myPins != src.myPins)
return false;
404 if (myUseAlignments != src.myUseAlignments)
return false;
405 if (myAlignments != src.myAlignments)
return false;
406 if (myUseStraightenings != src.myUseStraightenings)
return false;
407 if (myStraightenings != src.myStraightenings)
return false;
408 if (myManualLayout != src.myManualLayout)
return false;
409 if (myLayoutSeams != src.myLayoutSeams)
return false;
410 if (myLpins != src.myLpins)
return false;
411 if (myLalignments != src.myLalignments)
return false;
412 if (myLstraightenings != src.myLstraightenings)
return false;
413 if (myUseOutputSeams != src.myUseOutputSeams)
return false;
414 if (myOutputSeams != src.myOutputSeams)
return false;
415 if (myUseOutputConstrIslands != src.myUseOutputConstrIslands)
return false;
416 if (myOutputConstrIslands != src.myOutputConstrIslands)
return false;
417 if (myBBoxCenter != src.myBBoxCenter)
return false;
418 if (myBBoxSize != src.myBBoxSize)
return false;
436 graph->
evalOpParm(myGroup, nodeidx,
"group", time, 0);
437 myUVAttrib =
"uv"_UTsh;
439 graph->
evalOpParm(myUVAttrib, nodeidx,
"uvattrib", time, 0);
442 graph->
evalOpParm(myMethod, nodeidx,
"method", time, 0);
443 myKeepExistingSeams =
false;
445 graph->
evalOpParm(myKeepExistingSeams, nodeidx,
"keepexistingseams", time, 0);
446 myKeepExistingLayout =
false;
447 if (
true && ( (
true&&!(((getKeepExistingSeams()==0)))) ) )
448 graph->
evalOpParm(myKeepExistingLayout, nodeidx,
"keepexistinglayout", time, 0);
449 myPinBoundaries =
false;
450 if (
true && ( (
true&&!(((getKeepExistingSeams()==0))||((
int64(getMethod())!=0)))) ) )
451 graph->
evalOpParm(myPinBoundaries, nodeidx,
"pinboundaries", time, 0);
454 graph->
evalOpParm(mySeams, nodeidx,
"seamgroup", time, 0);
457 graph->
evalOpParm(myUsePins, nodeidx,
"usepins", time, 0);
458 if (
true && ( (!(((getUsePins()==0)))) ) )
461 graph->
evalOpParm(length, nodeidx,
"pins", time, 0);
462 if (length < 0) length = 0;
463 myPins.setSize(length);
470 auto && _curentry = myPins(i);
472 _curentry.usepin =
true;
473 if (
true && ( (!(((getUsePins()==0)))) ) )
474 graph->
evalOpParmInst(_curentry.usepin, nodeidx,
"usepin#", parmidx, offsets, time, 0, 2-1);
476 if (
true && ( (!(((getUsePins()==0)))) ) )
477 graph->
evalOpParmInst(_curentry.primvert, nodeidx,
"primvert#", parmidx, offsets, time, 0, 2-1);
479 if (
true && ( (!(((getUsePins()==0)))) ) )
480 graph->
evalOpParmInst(_curentry.pinuv, nodeidx,
"pinuv#", parmidx, offsets, time, 0, 2-1);
482 if (
true && ( (!(((getUsePins()==0)))) ) )
483 graph->
evalOpParmInst(_curentry.pinrefuv, nodeidx,
"pinrefuv#", parmidx, offsets, time, 0, 2-1);
489 myUseAlignments =
true;
491 graph->
evalOpParm(myUseAlignments, nodeidx,
"usealignments", time, 0);
492 if (
true && ( (!(((getUseAlignments()==0)))) ) )
495 graph->
evalOpParm(length, nodeidx,
"alignments", time, 0);
496 if (length < 0) length = 0;
497 myAlignments.setSize(length);
504 auto && _curentry = myAlignments(i);
506 _curentry.align_enabled =
true;
507 if (
true && ( (!(((getUseAlignments()==0)))) ) )
508 graph->
evalOpParmInst(_curentry.align_enabled, nodeidx,
"align_enabled#", parmidx, offsets, time, 0, 2-1);
509 _curentry.align_group =
""_UTsh;
510 if (
true && ( (!(((getUseAlignments()==0)))) ) )
511 graph->
evalOpParmInst(_curentry.align_group, nodeidx,
"align_group#", parmidx, offsets, time, 0, 2-1);
512 _curentry.align_axis = 0;
513 if (
true && ( (!(((getUseAlignments()==0)))) ) )
514 graph->
evalOpParmInst(_curentry.align_axis, nodeidx,
"align_axis#", parmidx, offsets, time, 0, 2-1);
519 myAlignments.clear();
520 myUseStraightenings =
true;
522 graph->
evalOpParm(myUseStraightenings, nodeidx,
"usestraightenings", time, 0);
523 if (
true && ( (!(((getUseStraightenings()==0)))) ) )
526 graph->
evalOpParm(length, nodeidx,
"straightenings", time, 0);
527 if (length < 0) length = 0;
528 myStraightenings.setSize(length);
535 auto && _curentry = myStraightenings(i);
537 _curentry.straight_enabled =
true;
538 if (
true && ( (!(((getUseStraightenings()==0)))) ) )
539 graph->
evalOpParmInst(_curentry.straight_enabled, nodeidx,
"straight_enabled#", parmidx, offsets, time, 0, 2-1);
540 _curentry.straight_group =
""_UTsh;
541 if (
true && ( (!(((getUseStraightenings()==0)))) ) )
542 graph->
evalOpParmInst(_curentry.straight_group, nodeidx,
"straight_group#", parmidx, offsets, time, 0, 2-1);
547 myStraightenings.clear();
548 myManualLayout =
true;
550 graph->
evalOpParm(myManualLayout, nodeidx,
"manuallayout", time, 0);
551 myLayoutSeams =
""_UTsh;
552 if (
true && ( (
true&&!(((getManualLayout()==0)))) ) )
553 graph->
evalOpParm(myLayoutSeams, nodeidx,
"layoutseamgroup", time, 0);
554 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) )
557 graph->
evalOpParm(length, nodeidx,
"lpins", time, 0);
558 if (length < 0) length = 0;
559 myLpins.setSize(length);
566 auto && _curentry = myLpins(i);
569 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
570 graph->
evalOpParmInst(_curentry.lprimvert, nodeidx,
"lprimvert#", parmidx, offsets, time, 0, 2-1);
572 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
573 graph->
evalOpParmInst(_curentry.lpinuv, nodeidx,
"lpinuv#", parmidx, offsets, time, 0, 2-1);
575 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
576 graph->
evalOpParmInst(_curentry.lpinrefuv, nodeidx,
"lpinrefuv#", parmidx, offsets, time, 0, 2-1);
582 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) )
585 graph->
evalOpParm(length, nodeidx,
"lalignments", time, 0);
586 if (length < 0) length = 0;
587 myLalignments.setSize(length);
594 auto && _curentry = myLalignments(i);
596 _curentry.lalign_group =
""_UTsh;
597 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
598 graph->
evalOpParmInst(_curentry.lalign_group, nodeidx,
"lalign_group#", parmidx, offsets, time, 0, 2-1);
599 _curentry.lalign_axis = 0;
600 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
601 graph->
evalOpParmInst(_curentry.lalign_axis, nodeidx,
"lalign_axis#", parmidx, offsets, time, 0, 2-1);
606 myLalignments.clear();
607 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) )
610 graph->
evalOpParm(length, nodeidx,
"lstraightenings", time, 0);
611 if (length < 0) length = 0;
612 myLstraightenings.setSize(length);
619 auto && _curentry = myLstraightenings(i);
621 _curentry.lstraight_group =
""_UTsh;
622 if (
true && ( (!(((getManualLayout()==0))||((getManualLayout()==0)))) ) && ( (
true&&!(((getManualLayout()==0)))) ) )
623 graph->
evalOpParmInst(_curentry.lstraight_group, nodeidx,
"lstraight_group#", parmidx, offsets, time, 0, 2-1);
628 myLstraightenings.clear();
629 myUseOutputSeams =
false;
631 graph->
evalOpParm(myUseOutputSeams, nodeidx,
"useoutputseams", time, 0);
632 myOutputSeams =
"outputseams"_UTsh;
633 if (
true && ( (
true&&!(((getUseOutputSeams()==0)))) ) )
634 graph->
evalOpParm(myOutputSeams, nodeidx,
"outputseams", time, 0);
635 myUseOutputConstrIslands =
false;
637 graph->
evalOpParm(myUseOutputConstrIslands, nodeidx,
"useoutputconstrislands", time, 0);
638 myOutputConstrIslands =
"constrainedprims"_UTsh;
639 if (
true && ( (
true&&!(((getUseOutputConstrIslands()==0)))) ) )
640 graph->
evalOpParm(myOutputConstrIslands, nodeidx,
"outputconstrislands", time, 0);
643 graph->
evalOpParm(myBBoxCenter, nodeidx,
"bboxcenter", time, 0);
646 graph->
evalOpParm(myBBoxSize, nodeidx,
"bboxsize", time, 0);
662 template <
typename T>
669 if (idx.
size() != instance.
size()+1)
700 else if (instance[0] < myPins.entries())
702 auto && _data = myPins(instance[0]);
727 else if (instance[0] < myAlignments.entries())
729 auto && _data = myAlignments(instance[0]);
751 else if (instance[0] < myStraightenings.entries())
753 auto && _data = myStraightenings(instance[0]);
775 else if (instance[0] < myLpins.entries())
777 auto && _data = myLpins(instance[0]);
796 else if (instance[0] < myLalignments.entries())
798 auto && _data = myLalignments(instance[0]);
814 else if (instance[0] < myLstraightenings.entries())
816 auto && _data = myLstraightenings(instance[0]);
858 { doGetParmValue(idx, instance, value); }
860 { doGetParmValue(idx, instance, value); }
862 { doGetParmValue(idx, instance, value); }
864 { doGetParmValue(idx, instance, value); }
866 { doGetParmValue(idx, instance, value); }
868 { doGetParmValue(idx, instance, value); }
870 { doGetParmValue(idx, instance, value); }
872 { doGetParmValue(idx, instance, value); }
874 { doGetParmValue(idx, instance, value); }
876 { doGetParmValue(idx, instance, value); }
878 { doGetParmValue(idx, instance, value); }
880 template <
typename T>
887 if (idx.
size() != instance.
size()+1)
920 if (newsize < 0) newsize = 0;
921 myPins.setSize(newsize);
927 myPins.setSizeIfNeeded(instance[0]+1);
928 auto && _data = myPins(instance[0]);
955 if (newsize < 0) newsize = 0;
956 myAlignments.setSize(newsize);
962 myAlignments.setSizeIfNeeded(instance[0]+1);
963 auto && _data = myAlignments(instance[0]);
987 if (newsize < 0) newsize = 0;
988 myStraightenings.setSize(newsize);
994 myStraightenings.setSizeIfNeeded(instance[0]+1);
995 auto && _data = myStraightenings(instance[0]);
1015 if (idx.
size() == 1)
1019 if (newsize < 0) newsize = 0;
1020 myLpins.setSize(newsize);
1024 if (instance[0] < 0)
1026 myLpins.setSizeIfNeeded(instance[0]+1);
1027 auto && _data = myLpins(instance[0]);
1044 if (idx.
size() == 1)
1048 if (newsize < 0) newsize = 0;
1049 myLalignments.setSize(newsize);
1053 if (instance[0] < 0)
1055 myLalignments.setSizeIfNeeded(instance[0]+1);
1056 auto && _data = myLalignments(instance[0]);
1070 if (idx.
size() == 1)
1074 if (newsize < 0) newsize = 0;
1075 myLstraightenings.setSize(newsize);
1079 if (instance[0] < 0)
1081 myLstraightenings.setSizeIfNeeded(instance[0]+1);
1082 auto && _data = myLstraightenings(instance[0]);
1099 coerceValue(myUseOutputConstrIslands, ( ( value ) ));
1102 coerceValue(myOutputConstrIslands, ( ( value ) ));
1115 { doSetParmValue(idx, instance, value); }
1117 { doSetParmValue(idx, instance, value); }
1119 { doSetParmValue(idx, instance, value); }
1121 { doSetParmValue(idx, instance, value); }
1123 { doSetParmValue(idx, instance, value); }
1125 { doSetParmValue(idx, instance, value); }
1127 { doSetParmValue(idx, instance, value); }
1129 { doSetParmValue(idx, instance, value); }
1131 { doSetParmValue(idx, instance, value); }
1133 { doSetParmValue(idx, instance, value); }
1135 { doSetParmValue(idx, instance, value); }
1139 if (idx.
size() == 0)
1163 if (fieldnum.
size() < 1)
1165 switch (fieldnum[0])
1174 return "keepexistingseams";
1176 return "keepexistinglayout";
1178 return "pinboundaries";
1184 if (fieldnum.
size() == 1)
1186 switch (fieldnum[1])
1200 return "usealignments";
1202 if (fieldnum.
size() == 1)
1203 return "alignments";
1204 switch (fieldnum[1])
1207 return "align_enabled#";
1209 return "align_group#";
1211 return "align_axis#";
1216 return "usestraightenings";
1218 if (fieldnum.
size() == 1)
1219 return "straightenings";
1220 switch (fieldnum[1])
1223 return "straight_enabled#";
1225 return "straight_group#";
1230 return "manuallayout";
1232 return "layoutseamgroup";
1234 if (fieldnum.
size() == 1)
1236 switch (fieldnum[1])
1239 return "lprimvert#";
1243 return "lpinrefuv#";
1248 if (fieldnum.
size() == 1)
1249 return "lalignments";
1250 switch (fieldnum[1])
1253 return "lalign_group#";
1255 return "lalign_axis#";
1260 if (fieldnum.
size() == 1)
1261 return "lstraightenings";
1262 switch (fieldnum[1])
1265 return "lstraight_group#";
1270 return "useoutputseams";
1272 return "outputseams";
1274 return "useoutputconstrislands";
1276 return "outputconstrislands";
1278 return "bboxcenter";
1288 if (fieldnum.
size() < 1)
1289 return PARM_UNSUPPORTED;
1290 switch (fieldnum[0])
1309 if (fieldnum.
size() == 1)
1310 return PARM_MULTIPARM;
1311 switch (fieldnum[1])
1327 if (fieldnum.
size() == 1)
1328 return PARM_MULTIPARM;
1329 switch (fieldnum[1])
1343 if (fieldnum.
size() == 1)
1344 return PARM_MULTIPARM;
1345 switch (fieldnum[1])
1359 if (fieldnum.
size() == 1)
1360 return PARM_MULTIPARM;
1361 switch (fieldnum[1])
1373 if (fieldnum.
size() == 1)
1374 return PARM_MULTIPARM;
1375 switch (fieldnum[1])
1385 if (fieldnum.
size() == 1)
1386 return PARM_MULTIPARM;
1387 switch (fieldnum[1])
1413 { is.
bread(&v, 1); }
1427 {
for (
int r = 0;
r < 2;
r++)
for (
int c = 0; c < 2; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
1429 {
for (
int r = 0;
r < 3;
r++)
for (
int c = 0; c < 3; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
1431 {
for (
int r = 0;
r < 4;
r++)
for (
int c = 0; c < 4; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
1444 loadData(is, rampdata);
1462 int typelen = colon - data.
buffer();
1474 { UTwrite(os, &v); }
1476 {
int64 iv =
v; UTwrite(os, &iv); }
1478 { UTwrite<fpreal64>(os, &
v); }
1480 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1482 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1483 UTwrite<fpreal64>(os, &v.
z()); }
1485 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1486 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1498 if (s) s->save(ostr);
1499 result = ostr.
str();
1500 saveData(os, result);
1507 ostr << s->getDataTypeToken();
1509 s->saveBinary(ostr);
1511 result = ostr.
str();
1512 saveData(os, result);
1520 saveData(os, myGroup);
1521 saveData(os, myUVAttrib);
1522 saveData(os, myMethod);
1523 saveData(os, myKeepExistingSeams);
1524 saveData(os, myKeepExistingLayout);
1525 saveData(os, myPinBoundaries);
1526 saveData(os, mySeams);
1527 saveData(os, myUsePins);
1530 UTwrite(os, &length);
1533 auto && _curentry = myPins(i);
1535 saveData(os, _curentry.usepin);
1536 saveData(os, _curentry.primvert);
1537 saveData(os, _curentry.pinuv);
1538 saveData(os, _curentry.pinrefuv);
1542 saveData(os, myUseAlignments);
1545 UTwrite(os, &length);
1548 auto && _curentry = myAlignments(i);
1550 saveData(os, _curentry.align_enabled);
1551 saveData(os, _curentry.align_group);
1552 saveData(os, _curentry.align_axis);
1556 saveData(os, myUseStraightenings);
1559 UTwrite(os, &length);
1562 auto && _curentry = myStraightenings(i);
1564 saveData(os, _curentry.straight_enabled);
1565 saveData(os, _curentry.straight_group);
1569 saveData(os, myManualLayout);
1570 saveData(os, myLayoutSeams);
1573 UTwrite(os, &length);
1576 auto && _curentry = myLpins(i);
1578 saveData(os, _curentry.lprimvert);
1579 saveData(os, _curentry.lpinuv);
1580 saveData(os, _curentry.lpinrefuv);
1586 UTwrite(os, &length);
1589 auto && _curentry = myLalignments(i);
1591 saveData(os, _curentry.lalign_group);
1592 saveData(os, _curentry.lalign_axis);
1598 UTwrite(os, &length);
1601 auto && _curentry = myLstraightenings(i);
1603 saveData(os, _curentry.lstraight_group);
1607 saveData(os, myUseOutputSeams);
1608 saveData(os, myOutputSeams);
1609 saveData(os, myUseOutputConstrIslands);
1610 saveData(os, myOutputConstrIslands);
1611 saveData(os, myBBoxCenter);
1612 saveData(os, myBBoxSize);
1625 loadData(is, myGroup);
1626 loadData(is, myUVAttrib);
1627 loadData(is, myMethod);
1628 loadData(is, myKeepExistingSeams);
1629 loadData(is, myKeepExistingLayout);
1630 loadData(is, myPinBoundaries);
1631 loadData(is, mySeams);
1632 loadData(is, myUsePins);
1635 is.
read(&length, 1);
1636 myPins.setSize(length);
1639 auto && _curentry = myPins(i);
1641 loadData(is, _curentry.usepin);
1642 loadData(is, _curentry.primvert);
1643 loadData(is, _curentry.pinuv);
1644 loadData(is, _curentry.pinrefuv);
1648 loadData(is, myUseAlignments);
1651 is.
read(&length, 1);
1652 myAlignments.setSize(length);
1655 auto && _curentry = myAlignments(i);
1657 loadData(is, _curentry.align_enabled);
1658 loadData(is, _curentry.align_group);
1659 loadData(is, _curentry.align_axis);
1663 loadData(is, myUseStraightenings);
1666 is.
read(&length, 1);
1667 myStraightenings.setSize(length);
1670 auto && _curentry = myStraightenings(i);
1672 loadData(is, _curentry.straight_enabled);
1673 loadData(is, _curentry.straight_group);
1677 loadData(is, myManualLayout);
1678 loadData(is, myLayoutSeams);
1681 is.
read(&length, 1);
1682 myLpins.setSize(length);
1685 auto && _curentry = myLpins(i);
1687 loadData(is, _curentry.lprimvert);
1688 loadData(is, _curentry.lpinuv);
1689 loadData(is, _curentry.lpinrefuv);
1695 is.
read(&length, 1);
1696 myLalignments.setSize(length);
1699 auto && _curentry = myLalignments(i);
1701 loadData(is, _curentry.lalign_group);
1702 loadData(is, _curentry.lalign_axis);
1708 is.
read(&length, 1);
1709 myLstraightenings.setSize(length);
1712 auto && _curentry = myLstraightenings(i);
1714 loadData(is, _curentry.lstraight_group);
1718 loadData(is, myUseOutputSeams);
1719 loadData(is, myOutputSeams);
1720 loadData(is, myUseOutputConstrIslands);
1721 loadData(is, myOutputConstrIslands);
1722 loadData(is, myBBoxCenter);
1723 loadData(is, myBBoxSize);
1733 if (!thissop)
return getGroup();
1735 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
1743 if (!thissop)
return getUVAttrib();
1745 OP_Utils::evalOpParm(result, thissop,
"uvattrib", cookparms.
getCookTime(), 0);
1753 if (!thissop)
return getMethod();
1755 OP_Utils::evalOpParm(result, thissop,
"method", cookparms.
getCookTime(), 0);
1763 if (!thissop)
return getKeepExistingSeams();
1765 OP_Utils::evalOpParm(result, thissop,
"keepexistingseams", cookparms.
getCookTime(), 0);
1773 if (!thissop)
return getKeepExistingLayout();
1775 OP_Utils::evalOpParm(result, thissop,
"keepexistinglayout", cookparms.
getCookTime(), 0);
1783 if (!thissop)
return getPinBoundaries();
1785 OP_Utils::evalOpParm(result, thissop,
"pinboundaries", cookparms.
getCookTime(), 0);
1793 if (!thissop)
return getSeams();
1795 OP_Utils::evalOpParm(result, thissop,
"seamgroup", cookparms.
getCookTime(), 0);
1803 if (!thissop)
return getUsePins();
1805 OP_Utils::evalOpParm(result, thissop,
"usepins", cookparms.
getCookTime(), 0);
1813 if (!thissop)
return getPins().entries();
1815 OP_Utils::evalOpParm(result, thissop,
"pins", cookparms.
getCookTime(), 0);
1819 {
return opinstPins_usepin(cookparms, &_idx); }
1823 if (!thissop)
return (myPins(_idx[0]).usepin);
1825 _parmidx[1-1] = _idx[1-1] + 0;
1828 OP_Utils::evalOpParmInst(result, thissop,
"usepin#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1832 {
return opinstPins_primvert(cookparms, &_idx); }
1836 if (!thissop)
return (myPins(_idx[0]).primvert);
1838 _parmidx[1-1] = _idx[1-1] + 0;
1841 OP_Utils::evalOpParmInst(result, thissop,
"primvert#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1845 {
return opinstPins_pinuv(cookparms, &_idx); }
1849 if (!thissop)
return (myPins(_idx[0]).pinuv);
1851 _parmidx[1-1] = _idx[1-1] + 0;
1854 OP_Utils::evalOpParmInst(result, thissop,
"pinuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1858 {
return opinstPins_pinrefuv(cookparms, &_idx); }
1862 if (!thissop)
return (myPins(_idx[0]).pinrefuv);
1864 _parmidx[1-1] = _idx[1-1] + 0;
1867 OP_Utils::evalOpParmInst(result, thissop,
"pinrefuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1876 if (!thissop)
return getUseAlignments();
1878 OP_Utils::evalOpParm(result, thissop,
"usealignments", cookparms.
getCookTime(), 0);
1886 if (!thissop)
return getAlignments().entries();
1888 OP_Utils::evalOpParm(result, thissop,
"alignments", cookparms.
getCookTime(), 0);
1892 {
return opinstAlignments_align_enabled(cookparms, &_idx); }
1896 if (!thissop)
return (myAlignments(_idx[0]).align_enabled);
1898 _parmidx[1-1] = _idx[1-1] + 0;
1901 OP_Utils::evalOpParmInst(result, thissop,
"align_enabled#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1905 {
return opinstAlignments_align_group(cookparms, &_idx); }
1909 if (!thissop)
return (myAlignments(_idx[0]).align_group);
1911 _parmidx[1-1] = _idx[1-1] + 0;
1914 OP_Utils::evalOpParmInst(result, thissop,
"align_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1918 {
return opinstAlignments_align_axis(cookparms, &_idx); }
1922 if (!thissop)
return (myAlignments(_idx[0]).align_axis);
1924 _parmidx[1-1] = _idx[1-1] + 0;
1927 OP_Utils::evalOpParmInst(result, thissop,
"align_axis#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1936 if (!thissop)
return getUseStraightenings();
1938 OP_Utils::evalOpParm(result, thissop,
"usestraightenings", cookparms.
getCookTime(), 0);
1946 if (!thissop)
return getStraightenings().entries();
1948 OP_Utils::evalOpParm(result, thissop,
"straightenings", cookparms.
getCookTime(), 0);
1952 {
return opinstStraightenings_straight_enabled(cookparms, &_idx); }
1956 if (!thissop)
return (myStraightenings(_idx[0]).straight_enabled);
1958 _parmidx[1-1] = _idx[1-1] + 0;
1961 OP_Utils::evalOpParmInst(result, thissop,
"straight_enabled#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1965 {
return opinstStraightenings_straight_group(cookparms, &_idx); }
1969 if (!thissop)
return (myStraightenings(_idx[0]).straight_group);
1971 _parmidx[1-1] = _idx[1-1] + 0;
1974 OP_Utils::evalOpParmInst(result, thissop,
"straight_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1983 if (!thissop)
return getManualLayout();
1985 OP_Utils::evalOpParm(result, thissop,
"manuallayout", cookparms.
getCookTime(), 0);
1993 if (!thissop)
return getLayoutSeams();
1995 OP_Utils::evalOpParm(result, thissop,
"layoutseamgroup", cookparms.
getCookTime(), 0);
2003 if (!thissop)
return getLpins().entries();
2005 OP_Utils::evalOpParm(result, thissop,
"lpins", cookparms.
getCookTime(), 0);
2009 {
return opinstLpins_lprimvert(cookparms, &_idx); }
2013 if (!thissop)
return (myLpins(_idx[0]).lprimvert);
2015 _parmidx[1-1] = _idx[1-1] + 0;
2018 OP_Utils::evalOpParmInst(result, thissop,
"lprimvert#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2022 {
return opinstLpins_lpinuv(cookparms, &_idx); }
2026 if (!thissop)
return (myLpins(_idx[0]).lpinuv);
2028 _parmidx[1-1] = _idx[1-1] + 0;
2031 OP_Utils::evalOpParmInst(result, thissop,
"lpinuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2035 {
return opinstLpins_lpinrefuv(cookparms, &_idx); }
2039 if (!thissop)
return (myLpins(_idx[0]).lpinrefuv);
2041 _parmidx[1-1] = _idx[1-1] + 0;
2044 OP_Utils::evalOpParmInst(result, thissop,
"lpinrefuv#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2053 if (!thissop)
return getLalignments().entries();
2055 OP_Utils::evalOpParm(result, thissop,
"lalignments", cookparms.
getCookTime(), 0);
2059 {
return opinstLalignments_lalign_group(cookparms, &_idx); }
2063 if (!thissop)
return (myLalignments(_idx[0]).lalign_group);
2065 _parmidx[1-1] = _idx[1-1] + 0;
2068 OP_Utils::evalOpParmInst(result, thissop,
"lalign_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2072 {
return opinstLalignments_lalign_axis(cookparms, &_idx); }
2076 if (!thissop)
return (myLalignments(_idx[0]).lalign_axis);
2078 _parmidx[1-1] = _idx[1-1] + 0;
2081 OP_Utils::evalOpParmInst(result, thissop,
"lalign_axis#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2090 if (!thissop)
return getLstraightenings().entries();
2092 OP_Utils::evalOpParm(result, thissop,
"lstraightenings", cookparms.
getCookTime(), 0);
2096 {
return opinstLstraightenings_lstraight_group(cookparms, &_idx); }
2100 if (!thissop)
return (myLstraightenings(_idx[0]).lstraight_group);
2102 _parmidx[1-1] = _idx[1-1] + 0;
2105 OP_Utils::evalOpParmInst(result, thissop,
"lstraight_group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2114 if (!thissop)
return getUseOutputSeams();
2116 OP_Utils::evalOpParm(result, thissop,
"useoutputseams", cookparms.
getCookTime(), 0);
2124 if (!thissop)
return getOutputSeams();
2126 OP_Utils::evalOpParm(result, thissop,
"outputseams", cookparms.
getCookTime(), 0);
2134 if (!thissop)
return getUseOutputConstrIslands();
2136 OP_Utils::evalOpParm(result, thissop,
"useoutputconstrislands", cookparms.
getCookTime(), 0);
2144 if (!thissop)
return getOutputConstrIslands();
2146 OP_Utils::evalOpParm(result, thissop,
"outputconstrislands", cookparms.
getCookTime(), 0);
2154 if (!thissop)
return getBBoxCenter();
2156 OP_Utils::evalOpParm(result, thissop,
"bboxcenter", cookparms.
getCookTime(), 0);
2164 if (!thissop)
return getBBoxSize();
2166 OP_Utils::evalOpParm(result, thissop,
"bboxsize", cookparms.
getCookTime(), 0);
2174 bool myKeepExistingSeams;
2175 bool myKeepExistingLayout;
2176 bool myPinBoundaries;
2180 bool myUseAlignments;
2182 bool myUseStraightenings;
2184 bool myManualLayout;
2189 bool myUseOutputSeams;
2191 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
T clampMaxValue(fpreal maxvalue, const T &src) 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
T clampMinValue(fpreal minvalue, const T &src) 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
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
void coerceValue(T &result, const S &src) const
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
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
OP_NodeParms & operator=(const OP_NodeParms &)=default
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