23 namespace SOP_CacheIfEnums
80 input_checkpointattribs =
false;
81 input_pointattribs =
""_UTsh;
82 input_checkvertexattribs =
false;
83 input_vertexattribs =
""_UTsh;
84 input_checkprimitiveattribs =
false;
85 input_primitiveattribs =
""_UTsh;
86 input_checkdetailattribs =
false;
87 input_detailattribs =
""_UTsh;
88 input_checkpointgroups =
false;
89 input_pointgroups =
""_UTsh;
90 input_checkvertexgroups =
false;
91 input_vertexgroups =
""_UTsh;
92 input_checkprimitivegroups =
false;
93 input_primitivegroups =
""_UTsh;
94 input_checkedgegroups =
false;
95 input_edgegroups =
""_UTsh;
96 input_checkdetailid =
false;
97 input_checkprimitivesid =
true;
98 input_checktopology =
true;
99 input_checkchangecount =
false;
141 for (
int i = 0; i < list.
entries(); i++)
147 buf.
appendSprintf(
"%s", (list(i).input_enable) ?
"true" :
"false");
149 buf.
appendSprintf(
"%s", (list(i).input_checkpointattribs) ?
"true" :
"false");
153 buf.
appendSprintf(
"%s", (list(i).input_checkvertexattribs) ?
"true" :
"false");
157 buf.
appendSprintf(
"%s", (list(i).input_checkprimitiveattribs) ?
"true" :
"false");
161 buf.
appendSprintf(
"%s", (list(i).input_checkdetailattribs) ?
"true" :
"false");
165 buf.
appendSprintf(
"%s", (list(i).input_checkpointgroups) ?
"true" :
"false");
169 buf.
appendSprintf(
"%s", (list(i).input_checkvertexgroups) ?
"true" :
"false");
173 buf.
appendSprintf(
"%s", (list(i).input_checkprimitivegroups) ?
"true" :
"false");
177 buf.
appendSprintf(
"%s", (list(i).input_checkedgegroups) ?
"true" :
"false");
181 buf.
appendSprintf(
"%s", (list(i).input_checkdetailid) ?
"true" :
"false");
183 buf.
appendSprintf(
"%s", (list(i).input_checkprimitivesid) ?
"true" :
"false");
185 buf.
appendSprintf(
"%s", (list(i).input_checktopology) ?
"true" :
"false");
187 buf.
appendSprintf(
"%s", (list(i).input_checkchangecount) ?
"true" :
"false");
210 parm_nodepath =
""_UTsh;
211 parm_parmfilter =
"*"_UTsh;
212 parm_expandmultiparms =
true;
213 parm_groupfilter =
""_UTsh;
243 for (
int i = 0; i < list.
entries(); i++)
249 buf.
appendSprintf(
"%s", (list(i).parm_enable) ?
"true" :
"false");
255 buf.
appendSprintf(
"%s", (list(i).parm_expandmultiparms) ?
"true" :
"false");
287 expr_strexpr =
""_UTsh;
314 for (
int i = 0; i < list.
entries(); i++)
320 buf.
appendSprintf(
"%s", (list(i).expr_enable) ?
"true" :
"false");
342 myCheckUpstream =
false;
343 myOutputAttrib =
false;
344 myCheckAttrib =
false;
345 myAttribName =
""_UTsh;
359 if (myCheckUpstream != src.myCheckUpstream)
return false;
360 if (myOutputAttrib != src.myOutputAttrib)
return false;
361 if (myCheckAttrib != src.myCheckAttrib)
return false;
362 if (myAttribName != src.myAttribName)
return false;
363 if (myNumInputs != src.myNumInputs)
return false;
364 if (myCheckGroups != src.myCheckGroups)
return false;
365 if (myNumPatterns != src.myNumPatterns)
return false;
366 if (myNumExpressions != src.myNumExpressions)
return false;
383 myCheckUpstream =
false;
385 graph->
evalOpParm(myCheckUpstream, nodeidx,
"checkupstream", time, 0);
386 myOutputAttrib =
false;
388 graph->
evalOpParm(myOutputAttrib, nodeidx,
"outputattrib", time, 0);
389 myCheckAttrib =
false;
391 graph->
evalOpParm(myCheckAttrib, nodeidx,
"checkattrib", time, 0);
392 myAttribName =
""_UTsh;
394 graph->
evalOpParm(myAttribName, nodeidx,
"attribname", time, 0);
398 graph->
evalOpParm(length, nodeidx,
"numinputs", time, 0);
399 if (length < 0) length = 0;
400 myNumInputs.setSize(length);
407 auto && _curentry = myNumInputs(i);
409 _curentry.input_enable =
true;
411 graph->
evalOpParmInst(_curentry.input_enable, nodeidx,
"input_enable#", parmidx, offsets, time, 0, 2-1);
412 _curentry.input_checkpointattribs =
false;
414 graph->
evalOpParmInst(_curentry.input_checkpointattribs, nodeidx,
"input_checkpointattribs#", parmidx, offsets, time, 0, 2-1);
415 _curentry.input_pointattribs =
""_UTsh;
416 if (
true && ( (
true&&!(((_curentry.input_checkpointattribs==0)))) ) )
417 graph->
evalOpParmInst(_curentry.input_pointattribs, nodeidx,
"input_pointattribs#", parmidx, offsets, time, 0, 2-1);
418 _curentry.input_checkvertexattribs =
false;
420 graph->
evalOpParmInst(_curentry.input_checkvertexattribs, nodeidx,
"input_checkvertexattribs#", parmidx, offsets, time, 0, 2-1);
421 _curentry.input_vertexattribs =
""_UTsh;
422 if (
true && ( (
true&&!(((_curentry.input_checkvertexattribs==0)))) ) )
423 graph->
evalOpParmInst(_curentry.input_vertexattribs, nodeidx,
"input_vertexattribs#", parmidx, offsets, time, 0, 2-1);
424 _curentry.input_checkprimitiveattribs =
false;
426 graph->
evalOpParmInst(_curentry.input_checkprimitiveattribs, nodeidx,
"input_checkprimitiveattribs#", parmidx, offsets, time, 0, 2-1);
427 _curentry.input_primitiveattribs =
""_UTsh;
428 if (
true && ( (
true&&!(((_curentry.input_checkprimitiveattribs==0)))) ) )
429 graph->
evalOpParmInst(_curentry.input_primitiveattribs, nodeidx,
"input_primitiveattribs#", parmidx, offsets, time, 0, 2-1);
430 _curentry.input_checkdetailattribs =
false;
432 graph->
evalOpParmInst(_curentry.input_checkdetailattribs, nodeidx,
"input_checkdetailattribs#", parmidx, offsets, time, 0, 2-1);
433 _curentry.input_detailattribs =
""_UTsh;
434 if (
true && ( (
true&&!(((_curentry.input_checkdetailattribs==0)))) ) )
435 graph->
evalOpParmInst(_curentry.input_detailattribs, nodeidx,
"input_detailattribs#", parmidx, offsets, time, 0, 2-1);
436 _curentry.input_checkpointgroups =
false;
438 graph->
evalOpParmInst(_curentry.input_checkpointgroups, nodeidx,
"input_checkpointgroups#", parmidx, offsets, time, 0, 2-1);
439 _curentry.input_pointgroups =
""_UTsh;
440 if (
true && ( (
true&&!(((_curentry.input_checkpointgroups==0)))) ) )
441 graph->
evalOpParmInst(_curentry.input_pointgroups, nodeidx,
"input_pointgroups#", parmidx, offsets, time, 0, 2-1);
442 _curentry.input_checkvertexgroups =
false;
444 graph->
evalOpParmInst(_curentry.input_checkvertexgroups, nodeidx,
"input_checkvertexgroups#", parmidx, offsets, time, 0, 2-1);
445 _curentry.input_vertexgroups =
""_UTsh;
446 if (
true && ( (
true&&!(((_curentry.input_checkvertexgroups==0)))) ) )
447 graph->
evalOpParmInst(_curentry.input_vertexgroups, nodeidx,
"input_vertexgroups#", parmidx, offsets, time, 0, 2-1);
448 _curentry.input_checkprimitivegroups =
false;
450 graph->
evalOpParmInst(_curentry.input_checkprimitivegroups, nodeidx,
"input_checkprimitivegroups#", parmidx, offsets, time, 0, 2-1);
451 _curentry.input_primitivegroups =
""_UTsh;
452 if (
true && ( (
true&&!(((_curentry.input_checkprimitivegroups==0)))) ) )
453 graph->
evalOpParmInst(_curentry.input_primitivegroups, nodeidx,
"input_primitivegroups#", parmidx, offsets, time, 0, 2-1);
454 _curentry.input_checkedgegroups =
false;
456 graph->
evalOpParmInst(_curentry.input_checkedgegroups, nodeidx,
"input_checkedgegroups#", parmidx, offsets, time, 0, 2-1);
457 _curentry.input_edgegroups =
""_UTsh;
458 if (
true && ( (
true&&!(((_curentry.input_checkedgegroups==0)))) ) )
459 graph->
evalOpParmInst(_curentry.input_edgegroups, nodeidx,
"input_edgegroups#", parmidx, offsets, time, 0, 2-1);
460 _curentry.input_checkdetailid =
false;
462 graph->
evalOpParmInst(_curentry.input_checkdetailid, nodeidx,
"input_checkdetailid#", parmidx, offsets, time, 0, 2-1);
463 _curentry.input_checkprimitivesid =
true;
465 graph->
evalOpParmInst(_curentry.input_checkprimitivesid, nodeidx,
"input_checkprimitivesid#", parmidx, offsets, time, 0, 2-1);
466 _curentry.input_checktopology =
true;
468 graph->
evalOpParmInst(_curentry.input_checktopology, nodeidx,
"input_checktopology#", parmidx, offsets, time, 0, 2-1);
469 _curentry.input_checkchangecount =
false;
471 graph->
evalOpParmInst(_curentry.input_checkchangecount, nodeidx,
"input_checkchangecount#", parmidx, offsets, time, 0, 2-1);
479 graph->
evalOpParm(myCheckGroups, nodeidx,
"checkgroups", time, 0);
483 graph->
evalOpParm(length, nodeidx,
"numpatterns", time, 0);
484 if (length < 0) length = 0;
485 myNumPatterns.setSize(length);
492 auto && _curentry = myNumPatterns(i);
494 _curentry.parm_enable =
true;
496 graph->
evalOpParmInst(_curentry.parm_enable, nodeidx,
"parm_enable#", parmidx, offsets, time, 0, 2-1);
497 _curentry.parm_nodepath =
""_UTsh;
498 if (
true && ( (
true&&!(((_curentry.parm_enable==0)))) ) )
499 graph->
evalOpParmInst(_curentry.parm_nodepath, nodeidx,
"parm_nodepath#", parmidx, offsets, time, 0, 2-1);
500 _curentry.parm_parmfilter =
"*"_UTsh;
501 if (
true && ( (
true&&!(((_curentry.parm_enable==0)))) ) )
502 graph->
evalOpParmInst(_curentry.parm_parmfilter, nodeidx,
"parm_parmfilter#", parmidx, offsets, time, 0, 2-1);
503 _curentry.parm_expandmultiparms =
true;
504 if (
true && ( (
true&&!(((_curentry.parm_enable==0)))) ) )
505 graph->
evalOpParmInst(_curentry.parm_expandmultiparms, nodeidx,
"parm_expandmultiparms#", parmidx, offsets, time, 0, 2-1);
506 _curentry.parm_groupfilter =
""_UTsh;
507 if (
true && ( (
true&&!(((_curentry.parm_enable==0)))) ) )
508 graph->
evalOpParmInst(_curentry.parm_groupfilter, nodeidx,
"parm_groupfilter#", parmidx, offsets, time, 0, 2-1);
509 _curentry.parm_grouptype = 1;
510 if (
true && ( (
true&&!(((_curentry.parm_enable==0)))) ) )
511 graph->
evalOpParmInst(_curentry.parm_grouptype, nodeidx,
"parm_grouptype#", parmidx, offsets, time, 0, 2-1);
512 _curentry.parm_oninput = 0;
513 if (
true && ( (
true&&!(((_curentry.parm_enable==0)))) ) )
514 graph->
evalOpParmInst(_curentry.parm_oninput, nodeidx,
"parm_oninput#", parmidx, offsets, time, 0, 2-1);
519 myNumPatterns.clear();
523 graph->
evalOpParm(length, nodeidx,
"numexpressions", time, 0);
524 if (length < 0) length = 0;
525 myNumExpressions.setSize(length);
532 auto && _curentry = myNumExpressions(i);
534 _curentry.expr_enable =
true;
536 graph->
evalOpParmInst(_curentry.expr_enable, nodeidx,
"expr_enable#", parmidx, offsets, time, 0, 2-1);
537 _curentry.expr_cachewhen = 0;
538 if (
true && ( (
true&&!(((_curentry.expr_enable==0)))) ) )
539 graph->
evalOpParmInst(_curentry.expr_cachewhen, nodeidx,
"expr_cachewhen#", parmidx, offsets, time, 0, 2-1);
540 _curentry.expr_exprval = 0;
541 if (
true && ( (
true&&!(((_curentry.expr_enable==0))||((_curentry.expr_cachewhen!=0)))) ) )
542 graph->
evalOpParmInst(_curentry.expr_exprval, nodeidx,
"expr_exprval#", parmidx, offsets, time, 0, 2-1);
543 _curentry.expr_exprtype = 0;
544 if (
true && ( (
true&&!(((_curentry.expr_enable==0))||((_curentry.expr_cachewhen!=1)))) ) )
545 graph->
evalOpParmInst(_curentry.expr_exprtype, nodeidx,
"expr_exprtype#", parmidx, offsets, time, 0, 2-1);
546 _curentry.expr_numexpr = 0;
547 if (
true && ( (
true&&!(((_curentry.expr_enable==0))||((_curentry.expr_cachewhen!=1))||((_curentry.expr_exprtype!=0)))) ) )
548 graph->
evalOpParmInst(_curentry.expr_numexpr, nodeidx,
"expr_numexpr#", parmidx, offsets, time, 0, 2-1);
549 _curentry.expr_strexpr =
""_UTsh;
550 if (
true && ( (
true&&!(((_curentry.expr_enable==0))||((_curentry.expr_cachewhen!=1))||((_curentry.expr_exprtype!=1)))) ) )
551 graph->
evalOpParmInst(_curentry.expr_strexpr, nodeidx,
"expr_strexpr#", parmidx, offsets, time, 0, 2-1);
556 myNumExpressions.clear();
572 template <
typename T>
579 if (idx.
size() != instance.
size()+1)
598 else if (instance[0] < myNumInputs.entries())
600 auto && _data = myNumInputs(instance[0]);
613 coerceValue(value, _data.input_checkvertexattribs);
619 coerceValue(value, _data.input_checkprimitiveattribs);
625 coerceValue(value, _data.input_checkdetailattribs);
643 coerceValue(value, _data.input_checkprimitivegroups);
676 else if (instance[0] < myNumPatterns.entries())
678 auto && _data = myNumPatterns(instance[0]);
709 else if (instance[0] < myNumExpressions.entries())
711 auto && _data = myNumExpressions(instance[0]);
750 { doGetParmValue(idx, instance, value); }
752 { doGetParmValue(idx, instance, value); }
754 { doGetParmValue(idx, instance, value); }
756 { doGetParmValue(idx, instance, value); }
758 { doGetParmValue(idx, instance, value); }
760 { doGetParmValue(idx, instance, value); }
762 { doGetParmValue(idx, instance, value); }
764 { doGetParmValue(idx, instance, value); }
766 { doGetParmValue(idx, instance, value); }
768 { doGetParmValue(idx, instance, value); }
770 { doGetParmValue(idx, instance, value); }
772 template <
typename T>
779 if (idx.
size() != instance.
size()+1)
800 if (newsize < 0) newsize = 0;
801 myNumInputs.setSize(newsize);
807 myNumInputs.setSizeIfNeeded(instance[0]+1);
808 auto && _data = myNumInputs(instance[0]);
821 coerceValue(_data.input_checkvertexattribs, value);
827 coerceValue(_data.input_checkprimitiveattribs, value);
833 coerceValue(_data.input_checkdetailattribs, value);
851 coerceValue(_data.input_checkprimitivegroups, value);
886 if (newsize < 0) newsize = 0;
887 myNumPatterns.setSize(newsize);
893 myNumPatterns.setSizeIfNeeded(instance[0]+1);
894 auto && _data = myNumPatterns(instance[0]);
927 if (newsize < 0) newsize = 0;
928 myNumExpressions.setSize(newsize);
934 myNumExpressions.setSizeIfNeeded(instance[0]+1);
935 auto && _data = myNumExpressions(instance[0]);
965 { doSetParmValue(idx, instance, value); }
967 { doSetParmValue(idx, instance, value); }
969 { doSetParmValue(idx, instance, value); }
971 { doSetParmValue(idx, instance, value); }
973 { doSetParmValue(idx, instance, value); }
975 { doSetParmValue(idx, instance, value); }
977 { doSetParmValue(idx, instance, value); }
979 { doSetParmValue(idx, instance, value); }
981 { doSetParmValue(idx, instance, value); }
983 { doSetParmValue(idx, instance, value); }
985 { doSetParmValue(idx, instance, value); }
1007 if (fieldnum.
size() < 1)
1009 switch (fieldnum[0])
1012 return "checkupstream";
1014 return "outputattrib";
1016 return "checkattrib";
1018 return "attribname";
1020 if (fieldnum.
size() == 1)
1022 switch (fieldnum[1])
1025 return "input_enable#";
1027 return "input_checkpointattribs#";
1029 return "input_pointattribs#";
1031 return "input_checkvertexattribs#";
1033 return "input_vertexattribs#";
1035 return "input_checkprimitiveattribs#";
1037 return "input_primitiveattribs#";
1039 return "input_checkdetailattribs#";
1041 return "input_detailattribs#";
1043 return "input_checkpointgroups#";
1045 return "input_pointgroups#";
1047 return "input_checkvertexgroups#";
1049 return "input_vertexgroups#";
1051 return "input_checkprimitivegroups#";
1053 return "input_primitivegroups#";
1055 return "input_checkedgegroups#";
1057 return "input_edgegroups#";
1059 return "input_checkdetailid#";
1061 return "input_checkprimitivesid#";
1063 return "input_checktopology#";
1065 return "input_checkchangecount#";
1070 return "checkgroups";
1072 if (fieldnum.
size() == 1)
1073 return "numpatterns";
1074 switch (fieldnum[1])
1077 return "parm_enable#";
1079 return "parm_nodepath#";
1081 return "parm_parmfilter#";
1083 return "parm_expandmultiparms#";
1085 return "parm_groupfilter#";
1087 return "parm_grouptype#";
1089 return "parm_oninput#";
1094 if (fieldnum.
size() == 1)
1095 return "numexpressions";
1096 switch (fieldnum[1])
1099 return "expr_enable#";
1101 return "expr_cachewhen#";
1103 return "expr_exprval#";
1105 return "expr_exprtype#";
1107 return "expr_numexpr#";
1109 return "expr_strexpr#";
1120 if (fieldnum.
size() < 1)
1121 return PARM_UNSUPPORTED;
1122 switch (fieldnum[0])
1133 if (fieldnum.
size() == 1)
1134 return PARM_MULTIPARM;
1135 switch (fieldnum[1])
1185 if (fieldnum.
size() == 1)
1186 return PARM_MULTIPARM;
1187 switch (fieldnum[1])
1207 if (fieldnum.
size() == 1)
1208 return PARM_MULTIPARM;
1209 switch (fieldnum[1])
1233 { is.
bread(&v, 1); }
1247 {
for (
int r = 0;
r < 2;
r++)
for (
int c = 0; c < 2; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
1249 {
for (
int r = 0;
r < 3;
r++)
for (
int c = 0; c < 3; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
1251 {
for (
int r = 0;
r < 4;
r++)
for (
int c = 0; c < 4; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
1264 loadData(is, rampdata);
1282 int typelen = colon - data.
buffer();
1294 { UTwrite(os, &v); }
1296 {
int64 iv =
v; UTwrite(os, &iv); }
1298 { UTwrite<fpreal64>(os, &
v); }
1300 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1302 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1303 UTwrite<fpreal64>(os, &v.
z()); }
1305 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1306 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1318 if (s) s->save(ostr);
1319 result = ostr.
str();
1320 saveData(os, result);
1327 ostr << s->getDataTypeToken();
1329 s->saveBinary(ostr);
1331 result = ostr.
str();
1332 saveData(os, result);
1340 saveData(os, myCheckUpstream);
1341 saveData(os, myOutputAttrib);
1342 saveData(os, myCheckAttrib);
1343 saveData(os, myAttribName);
1346 UTwrite(os, &length);
1349 auto && _curentry = myNumInputs(i);
1351 saveData(os, _curentry.input_enable);
1352 saveData(os, _curentry.input_checkpointattribs);
1353 saveData(os, _curentry.input_pointattribs);
1354 saveData(os, _curentry.input_checkvertexattribs);
1355 saveData(os, _curentry.input_vertexattribs);
1356 saveData(os, _curentry.input_checkprimitiveattribs);
1357 saveData(os, _curentry.input_primitiveattribs);
1358 saveData(os, _curentry.input_checkdetailattribs);
1359 saveData(os, _curentry.input_detailattribs);
1360 saveData(os, _curentry.input_checkpointgroups);
1361 saveData(os, _curentry.input_pointgroups);
1362 saveData(os, _curentry.input_checkvertexgroups);
1363 saveData(os, _curentry.input_vertexgroups);
1364 saveData(os, _curentry.input_checkprimitivegroups);
1365 saveData(os, _curentry.input_primitivegroups);
1366 saveData(os, _curentry.input_checkedgegroups);
1367 saveData(os, _curentry.input_edgegroups);
1368 saveData(os, _curentry.input_checkdetailid);
1369 saveData(os, _curentry.input_checkprimitivesid);
1370 saveData(os, _curentry.input_checktopology);
1371 saveData(os, _curentry.input_checkchangecount);
1375 saveData(os, myCheckGroups);
1378 UTwrite(os, &length);
1381 auto && _curentry = myNumPatterns(i);
1383 saveData(os, _curentry.parm_enable);
1384 saveData(os, _curentry.parm_nodepath);
1385 saveData(os, _curentry.parm_parmfilter);
1386 saveData(os, _curentry.parm_expandmultiparms);
1387 saveData(os, _curentry.parm_groupfilter);
1388 saveData(os, _curentry.parm_grouptype);
1389 saveData(os, _curentry.parm_oninput);
1395 UTwrite(os, &length);
1398 auto && _curentry = myNumExpressions(i);
1400 saveData(os, _curentry.expr_enable);
1401 saveData(os, _curentry.expr_cachewhen);
1402 saveData(os, _curentry.expr_exprval);
1403 saveData(os, _curentry.expr_exprtype);
1404 saveData(os, _curentry.expr_numexpr);
1405 saveData(os, _curentry.expr_strexpr);
1421 loadData(is, myCheckUpstream);
1422 loadData(is, myOutputAttrib);
1423 loadData(is, myCheckAttrib);
1424 loadData(is, myAttribName);
1427 is.
read(&length, 1);
1428 myNumInputs.setSize(length);
1431 auto && _curentry = myNumInputs(i);
1433 loadData(is, _curentry.input_enable);
1434 loadData(is, _curentry.input_checkpointattribs);
1435 loadData(is, _curentry.input_pointattribs);
1436 loadData(is, _curentry.input_checkvertexattribs);
1437 loadData(is, _curentry.input_vertexattribs);
1438 loadData(is, _curentry.input_checkprimitiveattribs);
1439 loadData(is, _curentry.input_primitiveattribs);
1440 loadData(is, _curentry.input_checkdetailattribs);
1441 loadData(is, _curentry.input_detailattribs);
1442 loadData(is, _curentry.input_checkpointgroups);
1443 loadData(is, _curentry.input_pointgroups);
1444 loadData(is, _curentry.input_checkvertexgroups);
1445 loadData(is, _curentry.input_vertexgroups);
1446 loadData(is, _curentry.input_checkprimitivegroups);
1447 loadData(is, _curentry.input_primitivegroups);
1448 loadData(is, _curentry.input_checkedgegroups);
1449 loadData(is, _curentry.input_edgegroups);
1450 loadData(is, _curentry.input_checkdetailid);
1451 loadData(is, _curentry.input_checkprimitivesid);
1452 loadData(is, _curentry.input_checktopology);
1453 loadData(is, _curentry.input_checkchangecount);
1457 loadData(is, myCheckGroups);
1460 is.
read(&length, 1);
1461 myNumPatterns.setSize(length);
1464 auto && _curentry = myNumPatterns(i);
1466 loadData(is, _curentry.parm_enable);
1467 loadData(is, _curentry.parm_nodepath);
1468 loadData(is, _curentry.parm_parmfilter);
1469 loadData(is, _curentry.parm_expandmultiparms);
1470 loadData(is, _curentry.parm_groupfilter);
1471 loadData(is, _curentry.parm_grouptype);
1472 loadData(is, _curentry.parm_oninput);
1478 is.
read(&length, 1);
1479 myNumExpressions.setSize(length);
1482 auto && _curentry = myNumExpressions(i);
1484 loadData(is, _curentry.expr_enable);
1485 loadData(is, _curentry.expr_cachewhen);
1486 loadData(is, _curentry.expr_exprval);
1487 loadData(is, _curentry.expr_exprtype);
1488 loadData(is, _curentry.expr_numexpr);
1489 loadData(is, _curentry.expr_strexpr);
1502 if (!thissop)
return getCheckUpstream();
1504 OP_Utils::evalOpParm(result, thissop,
"checkupstream", cookparms.
getCookTime(), 0);
1512 if (!thissop)
return getOutputAttrib();
1514 OP_Utils::evalOpParm(result, thissop,
"outputattrib", cookparms.
getCookTime(), 0);
1522 if (!thissop)
return getCheckAttrib();
1524 OP_Utils::evalOpParm(result, thissop,
"checkattrib", cookparms.
getCookTime(), 0);
1532 if (!thissop)
return getAttribName();
1534 OP_Utils::evalOpParm(result, thissop,
"attribname", cookparms.
getCookTime(), 0);
1542 if (!thissop)
return getNumInputs().entries();
1544 OP_Utils::evalOpParm(result, thissop,
"numinputs", cookparms.
getCookTime(), 0);
1548 {
return opinstNumInputs_input_enable(cookparms, &_idx); }
1552 if (!thissop)
return (myNumInputs(_idx[0]).input_enable);
1554 _parmidx[1-1] = _idx[1-1] + 1;
1557 OP_Utils::evalOpParmInst(result, thissop,
"input_enable#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1561 {
return opinstNumInputs_input_checkpointattribs(cookparms, &_idx); }
1565 if (!thissop)
return (myNumInputs(_idx[0]).input_checkpointattribs);
1567 _parmidx[1-1] = _idx[1-1] + 1;
1570 OP_Utils::evalOpParmInst(result, thissop,
"input_checkpointattribs#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1574 {
return opinstNumInputs_input_pointattribs(cookparms, &_idx); }
1578 if (!thissop)
return (myNumInputs(_idx[0]).input_pointattribs);
1580 _parmidx[1-1] = _idx[1-1] + 1;
1583 OP_Utils::evalOpParmInst(result, thissop,
"input_pointattribs#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1587 {
return opinstNumInputs_input_checkvertexattribs(cookparms, &_idx); }
1591 if (!thissop)
return (myNumInputs(_idx[0]).input_checkvertexattribs);
1593 _parmidx[1-1] = _idx[1-1] + 1;
1596 OP_Utils::evalOpParmInst(result, thissop,
"input_checkvertexattribs#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1600 {
return opinstNumInputs_input_vertexattribs(cookparms, &_idx); }
1604 if (!thissop)
return (myNumInputs(_idx[0]).input_vertexattribs);
1606 _parmidx[1-1] = _idx[1-1] + 1;
1609 OP_Utils::evalOpParmInst(result, thissop,
"input_vertexattribs#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1613 {
return opinstNumInputs_input_checkprimitiveattribs(cookparms, &_idx); }
1617 if (!thissop)
return (myNumInputs(_idx[0]).input_checkprimitiveattribs);
1619 _parmidx[1-1] = _idx[1-1] + 1;
1622 OP_Utils::evalOpParmInst(result, thissop,
"input_checkprimitiveattribs#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1626 {
return opinstNumInputs_input_primitiveattribs(cookparms, &_idx); }
1630 if (!thissop)
return (myNumInputs(_idx[0]).input_primitiveattribs);
1632 _parmidx[1-1] = _idx[1-1] + 1;
1635 OP_Utils::evalOpParmInst(result, thissop,
"input_primitiveattribs#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1639 {
return opinstNumInputs_input_checkdetailattribs(cookparms, &_idx); }
1643 if (!thissop)
return (myNumInputs(_idx[0]).input_checkdetailattribs);
1645 _parmidx[1-1] = _idx[1-1] + 1;
1648 OP_Utils::evalOpParmInst(result, thissop,
"input_checkdetailattribs#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1652 {
return opinstNumInputs_input_detailattribs(cookparms, &_idx); }
1656 if (!thissop)
return (myNumInputs(_idx[0]).input_detailattribs);
1658 _parmidx[1-1] = _idx[1-1] + 1;
1661 OP_Utils::evalOpParmInst(result, thissop,
"input_detailattribs#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1665 {
return opinstNumInputs_input_checkpointgroups(cookparms, &_idx); }
1669 if (!thissop)
return (myNumInputs(_idx[0]).input_checkpointgroups);
1671 _parmidx[1-1] = _idx[1-1] + 1;
1674 OP_Utils::evalOpParmInst(result, thissop,
"input_checkpointgroups#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1678 {
return opinstNumInputs_input_pointgroups(cookparms, &_idx); }
1682 if (!thissop)
return (myNumInputs(_idx[0]).input_pointgroups);
1684 _parmidx[1-1] = _idx[1-1] + 1;
1687 OP_Utils::evalOpParmInst(result, thissop,
"input_pointgroups#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1691 {
return opinstNumInputs_input_checkvertexgroups(cookparms, &_idx); }
1695 if (!thissop)
return (myNumInputs(_idx[0]).input_checkvertexgroups);
1697 _parmidx[1-1] = _idx[1-1] + 1;
1700 OP_Utils::evalOpParmInst(result, thissop,
"input_checkvertexgroups#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1704 {
return opinstNumInputs_input_vertexgroups(cookparms, &_idx); }
1708 if (!thissop)
return (myNumInputs(_idx[0]).input_vertexgroups);
1710 _parmidx[1-1] = _idx[1-1] + 1;
1713 OP_Utils::evalOpParmInst(result, thissop,
"input_vertexgroups#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1717 {
return opinstNumInputs_input_checkprimitivegroups(cookparms, &_idx); }
1721 if (!thissop)
return (myNumInputs(_idx[0]).input_checkprimitivegroups);
1723 _parmidx[1-1] = _idx[1-1] + 1;
1726 OP_Utils::evalOpParmInst(result, thissop,
"input_checkprimitivegroups#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1730 {
return opinstNumInputs_input_primitivegroups(cookparms, &_idx); }
1734 if (!thissop)
return (myNumInputs(_idx[0]).input_primitivegroups);
1736 _parmidx[1-1] = _idx[1-1] + 1;
1739 OP_Utils::evalOpParmInst(result, thissop,
"input_primitivegroups#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1743 {
return opinstNumInputs_input_checkedgegroups(cookparms, &_idx); }
1747 if (!thissop)
return (myNumInputs(_idx[0]).input_checkedgegroups);
1749 _parmidx[1-1] = _idx[1-1] + 1;
1752 OP_Utils::evalOpParmInst(result, thissop,
"input_checkedgegroups#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1756 {
return opinstNumInputs_input_edgegroups(cookparms, &_idx); }
1760 if (!thissop)
return (myNumInputs(_idx[0]).input_edgegroups);
1762 _parmidx[1-1] = _idx[1-1] + 1;
1765 OP_Utils::evalOpParmInst(result, thissop,
"input_edgegroups#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1769 {
return opinstNumInputs_input_checkdetailid(cookparms, &_idx); }
1773 if (!thissop)
return (myNumInputs(_idx[0]).input_checkdetailid);
1775 _parmidx[1-1] = _idx[1-1] + 1;
1778 OP_Utils::evalOpParmInst(result, thissop,
"input_checkdetailid#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1782 {
return opinstNumInputs_input_checkprimitivesid(cookparms, &_idx); }
1786 if (!thissop)
return (myNumInputs(_idx[0]).input_checkprimitivesid);
1788 _parmidx[1-1] = _idx[1-1] + 1;
1791 OP_Utils::evalOpParmInst(result, thissop,
"input_checkprimitivesid#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1795 {
return opinstNumInputs_input_checktopology(cookparms, &_idx); }
1799 if (!thissop)
return (myNumInputs(_idx[0]).input_checktopology);
1801 _parmidx[1-1] = _idx[1-1] + 1;
1804 OP_Utils::evalOpParmInst(result, thissop,
"input_checktopology#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1808 {
return opinstNumInputs_input_checkchangecount(cookparms, &_idx); }
1812 if (!thissop)
return (myNumInputs(_idx[0]).input_checkchangecount);
1814 _parmidx[1-1] = _idx[1-1] + 1;
1817 OP_Utils::evalOpParmInst(result, thissop,
"input_checkchangecount#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1826 if (!thissop)
return getCheckGroups();
1828 OP_Utils::evalOpParm(result, thissop,
"checkgroups", cookparms.
getCookTime(), 0);
1836 if (!thissop)
return getNumPatterns().entries();
1838 OP_Utils::evalOpParm(result, thissop,
"numpatterns", cookparms.
getCookTime(), 0);
1842 {
return opinstNumPatterns_parm_enable(cookparms, &_idx); }
1846 if (!thissop)
return (myNumPatterns(_idx[0]).parm_enable);
1848 _parmidx[1-1] = _idx[1-1] + 1;
1851 OP_Utils::evalOpParmInst(result, thissop,
"parm_enable#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1855 {
return opinstNumPatterns_parm_nodepath(cookparms, &_idx); }
1859 if (!thissop)
return (myNumPatterns(_idx[0]).parm_nodepath);
1861 _parmidx[1-1] = _idx[1-1] + 1;
1864 OP_Utils::evalOpParmInst(result, thissop,
"parm_nodepath#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1868 {
return opinstNumPatterns_parm_parmfilter(cookparms, &_idx); }
1872 if (!thissop)
return (myNumPatterns(_idx[0]).parm_parmfilter);
1874 _parmidx[1-1] = _idx[1-1] + 1;
1877 OP_Utils::evalOpParmInst(result, thissop,
"parm_parmfilter#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1881 {
return opinstNumPatterns_parm_expandmultiparms(cookparms, &_idx); }
1885 if (!thissop)
return (myNumPatterns(_idx[0]).parm_expandmultiparms);
1887 _parmidx[1-1] = _idx[1-1] + 1;
1890 OP_Utils::evalOpParmInst(result, thissop,
"parm_expandmultiparms#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1894 {
return opinstNumPatterns_parm_groupfilter(cookparms, &_idx); }
1898 if (!thissop)
return (myNumPatterns(_idx[0]).parm_groupfilter);
1900 _parmidx[1-1] = _idx[1-1] + 1;
1903 OP_Utils::evalOpParmInst(result, thissop,
"parm_groupfilter#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1907 {
return opinstNumPatterns_parm_grouptype(cookparms, &_idx); }
1911 if (!thissop)
return (myNumPatterns(_idx[0]).parm_grouptype);
1913 _parmidx[1-1] = _idx[1-1] + 1;
1916 OP_Utils::evalOpParmInst(result, thissop,
"parm_grouptype#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1920 {
return opinstNumPatterns_parm_oninput(cookparms, &_idx); }
1924 if (!thissop)
return (myNumPatterns(_idx[0]).parm_oninput);
1926 _parmidx[1-1] = _idx[1-1] + 1;
1929 OP_Utils::evalOpParmInst(result, thissop,
"parm_oninput#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1938 if (!thissop)
return getNumExpressions().entries();
1940 OP_Utils::evalOpParm(result, thissop,
"numexpressions", cookparms.
getCookTime(), 0);
1944 {
return opinstNumExpressions_expr_enable(cookparms, &_idx); }
1948 if (!thissop)
return (myNumExpressions(_idx[0]).expr_enable);
1950 _parmidx[1-1] = _idx[1-1] + 1;
1953 OP_Utils::evalOpParmInst(result, thissop,
"expr_enable#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1957 {
return opinstNumExpressions_expr_cachewhen(cookparms, &_idx); }
1961 if (!thissop)
return (myNumExpressions(_idx[0]).expr_cachewhen);
1963 _parmidx[1-1] = _idx[1-1] + 1;
1966 OP_Utils::evalOpParmInst(result, thissop,
"expr_cachewhen#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1970 {
return opinstNumExpressions_expr_exprval(cookparms, &_idx); }
1974 if (!thissop)
return (myNumExpressions(_idx[0]).expr_exprval);
1976 _parmidx[1-1] = _idx[1-1] + 1;
1979 OP_Utils::evalOpParmInst(result, thissop,
"expr_exprval#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1983 {
return opinstNumExpressions_expr_exprtype(cookparms, &_idx); }
1987 if (!thissop)
return (myNumExpressions(_idx[0]).expr_exprtype);
1989 _parmidx[1-1] = _idx[1-1] + 1;
1992 OP_Utils::evalOpParmInst(result, thissop,
"expr_exprtype#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1996 {
return opinstNumExpressions_expr_numexpr(cookparms, &_idx); }
2000 if (!thissop)
return (myNumExpressions(_idx[0]).expr_numexpr);
2002 _parmidx[1-1] = _idx[1-1] + 1;
2005 OP_Utils::evalOpParmInst(result, thissop,
"expr_numexpr#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2009 {
return opinstNumExpressions_expr_strexpr(cookparms, &_idx); }
2013 if (!thissop)
return (myNumExpressions(_idx[0]).expr_strexpr);
2015 _parmidx[1-1] = _idx[1-1] + 1;
2018 OP_Utils::evalOpParmInst(result, thissop,
"expr_strexpr#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2024 bool myCheckUpstream;
2025 bool myOutputAttrib;
2029 int64 myCheckGroups;
int64 opinstNumPatterns_parm_oninput(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool getCheckAttrib() const
void setNumPatterns(const UT_Array< NumPatterns > &val)
UT_StringHolder parm_parmfilter
static void loadData(UT_IStream &is, UT_Vector2I &v)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
void setCheckGroups(CheckGroups val)
bool operator!=(const NumExpressions &src) const
static void saveData(std::ostream &os, UT_StringHolder s)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
void setCheckUpstream(bool val)
GLenum GLuint GLenum GLsizei const GLchar * buf
UT_StringHolder opinstNumInputs_input_primitiveattribs(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool opinstNumInputs_input_enable(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
static void saveData(std::ostream &os, fpreal64 v)
const UT_Array< NumPatterns > & getNumPatterns() const
bool opNumInputs_input_checktopology(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void saveData(std::ostream &os, UT_Matrix2D v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
static void saveData(std::ostream &os, UT_Matrix3D v)
SOP_Node * getNode() const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
static void saveData(std::ostream &os, PRM_DataItemHandle s)
T clampMaxValue(fpreal maxvalue, const T &src) const
bool opNumExpressions_expr_enable(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void loadData(UT_IStream &is, UT_Vector3D &v)
bool opinstNumInputs_input_checktopology(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
UT_StringHolder createString(const UT_Array< NumInputs > &list) const
static void loadData(UT_IStream &is, int64 &v)
static void loadData(UT_IStream &is, UT_StringHolder &v)
exint bread(int32 *buffer, exint asize=1)
void setOutputAttrib(bool val)
GT_API const UT_StringHolder time
UT_StringHolder opinstNumPatterns_parm_groupfilter(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
constexpr SYS_FORCE_INLINE T & y() noexcept
bool parm_expandmultiparms
static void loadData(UT_IStream &is, UT_Vector2D &v)
bool operator==(const NumPatterns &src) const
UT_StringHolder opinstNumInputs_input_vertexgroups(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool load(UT_IStream &is)
static void saveData(std::ostream &os, UT_Vector4D v)
bool opNumInputs_input_checkpointgroups(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void saveData(std::ostream &os, int64 v)
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const
void setCheckAttrib(bool val)
const OP_Context & context() const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
const UT_StringHolder & getAttribName() const
constexpr SYS_FORCE_INLINE T & z() noexcept
UT_StringHolder parm_nodepath
SYS_FORCE_INLINE const char * buffer() const
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
void setAttribName(const UT_StringHolder &val)
UT_StringHolder expr_strexpr
GLuint GLsizei GLsizei * length
An output stream object that owns its own string buffer storage.
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
bool opNumInputs_input_checkchangecount(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void loadData(UT_IStream &is, fpreal64 &v)
CheckGroups getCheckGroups() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
**But if you need a result
UT_StringHolder parm_groupfilter
bool opNumPatterns_parm_expandmultiparms(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
T clampMinValue(fpreal minvalue, const T &src) const
bool operator!=(const SOP_CacheIfParms &src) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
bool operator==(const NumExpressions &src) const
bool opinstNumExpressions_expr_enable(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool opinstNumInputs_input_checkdetailattribs(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
fpreal64 opNumExpressions_expr_numexpr(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
static void loadData(UT_IStream &is, bool &v)
bool opinstNumInputs_input_checkpointgroups(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool opinstNumPatterns_parm_enable(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool opinstNumInputs_input_checkdetailid(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
UT_StringHolder opNumExpressions_expr_strexpr(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
bool opNumInputs_input_enable(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
constexpr SYS_FORCE_INLINE T & x() noexcept
void setNumInputs(const UT_Array< NumInputs > &val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
const char * getNestParmName(TempIndex fieldnum) const override
bool operator!=(const NumPatterns &src) const
fpreal64 opinstNumExpressions_expr_numexpr(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
GLuint GLsizei const GLuint const GLintptr * offsets
constexpr SYS_FORCE_INLINE T & x() noexcept
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
bool opNumInputs_input_checkdetailattribs(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void saveData(std::ostream &os, UT_Vector2D v)
UT_StringHolder opNumInputs_input_edgegroups(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
UT_StringHolder opinstNumPatterns_parm_nodepath(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
int64 opNumExpressions_expr_cachewhen(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
exint opNumPatterns(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
static void loadData(UT_IStream &is, UT_Vector3I &v)
bool opCheckUpstream(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opinstNumInputs_input_pointgroups(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool opCheckAttrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opinstNumInputs_input_primitivegroups(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
int64 opinstNumExpressions_expr_exprtype(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
exint opNumExpressions(const SOP_NodeVerb::CookParms &cookparms) const
bool opOutputAttrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opinstNumInputs_input_edgegroups(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
bool isParmColorRamp(exint idx) const override
bool opinstNumInputs_input_checkpointattribs(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void save(std::ostream &os) const
const UT_Array< NumExpressions > & getNumExpressions() const
UT_StringHolder opNumInputs_input_detailattribs(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
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
static void loadData(UT_IStream &is, UT_Vector4I &v)
bool opNumInputs_input_checkdetailid(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void copyFrom(const OP_NodeParms *src) override
UT_StringHolder createString(const UT_Array< NumExpressions > &list) const
exint read(bool *array, exint sz=1)
const OP_GraphProxy * graph() const
bool opinstNumPatterns_parm_expandmultiparms(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
bool operator==(const SOP_CacheIfParms &src) const
void loadFromOpSubclass(const LoadParms &loadparms) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
exint opNumInputs(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
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
int64 opinstNumExpressions_expr_cachewhen(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
ParmType getNestParmType(TempIndex fieldnum) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
UT_StringHolder opinstNumPatterns_parm_parmfilter(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool opNumPatterns_parm_enable(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
SYS_FORCE_INLINE void strcat(const char *src)
void saveBinary(std::ostream &os) const
Save string to binary stream.
GT_API const UT_StringHolder version
UT_StringHolder opNumInputs_input_primitiveattribs(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
exint entries() const
Alias of size(). size() is preferred.
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
bool opNumInputs_input_checkvertexattribs(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setNumExpressions(const UT_Array< NumExpressions > &val)
UT_StringHolder opNumInputs_input_pointattribs(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
int64 opinstNumPatterns_parm_grouptype(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool opinstNumInputs_input_checkprimitivesid(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void coerceValue(T &result, const S &src) const
static void saveData(std::ostream &os, UT_Vector3D v)
static void loadData(UT_IStream &is, UT_Vector4D &v)
UT_StringHolder opNumInputs_input_primitivegroups(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool opNumInputs_input_checkedgegroups(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
DEP_MicroNode * depnode() const
UT_StringHolder opAttribName(const SOP_NodeVerb::CookParms &cookparms) const
bool getOutputAttrib() const
bool opinstNumInputs_input_checkchangecount(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
UT_StringHolder opinstNumInputs_input_vertexattribs(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
Utility class for containing a color ramp.
constexpr SYS_FORCE_INLINE T & w() noexcept
SYS_FORCE_INLINE void append(char character)
UT_StringHolder createString(const UT_Array< NumPatterns > &list) const
bool opNumInputs_input_checkprimitivegroups(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
exint getNestNumParms(TempIndex idx) const override
bool opinstNumInputs_input_checkvertexgroups(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool opinstNumInputs_input_checkedgegroups(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
fpreal getCookTime() const
UT_StringHolder opNumInputs_input_pointgroups(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
UT_StringHolder opNumInputs_input_vertexattribs(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
UT_StringHolder opNumPatterns_parm_parmfilter(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
const char * findChar(int c) const
UT_StringHolder opNumPatterns_parm_nodepath(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool opinstNumInputs_input_checkprimitiveattribs(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
UT_StringHolder opNumPatterns_parm_groupfilter(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
int64 opNumPatterns_parm_grouptype(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool opNumInputs_input_checkpointattribs(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
static void saveData(std::ostream &os, bool v)
constexpr SYS_FORCE_INLINE T & y() noexcept
const UT_Array< NumInputs > & getNumInputs() const
bool opinstNumInputs_input_checkvertexattribs(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool opNumInputs_input_checkprimitivesid(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
int64 opNumExpressions_expr_exprtype(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool opNumInputs_input_checkvertexgroups(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool opinstNumInputs_input_checkprimitivegroups(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
CheckGroups opCheckGroups(const SOP_NodeVerb::CookParms &cookparms) const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
constexpr SYS_FORCE_INLINE T & y() noexcept
UT_StringHolder opinstNumExpressions_expr_strexpr(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
SYS_FORCE_INLINE bool isstring() const
bool getCheckUpstream() const
UT_StringHolder opinstNumInputs_input_detailattribs(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
OP_NodeParms & operator=(const OP_NodeParms &)=default
static void saveData(std::ostream &os, UT_Matrix4D v)
UT_StringHolder opinstNumInputs_input_pointattribs(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
bool opNumInputs_input_checkprimitiveattribs(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
int64 opinstNumExpressions_expr_exprval(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
int64 opNumExpressions_expr_exprval(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
UT_StringHolder opNumInputs_input_vertexgroups(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
constexpr SYS_FORCE_INLINE T & x() noexcept
int64 opNumPatterns_parm_oninput(const SOP_NodeVerb::CookParms &cookparms, int _idx) const