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;
347 graph->
evalOpParm(length, nodeidx,
"ptrenames", time, 0);
348 if (length < 0) length = 0;
349 myPtrenames.setSize(length);
356 auto && _curentry = myPtrenames(i);
358 _curentry.frompt =
""_UTsh;
360 graph->
evalOpParmInst(_curentry.frompt, nodeidx,
"frompt#", parmidx, offsets, time, 0, 2-1);
361 _curentry.topt =
""_UTsh;
363 graph->
evalOpParmInst(_curentry.topt, nodeidx,
"topt#", parmidx, offsets, time, 0, 2-1);
371 graph->
evalOpParm(myPtdel, nodeidx,
"ptdel", time, 0);
374 graph->
evalOpParm(myPtkeep, nodeidx,
"ptkeep", time, 0);
378 graph->
evalOpParm(length, nodeidx,
"vtxrenames", time, 0);
379 if (length < 0) length = 0;
380 myVtxrenames.setSize(length);
387 auto && _curentry = myVtxrenames(i);
389 _curentry.fromvtx =
""_UTsh;
391 graph->
evalOpParmInst(_curentry.fromvtx, nodeidx,
"fromvtx#", parmidx, offsets, time, 0, 2-1);
392 _curentry.tovtx =
""_UTsh;
394 graph->
evalOpParmInst(_curentry.tovtx, nodeidx,
"tovtx#", parmidx, offsets, time, 0, 2-1);
399 myVtxrenames.clear();
402 graph->
evalOpParm(myVtxdel, nodeidx,
"vtxdel", time, 0);
403 myVtxkeep =
"*"_UTsh;
405 graph->
evalOpParm(myVtxkeep, nodeidx,
"vtxkeep", time, 0);
409 graph->
evalOpParm(length, nodeidx,
"primrenames", time, 0);
410 if (length < 0) length = 0;
411 myPrimrenames.setSize(length);
418 auto && _curentry = myPrimrenames(i);
420 _curentry.frompr =
""_UTsh;
422 graph->
evalOpParmInst(_curentry.frompr, nodeidx,
"frompr#", parmidx, offsets, time, 0, 2-1);
423 _curentry.topr =
""_UTsh;
425 graph->
evalOpParmInst(_curentry.topr, nodeidx,
"topr#", parmidx, offsets, time, 0, 2-1);
430 myPrimrenames.clear();
433 graph->
evalOpParm(myPrimdel, nodeidx,
"primdel", time, 0);
434 myPrimkeep =
"*"_UTsh;
436 graph->
evalOpParm(myPrimkeep, nodeidx,
"primkeep", time, 0);
440 graph->
evalOpParm(length, nodeidx,
"detailrenames", time, 0);
441 if (length < 0) length = 0;
442 myDetailrenames.setSize(length);
449 auto && _curentry = myDetailrenames(i);
451 _curentry.fromdtl =
""_UTsh;
453 graph->
evalOpParmInst(_curentry.fromdtl, nodeidx,
"fromdtl#", parmidx, offsets, time, 0, 2-1);
454 _curentry.todtl =
""_UTsh;
456 graph->
evalOpParmInst(_curentry.todtl, nodeidx,
"todtl#", parmidx, offsets, time, 0, 2-1);
461 myDetailrenames.clear();
464 graph->
evalOpParm(myDtldel, nodeidx,
"dtldel", time, 0);
465 myDtlkeep =
"*"_UTsh;
467 graph->
evalOpParm(myDtlkeep, nodeidx,
"dtlkeep", time, 0);
471 graph->
evalOpParm(length, nodeidx,
"rmanconversions", time, 0);
472 if (length < 0) length = 0;
473 myRmanconversions.setSize(length);
480 auto && _curentry = myRmanconversions(i);
482 _curentry.hname =
""_UTsh;
484 graph->
evalOpParmInst(_curentry.hname, nodeidx,
"hname#", parmidx, offsets, time, 0, 2-1);
485 _curentry.riname =
""_UTsh;
487 graph->
evalOpParmInst(_curentry.riname, nodeidx,
"riname#", parmidx, offsets, time, 0, 2-1);
488 _curentry.ritype =
"vtx_float"_UTsh;
490 graph->
evalOpParmInst(_curentry.ritype, nodeidx,
"ritype#", parmidx, offsets, time, 0, 2-1);
493 graph->
evalOpParmInst(_curentry.rioff, nodeidx,
"rioff#", parmidx, offsets, time, 0, 2-1);
498 myRmanconversions.clear();
501 graph->
evalOpParm(myRidefault, nodeidx,
"ridefault", time, 0);
504 graph->
evalOpParm(myUpdatevar, nodeidx,
"updatevar", time, 0);
507 graph->
evalOpParm(myOverwrite, nodeidx,
"overwrite", time, 0);
508 myEncodenames =
false;
510 graph->
evalOpParm(myEncodenames, nodeidx,
"encodenames", time, 0);
526 template <
typename T>
533 if (idx.
size() != instance.
size()+1)
540 else if (instance[0] < myPtrenames.entries())
542 auto && _data = myPtrenames(instance[0]);
564 else if (instance[0] < myVtxrenames.entries())
566 auto && _data = myVtxrenames(instance[0]);
588 else if (instance[0] < myPrimrenames.entries())
590 auto && _data = myPrimrenames(instance[0]);
612 else if (instance[0] < myDetailrenames.entries())
614 auto && _data = myDetailrenames(instance[0]);
636 else if (instance[0] < myRmanconversions.entries())
638 auto && _data = myRmanconversions(instance[0]);
683 { doGetParmValue(idx, instance, value); }
685 { doGetParmValue(idx, instance, value); }
687 { doGetParmValue(idx, instance, value); }
689 { doGetParmValue(idx, instance, value); }
691 { doGetParmValue(idx, instance, value); }
693 { doGetParmValue(idx, instance, value); }
695 { doGetParmValue(idx, instance, value); }
697 { doGetParmValue(idx, instance, value); }
699 { doGetParmValue(idx, instance, value); }
701 { doGetParmValue(idx, instance, value); }
703 { doGetParmValue(idx, instance, value); }
705 template <
typename T>
712 if (idx.
size() != instance.
size()+1)
721 if (newsize < 0) newsize = 0;
722 myPtrenames.setSize(newsize);
728 myPtrenames.setSizeIfNeeded(instance[0]+1);
729 auto && _data = myPtrenames(instance[0]);
753 if (newsize < 0) newsize = 0;
754 myVtxrenames.setSize(newsize);
760 myVtxrenames.setSizeIfNeeded(instance[0]+1);
761 auto && _data = myVtxrenames(instance[0]);
785 if (newsize < 0) newsize = 0;
786 myPrimrenames.setSize(newsize);
792 myPrimrenames.setSizeIfNeeded(instance[0]+1);
793 auto && _data = myPrimrenames(instance[0]);
817 if (newsize < 0) newsize = 0;
818 myDetailrenames.setSize(newsize);
824 myDetailrenames.setSizeIfNeeded(instance[0]+1);
825 auto && _data = myDetailrenames(instance[0]);
849 if (newsize < 0) newsize = 0;
850 myRmanconversions.setSize(newsize);
856 myRmanconversions.setSizeIfNeeded(instance[0]+1);
857 auto && _data = myRmanconversions(instance[0]);
893 { doSetParmValue(idx, instance, value); }
895 { doSetParmValue(idx, instance, value); }
897 { doSetParmValue(idx, instance, value); }
899 { doSetParmValue(idx, instance, value); }
901 { doSetParmValue(idx, instance, value); }
903 { doSetParmValue(idx, instance, value); }
905 { doSetParmValue(idx, instance, value); }
907 { doSetParmValue(idx, instance, value); }
909 { doSetParmValue(idx, instance, value); }
911 { doSetParmValue(idx, instance, value); }
913 { doSetParmValue(idx, instance, value); }
939 if (fieldnum.
size() < 1)
944 if (fieldnum.
size() == 1)
960 if (fieldnum.
size() == 1)
976 if (fieldnum.
size() == 1)
977 return "primrenames";
992 if (fieldnum.
size() == 1)
993 return "detailrenames";
1008 if (fieldnum.
size() == 1)
1009 return "rmanconversions";
1010 switch (fieldnum[1])
1030 return "encodenames";
1038 if (fieldnum.
size() < 1)
1039 return PARM_UNSUPPORTED;
1040 switch (fieldnum[0])
1043 if (fieldnum.
size() == 1)
1044 return PARM_MULTIPARM;
1045 switch (fieldnum[1])
1059 if (fieldnum.
size() == 1)
1060 return PARM_MULTIPARM;
1061 switch (fieldnum[1])
1075 if (fieldnum.
size() == 1)
1076 return PARM_MULTIPARM;
1077 switch (fieldnum[1])
1091 if (fieldnum.
size() == 1)
1092 return PARM_MULTIPARM;
1093 switch (fieldnum[1])
1107 if (fieldnum.
size() == 1)
1108 return PARM_MULTIPARM;
1109 switch (fieldnum[1])
1137 { is.
bread(&v, 1); }
1168 loadData(is, rampdata);
1186 int typelen = colon - data.
buffer();
1198 { UTwrite(os, &v); }
1200 {
int64 iv =
v; UTwrite(os, &iv); }
1202 { UTwrite<fpreal64>(os, &
v); }
1204 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1206 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1207 UTwrite<fpreal64>(os, &v.
z()); }
1209 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1210 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1222 if (s) s->save(ostr);
1223 result = ostr.
str();
1224 saveData(os, result);
1231 ostr << s->getDataTypeToken();
1233 s->saveBinary(ostr);
1235 result = ostr.
str();
1236 saveData(os, result);
1246 UTwrite(os, &length);
1249 auto && _curentry = myPtrenames(i);
1251 saveData(os, _curentry.frompt);
1252 saveData(os, _curentry.topt);
1256 saveData(os, myPtdel);
1257 saveData(os, myPtkeep);
1260 UTwrite(os, &length);
1263 auto && _curentry = myVtxrenames(i);
1265 saveData(os, _curentry.fromvtx);
1266 saveData(os, _curentry.tovtx);
1270 saveData(os, myVtxdel);
1271 saveData(os, myVtxkeep);
1274 UTwrite(os, &length);
1277 auto && _curentry = myPrimrenames(i);
1279 saveData(os, _curentry.frompr);
1280 saveData(os, _curentry.topr);
1284 saveData(os, myPrimdel);
1285 saveData(os, myPrimkeep);
1288 UTwrite(os, &length);
1291 auto && _curentry = myDetailrenames(i);
1293 saveData(os, _curentry.fromdtl);
1294 saveData(os, _curentry.todtl);
1298 saveData(os, myDtldel);
1299 saveData(os, myDtlkeep);
1302 UTwrite(os, &length);
1305 auto && _curentry = myRmanconversions(i);
1307 saveData(os, _curentry.hname);
1308 saveData(os, _curentry.riname);
1309 saveData(os, _curentry.ritype);
1310 saveData(os, _curentry.rioff);
1314 saveData(os, myRidefault);
1315 saveData(os, myUpdatevar);
1316 saveData(os, myOverwrite);
1317 saveData(os, myEncodenames);
1332 is.
read(&length, 1);
1333 myPtrenames.setSize(length);
1336 auto && _curentry = myPtrenames(i);
1338 loadData(is, _curentry.frompt);
1339 loadData(is, _curentry.topt);
1343 loadData(is, myPtdel);
1344 loadData(is, myPtkeep);
1347 is.
read(&length, 1);
1348 myVtxrenames.setSize(length);
1351 auto && _curentry = myVtxrenames(i);
1353 loadData(is, _curentry.fromvtx);
1354 loadData(is, _curentry.tovtx);
1358 loadData(is, myVtxdel);
1359 loadData(is, myVtxkeep);
1362 is.
read(&length, 1);
1363 myPrimrenames.setSize(length);
1366 auto && _curentry = myPrimrenames(i);
1368 loadData(is, _curentry.frompr);
1369 loadData(is, _curentry.topr);
1373 loadData(is, myPrimdel);
1374 loadData(is, myPrimkeep);
1377 is.
read(&length, 1);
1378 myDetailrenames.setSize(length);
1381 auto && _curentry = myDetailrenames(i);
1383 loadData(is, _curentry.fromdtl);
1384 loadData(is, _curentry.todtl);
1388 loadData(is, myDtldel);
1389 loadData(is, myDtlkeep);
1392 is.
read(&length, 1);
1393 myRmanconversions.setSize(length);
1396 auto && _curentry = myRmanconversions(i);
1398 loadData(is, _curentry.hname);
1399 loadData(is, _curentry.riname);
1400 loadData(is, _curentry.ritype);
1401 loadData(is, _curentry.rioff);
1405 loadData(is, myRidefault);
1406 loadData(is, myUpdatevar);
1407 loadData(is, myOverwrite);
1408 loadData(is, myEncodenames);
1418 if (!thissop)
return getPtrenames().entries();
1420 OP_Utils::evalOpParm(result, thissop,
"ptrenames", cookparms.
getCookTime(), 0);
1424 {
return opinstPtrenames_frompt(cookparms, &_idx); }
1428 if (!thissop)
return (myPtrenames(_idx[0]).frompt);
1430 _parmidx[1-1] = _idx[1-1] + 0;
1433 OP_Utils::evalOpParmInst(result, thissop,
"frompt#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1437 {
return opinstPtrenames_topt(cookparms, &_idx); }
1441 if (!thissop)
return (myPtrenames(_idx[0]).topt);
1443 _parmidx[1-1] = _idx[1-1] + 0;
1446 OP_Utils::evalOpParmInst(result, thissop,
"topt#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1455 if (!thissop)
return getPtdel();
1457 OP_Utils::evalOpParm(result, thissop,
"ptdel", cookparms.
getCookTime(), 0);
1465 if (!thissop)
return getPtkeep();
1467 OP_Utils::evalOpParm(result, thissop,
"ptkeep", cookparms.
getCookTime(), 0);
1475 if (!thissop)
return getVtxrenames().entries();
1477 OP_Utils::evalOpParm(result, thissop,
"vtxrenames", cookparms.
getCookTime(), 0);
1481 {
return opinstVtxrenames_fromvtx(cookparms, &_idx); }
1485 if (!thissop)
return (myVtxrenames(_idx[0]).fromvtx);
1487 _parmidx[1-1] = _idx[1-1] + 0;
1490 OP_Utils::evalOpParmInst(result, thissop,
"fromvtx#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1494 {
return opinstVtxrenames_tovtx(cookparms, &_idx); }
1498 if (!thissop)
return (myVtxrenames(_idx[0]).tovtx);
1500 _parmidx[1-1] = _idx[1-1] + 0;
1503 OP_Utils::evalOpParmInst(result, thissop,
"tovtx#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1512 if (!thissop)
return getVtxdel();
1514 OP_Utils::evalOpParm(result, thissop,
"vtxdel", cookparms.
getCookTime(), 0);
1522 if (!thissop)
return getVtxkeep();
1524 OP_Utils::evalOpParm(result, thissop,
"vtxkeep", cookparms.
getCookTime(), 0);
1532 if (!thissop)
return getPrimrenames().entries();
1534 OP_Utils::evalOpParm(result, thissop,
"primrenames", cookparms.
getCookTime(), 0);
1538 {
return opinstPrimrenames_frompr(cookparms, &_idx); }
1542 if (!thissop)
return (myPrimrenames(_idx[0]).frompr);
1544 _parmidx[1-1] = _idx[1-1] + 0;
1547 OP_Utils::evalOpParmInst(result, thissop,
"frompr#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1551 {
return opinstPrimrenames_topr(cookparms, &_idx); }
1555 if (!thissop)
return (myPrimrenames(_idx[0]).topr);
1557 _parmidx[1-1] = _idx[1-1] + 0;
1560 OP_Utils::evalOpParmInst(result, thissop,
"topr#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1569 if (!thissop)
return getPrimdel();
1571 OP_Utils::evalOpParm(result, thissop,
"primdel", cookparms.
getCookTime(), 0);
1579 if (!thissop)
return getPrimkeep();
1581 OP_Utils::evalOpParm(result, thissop,
"primkeep", cookparms.
getCookTime(), 0);
1589 if (!thissop)
return getDetailrenames().entries();
1591 OP_Utils::evalOpParm(result, thissop,
"detailrenames", cookparms.
getCookTime(), 0);
1595 {
return opinstDetailrenames_fromdtl(cookparms, &_idx); }
1599 if (!thissop)
return (myDetailrenames(_idx[0]).fromdtl);
1601 _parmidx[1-1] = _idx[1-1] + 0;
1604 OP_Utils::evalOpParmInst(result, thissop,
"fromdtl#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1608 {
return opinstDetailrenames_todtl(cookparms, &_idx); }
1612 if (!thissop)
return (myDetailrenames(_idx[0]).todtl);
1614 _parmidx[1-1] = _idx[1-1] + 0;
1617 OP_Utils::evalOpParmInst(result, thissop,
"todtl#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1626 if (!thissop)
return getDtldel();
1628 OP_Utils::evalOpParm(result, thissop,
"dtldel", cookparms.
getCookTime(), 0);
1636 if (!thissop)
return getDtlkeep();
1638 OP_Utils::evalOpParm(result, thissop,
"dtlkeep", cookparms.
getCookTime(), 0);
1646 if (!thissop)
return getRmanconversions().entries();
1648 OP_Utils::evalOpParm(result, thissop,
"rmanconversions", cookparms.
getCookTime(), 0);
1652 {
return opinstRmanconversions_hname(cookparms, &_idx); }
1656 if (!thissop)
return (myRmanconversions(_idx[0]).hname);
1658 _parmidx[1-1] = _idx[1-1] + 0;
1661 OP_Utils::evalOpParmInst(result, thissop,
"hname#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1665 {
return opinstRmanconversions_riname(cookparms, &_idx); }
1669 if (!thissop)
return (myRmanconversions(_idx[0]).riname);
1671 _parmidx[1-1] = _idx[1-1] + 0;
1674 OP_Utils::evalOpParmInst(result, thissop,
"riname#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1678 {
return opinstRmanconversions_ritype(cookparms, &_idx); }
1682 if (!thissop)
return (myRmanconversions(_idx[0]).ritype);
1684 _parmidx[1-1] = _idx[1-1] + 0;
1687 OP_Utils::evalOpParmInst(result, thissop,
"ritype#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1691 {
return opinstRmanconversions_rioff(cookparms, &_idx); }
1695 if (!thissop)
return (myRmanconversions(_idx[0]).rioff);
1697 _parmidx[1-1] = _idx[1-1] + 0;
1700 OP_Utils::evalOpParmInst(result, thissop,
"rioff#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1709 if (!thissop)
return getRidefault();
1711 OP_Utils::evalOpParm(result, thissop,
"ridefault", cookparms.
getCookTime(), 0);
1719 if (!thissop)
return getUpdatevar();
1721 OP_Utils::evalOpParm(result, thissop,
"updatevar", cookparms.
getCookTime(), 0);
1729 if (!thissop)
return getOverwrite();
1731 OP_Utils::evalOpParm(result, thissop,
"overwrite", cookparms.
getCookTime(), 0);
1739 if (!thissop)
return getEncodenames();
1741 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
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
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
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
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
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
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