23 namespace SOP_ONNXEnums
 
   36         using namespace UT::Literal;
 
   55         using namespace UT::Literal;
 
   73         using namespace UT::Literal;
 
   91         using namespace UT::Literal;
 
  118             input_name = 
""_UTsh;
 
  122             input_channelfirst = 
false;
 
  123             input_data = 
""_UTsh;
 
  129             if (input_name != src.
input_name) 
return false;
 
  131             if (input_type != src.
input_type) 
return false;
 
  134             if (input_data != src.
input_data) 
return false;
 
  150         for (
int i = 0; i < list.
entries(); i++)
 
  158             buf.
appendSprintf(
"((%f, %f, %f), (%f, %f, %f), (%f, %f, %f))", list(i).input_shape(0,0), list(i).input_shape(0, 1), list(i).input_shape(0, 2), list(i).input_shape(1, 0), list(i).input_shape(1, 1), list(i).input_shape(1, 2), list(i).input_shape(2, 0), list(i).input_shape(2, 1), list(i).input_shape(2, 2));
 
  164             buf.
appendSprintf(
"%s", (list(i).input_channelfirst) ? 
"true" : 
"false");
 
  187             output_name = 
""_UTsh;
 
  191             output_channelfirst = 
false;
 
  192             output_data = 
""_UTsh;
 
  219         for (
int i = 0; i < list.
entries(); i++)
 
  227             buf.
appendSprintf(
"((%f, %f, %f), (%f, %f, %f), (%f, %f, %f))", list(i).output_shape(0,0), list(i).output_shape(0, 1), list(i).output_shape(0, 2), list(i).output_shape(1, 0), list(i).output_shape(1, 1), list(i).output_shape(1, 2), list(i).output_shape(2, 0), list(i).output_shape(2, 1), list(i).output_shape(2, 2));
 
  233             buf.
appendSprintf(
"%s", (list(i).output_channelfirst) ? 
"true" : 
"false");
 
  247         myModelFile = 
""_UTsh;
 
  248         raw_myModelFile = 
""_UTsh;
 
  249         myDoMaxBatch = 
false;
 
  254         myOutputs.setSize(1);
 
  267         if (myModelFile != src.myModelFile) 
return false;
 
  268         if (raw_myModelFile != src.raw_myModelFile) 
return false;
 
  269         if (myDoMaxBatch != src.myDoMaxBatch) 
return false;
 
  270         if (myMaxBatch != src.myMaxBatch) 
return false;
 
  271         if (myProvider != src.myProvider) 
return false;
 
  272         if (myKeepInput != src.myKeepInput) 
return false;
 
  273         if (myInputs != src.myInputs) 
return false;
 
  274         if (myOutputs != src.myOutputs) 
return false;
 
  294         myModelFile = 
""_UTsh;
 
  296             graph->
evalOpParm(myModelFile, nodeidx, 
"modelfile", time, graph->
isDirect()?
nullptr:depnode);
 
  297         raw_myModelFile = 
""_UTsh;
 
  299             graph->
evalOpParmRaw(raw_myModelFile, nodeidx, 
"modelfile", time, graph->
isDirect()?
nullptr:depnode);
 
  300         myDoMaxBatch = 
false;
 
  302             graph->
evalOpParm(myDoMaxBatch, nodeidx, 
"domaxbatch", time, graph->
isDirect()?
nullptr:depnode);
 
  304         if (
true && ( (
true&&!(((getDoMaxBatch()==0)))) ) )
 
  305             graph->
evalOpParm(myMaxBatch, nodeidx, 
"maxbatch", time, graph->
isDirect()?
nullptr:depnode);
 
  308             graph->
evalOpParm(myProvider, nodeidx, 
"provider", time, graph->
isDirect()?
nullptr:depnode);
 
  311             graph->
evalOpParm(myKeepInput, nodeidx, 
"keepinput", time, graph->
isDirect()?
nullptr:depnode);
 
  315             graph->
