23 namespace SOP_AttribCreate_2_0Enums
 
   37         using namespace UT::Literal;
 
   59         using namespace UT::Literal;
 
   80         using namespace UT::Literal;
 
  106         using namespace UT::Literal;
 
  107         switch (enum_value) {
 
  137         using namespace UT::Literal;
 
  138         switch (enum_value) {
 
  164         using namespace UT::Literal;
 
  165         switch (enum_value) {
 
  205             name = 
"attribute#"_UTsh;
 
  207             createvarmap = 
false;
 
  225             if (enable != src.
enable) 
return false;
 
  227             if (existing != src.
existing) 
return false;
 
  229             if (varname != src.
varname) 
return false;
 
  230             if (_class != src.
_class) 
return false;
 
  231             if (savetoinfo != src.
savetoinfo) 
return false;
 
  233             if (typeinfo != src.
typeinfo) 
return false;
 
  236             if (defaultv != src.
defaultv) 
return false;
 
  238             if (uselocal != src.
uselocal) 
return false;
 
  239             if (valuev != src.
valuev) 
return false;
 
  240             if (
string != src.
string) 
return false;
 
  256         for (
int i = 0; i < list.
entries(); i++)
 
  262             buf.
appendSprintf(
"%s", (list(i).enable) ? 
"true" : 
"false");
 
  268             buf.
appendSprintf(
"%s", (list(i).createvarmap) ? 
"true" : 
"false");
 
  274             buf.
appendSprintf(
"%s", (list(i).savetoinfo) ? 
"true" : 
"false");
 
  284             buf.
appendSprintf(
"(%f, %f, %f, %f)", list(i).defaultv.x(), list(i).defaultv.y(), list(i).defaultv.z(), list(i).defaultv.w());
 
  286             buf.
appendSprintf(
"%s", (list(i).writevalues) ? 
"true" : 
"false");
 
  288             buf.
appendSprintf(
"%s", (list(i).uselocal) ? 
"true" : 
"false");
 
  290             buf.
appendSprintf(
"(%f, %f, %f, %f)", list(i).valuev.x(), list(i).valuev.y(), list(i).valuev.z(), list(i).valuev.w());
 
  306         myEncodenames = 
false;
 
  307         myNumattr.setSize(1);
 
  320         if (myGroup != src.myGroup) 
return false;
 
  321         if (myGrouptype != src.myGrouptype) 
return false;
 
  322         if (myEncodenames != src.myEncodenames) 
return false;
 
  323         if (myNumattr != src.myNumattr) 
return false;
 
  347             graph->
evalOpParm(myGroup, nodeidx, 
"group", time, graph->
isDirect()?
nullptr:depnode);
 
  350             graph->
evalOpParm(myGrouptype, nodeidx, 
"grouptype", time, graph->
isDirect()?
nullptr:depnode);
 
  351         myEncodenames = 
false;
 
  353             graph->
evalOpParm(myEncodenames, nodeidx, 
"encodenames", time, graph->
isDirect()?
nullptr:depnode);
 
  357             graph->
evalOpParm(length, nodeidx, 
"numattr", time, graph->
isDirect()?
nullptr:depnode);
 
  358             if (length < 0) length = 0;
 
  359             myNumattr.setSize(length);
 
  366                 auto && _curentry = myNumattr(i);
 
  368                 _curentry.enable = 
true;
 
  370                     graph->
evalOpParmInst(_curentry.enable, nodeidx, 
"enable#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  371                 _curentry.name = 
"attribute#"_UTsh;
 
  372                 if (
true && ( (
true&&!(((_curentry.enable==0)))) ) )
 
  373                     graph->
evalOpParmInst(_curentry.name, nodeidx, 
"name#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  374                 _curentry.existing = 3;
 
  375                 if (
true && ( (
true&&!(((_curentry.enable==0)))) ) )
 
  376                     graph->
evalOpParmInst(_curentry.existing, nodeidx, 
"existing#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  377                 _curentry.createvarmap = 
false;
 
  378                 if (
true && ( (
true&&!(((_curentry.enable==0)))) ) )
 
  379                     graph->
evalOpParmInst(_curentry.createvarmap, nodeidx, 
"createvarmap#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  380                 _curentry.varname = 
""_UTsh;
 
  381                 if (
true && ( (
true&&!(((_curentry.enable==0))||((_curentry.createvarmap==0)))) ) )
 
  382                     graph->
evalOpParmInst(_curentry.varname, nodeidx, 
"varname#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  383                 _curentry._class = 2;
 
  384                 if (
true && ( (
true&&!(((_curentry.enable==0)))) ) )
 
  385                     graph->
evalOpParmInst(_curentry._class, nodeidx, 
"class#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  386                 _curentry.savetoinfo = 
false;
 
  387                 if (
true && ( (
true&&!(((_curentry.enable==0))||((_curentry._class!=0)))) ) )
 
  388                     graph->
evalOpParmInst(_curentry.savetoinfo, nodeidx, 
"savetoinfo#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  390                 if (
true && ( (
true&&!(((_curentry.enable==0)))) ) )
 
  391                     graph->
evalOpParmInst(_curentry.type, nodeidx, 
"type#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  392                 _curentry.typeinfo = 0;
 
  393                 if (
true && ( (
true&&!(((_curentry.enable==0))||((_curentry.type!=0)&&(_curentry.type!=4)))) ) )
 
  394                     graph->
evalOpParmInst(_curentry.typeinfo, nodeidx, 
"typeinfo#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  395                 _curentry.precision = 4;
 
  396                 if (
true && ( (
true&&!(((_curentry.enable==0))||((_curentry.type==3))||((_curentry.type==6))||((_curentry.type==7))||((_curentry.type==8)))) ) )
 
  397                     graph->
evalOpParmInst(_curentry.precision, nodeidx, 
"precision#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  399                 if (
true && ( (
true&&!(((_curentry.enable==0))||((_curentry.type==2))||((_curentry.type==3)))) ) )
 
  400                     graph->
evalOpParmInst(_curentry.size, nodeidx, 
"size#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  402                 if (
true && ( (
true&&!(((_curentry.enable==0))||((_curentry.type==3))||((_curentry.type==4))||((_curentry.type==5))||((_curentry.type==6))||((_curentry.type==7))||((_curentry.type==8)))) ) )
 
  403                     graph->
evalOpParmInst(_curentry.defaultv, nodeidx, 
"default#v", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  404                 _curentry.writevalues = 
true;
 
  405                 if (
true && ( (
true&&!(((_curentry.enable==0))||((_curentry.type==4))||((_curentry.type==5))||((_curentry.type==6))||((_curentry.type==7))||((_curentry.type==8)))) ) )
 
  406                     graph->
evalOpParmInst(_curentry.writevalues, nodeidx, 
"writevalues#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  407                 _curentry.uselocal = 
true;
 
  408                 if (
true && ( (
true&&!(((_curentry.enable==0))||((_curentry.writevalues==0))||((_curentry.type==4))||((_curentry.type==5))||((_curentry.type==6))||((_curentry.type==7))||((_curentry.type==8)))) ) )
 
  409                     graph->
evalOpParmInst(_curentry.uselocal, nodeidx, 
"uselocal#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  411                 if (
true && ( (
true&&!(((_curentry.enable==0))||((_curentry.writevalues==0))||((_curentry.type!=0)&&(_curentry.type!=1)&&(_curentry.type!=2)))) ) )
 
  412                     graph->
evalOpParmInst(_curentry.valuev, nodeidx, 
"value#v", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  413                 _curentry.string = 
""_UTsh;
 
  414                 if (
true && ( (
true&&!(((_curentry.enable==0))||((_curentry.writevalues==0))||((_curentry.type!=3)))) ) )
 
  415                     graph->
evalOpParmInst(_curentry.string, nodeidx, 
"string#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  436     template <
typename T>
 
  443         if (idx.
size() != instance.
size()+1)
 
  448                 coerceValue(value, myGroup);
 
  451                 coerceValue(value, myGrouptype);
 
  454                 coerceValue(value, myEncodenames);
 
  458                     coerceValue(value, myNumattr.entries());
 
  459                 else if (instance[0] < myNumattr.entries())
 
  461                     auto && _data = myNumattr(instance[0]);
 
  465                         coerceValue(value, _data.enable);
 
  468                         coerceValue(value, _data.name);
 
  471                         coerceValue(value, _data.existing);
 
  474                         coerceValue(value, _data.createvarmap);
 
  477                         coerceValue(value, _data.varname);
 
  480                         coerceValue(value, _data._class);
 
  483                         coerceValue(value, _data.savetoinfo);
 
  486                         coerceValue(value, _data.type);
 
  489                         coerceValue(value, _data.typeinfo);
 
  492                         coerceValue(value, _data.precision);
 
  495                         coerceValue(value, _data.size);
 
  498                         coerceValue(value, _data.defaultv);
 
  501                         coerceValue(value, _data.writevalues);
 
  504                         coerceValue(value, _data.uselocal);
 
  507                         coerceValue(value, _data.valuev);
 
  510                         coerceValue(value, _data.string);
 
  530     { doGetParmValue(idx, instance, value); }
 
  532     { doGetParmValue(idx, instance, value); }
 
  534     { doGetParmValue(idx, instance, value); }
 
  536     { doGetParmValue(idx, instance, value); }
 
  538     { doGetParmValue(idx, instance, value); }
 
  540     { doGetParmValue(idx, instance, value); }
 
  542     { doGetParmValue(idx, instance, value); }
 
  544     { doGetParmValue(idx, instance, value); }
 
  546     { doGetParmValue(idx, instance, value); }
 
  548     { doGetParmValue(idx, instance, value); }
 
  550     { doGetParmValue(idx, instance, value); }
 
  552     template <
typename T>
 
  559         if (idx.
size() != instance.
size()+1)
 
  564                 coerceValue(myGroup, ( ( value ) ));
 
  567                 coerceValue(myGrouptype, clampMinValue(0,  clampMaxValue(4,  value ) ));
 
  570                 coerceValue(myEncodenames, ( ( value ) ));
 
  576                     coerceValue(newsize, value);
 
  577                     if (newsize < 0) newsize = 0;
 
  578                     myNumattr.setSize(newsize);
 
  584                     myNumattr.setSizeIfNeeded(instance[0]+1);
 
  585                     auto && _data = myNumattr(instance[0]);
 
  589                         coerceValue(_data.enable, value);
 
  592                         coerceValue(_data.name, value);
 
  595                         coerceValue(_data.existing, value);
 
  598                         coerceValue(_data.createvarmap, value);
 
  601                         coerceValue(_data.varname, value);
 
  604                         coerceValue(_data._class, value);
 
  607                         coerceValue(_data.savetoinfo, value);
 
  610                         coerceValue(_data.type, value);
 
  613                         coerceValue(_data.typeinfo, value);
 
  616                         coerceValue(_data.precision, value);
 
  619                         coerceValue(_data.size, value);
 
  622                         coerceValue(_data.defaultv, value);
 
  625                         coerceValue(_data.writevalues, value);
 
  628                         coerceValue(_data.uselocal, value);
 
  631                         coerceValue(_data.valuev, value);
 
  634                         coerceValue(_data.string, value);
 
  645     { doSetParmValue(idx, instance, value); }
 
  647     { doSetParmValue(idx, instance, value); }
 
  649     { doSetParmValue(idx, instance, value); }
 
  651     { doSetParmValue(idx, instance, value); }
 
  653     { doSetParmValue(idx, instance, value); }
 
  655     { doSetParmValue(idx, instance, value); }
 
  657     { doSetParmValue(idx, instance, value); }
 
  659     { doSetParmValue(idx, instance, value); }
 
  661     { doSetParmValue(idx, instance, value); }
 
  663     { doSetParmValue(idx, instance, value); }
 
  665     { doSetParmValue(idx, instance, value); }
 
  683         if (fieldnum.
size() < 1)
 
  692                 return "encodenames";
 
  694                 if (fieldnum.
size() == 1)
 
  705                         return "createvarmap#";
 
  711                         return "savetoinfo#";
 
  723                         return "writevalues#";
 
  740         if (fieldnum.
size() < 1)
 
  741             return PARM_UNSUPPORTED;
 
  751                 if (fieldnum.
size() == 1)
 
  752                     return PARM_MULTIPARM;
 
  789                 return PARM_UNSUPPORTED;
 
  792         return PARM_UNSUPPORTED;
 
  828         loadData(is, rampdata);
 
  846                 int             typelen = colon - data.
buffer();
 
  860     { 
int64 iv = 
v; UTwrite(os, &iv); }
 
  862     { UTwrite<fpreal64>(os, &
v); }
 
  864     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
 
  866     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
 
  867       UTwrite<fpreal64>(os, &v.
z()); }
 
  869     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
 
  870       UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
 
  882         if (s) s->save(ostr);
 
  884         saveData(os, result);
 
  891             ostr << s->getDataTypeToken();
 
  896         saveData(os, result);
 
  900     void         save(std::ostream &os)
 const 
  904         saveData(os, myGroup);
 
  905         saveData(os, myGrouptype);
 
  906         saveData(os, myEncodenames);
 
  909             UTwrite(os, &length);
 
  912                 auto && _curentry = myNumattr(i);
 
  914                 saveData(os, _curentry.enable);
 
  915                 saveData(os, _curentry.name);
 
  916                 saveData(os, _curentry.existing);
 
  917                 saveData(os, _curentry.createvarmap);
 
  918                 saveData(os, _curentry.varname);
 
  919                 saveData(os, _curentry._class);
 
  920                 saveData(os, _curentry.savetoinfo);
 
  921                 saveData(os, _curentry.type);
 
  922                 saveData(os, _curentry.typeinfo);
 
  923                 saveData(os, _curentry.precision);
 
  924                 saveData(os, _curentry.size);
 
  925                 saveData(os, _curentry.defaultv);
 
  926                 saveData(os, _curentry.writevalues);
 
  927                 saveData(os, _curentry.uselocal);
 
  928                 saveData(os, _curentry.valuev);
 
  929                 saveData(os, _curentry.string);
 
  945         loadData(is, myGroup);
 
  946         loadData(is, myGrouptype);
 
  947         loadData(is, myEncodenames);
 
  951             myNumattr.setSize(length);
 
  954                 auto && _curentry = myNumattr(i);
 
  956                 loadData(is, _curentry.enable);
 
  957                 loadData(is, _curentry.name);
 
  958                 loadData(is, _curentry.existing);
 
  959                 loadData(is, _curentry.createvarmap);
 
  960                 loadData(is, _curentry.varname);
 
  961                 loadData(is, _curentry._class);
 
  962                 loadData(is, _curentry.savetoinfo);
 
  963                 loadData(is, _curentry.type);
 
  964                 loadData(is, _curentry.typeinfo);
 
  965                 loadData(is, _curentry.precision);
 
  966                 loadData(is, _curentry.size);
 
  967                 loadData(is, _curentry.defaultv);
 
  968                 loadData(is, _curentry.writevalues);
 
  969                 loadData(is, _curentry.uselocal);
 
  970                 loadData(is, _curentry.valuev);
 
  971                 loadData(is, _curentry.string);
 
  984         if (!thissop) 
return getGroup();
 
  986         OP_Utils::evalOpParm(result, thissop, 
"group", cookparms.
getCookTime(), 0);
 
  994         if (!thissop) 
return getGrouptype();
 
  996         OP_Utils::evalOpParm(result, thissop, 
"grouptype", cookparms.
getCookTime(), 0);
 
 1004         if (!thissop) 
return getEncodenames();
 
 1006         OP_Utils::evalOpParm(result, thissop, 
"encodenames", cookparms.
getCookTime(), 0);
 
 1014         if (!thissop) 
return getNumattr().entries();
 
 1016         OP_Utils::evalOpParm(result, thissop, 
"numattr", cookparms.
getCookTime(), 0);
 
 1020     { 
return opinstNumattr_enable(cookparms, &_idx); }
 
 1024         if (!thissop) 
return (myNumattr(_idx[0]).enable);
 
 1026         _parmidx[1-1] = _idx[1-1] + 1;
 
 1029         OP_Utils::evalOpParmInst(result, thissop, 
"enable#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1033     { 
return opinstNumattr_name(cookparms, &_idx); }
 
 1037         if (!thissop) 
return (myNumattr(_idx[0]).
name);
 
 1039         _parmidx[1-1] = _idx[1-1] + 1;
 
 1042         OP_Utils::evalOpParmInst(result, thissop, 
"name#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1046     { 
return opinstNumattr_existing(cookparms, &_idx); }
 
 1050         if (!thissop) 
return (myNumattr(_idx[0]).existing);
 
 1052         _parmidx[1-1] = _idx[1-1] + 1;
 
 1055         OP_Utils::evalOpParmInst(result, thissop, 
"existing#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1059     { 
return opinstNumattr_createvarmap(cookparms, &_idx); }
 
 1063         if (!thissop) 
return (myNumattr(_idx[0]).createvarmap);
 
 1065         _parmidx[1-1] = _idx[1-1] + 1;
 
 1068         OP_Utils::evalOpParmInst(result, thissop, 
"createvarmap#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1072     { 
return opinstNumattr_varname(cookparms, &_idx); }
 
 1076         if (!thissop) 
return (myNumattr(_idx[0]).varname);
 
 1078         _parmidx[1-1] = _idx[1-1] + 1;
 
 1081         OP_Utils::evalOpParmInst(result, thissop, 
"varname#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1085     { 
return opinstNumattr__class(cookparms, &_idx); }
 
 1089         if (!thissop) 
return (myNumattr(_idx[0])._class);
 
 1091         _parmidx[1-1] = _idx[1-1] + 1;
 
 1094         OP_Utils::evalOpParmInst(result, thissop, 
"class#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1098     { 
return opinstNumattr_savetoinfo(cookparms, &_idx); }
 
 1102         if (!thissop) 
return (myNumattr(_idx[0]).savetoinfo);
 
 1104         _parmidx[1-1] = _idx[1-1] + 1;
 
 1107         OP_Utils::evalOpParmInst(result, thissop, 
"savetoinfo#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1111     { 
return opinstNumattr_type(cookparms, &_idx); }
 
 1115         if (!thissop) 
return (myNumattr(_idx[0]).
type);
 
 1117         _parmidx[1-1] = _idx[1-1] + 1;
 
 1120         OP_Utils::evalOpParmInst(result, thissop, 
"type#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1124     { 
return opinstNumattr_typeinfo(cookparms, &_idx); }
 
 1128         if (!thissop) 
return (myNumattr(_idx[0]).typeinfo);
 
 1130         _parmidx[1-1] = _idx[1-1] + 1;
 
 1133         OP_Utils::evalOpParmInst(result, thissop, 
"typeinfo#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1137     { 
return opinstNumattr_precision(cookparms, &_idx); }
 
 1141         if (!thissop) 
return (myNumattr(_idx[0]).
precision);
 
 1143         _parmidx[1-1] = _idx[1-1] + 1;
 
 1146         OP_Utils::evalOpParmInst(result, thissop, 
"precision#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1150     { 
return opinstNumattr_size(cookparms, &_idx); }
 
 1154         if (!thissop) 
return (myNumattr(_idx[0]).
size);
 
 1156         _parmidx[1-1] = _idx[1-1] + 1;
 
 1159         OP_Utils::evalOpParmInst(result, thissop, 
"size#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1163     { 
return opinstNumattr_defaultv(cookparms, &_idx); }
 
 1167         if (!thissop) 
return (myNumattr(_idx[0]).defaultv);
 
 1169         _parmidx[1-1] = _idx[1-1] + 1;
 
 1172         OP_Utils::evalOpParmInst(result, thissop, 
"default#v", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1176     { 
return opinstNumattr_writevalues(cookparms, &_idx); }
 
 1180         if (!thissop) 
return (myNumattr(_idx[0]).writevalues);
 
 1182         _parmidx[1-1] = _idx[1-1] + 1;
 
 1185         OP_Utils::evalOpParmInst(result, thissop, 
"writevalues#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1189     { 
return opinstNumattr_uselocal(cookparms, &_idx); }
 
 1193         if (!thissop) 
return (myNumattr(_idx[0]).uselocal);
 
 1195         _parmidx[1-1] = _idx[1-1] + 1;
 
 1198         OP_Utils::evalOpParmInst(result, thissop, 
"uselocal#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1202     { 
return opinstNumattr_valuev(cookparms, &_idx); }
 
 1206         if (!thissop) 
return (myNumattr(_idx[0]).valuev);
 
 1208         _parmidx[1-1] = _idx[1-1] + 1;
 
 1211         OP_Utils::evalOpParmInst(result, thissop, 
"value#v", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1215     { 
return opinstNumattr_string(cookparms, &_idx); }
 
 1219         if (!thissop) 
return (myNumattr(_idx[0]).
string);
 
 1221         _parmidx[1-1] = _idx[1-1] + 1;
 
 1224         OP_Utils::evalOpParmInst(result, thissop, 
"string#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
static void loadData(UT_IStream &is, UT_Vector4D &v)
 
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
 
bool load(UT_IStream &is)
 
GLenum GLuint GLenum GLsizei const GLchar * buf
 
static void loadData(UT_IStream &is, UT_Matrix4D &v)
 
static void saveData(std::ostream &os, UT_StringHolder s)
 
bool opNumattr_savetoinfo(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
SOP_Node * getNode() const 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
 
void setNumattr(const UT_Array< Numattr > &val)
 
exint bread(int32 *buffer, exint asize=1)
 
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
 
static void saveData(std::ostream &os, UT_Vector4D v)
 
GT_API const UT_StringHolder time
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
 
exint getNestNumParms(TempIndex idx) const override
 
GLsizei const GLfloat * value
 
int64 opinstNumattr_typeinfo(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
UT_StringHolder opNumattr_varname(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
static void loadData(UT_IStream &is, fpreal64 &v)
 
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const 
 
const OP_Context & context() const 
 
void setGrouptype(Grouptype val)
 
bool opNumattr_uselocal(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
int64 opNumattr_precision(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
constexpr SYS_FORCE_INLINE T & z() noexcept
 
UT_StringHolder opinstNumattr_name(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
SYS_FORCE_INLINE const char * buffer() const 
 
const UT_StringHolder & getGroup() const 
 
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
 
bool operator==(const Numattr &src) const 
 
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 operator==(const SOP_AttribCreate_2_0Parms &src) const 
 
bool operator!=(const SOP_AttribCreate_2_0Parms &src) const 
 
bool opinstNumattr_writevalues(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
int64 opNumattr__class(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
**But if you need a result
 
bool opNumattr_createvarmap(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
void loadFromOpSubclass(const LoadParms &loadparms) override
 
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
 
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer. 
 
static void loadData(UT_IStream &is, UT_Matrix2D &v)
 
const char * getNestParmName(TempIndex fieldnum) const override
 
static void saveData(std::ostream &os, UT_Vector3D v)
 
constexpr SYS_FORCE_INLINE T & x() noexcept
 
SOP_AttribCreate_2_0Parms()
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
 
static void loadData(UT_IStream &is, UT_Vector4I &v)
 
static void loadData(UT_IStream &is, UT_Vector3I &v)
 
GLuint GLsizei const GLuint const GLintptr * offsets
 
bool opinstNumattr_savetoinfo(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
bool isParmColorRamp(exint idx) const override
 
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
 
constexpr SYS_FORCE_INLINE T & x() noexcept
 
static void saveData(std::ostream &os, bool v)
 
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
 
GLint GLint GLsizei GLint GLenum GLenum type
 
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
 
int64 opNumattr_size(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
UT_StringHolder opNumattr_string(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
 
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
 
static void saveData(std::ostream &os, UT_Vector2D v)
 
static void loadData(UT_IStream &is, UT_Vector3D &v)
 
int64 opinstNumattr_size(const SOP_NodeVerb::CookParms &cookparms, const 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
 
ParmType getNestParmType(TempIndex fieldnum) const override
 
void setGroup(const UT_StringHolder &val)
 
static void saveData(std::ostream &os, PRM_DataItemHandle s)
 
UT_StringHolder opinstNumattr_string(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
exint read(bool *array, exint sz=1)
 
const OP_GraphProxy * graph() const 
 
bool opinstNumattr_createvarmap(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
bool getEncodenames() 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
 
exint opNumattr(const SOP_NodeVerb::CookParms &cookparms) const 
 
static void loadData(UT_IStream &is, UT_Matrix3D &v)
 
bool opinstNumattr_enable(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
 
GLuint const GLchar * name
 
Grouptype getGrouptype() const 
 
static void saveData(std::ostream &os, int64 v)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
 
static void saveData(std::ostream &os, UT_Matrix2D v)
 
UT_Vector4D opNumattr_valuev(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
 
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
 
bool opinstNumattr_uselocal(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
 
void save(std::ostream &os) const 
 
SYS_FORCE_INLINE void strcat(const char *src)
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
 
void saveBinary(std::ostream &os) const 
Save string to binary stream. 
 
static void saveData(std::ostream &os, UT_Matrix4D v)
 
GT_API const UT_StringHolder version
 
GLenum GLint GLint * precision
 
exint entries() const 
Alias of size(). size() is preferred. 
 
int64 opinstNumattr__class(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
bool opNumattr_writevalues(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
UT_StringHolder createString(const UT_Array< Numattr > &list) const 
 
UT_StringHolder opNumattr_name(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
void setEncodenames(bool val)
 
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
 
UT_Vector4D opinstNumattr_valuev(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
int64 opNumattr_typeinfo(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
static void loadData(UT_IStream &is, UT_Vector2I &v)
 
const UT_Array< Numattr > & getNumattr() const 
 
int64 opinstNumattr_type(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
void copyFrom(const OP_NodeParms *src) override
 
UT_StringHolder opinstNumattr_varname(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
int64 opinstNumattr_precision(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
DEP_MicroNode * depnode() const 
 
bool operator!=(const Numattr &src) const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
 
LeafData & operator=(const LeafData &)=delete
 
Utility class for containing a color ramp. 
 
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const 
 
constexpr SYS_FORCE_INLINE T & w() noexcept
 
SYS_FORCE_INLINE void append(char character)
 
virtual UT_StringHolder baseGetSignature() const 
 
int64 opinstNumattr_existing(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
int64 opNumattr_type(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
static void saveData(std::ostream &os, fpreal64 v)
 
fpreal getCookTime() const 
 
SYS_FORCE_INLINE UT_StringHolder getToken(Grouptype enum_value)
 
const char * findChar(int c) const 
 
static void loadData(UT_IStream &is, UT_Vector2D &v)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
 
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
 
UT_Vector4T< fpreal64 > UT_Vector4D
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
static void loadData(UT_IStream &is, int64 &v)
 
static void saveData(std::ostream &os, UT_Matrix3D v)
 
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
 
static void loadData(UT_IStream &is, UT_StringHolder &v)
 
virtual bool isDirect() const =0
Direct proxies mirror actual nodes: 
 
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const 
 
bool opNumattr_enable(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
UT_Vector4D opNumattr_defaultv(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
static void loadData(UT_IStream &is, bool &v)
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
SYS_FORCE_INLINE bool isstring() const 
 
Grouptype opGrouptype(const SOP_NodeVerb::CookParms &cookparms) const 
 
UT_Vector4D opinstNumattr_defaultv(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
 
int64 opNumattr_existing(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
bool opEncodenames(const SOP_NodeVerb::CookParms &cookparms) const 
 
constexpr SYS_FORCE_INLINE T & x() noexcept