43 if (frompt != src.
frompt)
return false;
44 if (topt != src.
topt)
return false;
60 for (
int i = 0; i < list.
entries(); i++)
92 if (fromvtx != src.
fromvtx)
return false;
93 if (tovtx != src.
tovtx)
return false;
109 for (
int i = 0; i < list.
entries(); i++)
141 if (frompr != src.
frompr)
return false;
142 if (topr != src.
topr)
return false;
158 for (
int i = 0; i < list.
entries(); i++)
190 if (fromdtl != src.
fromdtl)
return false;
191 if (todtl != src.
todtl)
return false;
207 for (
int i = 0; i < list.
entries(); i++)
236 ritype =
"vtx_float"_UTsh;
243 if (hname != src.
hname)
return false;
244 if (riname != src.
riname)
return false;
245 if (ritype != src.
ritype)
return false;
246 if (rioff != src.
rioff)
return false;
262 for (
int i = 0; i < list.
entries(); i++)
286 myPtrenames.setSize(5);
289 myVtxrenames.setSize(5);
291 myVtxkeep =
"*"_UTsh;
292 myPrimrenames.setSize(5);
294 myPrimkeep =
"*"_UTsh;
295 myDetailrenames.setSize(5);
297 myDtlkeep =
"*"_UTsh;
298 myRmanconversions.setSize(5);
302 myEncodenames =
false;
315 if (myPtrenames != src.myPtrenames)
return false;
316 if (myPtdel != src.myPtdel)
return false;
317 if (myPtkeep != src.myPtkeep)
return false;
318 if (myVtxrenames != src.myVtxrenames)
return false;
319 if (myVtxdel != src.myVtxdel)
return false;
320 if (myVtxkeep != src.myVtxkeep)
return false;
321 if (myPrimrenames != src.myPrimrenames)
return false;
322 if (myPrimdel != src.myPrimdel)
return false;
323 if (myPrimkeep != src.myPrimkeep)
return false;
324 if (myDetailrenames != src.myDetailrenames)
return false;
325 if (myDtldel != src.myDtldel)
return false;
326 if (myDtlkeep != src.myDtlkeep)
return false;
327 if (myRmanconversions != src.myRmanconversions)
return false;
328 if (myRidefault != src.myRidefault)
return false;
329 if (myUpdatevar != src.myUpdatevar)
return false;
330 if (myOverwrite != src.myOverwrite)
return false;
331 if (myEncodenames != src.myEncodenames)
return false;
350 graph->
evalOpParm(length, nodeidx,
"ptrenames", time, graph->
isDirect()?
nullptr:depnode);
351 if (length < 0) length = 0;
352 myPtrenames.setSize(length);
359 auto && _curentry = myPtrenames(i);
361 _curentry.frompt =
""_UTsh;
363 graph->
evalOpParmInst(_curentry.frompt, nodeidx,
"frompt#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
364 _curentry.topt =
""_UTsh;
366 graph->
evalOpParmInst(_curentry.topt, nodeidx,
"topt#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
374 graph->
evalOpParm(myPtdel, nodeidx,
"ptdel", time, graph->
isDirect()?
nullptr:depnode);
377 graph->
evalOpParm(myPtkeep, nodeidx,
"ptkeep", time, graph->
isDirect()?
nullptr:depnode);
381 graph->
evalOpParm(length, nodeidx,
"vtxrenames", time, graph->
isDirect()?
nullptr:depnode);
382 if (length < 0) length = 0;
383 myVtxrenames.setSize(length);
390 auto && _curentry = myVtxrenames(i);
392 _curentry.fromvtx =
""_UTsh;
394 graph->
evalOpParmInst(_curentry.fromvtx, nodeidx,
"fromvtx#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
395 _curentry.tovtx =
""_UTsh;
397 graph->
evalOpParmInst(_curentry.tovtx, nodeidx,
"tovtx#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
402 myVtxrenames.clear();
405 graph->
evalOpParm(myVtxdel, nodeidx,
"vtxdel", time, graph->
isDirect()?
nullptr:depnode);
406 myVtxkeep =
"*"_UTsh;
408 graph->
evalOpParm(myVtxkeep, nodeidx,
"vtxkeep", time, graph->
isDirect()?
nullptr:depnode);
412 graph->
evalOpParm(length, nodeidx,
"primrenames", time, graph->
isDirect()?
nullptr:depnode);
413 if (length < 0) length = 0;
414 myPrimrenames.setSize(length);
421 auto && _curentry = myPrimrenames(i);
423 _curentry.frompr =
""_UTsh;
425 graph->
evalOpParmInst(_curentry.frompr, nodeidx,
"frompr#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
426 _curentry.topr =
""_UTsh;
428 graph->
evalOpParmInst(_curentry.topr, nodeidx,
"topr#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
433 myPrimrenames.clear();
436 graph->
evalOpParm(myPrimdel, nodeidx,
"primdel", time, graph->
isDirect()?
nullptr:depnode);
437 myPrimkeep =
"*"_UTsh;
439 graph->
evalOpParm(myPrimkeep, nodeidx,
"primkeep", time, graph->
isDirect()?
nullptr:depnode);
443 graph->
evalOpParm(length, nodeidx,
"detailrenames", time, graph->
isDirect()?
nullptr:depnode);
444 if (length < 0) length = 0;
445 myDetailrenames.setSize(length);
452 auto && _curentry = myDetailrenames(i);
454 _curentry.fromdtl =
""_UTsh;
456 graph->
evalOpParmInst(_curentry.fromdtl, nodeidx,
"fromdtl#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
457 _curentry.todtl =
""_UTsh;
459 graph->
evalOpParmInst(_curentry.todtl, nodeidx,
"todtl#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
464 myDetailrenames.clear();
467 graph->
evalOpParm(myDtldel, nodeidx,
"dtldel", time, graph->
isDirect()?
nullptr:depnode);
468 myDtlkeep =
"*"_UTsh;
470 graph->
evalOpParm(myDtlkeep, nodeidx,
"dtlkeep", time, graph->
isDirect()?
nullptr:depnode);
474 graph->
evalOpParm(length, nodeidx,
"rmanconversions", time, graph->
isDirect()?
nullptr:depnode);
475 if (length < 0) length = 0;
476 myRmanconversions.setSize(length);
483 auto && _curentry = myRmanconversions(i);
485 _curentry.hname =
""_UTsh;
487 graph->
evalOpParmInst(_curentry.hname, nodeidx,
"hname#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
488 _curentry.riname =
""_UTsh;
490 graph->
evalOpParmInst(_curentry.riname, nodeidx,
"riname#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
491 _curentry.ritype =
"vtx_float"_UTsh;
493 graph->
evalOpParmInst(_curentry.ritype, nodeidx,
"ritype#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
496 graph->
evalOpParmInst(_curentry.rioff, nodeidx,
"rioff#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
501 myRmanconversions.clear();
504 graph->
evalOpParm(myRidefault, nodeidx,
"ridefault", time, graph->
isDirect()?
nullptr:depnode);
507 graph->
evalOpParm(myUpdatevar, nodeidx,
"updatevar", time, graph->
isDirect()?
nullptr:depnode);
510 graph->
evalOpParm(myOverwrite, nodeidx,
"overwrite", time, graph->
isDirect()?
nullptr:depnode);
511 myEncodenames =
false;
513 graph->
evalOpParm(myEncodenames, nodeidx,
"encodenames", time, graph->
isDirect()?
nullptr:depnode);
529 template <
typename T>
536 if (idx.
size() != instance.
size()+1)
543 else if (instance[0] < myPtrenames.entries())
545 auto && _data = myPtrenames(instance[0]);
567 else if (instance[0] < myVtxrenames.entries())
569 auto && _data = myVtxrenames(instance[0]);
591 else if (instance[0] < myPrimrenames.entries())
593 auto && _data = myPrimrenames(instance[0]);
615 else if (instance[0] < myDetailrenames.entries())
617 auto && _data = myDetailrenames(instance[0]);
639 else if (instance[0] < myRmanconversions.entries())
641 auto && _data = myRmanconversions(instance[0]);
686 { doGetParmValue(idx, instance, value); }
688 { doGetParmValue(idx, instance, value); }
690 { doGetParmValue(idx, instance, value); }
692 { doGetParmValue(idx, instance, value); }
694 { doGetParmValue(idx, instance, value); }
696 { doGetParmValue(idx, instance, value); }
698 { doGetParmValue(idx, instance, value); }
700 { doGetParmValue(idx, instance, value); }
702 { doGetParmValue(idx, instance, value); }
704 { doGetParmValue(idx, instance, value); }
706 { doGetParmValue(idx, instance, value); }
708 template <
typename T>
715 if (idx.
size() != instance.
size()+1)
724 if (newsize < 0) newsize = 0;
725 myPtrenames.setSize(newsize);
731 myPtrenames.setSizeIfNeeded(instance[0]+1);
732 auto && _data = myPtrenames(instance[0]);
756 if (newsize < 0) newsize = 0;
757 myVtxrenames.setSize(newsize);
763 myVtxrenames.setSizeIfNeeded(instance[0]+1);
764 auto && _data = myVtxrenames(instance[0]);
788 if (newsize < 0) newsize = 0;
789 myPrimrenames.setSize(newsize);
795 myPrimrenames.setSizeIfNeeded(instance[0]+1);
796 auto && _data = myPrimrenames(instance[0]);
820 if (newsize < 0) newsize = 0;
821 myDetailrenames.setSize(newsize);
827 myDetailrenames.setSizeIfNeeded(instance[0]+1);
828 auto && _data = myDetailrenames(instance[0]);
852 if (newsize < 0) newsize = 0;
853 myRmanconversions.setSize(newsize);
859 myRmanconversions.setSizeIfNeeded(instance[0]+1);
860 auto && _data = myRmanconversions(instance[0]);
896 { doSetParmValue(idx, instance, value); }
898 { doSetParmValue(idx, instance, value); }
900 { doSetParmValue(idx, instance, value); }
902 { doSetParmValue(idx, instance, value); }
904 { doSetParmValue(idx, instance, value); }
906 { doSetParmValue(idx, instance, value); }
908 { doSetParmValue(idx, instance, value); }
910 { doSetParmValue(idx, instance, value); }
912 { doSetParmValue(idx, instance, value); }
914 { doSetParmValue(idx, instance, value); }
916 { doSetParmValue(idx, instance, value); }
942 if (fieldnum.
size() < 1)
947 if (fieldnum.
size() == 1)
963 if (fieldnum.
size() == 1)
979 if (fieldnum.
size() == 1)
980 return "primrenames";
995 if (fieldnum.
size() == 1)
996 return "detailrenames";
1011 if (fieldnum.
size() == 1)
1012 return "rmanconversions";
1013 switch (fieldnum[1])
1033 return "encodenames";
1041 if (fieldnum.
size() < 1)
1042 return PARM_UNSUPPORTED;
1043 switch (fieldnum[0])
1046 if (fieldnum.
size() == 1)
1047 return PARM_MULTIPARM;
1048 switch (fieldnum[1])
1062 if (fieldnum.
size() == 1)
1063 return PARM_MULTIPARM;
1064 switch (fieldnum[1])
1078 if (fieldnum.
size() == 1)
1079 return PARM_MULTIPARM;
1080 switch (fieldnum[1])
1094 if (fieldnum.
size() == 1)
1095 return PARM_MULTIPARM;
1096 switch (fieldnum[1])
1110 if (fieldnum.
size() == 1)
1111 return PARM_MULTIPARM;
1112 switch (fieldnum[1])
1140 { is.
bread(&v, 1); }
1171 loadData(is, rampdata);
1189 int typelen = colon - data.
buffer();
1201 { UTwrite(os, &v); }
1203 {
int64 iv =
v; UTwrite(os, &iv); }
1205 { UTwrite<fpreal64>(os, &
v); }
1207 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1209 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1210 UTwrite<fpreal64>(os, &v.
z()); }
1212 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1213 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1225 if (s) s->save(ostr);
1226 result = ostr.
str();
1227 saveData(os, result);
1234 ostr << s->getDataTypeToken();
1236 s->saveBinary(ostr);
1238 result = ostr.
str();
1239 saveData(os, result);
1249 UTwrite(os, &length);
1252 auto && _curentry = myPtrenames(i);
1254 saveData(os, _curentry.frompt);
1255 saveData(os, _curentry.topt);
1259 saveData(os, myPtdel);
1260 saveData(os, myPtkeep);
1263 UTwrite(os, &length);
1266 auto && _curentry = myVtxrenames(i);
1268 saveData(os, _curentry.fromvtx);
1269 saveData(os, _curentry.tovtx);
1273 saveData(os, myVtxdel);
1274 saveData(os, myVtxkeep);
1277 UTwrite(os, &length);
1280 auto && _curentry = myPrimrenames(i);
1282 saveData(os, _curentry.frompr);
1283 saveData(os, _curentry.topr);
1287 saveData(os, myPrimdel);
1288 saveData(os, myPrimkeep);
1291 UTwrite(os, &length);
1294 auto && _curentry = myDetailrenames(i);
1296 saveData(os, _curentry.fromdtl);
1297 saveData(os, _curentry.todtl);
1301 saveData(os, myDtldel);
1302 saveData(os, myDtlkeep);
1305 UTwrite(os, &length);
1308 auto && _curentry = myRmanconversions(i);
1310 saveData(os, _curentry.hname);
1311 saveData(os, _curentry.riname);
1312 saveData(os, _curentry.ritype);
1313 saveData(os, _curentry.rioff);
1317 saveData(os, myRidefault);
1318 saveData(os, myUpdatevar);
1319 saveData(os, myOverwrite);
1320 saveData(os, myEncodenames);
1335 is.
read(&length, 1);
1336 myPtrenames.setSize(length);
1339 auto && _curentry = myPtrenames(i);
1341 loadData(is, _curentry.frompt);
1342 loadData(is, _curentry.topt);
1346 loadData(is, myPtdel);
1347 loadData(is, myPtkeep);
1350 is.
read(&length, 1);
1351 myVtxrenames.setSize(length);
1354 auto && _curentry = myVtxrenames(i);
1356 loadData(is, _curentry.fromvtx);
1357 loadData(is, _curentry.tovtx);
1361 loadData(is, myVtxdel);
1362 loadData(is, myVtxkeep);
1365 is.
read(&length, 1);
1366 myPrimrenames.setSize(length);
1369 auto && _curentry = myPrimrenames(i);
1371 loadData(is, _curentry.frompr);
1372 loadData(is, _curentry.topr);
1376 loadData(is, myPrimdel);
1377 loadData(is, myPrimkeep);
1380 is.
read(&length, 1);
1381 myDetailrenames.setSize(length);
1384 auto && _curentry = myDetailrenames(i);
1386 loadData(is, _curentry.fromdtl);
1387 loadData(is, _curentry.todtl);
1391 loadData(is, myDtldel);
1392 loadData(is, myDtlkeep);
1395 is.
read(&length, 1);
1396 myRmanconversions.setSize(length);
1399 auto && _curentry = myRmanconversions(i);
1401 loadData(is, _curentry.hname);
1402 loadData(is, _curentry.riname);
1403 loadData(is, _curentry.ritype);
1404 loadData(is, _curentry.rioff);
1408 loadData(is, myRidefault);
1409 loadData(is, myUpdatevar);
1410 loadData(is, myOverwrite);
1411 loadData(is, myEncodenames);
1421 if (!thissop)
return getPtrenames().entries();
1423 OP_Utils::evalOpParm(result, thissop,
"ptrenames", cookparms.
getCookTime(), 0);
1427 {
return opinstPtrenames_frompt(cookparms, &_idx); }
1431 if (!thissop)
return (myPtrenames(_idx[0]).frompt);
1433 _parmidx[1-1] = _idx[1-1] + 0;
1436 OP_Utils::evalOpParmInst(result, thissop,
"frompt#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1440 {
return opinstPtrenames_topt(cookparms, &_idx); }
1444 if (!thissop)
return (myPtrenames(_idx[0]).topt);
1446 _parmidx[1-1] = _idx[1-1] + 0;
1449 OP_Utils::evalOpParmInst(result, thissop,
"topt#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1458 if (!thissop)
return getPtdel();
1460 OP_Utils::evalOpParm(result, thissop,
"ptdel", cookparms.
getCookTime(), 0);
1468 if (!thissop)
return getPtkeep();
1470 OP_Utils::evalOpParm(result, thissop,
"ptkeep", cookparms.
getCookTime(), 0);
1478 if (!thissop)
return getVtxrenames().entries();
1480 OP_Utils::evalOpParm(result, thissop,
"vtxrenames", cookparms.
getCookTime(), 0);
1484 {
return opinstVtxrenames_fromvtx(cookparms, &_idx); }
1488 if (!thissop)
return (myVtxrenames(_idx[0]).fromvtx);
1490 _parmidx[1-1] = _idx[1-1] + 0;
1493 OP_Utils::evalOpParmInst(result, thissop,
"fromvtx#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1497 {
return opinstVtxrenames_tovtx(cookparms, &_idx); }
1501 if (!thissop)
return (myVtxrenames(_idx[0]).tovtx);
1503 _parmidx[1-1] = _idx[1-1] + 0;
1506 OP_Utils::evalOpParmInst(result, thissop,
"tovtx#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1515 if (!thissop)
return getVtxdel();
1517 OP_Utils::evalOpParm(result, thissop,
"vtxdel", cookparms.
getCookTime(), 0);
1525 if (!thissop)
return getVtxkeep();
1527 OP_Utils::evalOpParm(result, thissop,
"vtxkeep", cookparms.
getCookTime(), 0);
1535 if (!thissop)
return getPrimrenames().entries();
1537 OP_Utils::evalOpParm(result, thissop,
"primrenames", cookparms.
getCookTime(), 0);
1541 {
return opinstPrimrenames_frompr(cookparms, &_idx); }
1545 if (!thissop)
return (myPrimrenames(_idx[0]).frompr);
1547 _parmidx[1-1] = _idx[1-1] + 0;
1550 OP_Utils::evalOpParmInst(result, thissop,
"frompr#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1554 {
return opinstPrimrenames_topr(cookparms, &_idx); }
1558 if (!thissop)
return (myPrimrenames(_idx[0]).topr);
1560 _parmidx[1-1] = _idx[1-1] + 0;
1563 OP_Utils::evalOpParmInst(result, thissop,
"topr#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1572 if (!thissop)
return getPrimdel();
1574 OP_Utils::evalOpParm(result, thissop,
"primdel", cookparms.
getCookTime(), 0);
1582 if (!thissop)
return getPrimkeep();
1584 OP_Utils::evalOpParm(result, thissop,
"primkeep", cookparms.
getCookTime(), 0);
1592 if (!thissop)
return getDetailrenames().entries();
1594 OP_Utils::evalOpParm(result, thissop,
"detailrenames", cookparms.
getCookTime(), 0);
1598 {
return opinstDetailrenames_fromdtl(cookparms, &_idx); }
1602 if (!thissop)
return (myDetailrenames(_idx[0]).fromdtl);
1604 _parmidx[1-1] = _idx[1-1] + 0;
1607 OP_Utils::evalOpParmInst(result, thissop,
"fromdtl#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1611 {
return opinstDetailrenames_todtl(cookparms, &_idx); }
1615 if (!thissop)
return (myDetailrenames(_idx[0]).todtl);
1617 _parmidx[1-1] = _idx[1-1] + 0;
1620 OP_Utils::evalOpParmInst(result, thissop,
"todtl#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1629 if (!thissop)
return getDtldel();
1631 OP_Utils::evalOpParm(result, thissop,
"dtldel", cookparms.
getCookTime(), 0);
1639 if (!thissop)
return getDtlkeep();
1641 OP_Utils::evalOpParm(result, thissop,
"dtlkeep", cookparms.
getCookTime(), 0);
1649 if (!thissop)
return getRmanconversions().entries();
1651 OP_Utils::evalOpParm(result, thissop,
"rmanconversions", cookparms.
getCookTime(), 0);
1655 {
return opinstRmanconversions_hname(cookparms, &_idx); }
1659 if (!thissop)
return (myRmanconversions(_idx[0]).hname);
1661 _parmidx[1-1] = _idx[1-1] + 0;
1664 OP_Utils::evalOpParmInst(result, thissop,
"hname#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1668 {
return opinstRmanconversions_riname(cookparms, &_idx); }
1672 if (!thissop)
return (myRmanconversions(_idx[0]).riname);
1674 _parmidx[1-1] = _idx[1-1] + 0;
1677 OP_Utils::evalOpParmInst(result, thissop,
"riname#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1681 {
return opinstRmanconversions_ritype(cookparms, &_idx); }
1685 if (!thissop)
return (myRmanconversions(_idx[0]).ritype);
1687 _parmidx[1-1] = _idx[1-1] + 0;
1690 OP_Utils::evalOpParmInst(result, thissop,
"ritype#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1694 {
return opinstRmanconversions_rioff(cookparms, &_idx); }
1698 if (!thissop)
return (myRmanconversions(_idx[0]).rioff);
1700 _parmidx[1-1] = _idx[1-1] + 0;
1703 OP_Utils::evalOpParmInst(result, thissop,
"rioff#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1712 if (!thissop)
return getRidefault();
1714 OP_Utils::evalOpParm(result, thissop,
"ridefault", cookparms.
getCookTime(), 0);
1722 if (!thissop)
return getUpdatevar();
1724 OP_Utils::evalOpParm(result, thissop,
"updatevar", cookparms.
getCookTime(), 0);
1732 if (!thissop)
return getOverwrite();
1734 OP_Utils::evalOpParm(result, thissop,
"overwrite", cookparms.
getCookTime(), 0);
1742 if (!thissop)
return getEncodenames();
1744 OP_Utils::evalOpParm(result, thissop,
"encodenames", cookparms.
getCookTime(), 0);
void setDetailrenames(const UT_Array< Detailrenames > &val)
exint opRmanconversions(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
void setPrimrenames(const UT_Array< Primrenames > &val)
GLenum GLuint GLenum GLsizei const GLchar * buf
void setUpdatevar(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
UT_StringHolder opDtlkeep(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder createString(const UT_Array< Ptrenames > &list) const
static void loadData(UT_IStream &is, UT_Vector4D &v)
SOP_Node * getNode() const
const UT_StringHolder & getVtxkeep() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
bool operator!=(const SOP_AttributeParms &src) const
UT_StringHolder opinstPtrenames_frompt(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void setPtrenames(const UT_Array< Ptrenames > &val)
bool opOverwrite(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opinstPtrenames_topt(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
UT_StringHolder opRmanconversions_riname(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool getOverwrite() const
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
static void loadData(UT_IStream &is, UT_Vector4I &v)
UT_StringHolder createString(const UT_Array< Vtxrenames > &list) const
UT_StringHolder opinstPrimrenames_topr(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
GLsizei const GLfloat * value
UT_StringHolder opinstRmanconversions_riname(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
int64 opinstRmanconversions_rioff(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
static void saveData(std::ostream &os, bool v)
UT_StringHolder createString(const UT_Array< Detailrenames > &list) const
static void loadData(UT_IStream &is, UT_Vector2D &v)
static void saveData(std::ostream &os, UT_Vector3D v)
void loadFromOpSubclass(const LoadParms &loadparms) override
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const
static void saveData(std::ostream &os, UT_StringHolder s)
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
const OP_Context & context() const
exint getNestNumParms(TempIndex idx) const override
constexpr SYS_FORCE_INLINE T & z() noexcept
UT_StringHolder opPtdel(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE const char * buffer() const
UT_StringHolder opVtxkeep(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opinstPrimrenames_frompr(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
const UT_Array< Detailrenames > & getDetailrenames() const
GLuint GLsizei GLsizei * length
bool operator!=(const Primrenames &src) const
bool operator!=(const Rmanconversions &src) const
An output stream object that owns its own string buffer storage.
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
UT_StringHolder opinstVtxrenames_tovtx(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
**But if you need a result
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
static void saveData(std::ostream &os, UT_Matrix4D v)
UT_StringHolder opPrimdel(const SOP_NodeVerb::CookParms &cookparms) const
bool getUpdatevar() const
const UT_StringHolder & getPrimdel() const
bool getRidefault() const
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
static void loadData(UT_IStream &is, UT_Vector3I &v)
static void loadData(UT_IStream &is, bool &v)
const UT_Array< Primrenames > & getPrimrenames() const
constexpr SYS_FORCE_INLINE T & x() noexcept
UT_StringHolder opRmanconversions_ritype(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setPtdel(const UT_StringHolder &val)
const char * getNestParmName(TempIndex fieldnum) const override
UT_StringHolder opDetailrenames_fromdtl(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
GLuint GLsizei const GLuint const GLintptr * offsets
UT_StringHolder opinstRmanconversions_ritype(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
const UT_Array< Ptrenames > & getPtrenames() const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
constexpr SYS_FORCE_INLINE T & x() noexcept
UT_StringHolder opVtxrenames_tovtx(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setPrimkeep(const UT_StringHolder &val)
UT_StringHolder opDetailrenames_todtl(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
bool operator!=(const Vtxrenames &src) const
UT_StringHolder opPtkeep(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opPtrenames_frompt(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
const UT_StringHolder & getPtkeep() const
UT_StringHolder opinstVtxrenames_fromvtx(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool isParmColorRamp(exint idx) const override
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
UT_StringHolder opPrimrenames_frompr(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void saveData(std::ostream &os, UT_Vector4D v)
constexpr SYS_FORCE_INLINE T & z() noexcept
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
static void loadData(UT_IStream &is, fpreal64 &v)
UT_StringHolder opDtldel(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const Detailrenames &src) const
exint read(bool *array, exint sz=1)
const OP_GraphProxy * graph() const
UT_StringHolder opPtrenames_topt(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
const UT_StringHolder & getPrimkeep() const
void setEncodenames(bool val)
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
void copyFrom(const OP_NodeParms *src) override
const UT_StringHolder & getDtldel() const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
static void loadData(UT_IStream &is, UT_Vector2I &v)
void save(std::ostream &os) const
UT_StringHolder opVtxrenames_fromvtx(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
UT_StringHolder createString(const UT_Array< Rmanconversions > &list) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
UT_StringHolder opinstRmanconversions_hname(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
UT_StringHolder opVtxdel(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix2D v)
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
ParmType getNestParmType(TempIndex fieldnum) const override
void setOverwrite(bool val)
UT_StringHolder opinstDetailrenames_todtl(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
SYS_FORCE_INLINE void strcat(const char *src)
void saveBinary(std::ostream &os) const
Save string to binary stream.
exint opPtrenames(const SOP_NodeVerb::CookParms &cookparms) const
GT_API const UT_StringHolder version
const UT_Array< Rmanconversions > & getRmanconversions() const
exint entries() const
Alias of size(). size() is preferred.
exint opPrimrenames(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix3D v)
static void saveData(std::ostream &os, UT_Vector2D v)
const UT_Array< Vtxrenames > & getVtxrenames() const
UT_StringHolder createString(const UT_Array< Primrenames > &list) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
bool operator==(const SOP_AttributeParms &src) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
void setRidefault(bool val)
UT_StringHolder opPrimrenames_topr(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void saveData(std::ostream &os, int64 v)
void coerceValue(T &result, const S &src) const
static void loadData(UT_IStream &is, int64 &v)
const UT_StringHolder & getDtlkeep() const
UT_StringHolder opPrimkeep(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
DEP_MicroNode * depnode() const
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
Utility class for containing a color ramp.
void setVtxkeep(const UT_StringHolder &val)
void setVtxrenames(const UT_Array< Vtxrenames > &val)
bool operator==(const Ptrenames &src) const
const UT_StringHolder & getPtdel() const
constexpr SYS_FORCE_INLINE T & w() noexcept
SYS_FORCE_INLINE void append(char character)
UT_StringHolder opRmanconversions_hname(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
virtual UT_StringHolder baseGetSignature() const
bool operator==(const Rmanconversions &src) const
UT_StringHolder opinstDetailrenames_fromdtl(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
int64 opRmanconversions_rioff(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setPtkeep(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_Matrix3D &v)
fpreal getCookTime() const
const UT_StringHolder & getVtxdel() const
exint opDetailrenames(const SOP_NodeVerb::CookParms &cookparms) const
bool opUpdatevar(const SOP_NodeVerb::CookParms &cookparms) const
void setVtxdel(const UT_StringHolder &val)
exint opVtxrenames(const SOP_NodeVerb::CookParms &cookparms) const
const char * findChar(int c) const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
void setPrimdel(const UT_StringHolder &val)
bool opEncodenames(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
bool operator!=(const Detailrenames &src) const
bool operator!=(const Ptrenames &src) const
static void loadData(UT_IStream &is, UT_StringHolder &v)
void setDtldel(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_Vector3D &v)
bool operator==(const Primrenames &src) const
static void saveData(std::ostream &os, fpreal64 v)
constexpr SYS_FORCE_INLINE T & y() noexcept
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
virtual bool isDirect() const =0
Direct proxies mirror actual nodes:
bool operator==(const Vtxrenames &src) const
bool opRidefault(const SOP_NodeVerb::CookParms &cookparms) const
void setDtlkeep(const UT_StringHolder &val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
bool load(UT_IStream &is)
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
bool getEncodenames() const
constexpr SYS_FORCE_INLINE T & y() noexcept
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
SYS_FORCE_INLINE bool isstring() const
void setRmanconversions(const UT_Array< Rmanconversions > &val)
static void loadData(UT_IStream &is, UT_Matrix4D &v)
OP_NodeParms & operator=(const OP_NodeParms &)=default
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
constexpr SYS_FORCE_INLINE T & x() noexcept