evalOpParm(length, nodeidx, 
"inputs", time, graph->
isDirect()?
nullptr:depnode);
 
  316             if (length < 0) length = 0;
 
  317             myInputs.setSize(length);
 
  324                 auto && _curentry = myInputs(i);
 
  326                 _curentry.input_name = 
""_UTsh;
 
  328                     graph->
evalOpParmInst(_curentry.input_name, nodeidx, 
"input_name#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  329                 _curentry.input_shape = 1;
 
  331                     graph->
evalOpParmInst(_curentry.input_shape, nodeidx, 
"input_shape#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  332                 _curentry.input_type = 0;
 
  334                     graph->
evalOpParmInst(_curentry.input_type, nodeidx, 
"input_type#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  335                 _curentry.input_volorder = 0;
 
  336                 if (
true && ( (
true&&!(((_curentry.input_type!=0)))) ) )
 
  337                     graph->
evalOpParmInst(_curentry.input_volorder, nodeidx, 
"input_volorder#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  338                 _curentry.input_channelfirst = 
false;
 
  339                 if (
true && ( (
true&&!(((_curentry.input_type!=0)))) ) )
 
  340                     graph->
evalOpParmInst(_curentry.input_channelfirst, nodeidx, 
"input_channelfirst#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  341                 _curentry.input_data = 
""_UTsh;
 
  343                     graph->
evalOpParmInst(_curentry.input_data, nodeidx, 
"input_data#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  352             graph->
evalOpParm(length, nodeidx, 
"outputs", time, graph->
isDirect()?
nullptr:depnode);
 
  353             if (length < 0) length = 0;
 
  354             myOutputs.setSize(length);
 
  361                 auto && _curentry = myOutputs(i);
 
  363                 _curentry.output_name = 
""_UTsh;
 
  365                     graph->
evalOpParmInst(_curentry.output_name, nodeidx, 
"output_name#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  366                 _curentry.output_shape = 1;
 
  368                     graph->
evalOpParmInst(_curentry.output_shape, nodeidx, 
"output_shape#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  369                 _curentry.output_type = 0;
 
  371                     graph->
evalOpParmInst(_curentry.output_type, nodeidx, 
"output_type#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  372                 _curentry.output_volorder = 0;
 
  373                 if (
true && ( (
true&&!(((_curentry.output_type!=0)))) ) )
 
  374                     graph->
evalOpParmInst(_curentry.output_volorder, nodeidx, 
"output_volorder#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  375                 _curentry.output_channelfirst = 
false;
 
  376                 if (
true && ( (
true&&!(((_curentry.output_type!=0)))) ) )
 
  377                     graph->
evalOpParmInst(_curentry.output_channelfirst, nodeidx, 
"output_channelfirst#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  378                 _curentry.output_data = 
""_UTsh;
 
  380                     graph->
evalOpParmInst(_curentry.output_data, nodeidx, 
"output_data#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  401     template <
typename T>
 
  408         if (idx.
size() != instance.
size()+1)
 
  413                 coerceValue(value, myModelFile);
 
  416                 coerceValue(value, myDoMaxBatch);
 
  419                 coerceValue(value, myMaxBatch);
 
  422                 coerceValue(value, myProvider);
 
  425                 coerceValue(value, myKeepInput);
 
  429                     coerceValue(value, myInputs.entries());
 
  430                 else if (instance[0] < myInputs.entries())
 
  432                     auto && _data = myInputs(instance[0]);
 
  436                         coerceValue(value, _data.input_name);
 
  439                         coerceValue(value, _data.input_shape);
 
  442                         coerceValue(value, _data.input_type);
 
  445                         coerceValue(value, _data.input_volorder);
 
  448                         coerceValue(value, _data.input_channelfirst);
 
  451                         coerceValue(value, _data.input_data);
 
  459                     coerceValue(value, myOutputs.entries());
 
  460                 else if (instance[0] < myOutputs.entries())
 
  462                     auto && _data = myOutputs(instance[0]);
 
  466                         coerceValue(value, _data.output_name);
 
  469                         coerceValue(value, _data.output_shape);
 
  472                         coerceValue(value, _data.output_type);
 
  475                         coerceValue(value, _data.output_volorder);
 
  478                         coerceValue(value, _data.output_channelfirst);
 
  481                         coerceValue(value, _data.output_data);
 
  501     { doGetParmValue(idx, instance, value); }
 
  503     { doGetParmValue(idx, instance, value); }
 
  505     { doGetParmValue(idx, instance, value); }
 
  507     { doGetParmValue(idx, instance, value); }
 
  509     { doGetParmValue(idx, instance, value); }
 
  511     { doGetParmValue(idx, instance, value); }
 
  513     { doGetParmValue(idx, instance, value); }
 
  515     { doGetParmValue(idx, instance, value); }
 
  517     { doGetParmValue(idx, instance, value); }
 
  519     { doGetParmValue(idx, instance, value); }
 
  521     { doGetParmValue(idx, instance, value); }
 
  523     template <
typename T>
 
  530         if (idx.
size() != instance.
size()+1)
 
  535                 coerceValue(myModelFile, ( ( value ) ));
 
  538                 coerceValue(myDoMaxBatch, ( ( value ) ));
 
  541                 coerceValue(myMaxBatch, ( ( value ) ));
 
  544                 coerceValue(myProvider, ( ( value ) ));
 
  547                 coerceValue(myKeepInput, ( ( value ) ));
 
  553                     coerceValue(newsize, value);
 
  554                     if (newsize < 0) newsize = 0;
 
  555                     myInputs.setSize(newsize);
 
  561                     myInputs.setSizeIfNeeded(instance[0]+1);
 
  562                     auto && _data = myInputs(instance[0]);
 
  566                         coerceValue(_data.input_name, value);
 
  569                         coerceValue(_data.input_shape, value);
 
  572                         coerceValue(_data.input_type, value);
 
  575                         coerceValue(_data.input_volorder, value);
 
  578                         coerceValue(_data.input_channelfirst, value);
 
  581                         coerceValue(_data.input_data, value);
 
  591                     coerceValue(newsize, value);
 
  592                     if (newsize < 0) newsize = 0;
 
  593                     myOutputs.setSize(newsize);
 
  599                     myOutputs.setSizeIfNeeded(instance[0]+1);
 
  600                     auto && _data = myOutputs(instance[0]);
 
  604                         coerceValue(_data.output_name, value);
 
  607                         coerceValue(_data.output_shape, value);
 
  610                         coerceValue(_data.output_type, value);
 
  613                         coerceValue(_data.output_volorder, value);
 
  616                         coerceValue(_data.output_channelfirst, value);
 
  619                         coerceValue(_data.output_data, value);
 
  630     { doSetParmValue(idx, instance, value); }
 
  632     { doSetParmValue(idx, instance, value); }
 
  634     { doSetParmValue(idx, instance, value); }
 
  636     { doSetParmValue(idx, instance, value); }
 
  638     { doSetParmValue(idx, instance, value); }
 
  640     { doSetParmValue(idx, instance, value); }
 
  642     { doSetParmValue(idx, instance, value); }
 
  644     { doSetParmValue(idx, instance, value); }
 
  646     { doSetParmValue(idx, instance, value); }
 
  648     { doSetParmValue(idx, instance, value); }
 
  650     { doSetParmValue(idx, instance, value); }
 
  670         if (fieldnum.
size() < 1)
 
  685                 if (fieldnum.
size() == 1)
 
  690                         return "input_name#";
 
  692                         return "input_shape#";
 
  694                         return "input_type#";
 
  696                         return "input_volorder#";
 
  698                         return "input_channelfirst#";
 
  700                         return "input_data#";
 
  705                 if (fieldnum.
size() == 1)
 
  710                         return "output_name#";
 
  712                         return "output_shape#";
 
  714                         return "output_type#";
 
  716                         return "output_volorder#";
 
  718                         return "output_channelfirst#";
 
  720                         return "output_data#";
 
  731         if (fieldnum.
size() < 1)
 
  732             return PARM_UNSUPPORTED;
 
  746                 if (fieldnum.
size() == 1)
 
  747                     return PARM_MULTIPARM;
 
  764                 return PARM_UNSUPPORTED;
 
  766                 if (fieldnum.
size() == 1)
 
  767                     return PARM_MULTIPARM;
 
  784                 return PARM_UNSUPPORTED;
 
  787         return PARM_UNSUPPORTED;
 
  823         loadData(is, rampdata);
 
  841                 int             typelen = colon - data.
buffer();
 
  855     { 
int64 iv = 
v; UTwrite(os, &iv); }
 
  857     { UTwrite<fpreal64>(os, &
v); }
 
  859     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
 
  861     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
 
  862       UTwrite<fpreal64>(os, &v.
z()); }
 
  864     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
 
  865       UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
 
  877         if (s) s->save(ostr);
 
  879         saveData(os, result);
 
  886             ostr << s->getDataTypeToken();
 
  891         saveData(os, result);
 
  895     void         save(std::ostream &os)
 const 
  899         saveData(os, myModelFile);
 
  900         saveData(os, raw_myModelFile);
 
  901         saveData(os, myDoMaxBatch);
 
  902         saveData(os, myMaxBatch);
 
  903         saveData(os, myProvider);
 
  904         saveData(os, myKeepInput);
 
  907             UTwrite(os, &length);
 
  910                 auto && _curentry = myInputs(i);
 
  912                 saveData(os, _curentry.input_name);
 
  913                 saveData(os, _curentry.input_shape);
 
  914                 saveData(os, _curentry.input_type);
 
  915                 saveData(os, _curentry.input_volorder);
 
  916                 saveData(os, _curentry.input_channelfirst);
 
  917                 saveData(os, _curentry.input_data);
 
  923             UTwrite(os, &length);
 
  926                 auto && _curentry = myOutputs(i);
 
  928                 saveData(os, _curentry.output_name);
 
  929                 saveData(os, _curentry.output_shape);
 
  930                 saveData(os, _curentry.output_type);
 
  931                 saveData(os, _curentry.output_volorder);
 
  932                 saveData(os, _curentry.output_channelfirst);
 
  933                 saveData(os, _curentry.output_data);
 
  949         loadData(is, myModelFile);
 
  950         loadData(is, raw_myModelFile);
 
  951         loadData(is, myDoMaxBatch);
 
  952         loadData(is, myMaxBatch);
 
  953         loadData(is, myProvider);
 
  954         loadData(is, myKeepInput);
 
  958             myInputs.setSize(length);
 
  961                 auto && _curentry = myInputs(i);
 
  963                 loadData(is, _curentry.input_name);
 
  964                 loadData(is, _curentry.input_shape);
 
  965                 loadData(is, _curentry.input_type);
 
  966                 loadData(is, _curentry.input_volorder);
 
  967                 loadData(is, _curentry.input_channelfirst);
 
  968                 loadData(is, _curentry.input_data);
 
  975             myOutputs.setSize(length);
 
  978                 auto && _curentry = myOutputs(i);
 
  980                 loadData(is, _curentry.output_name);
 
  981                 loadData(is, _curentry.output_shape);
 
  982                 loadData(is, _curentry.output_type);
 
  983                 loadData(is, _curentry.output_volorder);
 
  984                 loadData(is, _curentry.output_channelfirst);
 
  985                 loadData(is, _curentry.output_data);
 
  998         if (!thissop) 
return getModelFile();
 
 1000         OP_Utils::evalOpParm(result, thissop, 
"modelfile", cookparms.
getCookTime(), 0);
 
 1008         if (!thissop) 
return raw_getModelFile();
 
 1010         OP_Utils::evalOpParmRaw(result, thissop, 
"modelfile", cookparms.
getCookTime(), 0);
 
 1018         if (!thissop) 
return getDoMaxBatch();
 
 1020         OP_Utils::evalOpParm(result, thissop, 
"domaxbatch", cookparms.
getCookTime(), 0);
 
 1028         if (!thissop) 
return getMaxBatch();
 
 1030         OP_Utils::evalOpParm(result, thissop, 
"maxbatch", cookparms.
getCookTime(), 0);
 
 1038         if (!thissop) 
return getProvider();
 
 1040         OP_Utils::evalOpParm(result, thissop, 
"provider", cookparms.
getCookTime(), 0);
 
 1048         if (!thissop) 
return getKeepInput();
 
 1050         OP_Utils::evalOpParm(result, thissop, 
"keepinput", cookparms.
getCookTime(), 0);
 
 1058         if (!thissop) 
return getInputs().entries();
 
 1060         OP_Utils::evalOpParm(result, thissop, 
"inputs", cookparms.
getCookTime(), 0);
 
 1064     { 
return opinstInputs_input_name(cookparms, &_idx); }
 
 1068         if (!thissop) 
return (myInputs(_idx[0]).input_name);
 
 1070         _parmidx[1-1] = _idx[1-1] + 1;
 
 1073         OP_Utils::evalOpParmInst(result, thissop, 
"input_name#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1077     { 
return opinstInputs_input_shape(cookparms, &_idx); }
 
 1081         if (!thissop) 
return (myInputs(_idx[0]).input_shape);
 
 1083         _parmidx[1-1] = _idx[1-1] + 1;
 
 1086         OP_Utils::evalOpParmInst(result, thissop, 
"input_shape#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1090     { 
return opinstInputs_input_type(cookparms, &_idx); }
 
 1094         if (!thissop) 
return (myInputs(_idx[0]).input_type);
 
 1096         _parmidx[1-1] = _idx[1-1] + 1;
 
 1099         OP_Utils::evalOpParmInst(result, thissop, 
"input_type#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1103     { 
return opinstInputs_input_volorder(cookparms, &_idx); }
 
 1107         if (!thissop) 
return (myInputs(_idx[0]).input_volorder);
 
 1109         _parmidx[1-1] = _idx[1-1] + 1;
 
 1112         OP_Utils::evalOpParmInst(result, thissop, 
"input_volorder#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1116     { 
return opinstInputs_input_channelfirst(cookparms, &_idx); }
 
 1120         if (!thissop) 
return (myInputs(_idx[0]).input_channelfirst);
 
 1122         _parmidx[1-1] = _idx[1-1] + 1;
 
 1125         OP_Utils::evalOpParmInst(result, thissop, 
"input_channelfirst#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1129     { 
return opinstInputs_input_data(cookparms, &_idx); }
 
 1133         if (!thissop) 
return (myInputs(_idx[0]).input_data);
 
 1135         _parmidx[1-1] = _idx[1-1] + 1;
 
 1138         OP_Utils::evalOpParmInst(result, thissop, 
"input_data#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1147         if (!thissop) 
return getOutputs().entries();
 
 1149         OP_Utils::evalOpParm(result, thissop, 
"outputs", cookparms.
getCookTime(), 0);
 
 1153     { 
return opinstOutputs_output_name(cookparms, &_idx); }
 
 1157         if (!thissop) 
return (myOutputs(_idx[0]).output_name);
 
 1159         _parmidx[1-1] = _idx[1-1] + 1;
 
 1162         OP_Utils::evalOpParmInst(result, thissop, 
"output_name#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1166     { 
return opinstOutputs_output_shape(cookparms, &_idx); }
 
 1170         if (!thissop) 
return (myOutputs(_idx[0]).output_shape);
 
 1172         _parmidx[1-1] = _idx[1-1] + 1;
 
 1175         OP_Utils::evalOpParmInst(result, thissop, 
"output_shape#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1179     { 
return opinstOutputs_output_type(cookparms, &_idx); }
 
 1183         if (!thissop) 
return (myOutputs(_idx[0]).output_type);
 
 1185         _parmidx[1-1] = _idx[1-1] + 1;
 
 1188         OP_Utils::evalOpParmInst(result, thissop, 
"output_type#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1192     { 
return opinstOutputs_output_volorder(cookparms, &_idx); }
 
 1196         if (!thissop) 
return (myOutputs(_idx[0]).output_volorder);
 
 1198         _parmidx[1-1] = _idx[1-1] + 1;
 
 1201         OP_Utils::evalOpParmInst(result, thissop, 
"output_volorder#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1205     { 
return opinstOutputs_output_channelfirst(cookparms, &_idx); }
 
 1209         if (!thissop) 
return (myOutputs(_idx[0]).output_channelfirst);
 
 1211         _parmidx[1-1] = _idx[1-1] + 1;
 
 1214         OP_Utils::evalOpParmInst(result, thissop, 
"output_channelfirst#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1218     { 
return opinstOutputs_output_data(cookparms, &_idx); }
 
 1222         if (!thissop) 
return (myOutputs(_idx[0]).output_data);
 
 1224         _parmidx[1-1] = _idx[1-1] + 1;
 
 1227         OP_Utils::evalOpParmInst(result, thissop, 
"output_data#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
 
static void saveData(std::ostream &os, UT_StringHolder s)
 
UT_StringHolder opinstOutputs_output_name(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
const char * getNestParmName(TempIndex fieldnum) const override
 
void setKeepInput(bool val)
 
int64 opinstInputs_input_volorder(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
void save(std::ostream &os) const 
 
bool opInputs_input_channelfirst(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
GLenum GLuint GLenum GLsizei const GLchar * buf
 
SYS_FORCE_INLINE UT_StringHolder getToken(Input_type enum_value)
 
int64 opProvider(const SOP_NodeVerb::CookParms &cookparms) const 
 
SOP_Node * getNode() const 
 
bool opinstInputs_input_channelfirst(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
bool opDoMaxBatch(const SOP_NodeVerb::CookParms &cookparms) const 
 
void setOutputs(const UT_Array< Outputs > &val)
 
static void loadData(UT_IStream &is, UT_Matrix3D &v)
 
exint getNestNumParms(TempIndex idx) const override
 
UT_StringHolder raw_opModelFile(const SOP_NodeVerb::CookParms &cookparms) const 
 
bool operator==(const SOP_ONNXParms &src) const 
 
exint bread(int32 *buffer, exint asize=1)
 
bool operator!=(const SOP_ONNXParms &src) const 
 
GT_API const UT_StringHolder time
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
static void saveData(std::ostream &os, UT_Matrix4D v)
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
 
GLsizei const GLfloat * value
 
void setInputs(const UT_Array< Inputs > &val)
 
static void loadData(UT_IStream &is, UT_Vector4I &v)
 
UT_StringHolder opinstInputs_input_name(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
void setProvider(int64 val)
 
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const 
 
const OP_Context & context() const 
 
const UT_StringHolder & getModelFile() const 
 
virtual void evalOpParmRaw(UT_StringHolder &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
 
constexpr SYS_FORCE_INLINE T & z() noexcept
 
UT_StringHolder opinstInputs_input_data(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
SYS_FORCE_INLINE const char * buffer() const 
 
bool isParmColorRamp(exint idx) const override
 
GLuint GLsizei GLsizei * length
 
int64 opInputs_input_type(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
An output stream object that owns its own string buffer storage. 
 
bool getDoMaxBatch() const 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
 
static void loadData(UT_IStream &is, bool &v)
 
bool operator==(const Outputs &src) const 
 
**But if you need a result
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
 
int64 opOutputs_output_type(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
int64 getMaxBatch() const 
 
UT_StringHolder createString(const UT_Array< Outputs > &list) 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. 
 
UT_StringHolder opModelFile(const SOP_NodeVerb::CookParms &cookparms) const 
 
static void loadData(UT_IStream &is, UT_Matrix4D &v)
 
int64 opInputs_input_volorder(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
exint opInputs(const SOP_NodeVerb::CookParms &cookparms) const 
 
UT_StringHolder opInputs_input_name(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
constexpr SYS_FORCE_INLINE T & x() noexcept
 
static void saveData(std::ostream &os, UT_Matrix3D v)
 
GLuint GLsizei const GLuint const GLintptr * offsets
 
UT_StringHolder createString(const UT_Array< Inputs > &list) const 
 
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
 
constexpr SYS_FORCE_INLINE T & x() noexcept
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
 
void setMaxBatch(int64 val)
 
int64 opinstInputs_input_type(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
 
UT_Matrix3D opOutputs_output_shape(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
static void loadData(UT_IStream &is, UT_Vector4D &v)
 
static void loadData(UT_IStream &is, int64 &v)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
 
SYS_FORCE_INLINE const char * buffer() const 
 
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr. 
 
static void saveData(std::ostream &os, PRM_DataItemHandle s)
 
void loadFromOpSubclass(const LoadParms &loadparms) override
 
constexpr SYS_FORCE_INLINE T & z() noexcept
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
 
UT_StringHolder opInputs_input_data(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
exint read(bool *array, exint sz=1)
 
const OP_GraphProxy * graph() const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
 
UT_StringHolder opOutputs_output_data(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
 
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
 
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_Vector3I &v)
 
bool operator!=(const Outputs &src) const 
 
static void loadData(UT_IStream &is, UT_Vector2I &v)
 
const UT_StringHolder & raw_getModelFile() const 
 
void setDoMaxBatch(bool val)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
 
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
 
static void saveData(std::ostream &os, UT_Vector2D v)
 
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
 
int64 getProvider() const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
 
SYS_FORCE_INLINE void strcat(const char *src)
 
void saveBinary(std::ostream &os) const 
Save string to binary stream. 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
 
GT_API const UT_StringHolder version
 
bool opOutputs_output_channelfirst(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
 
exint entries() const 
Alias of size(). size() is preferred. 
 
UT_Matrix3D opInputs_input_shape(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
int64 opinstOutputs_output_volorder(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
void copyFrom(const OP_NodeParms *src) override
 
UT_StringHolder output_name
 
UT_StringHolder opinstOutputs_output_data(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
 
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
 
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
 
void setModelFile(const UT_StringHolder &val)
 
const UT_Array< Outputs > & getOutputs() const 
 
static void saveData(std::ostream &os, UT_Matrix2D v)
 
DEP_MicroNode * depnode() const 
 
LeafData & operator=(const LeafData &)=delete
 
Utility class for containing a color ramp. 
 
UT_StringHolder opOutputs_output_name(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
void raw_setModelFile(const UT_StringHolder &val)
 
UT_Matrix3D opinstInputs_input_shape(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
int64 opMaxBatch(const SOP_NodeVerb::CookParms &cookparms) const 
 
constexpr SYS_FORCE_INLINE T & w() noexcept
 
SYS_FORCE_INLINE void append(char character)
 
static void loadData(UT_IStream &is, UT_Matrix2D &v)
 
bool getKeepInput() const 
 
bool load(UT_IStream &is)
 
virtual UT_StringHolder baseGetSignature() const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
 
static void saveData(std::ostream &os, int64 v)
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
 
int64 opinstOutputs_output_type(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
 
fpreal getCookTime() const 
 
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const 
 
ParmType getNestParmType(TempIndex fieldnum) const override
 
const char * findChar(int c) const 
 
static void saveData(std::ostream &os, UT_Vector3D v)
 
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
 
int64 opOutputs_output_volorder(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
static void saveData(std::ostream &os, UT_Vector4D v)
 
UT_StringHolder output_data
 
static void saveData(std::ostream &os, fpreal64 v)
 
static void loadData(UT_IStream &is, UT_Vector3D &v)
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
static void loadData(UT_IStream &is, UT_StringHolder &v)
 
exint opOutputs(const SOP_NodeVerb::CookParms &cookparms) const 
 
static void loadData(UT_IStream &is, UT_Vector2D &v)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
 
UT_Matrix3D opinstOutputs_output_shape(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
static void saveData(std::ostream &os, bool v)
 
const UT_Array< Inputs > & getInputs() const 
 
virtual bool isDirect() const =0
Direct proxies mirror actual nodes: 
 
static void loadData(UT_IStream &is, fpreal64 &v)
 
bool opinstOutputs_output_channelfirst(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
 
SYS_FORCE_INLINE bool isstring() const 
 
bool opKeepInput(const SOP_NodeVerb::CookParms &cookparms) const 
 
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
 
constexpr SYS_FORCE_INLINE T & x() noexcept
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override