23 namespace SOP_Fuse_2_0Enums
 
   35         using namespace UT::Literal;
 
   53         using namespace UT::Literal;
 
   72         using namespace UT::Literal;
 
  103         using namespace UT::Literal;
 
  104         switch (enum_value) {
 
  132         using namespace UT::Literal;
 
  133         switch (enum_value) {
 
  150         using namespace UT::Literal;
 
  151         switch (enum_value) {
 
  169         using namespace UT::Literal;
 
  170         switch (enum_value) {
 
  201         using namespace UT::Literal;
 
  202         switch (enum_value) {
 
  235         using namespace UT::Literal;
 
  236         switch (enum_value) {
 
  262             attribsnapmethod = 8;
 
  263             pointattribnames = 
""_UTsh;
 
  264             pointattribweightname = 
"weight"_UTsh;
 
  288         for (
int i = 0; i < list.
entries(); i++)
 
  315             grouppropagation = 0;
 
  316             pointgroupnames = 
""_UTsh;
 
  339         for (
int i = 0; i < list.
entries(); i++)
 
  359         myQuerygroup = 
""_UTsh;
 
  360         myPosAttrib = 
"P"_UTsh;
 
  365         myTargetPtAttrib = 
"snap_to"_UTsh;
 
  367         myUsePositionSnapMethod = 
true;
 
  368         myPositionSnapMethod = 0;
 
  369         myPositionSnapWeightName = 
"weight"_UTsh;
 
  370         myUseradiusattrib = 
false;
 
  371         myRadiusattrib = 
"pscale"_UTsh;
 
  372         myUsematchattrib = 
false;
 
  373         myMatchattrib = 
"name"_UTsh;
 
  384         myConsolidateSnappedPoints = 
true;
 
  385         myKeepConsolidatedPoints = 
false;
 
  387         myDelDegenPoints = 
true;
 
  388         myDelUnusedPoints = 
false;
 
  389         myRecomputenml = 
true;
 
  390         myCreatesnappedgroup = 
false;
 
  391         mySnappedgroupname = 
"snapped_points"_UTsh;
 
  392         myCreatesnappedattrib = 
false;
 
  393         mySnappedattribname = 
"snapped_to"_UTsh;
 
  394         myNumpointattribs.setSize(0);
 
  395         myNumgroups.setSize(0);
 
  396         myUsetargetgroup = 
false;
 
  397         myTargetgroup = 
""_UTsh;
 
  398         myModifyboth = 
false;
 
  411         if (myQuerygroup != src.myQuerygroup) 
return false;
 
  412         if (myPosAttrib != src.myPosAttrib) 
return false;
 
  413         if (mySnaptype != src.mySnaptype) 
return false;
 
  414         if (myAlgorithm != src.myAlgorithm) 
return false;
 
  415         if (myUseTol3D != src.myUseTol3D) 
return false;
 
  416         if (myTol3d != src.myTol3d) 
return false;
 
  417         if (myTargetPtAttrib != src.myTargetPtAttrib) 
return false;
 
  418         if (myTargetClass != src.myTargetClass) 
return false;
 
  419         if (myUsePositionSnapMethod != src.myUsePositionSnapMethod) 
return false;
 
  420         if (myPositionSnapMethod != src.myPositionSnapMethod) 
return false;
 
  421         if (myPositionSnapWeightName != src.myPositionSnapWeightName) 
return false;
 
  422         if (myUseradiusattrib != src.myUseradiusattrib) 
return false;
 
  423         if (myRadiusattrib != src.myRadiusattrib) 
return false;
 
  424         if (myUsematchattrib != src.myUsematchattrib) 
return false;
 
  425         if (myMatchattrib != src.myMatchattrib) 
return false;
 
  426         if (myMatchtype != src.myMatchtype) 
return false;
 
  427         if (myMatchTol != src.myMatchTol) 
return false;
 
  428         if (myGridtype != src.myGridtype) 
return false;
 
  429         if (myGridspacing != src.myGridspacing) 
return false;
 
  430         if (myGridlines != src.myGridlines) 
return false;
 
  431         if (myGridpow2 != src.myGridpow2) 
return false;
 
  432         if (myGridoffset != src.myGridoffset) 
return false;
 
  433         if (myGridround != src.myGridround) 
return false;
 
  434         if (myUseGridTol != src.myUseGridTol) 
return false;
 
  435         if (myGridtol != src.myGridtol) 
return false;
 
  436         if (myConsolidateSnappedPoints != src.myConsolidateSnappedPoints) 
return false;
 
  437         if (myKeepConsolidatedPoints != src.myKeepConsolidatedPoints) 
return false;
 
  438         if (myDelDegen != src.myDelDegen) 
return false;
 
  439         if (myDelDegenPoints != src.myDelDegenPoints) 
return false;
 
  440         if (myDelUnusedPoints != src.myDelUnusedPoints) 
return false;
 
  441         if (myRecomputenml != src.myRecomputenml) 
return false;
 
  442         if (myCreatesnappedgroup != src.myCreatesnappedgroup) 
return false;
 
  443         if (mySnappedgroupname != src.mySnappedgroupname) 
return false;
 
  444         if (myCreatesnappedattrib != src.myCreatesnappedattrib) 
return false;
 
  445         if (mySnappedattribname != src.mySnappedattribname) 
return false;
 
  446         if (myNumpointattribs != src.myNumpointattribs) 
return false;
 
  447         if (myNumgroups != src.myNumgroups) 
return false;
 
  448         if (myUsetargetgroup != src.myUsetargetgroup) 
return false;
 
  449         if (myTargetgroup != src.myTargetgroup) 
return false;
 
  450         if (myModifyboth != src.myModifyboth) 
return false;
 
  475         myQuerygroup = 
""_UTsh;
 
  477             graph->
evalOpParm(myQuerygroup, nodeidx, 
"querygroup", time, graph->
isDirect()?
nullptr:depnode);
 
  478         myPosAttrib = 
"P"_UTsh;
 
  480             graph->
evalOpParm(myPosAttrib, nodeidx, 
"posattrib", time, graph->
isDirect()?
nullptr:depnode);
 
  483             graph->
evalOpParm(mySnaptype, nodeidx, 
"snaptype", time, graph->
isDirect()?
nullptr:depnode);
 
  485         if (
true && ( (
true&&!(((
int64(getSnaptype())!=0)))) ) )
 
  486             graph->
evalOpParm(myAlgorithm, nodeidx, 
"algorithm", time, graph->
isDirect()?
nullptr:depnode);
 
  488         if (
true && ( (
true&&!(((
int64(getSnaptype())!=0)))) ) )
 
  489             graph->
evalOpParm(myUseTol3D, nodeidx, 
"usetol3d", time, graph->
isDirect()?
nullptr:depnode);
 
  491         if (
true && ( (
true&&!(((
int64(getSnaptype())!=0))||((getUseTol3D()==0))||((
int64(getSnaptype())!=0)))) ) )
 
  492             graph->
evalOpParm(myTol3d, nodeidx, 
"tol3d", time, graph->
isDirect()?
nullptr:depnode);
 
  493         myTargetPtAttrib = 
"snap_to"_UTsh;
 
  494         if (
true && ( (
true&&!(((
int64(getSnaptype())!=2)))) ) )
 
  495             graph->
evalOpParm(myTargetPtAttrib, nodeidx, 
"targetptattrib", time, graph->
isDirect()?
nullptr:depnode);
 
  497         if (
true && ( (
true&&!(((
int64(getSnaptype())!=2)))) ) )
 
  498             graph->
evalOpParm(myTargetClass, nodeidx, 
"targetclass", time, graph->
isDirect()?
nullptr:depnode);
 
  499         myUsePositionSnapMethod = 
true;
 
  500         if (
true && ( (
true&&!(((
int64(getSnaptype())==1)))) ) )
 
  501             graph->
evalOpParm(myUsePositionSnapMethod, nodeidx, 
"usepositionsnapmethod", time, graph->
isDirect()?
nullptr:depnode);
 
  502         myPositionSnapMethod = 0;
 
  503         if (
true && ( (
true&&!(((
int64(getSnaptype())==1))||((getUsePositionSnapMethod()==0))||((
int64(getSnaptype())==1)))) ) )
 
  504             graph->
evalOpParm(myPositionSnapMethod, nodeidx, 
"positionsnapmethod", time, graph->
isDirect()?
nullptr:depnode);
 
  505         myPositionSnapWeightName = 
"weight"_UTsh;
 
  506         if (
true && ( (
true&&!(((
int64(getSnaptype())==1))||((getUsePositionSnapMethod()==0))||((
int64(getSnaptype())==1))||((
int64(getPositionSnapMethod())!=10)&&(
int64(getPositionSnapMethod())!=11)&&(
int64(getPositionSnapMethod())!=12)&&(
int64(getPositionSnapMethod())!=13)))) ) )
 
  507             graph->
evalOpParm(myPositionSnapWeightName, nodeidx, 
"positionsnapweightname", time, graph->
isDirect()?
nullptr:depnode);
 
  508         myUseradiusattrib = 
false;
 
  509         if (
true && ( (
true&&!(((
int64(getSnaptype())!=0)))) ) )
 
  510             graph->
evalOpParm(myUseradiusattrib, nodeidx, 
"useradiusattrib", time, graph->
isDirect()?
nullptr:depnode);
 
  511         myRadiusattrib = 
"pscale"_UTsh;
 
  512         if (
true && ( (
true&&!(((getUseradiusattrib()==0))||((
int64(getSnaptype())!=0)))) ) )
 
  513             graph->
evalOpParm(myRadiusattrib, nodeidx, 
"radiusattrib", time, graph->
isDirect()?
nullptr:depnode);
 
  514         myUsematchattrib = 
false;
 
  515         if (
true && ( (
true&&!(((
int64(getSnaptype())!=0)))) ) )
 
  516             graph->
evalOpParm(myUsematchattrib, nodeidx, 
"usematchattrib", time, graph->
isDirect()?
nullptr:depnode);
 
  517         myMatchattrib = 
"name"_UTsh;
 
  518         if (
true && ( (
true&&!(((getUsematchattrib()==0))||((
int64(getSnaptype())!=0)))) ) )
 
  519             graph->
evalOpParm(myMatchattrib, nodeidx, 
"matchattrib", time, graph->
isDirect()?
nullptr:depnode);
 
  521         if (
true && ( (
true&&!(((getUsematchattrib()==0))||((
int64(getSnaptype())!=0)))) ) )
 
  522             graph->
evalOpParm(myMatchtype, nodeidx, 
"matchtype", time, graph->
isDirect()?
nullptr:depnode);
 
  524         if (
true && ( (
true&&!(((getUsematchattrib()==0))||((
int64(getSnaptype())!=0)))) ) )
 
  525             graph->
evalOpParm(myMatchTol, nodeidx, 
"matchtol", time, graph->
isDirect()?
nullptr:depnode);
 
  527         if (
true && ( (
true&&!(((
int64(getSnaptype())!=1)))) ) )
 
  528             graph->
evalOpParm(myGridtype, nodeidx, 
"gridtype", time, graph->
isDirect()?
nullptr:depnode);
 
  530         if (
true && ( (
true&&!(((
int64(getSnaptype())!=1))||((
int64(getGridtype())!=0)))) ) )
 
  531             graph->
evalOpParm(myGridspacing, nodeidx, 
"gridspacing", time, graph->
isDirect()?
nullptr:depnode);
 
  533         if (
true && ( (
true&&!(((
int64(getSnaptype())!=1))||((
int64(getGridtype())!=1)))) ) )
 
  534             graph->
evalOpParm(myGridlines, nodeidx, 
"gridlines", time, graph->
isDirect()?
nullptr:depnode);
 
  536         if (
true && ( (
true&&!(((
int64(getSnaptype())!=1))||((
int64(getGridtype())!=2)))) ) )
 
  537             graph->
evalOpParm(myGridpow2, nodeidx, 
"gridpow2", time, graph->
isDirect()?
nullptr:depnode);
 
  539         if (
true && ( (
true&&!(((
int64(getSnaptype())!=1)))) ) )
 
  540             graph->
evalOpParm(myGridoffset, nodeidx, 
"gridoffset", time, graph->
isDirect()?
nullptr:depnode);
 
  542         if (
true && ( (
true&&!(((
int64(getSnaptype())!=1)))) ) )
 
  543             graph->
evalOpParm(myGridround, nodeidx, 
"gridround", time, graph->
isDirect()?
nullptr:depnode);
 
  545         if (
true && ( (
true&&!(((
int64(getSnaptype())!=1)))) ) )
 
  546             graph->
evalOpParm(myUseGridTol, nodeidx, 
"usegridtol", time, graph->
isDirect()?
nullptr:depnode);
 
  548         if (
true && ( (
true&&!(((
int64(getSnaptype())!=1))||((getUseGridTol()==0))||((
int64(getSnaptype())!=1)))) ) )
 
  549             graph->
evalOpParm(myGridtol, nodeidx, 
"gridtol", time, graph->
isDirect()?
nullptr:depnode);
 
  550         myConsolidateSnappedPoints = 
true;
 
  552             graph->
evalOpParm(myConsolidateSnappedPoints, nodeidx, 
"consolidatesnappedpoints", time, graph->
isDirect()?
nullptr:depnode);
 
  553         myKeepConsolidatedPoints = 
false;
 
  554         if (
true && ( (
true&&!(((getConsolidateSnappedPoints()==0)))) ) )
 
  555             graph->
evalOpParm(myKeepConsolidatedPoints, nodeidx, 
"keepconsolidatedpoints", time, graph->
isDirect()?
nullptr:depnode);
 
  557         if (
true && ( (
true&&!(((getConsolidateSnappedPoints()==0)))) ) )
 
  558             graph->
evalOpParm(myDelDegen, nodeidx, 
"deldegen", time, graph->
isDirect()?
nullptr:depnode);
 
  559         myDelDegenPoints = 
true;
 
  560         if (
true && ( (
true&&!(((getConsolidateSnappedPoints()==0))||((getDelDegen()==0)))) ) )
 
  561             graph->
evalOpParm(myDelDegenPoints, nodeidx, 
"deldegenpoints", time, graph->
isDirect()?
nullptr:depnode);
 
  562         myDelUnusedPoints = 
false;
 
  563         if (
true && ( (
true&&!(((getConsolidateSnappedPoints()==0)))) ) )
 
  564             graph->
evalOpParm(myDelUnusedPoints, nodeidx, 
"delunusedpoints", time, graph->
isDirect()?
nullptr:depnode);
 
  565         myRecomputenml = 
true;
 
  567             graph->
evalOpParm(myRecomputenml, nodeidx, 
"recomputenml", time, graph->
isDirect()?
nullptr:depnode);
 
  568         myCreatesnappedgroup = 
false;
 
  570             graph->
evalOpParm(myCreatesnappedgroup, nodeidx, 
"createsnappedgroup", time, graph->
isDirect()?
nullptr:depnode);
 
  571         mySnappedgroupname = 
"snapped_points"_UTsh;
 
  572         if (
true && ( (
true&&!(((getCreatesnappedgroup()==0)))) ) )
 
  573             graph->
evalOpParm(mySnappedgroupname, nodeidx, 
"snappedgroupname", time, graph->
isDirect()?
nullptr:depnode);
 
  574         myCreatesnappedattrib = 
false;
 
  575         if (
true && ( (
true&&!(((
int64(getSnaptype())==1)))) ) )
 
  576             graph->
evalOpParm(myCreatesnappedattrib, nodeidx, 
"createsnappedattrib", time, graph->
isDirect()?
nullptr:depnode);
 
  577         mySnappedattribname = 
"snapped_to"_UTsh;
 
  578         if (
true && ( (
true&&!(((getCreatesnappedattrib()==0))||((
int64(getSnaptype())==1)))) ) )
 
  579             graph->
evalOpParm(mySnappedattribname, nodeidx, 
"snappedattribname", time, graph->
isDirect()?
nullptr:depnode);
 
  583             graph->
evalOpParm(length, nodeidx, 
"numpointattribs", time, graph->
isDirect()?
nullptr:depnode);
 
  584             if (length < 0) length = 0;
 
  585             myNumpointattribs.setSize(length);
 
  592                 auto && _curentry = myNumpointattribs(i);
 
  594                 _curentry.attribsnapmethod = 8;
 
  596                     graph->
evalOpParmInst(_curentry.attribsnapmethod, nodeidx, 
"attribsnapmethod#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  597                 _curentry.pointattribnames = 
""_UTsh;
 
  599                     graph->
evalOpParmInst(_curentry.pointattribnames, nodeidx, 
"pointattribnames#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  600                 _curentry.pointattribweightname = 
"weight"_UTsh;
 
  601                 if (
true && ( (
true&&!(((_curentry.attribsnapmethod!=11)&&(_curentry.attribsnapmethod!=12)&&(_curentry.attribsnapmethod!=13)&&(_curentry.attribsnapmethod!=14)&&(_curentry.attribsnapmethod!=15)))) ) )
 
  602                     graph->
evalOpParmInst(_curentry.pointattribweightname, nodeidx, 
"pointattribweightname#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  607             myNumpointattribs.clear();
 
  611             graph->
evalOpParm(length, nodeidx, 
"numgroups", time, graph->
isDirect()?
nullptr:depnode);
 
  612             if (length < 0) length = 0;
 
  613             myNumgroups.setSize(length);
 
  620                 auto && _curentry = myNumgroups(i);
 
  622                 _curentry.grouppropagation = 0;
 
  624                     graph->
evalOpParmInst(_curentry.grouppropagation, nodeidx, 
"grouppropagation#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  625                 _curentry.pointgroupnames = 
""_UTsh;
 
  627                     graph->
evalOpParmInst(_curentry.pointgroupnames, nodeidx, 
"pointgroupnames#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  633         myUsetargetgroup = 
false;
 
  634         if (
true && ( (
true&&!(((
int64(getSnaptype())==1))||(((graph->
getInput(nodeidx,1)>=0)==1)))) ) )
 
  635             graph->
evalOpParm(myUsetargetgroup, nodeidx, 
"usetargetgroup", time, graph->
isDirect()?
nullptr:depnode);
 
  636         myTargetgroup = 
""_UTsh;
 
  637         if (
true && ( (
true&&!(((
int64(getSnaptype())==1))||((getUsetargetgroup()==0)&&((graph->
getInput(nodeidx,1)>=0)==0)))) ) )
 
  638             graph->
evalOpParm(myTargetgroup, nodeidx, 
"targetgroup", time, graph->
isDirect()?
nullptr:depnode);
 
  639         myModifyboth = 
false;
 
  640         if (
true && ( (
true&&!(((
int64(getSnaptype())==1))||(((graph->
getInput(nodeidx,1)>=0)==1))||((getUsetargetgroup()==0)&&(
int64(getSnaptype())!=2)))) ) )
 
  641             graph->
evalOpParm(myModifyboth, nodeidx, 
"modifyboth", time, graph->
isDirect()?
nullptr:depnode);
 
  657     template <
typename T>
 
  664         if (idx.
size() != instance.
size()+1)
 
  669                 coerceValue(value, myQuerygroup);
 
  672                 coerceValue(value, myPosAttrib);
 
  675                 coerceValue(value, mySnaptype);
 
  678                 coerceValue(value, myAlgorithm);
 
  681                 coerceValue(value, myUseTol3D);
 
  684                 coerceValue(value, myTol3d);
 
  687                 coerceValue(value, myTargetPtAttrib);
 
  690                 coerceValue(value, myTargetClass);
 
  693                 coerceValue(value, myUsePositionSnapMethod);
 
  696                 coerceValue(value, myPositionSnapMethod);
 
  699                 coerceValue(value, myPositionSnapWeightName);
 
  702                 coerceValue(value, myUseradiusattrib);
 
  705                 coerceValue(value, myRadiusattrib);
 
  708                 coerceValue(value, myUsematchattrib);
 
  711                 coerceValue(value, myMatchattrib);
 
  714                 coerceValue(value, myMatchtype);
 
  717                 coerceValue(value, myMatchTol);
 
  720                 coerceValue(value, myGridtype);
 
  723                 coerceValue(value, myGridspacing);
 
  726                 coerceValue(value, myGridlines);
 
  729                 coerceValue(value, myGridpow2);
 
  732                 coerceValue(value, myGridoffset);
 
  735                 coerceValue(value, myGridround);
 
  738                 coerceValue(value, myUseGridTol);
 
  741                 coerceValue(value, myGridtol);
 
  744                 coerceValue(value, myConsolidateSnappedPoints);
 
  747                 coerceValue(value, myKeepConsolidatedPoints);
 
  750                 coerceValue(value, myDelDegen);
 
  753                 coerceValue(value, myDelDegenPoints);
 
  756                 coerceValue(value, myDelUnusedPoints);
 
  759                 coerceValue(value, myRecomputenml);
 
  762                 coerceValue(value, myCreatesnappedgroup);
 
  765                 coerceValue(value, mySnappedgroupname);
 
  768                 coerceValue(value, myCreatesnappedattrib);
 
  771                 coerceValue(value, mySnappedattribname);
 
  775                     coerceValue(value, myNumpointattribs.entries());
 
  776                 else if (instance[0] < myNumpointattribs.entries())
 
  778                     auto && _data = myNumpointattribs(instance[0]);
 
  782                         coerceValue(value, _data.attribsnapmethod);
 
  785                         coerceValue(value, _data.pointattribnames);
 
  788                         coerceValue(value, _data.pointattribweightname);
 
  796                     coerceValue(value, myNumgroups.entries());
 
  797                 else if (instance[0] < myNumgroups.entries())
 
  799                     auto && _data = myNumgroups(instance[0]);
 
  803                         coerceValue(value, _data.grouppropagation);
 
  806                         coerceValue(value, _data.pointgroupnames);
 
  813                 coerceValue(value, myUsetargetgroup);
 
  816                 coerceValue(value, myTargetgroup);
 
  819                 coerceValue(value, myModifyboth);
 
  835     { doGetParmValue(idx, instance, value); }
 
  837     { doGetParmValue(idx, instance, value); }
 
  839     { doGetParmValue(idx, instance, value); }
 
  841     { doGetParmValue(idx, instance, value); }
 
  843     { doGetParmValue(idx, instance, value); }
 
  845     { doGetParmValue(idx, instance, value); }
 
  847     { doGetParmValue(idx, instance, value); }
 
  849     { doGetParmValue(idx, instance, value); }
 
  851     { doGetParmValue(idx, instance, value); }
 
  853     { doGetParmValue(idx, instance, value); }
 
  855     { doGetParmValue(idx, instance, value); }
 
  857     template <
typename T>
 
  864         if (idx.
size() != instance.
size()+1)
 
  869                 coerceValue(myQuerygroup, ( ( value ) ));
 
  872                 coerceValue(myPosAttrib, ( ( value ) ));
 
  875                 coerceValue(mySnaptype, clampMinValue(0,  clampMaxValue(2,  value ) ));
 
  878                 coerceValue(myAlgorithm, clampMinValue(0,  clampMaxValue(1,  value ) ));
 
  881                 coerceValue(myUseTol3D, ( ( value ) ));
 
  884                 coerceValue(myTol3d, ( ( value ) ));
 
  887                 coerceValue(myTargetPtAttrib, ( ( value ) ));
 
  890                 coerceValue(myTargetClass, clampMinValue(0,  clampMaxValue(3,  value ) ));
 
  893                 coerceValue(myUsePositionSnapMethod, ( ( value ) ));
 
  896                 coerceValue(myPositionSnapMethod, clampMinValue(0,  clampMaxValue(13,  value ) ));
 
  899                 coerceValue(myPositionSnapWeightName, ( ( value ) ));
 
  902                 coerceValue(myUseradiusattrib, ( ( value ) ));
 
  905                 coerceValue(myRadiusattrib, ( ( value ) ));
 
  908                 coerceValue(myUsematchattrib, ( ( value ) ));
 
  911                 coerceValue(myMatchattrib, ( ( value ) ));
 
  914                 coerceValue(myMatchtype, clampMinValue(0,  clampMaxValue(1,  value ) ));
 
  917                 coerceValue(myMatchTol, ( ( value ) ));
 
  920                 coerceValue(myGridtype, clampMinValue(0,  clampMaxValue(2,  value ) ));
 
  923                 coerceValue(myGridspacing, ( ( value ) ));
 
  926                 coerceValue(myGridlines, ( ( value ) ));
 
  929                 coerceValue(myGridpow2, ( ( value ) ));
 
  932                 coerceValue(myGridoffset, ( ( value ) ));
 
  935                 coerceValue(myGridround, clampMinValue(0,  clampMaxValue(2,  value ) ));
 
  938                 coerceValue(myUseGridTol, ( ( value ) ));
 
  941                 coerceValue(myGridtol, ( ( value ) ));
 
  944                 coerceValue(myConsolidateSnappedPoints, ( ( value ) ));
 
  947                 coerceValue(myKeepConsolidatedPoints, ( ( value ) ));
 
  950                 coerceValue(myDelDegen, ( ( value ) ));
 
  953                 coerceValue(myDelDegenPoints, ( ( value ) ));
 
  956                 coerceValue(myDelUnusedPoints, ( ( value ) ));
 
  959                 coerceValue(myRecomputenml, ( ( value ) ));
 
  962                 coerceValue(myCreatesnappedgroup, ( ( value ) ));
 
  965                 coerceValue(mySnappedgroupname, ( ( value ) ));
 
  968                 coerceValue(myCreatesnappedattrib, ( ( value ) ));
 
  971                 coerceValue(mySnappedattribname, ( ( value ) ));
 
  977                     coerceValue(newsize, value);
 
  978                     if (newsize < 0) newsize = 0;
 
  979                     myNumpointattribs.setSize(newsize);
 
  985                     myNumpointattribs.setSizeIfNeeded(instance[0]+1);
 
  986                     auto && _data = myNumpointattribs(instance[0]);
 
  990                         coerceValue(_data.attribsnapmethod, value);
 
  993                         coerceValue(_data.pointattribnames, value);
 
  996                         coerceValue(_data.pointattribweightname, value);
 
 1003                 if (idx.
size() == 1)
 
 1006                     coerceValue(newsize, value);
 
 1007                     if (newsize < 0) newsize = 0;
 
 1008                     myNumgroups.setSize(newsize);
 
 1012                     if (instance[0] < 0)
 
 1014                     myNumgroups.setSizeIfNeeded(instance[0]+1);
 
 1015                     auto && _data = myNumgroups(instance[0]);
 
 1019                         coerceValue(_data.grouppropagation, value);
 
 1022                         coerceValue(_data.pointgroupnames, value);
 
 1029                 coerceValue(myUsetargetgroup, ( ( value ) ));
 
 1032                 coerceValue(myTargetgroup, ( ( value ) ));
 
 1035                 coerceValue(myModifyboth, ( ( value ) ));
 
 1042     { doSetParmValue(idx, instance, value); }
 
 1044     { doSetParmValue(idx, instance, value); }
 
 1046     { doSetParmValue(idx, instance, value); }
 
 1048     { doSetParmValue(idx, instance, value); }
 
 1050     { doSetParmValue(idx, instance, value); }
 
 1052     { doSetParmValue(idx, instance, value); }
 
 1054     { doSetParmValue(idx, instance, value); }
 
 1056     { doSetParmValue(idx, instance, value); }
 
 1058     { doSetParmValue(idx, instance, value); }
 
 1060     { doSetParmValue(idx, instance, value); }
 
 1062     { doSetParmValue(idx, instance, value); }
 
 1066         if (idx.
size() == 0)
 
 1082         if (fieldnum.
size() < 1)
 
 1084         switch (fieldnum[0])
 
 1087                 return "querygroup";
 
 1099                 return "targetptattrib";
 
 1101                 return "targetclass";
 
 1103                 return "usepositionsnapmethod";
 
 1105                 return "positionsnapmethod";
 
 1107                 return "positionsnapweightname";
 
 1109                 return "useradiusattrib";
 
 1111                 return "radiusattrib";
 
 1113                 return "usematchattrib";
 
 1115                 return "matchattrib";
 
 1123                 return "gridspacing";
 
 1129                 return "gridoffset";
 
 1133                 return "usegridtol";
 
 1137                 return "consolidatesnappedpoints";
 
 1139                 return "keepconsolidatedpoints";
 
 1143                 return "deldegenpoints";
 
 1145                 return "delunusedpoints";
 
 1147                 return "recomputenml";
 
 1149                 return "createsnappedgroup";
 
 1151                 return "snappedgroupname";
 
 1153                 return "createsnappedattrib";
 
 1155                 return "snappedattribname";
 
 1157                 if (fieldnum.
size() == 1)
 
 1158                     return "numpointattribs";
 
 1159                 switch (fieldnum[1])
 
 1162                         return "attribsnapmethod#";
 
 1164                         return "pointattribnames#";
 
 1166                         return "pointattribweightname#";
 
 1171                 if (fieldnum.
size() == 1)
 
 1173                 switch (fieldnum[1])
 
 1176                         return "grouppropagation#";
 
 1178                         return "pointgroupnames#";
 
 1183                 return "usetargetgroup";
 
 1185                 return "targetgroup";
 
 1187                 return "modifyboth";
 
 1195         if (fieldnum.
size() < 1)
 
 1196             return PARM_UNSUPPORTED;
 
 1197         switch (fieldnum[0])
 
 1204                 return PARM_INTEGER;
 
 1206                 return PARM_INTEGER;
 
 1208                 return PARM_INTEGER;
 
 1214                 return PARM_INTEGER;
 
 1216                 return PARM_INTEGER;
 
 1218                 return PARM_INTEGER;
 
 1222                 return PARM_INTEGER;
 
 1226                 return PARM_INTEGER;
 
 1230                 return PARM_INTEGER;
 
 1234                 return PARM_INTEGER;
 
 1236                 return PARM_VECTOR3;
 
 1238                 return PARM_VECTOR3;
 
 1240                 return PARM_VECTOR3;
 
 1242                 return PARM_VECTOR3;
 
 1244                 return PARM_INTEGER;
 
 1246                 return PARM_INTEGER;
 
 1250                 return PARM_INTEGER;
 
 1252                 return PARM_INTEGER;
 
 1254                 return PARM_INTEGER;
 
 1256                 return PARM_INTEGER;
 
 1258                 return PARM_INTEGER;
 
 1260                 return PARM_INTEGER;
 
 1262                 return PARM_INTEGER;
 
 1266                 return PARM_INTEGER;
 
 1270                 if (fieldnum.
size() == 1)
 
 1271                     return PARM_MULTIPARM;
 
 1272                 switch (fieldnum[1])
 
 1275                         return PARM_INTEGER;
 
 1282                 return PARM_UNSUPPORTED;
 
 1284                 if (fieldnum.
size() == 1)
 
 1285                     return PARM_MULTIPARM;
 
 1286                 switch (fieldnum[1])
 
 1289                         return PARM_INTEGER;
 
 1294                 return PARM_UNSUPPORTED;
 
 1296                 return PARM_INTEGER;
 
 1300                 return PARM_INTEGER;
 
 1303         return PARM_UNSUPPORTED;
 
 1308     { is.
bread(&v, 1); }
 
 1339         loadData(is, rampdata);
 
 1357                 int             typelen = colon - data.
buffer();
 
 1369     { UTwrite(os, &v); }
 
 1371     { 
int64 iv = 
v; UTwrite(os, &iv); }
 
 1373     { UTwrite<fpreal64>(os, &
v); }
 
 1375     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
 
 1377     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
 
 1378       UTwrite<fpreal64>(os, &v.
z()); }
 
 1380     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
 
 1381       UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
 
 1393         if (s) s->save(ostr);
 
 1394         result = ostr.
str();
 
 1395         saveData(os, result);
 
 1402             ostr << s->getDataTypeToken();
 
 1404             s->saveBinary(ostr);
 
 1406         result = ostr.
str();
 
 1407         saveData(os, result);
 
 1415         saveData(os, myQuerygroup);
 
 1416         saveData(os, myPosAttrib);
 
 1417         saveData(os, mySnaptype);
 
 1418         saveData(os, myAlgorithm);
 
 1419         saveData(os, myUseTol3D);
 
 1420         saveData(os, myTol3d);
 
 1421         saveData(os, myTargetPtAttrib);
 
 1422         saveData(os, myTargetClass);
 
 1423         saveData(os, myUsePositionSnapMethod);
 
 1424         saveData(os, myPositionSnapMethod);
 
 1425         saveData(os, myPositionSnapWeightName);
 
 1426         saveData(os, myUseradiusattrib);
 
 1427         saveData(os, myRadiusattrib);
 
 1428         saveData(os, myUsematchattrib);
 
 1429         saveData(os, myMatchattrib);
 
 1430         saveData(os, myMatchtype);
 
 1431         saveData(os, myMatchTol);
 
 1432         saveData(os, myGridtype);
 
 1433         saveData(os, myGridspacing);
 
 1434         saveData(os, myGridlines);
 
 1435         saveData(os, myGridpow2);
 
 1436         saveData(os, myGridoffset);
 
 1437         saveData(os, myGridround);
 
 1438         saveData(os, myUseGridTol);
 
 1439         saveData(os, myGridtol);
 
 1440         saveData(os, myConsolidateSnappedPoints);
 
 1441         saveData(os, myKeepConsolidatedPoints);
 
 1442         saveData(os, myDelDegen);
 
 1443         saveData(os, myDelDegenPoints);
 
 1444         saveData(os, myDelUnusedPoints);
 
 1445         saveData(os, myRecomputenml);
 
 1446         saveData(os, myCreatesnappedgroup);
 
 1447         saveData(os, mySnappedgroupname);
 
 1448         saveData(os, myCreatesnappedattrib);
 
 1449         saveData(os, mySnappedattribname);
 
 1452             UTwrite(os, &length);
 
 1455                 auto && _curentry = myNumpointattribs(i);
 
 1457                 saveData(os, _curentry.attribsnapmethod);
 
 1458                 saveData(os, _curentry.pointattribnames);
 
 1459                 saveData(os, _curentry.pointattribweightname);
 
 1465             UTwrite(os, &length);
 
 1468                 auto && _curentry = myNumgroups(i);
 
 1470                 saveData(os, _curentry.grouppropagation);
 
 1471                 saveData(os, _curentry.pointgroupnames);
 
 1475         saveData(os, myUsetargetgroup);
 
 1476         saveData(os, myTargetgroup);
 
 1477         saveData(os, myModifyboth);
 
 1490         loadData(is, myQuerygroup);
 
 1491         loadData(is, myPosAttrib);
 
 1492         loadData(is, mySnaptype);
 
 1493         loadData(is, myAlgorithm);
 
 1494         loadData(is, myUseTol3D);
 
 1495         loadData(is, myTol3d);
 
 1496         loadData(is, myTargetPtAttrib);
 
 1497         loadData(is, myTargetClass);
 
 1498         loadData(is, myUsePositionSnapMethod);
 
 1499         loadData(is, myPositionSnapMethod);
 
 1500         loadData(is, myPositionSnapWeightName);
 
 1501         loadData(is, myUseradiusattrib);
 
 1502         loadData(is, myRadiusattrib);
 
 1503         loadData(is, myUsematchattrib);
 
 1504         loadData(is, myMatchattrib);
 
 1505         loadData(is, myMatchtype);
 
 1506         loadData(is, myMatchTol);
 
 1507         loadData(is, myGridtype);
 
 1508         loadData(is, myGridspacing);
 
 1509         loadData(is, myGridlines);
 
 1510         loadData(is, myGridpow2);
 
 1511         loadData(is, myGridoffset);
 
 1512         loadData(is, myGridround);
 
 1513         loadData(is, myUseGridTol);
 
 1514         loadData(is, myGridtol);
 
 1515         loadData(is, myConsolidateSnappedPoints);
 
 1516         loadData(is, myKeepConsolidatedPoints);
 
 1517         loadData(is, myDelDegen);
 
 1518         loadData(is, myDelDegenPoints);
 
 1519         loadData(is, myDelUnusedPoints);
 
 1520         loadData(is, myRecomputenml);
 
 1521         loadData(is, myCreatesnappedgroup);
 
 1522         loadData(is, mySnappedgroupname);
 
 1523         loadData(is, myCreatesnappedattrib);
 
 1524         loadData(is, mySnappedattribname);
 
 1527             is.
read(&length, 1);
 
 1528             myNumpointattribs.setSize(length);
 
 1531                 auto && _curentry = myNumpointattribs(i);
 
 1533                 loadData(is, _curentry.attribsnapmethod);
 
 1534                 loadData(is, _curentry.pointattribnames);
 
 1535                 loadData(is, _curentry.pointattribweightname);
 
 1541             is.
read(&length, 1);
 
 1542             myNumgroups.setSize(length);
 
 1545                 auto && _curentry = myNumgroups(i);
 
 1547                 loadData(is, _curentry.grouppropagation);
 
 1548                 loadData(is, _curentry.pointgroupnames);
 
 1552         loadData(is, myUsetargetgroup);
 
 1553         loadData(is, myTargetgroup);
 
 1554         loadData(is, myModifyboth);
 
 1564         if (!thissop) 
return getQuerygroup();
 
 1566         OP_Utils::evalOpParm(result, thissop, 
"querygroup", cookparms.
getCookTime(), 0);
 
 1574         if (!thissop) 
return getPosAttrib();
 
 1576         OP_Utils::evalOpParm(result, thissop, 
"posattrib", cookparms.
getCookTime(), 0);
 
 1584         if (!thissop) 
return getSnaptype();
 
 1586         OP_Utils::evalOpParm(result, thissop, 
"snaptype", cookparms.
getCookTime(), 0);
 
 1594         if (!thissop) 
return getAlgorithm();
 
 1596         OP_Utils::evalOpParm(result, thissop, 
"algorithm", cookparms.
getCookTime(), 0);
 
 1604         if (!thissop) 
return getUseTol3D();
 
 1606         OP_Utils::evalOpParm(result, thissop, 
"usetol3d", cookparms.
getCookTime(), 0);
 
 1614         if (!thissop) 
return getTol3d();
 
 1616         OP_Utils::evalOpParm(result, thissop, 
"tol3d", cookparms.
getCookTime(), 0);
 
 1624         if (!thissop) 
return getTargetPtAttrib();
 
 1626         OP_Utils::evalOpParm(result, thissop, 
"targetptattrib", cookparms.
getCookTime(), 0);
 
 1634         if (!thissop) 
return getTargetClass();
 
 1636         OP_Utils::evalOpParm(result, thissop, 
"targetclass", cookparms.
getCookTime(), 0);
 
 1644         if (!thissop) 
return getUsePositionSnapMethod();
 
 1646         OP_Utils::evalOpParm(result, thissop, 
"usepositionsnapmethod", cookparms.
getCookTime(), 0);
 
 1654         if (!thissop) 
return getPositionSnapMethod();
 
 1656         OP_Utils::evalOpParm(result, thissop, 
"positionsnapmethod", cookparms.
getCookTime(), 0);
 
 1664         if (!thissop) 
return getPositionSnapWeightName();
 
 1666         OP_Utils::evalOpParm(result, thissop, 
"positionsnapweightname", cookparms.
getCookTime(), 0);
 
 1674         if (!thissop) 
return getUseradiusattrib();
 
 1676         OP_Utils::evalOpParm(result, thissop, 
"useradiusattrib", cookparms.
getCookTime(), 0);
 
 1684         if (!thissop) 
return getRadiusattrib();
 
 1686         OP_Utils::evalOpParm(result, thissop, 
"radiusattrib", cookparms.
getCookTime(), 0);
 
 1694         if (!thissop) 
return getUsematchattrib();
 
 1696         OP_Utils::evalOpParm(result, thissop, 
"usematchattrib", cookparms.
getCookTime(), 0);
 
 1704         if (!thissop) 
return getMatchattrib();
 
 1706         OP_Utils::evalOpParm(result, thissop, 
"matchattrib", cookparms.
getCookTime(), 0);
 
 1714         if (!thissop) 
return getMatchtype();
 
 1716         OP_Utils::evalOpParm(result, thissop, 
"matchtype", cookparms.
getCookTime(), 0);
 
 1724         if (!thissop) 
return getMatchTol();
 
 1726         OP_Utils::evalOpParm(result, thissop, 
"matchtol", cookparms.
getCookTime(), 0);
 
 1734         if (!thissop) 
return getGridtype();
 
 1736         OP_Utils::evalOpParm(result, thissop, 
"gridtype", cookparms.
getCookTime(), 0);
 
 1744         if (!thissop) 
return getGridspacing();
 
 1746         OP_Utils::evalOpParm(result, thissop, 
"gridspacing", cookparms.
getCookTime(), 0);
 
 1754         if (!thissop) 
return getGridlines();
 
 1756         OP_Utils::evalOpParm(result, thissop, 
"gridlines", cookparms.
getCookTime(), 0);
 
 1764         if (!thissop) 
return getGridpow2();
 
 1766         OP_Utils::evalOpParm(result, thissop, 
"gridpow2", cookparms.
getCookTime(), 0);
 
 1774         if (!thissop) 
return getGridoffset();
 
 1776         OP_Utils::evalOpParm(result, thissop, 
"gridoffset", cookparms.
getCookTime(), 0);
 
 1784         if (!thissop) 
return getGridround();
 
 1786         OP_Utils::evalOpParm(result, thissop, 
"gridround", cookparms.
getCookTime(), 0);
 
 1794         if (!thissop) 
return getUseGridTol();
 
 1796         OP_Utils::evalOpParm(result, thissop, 
"usegridtol", cookparms.
getCookTime(), 0);
 
 1804         if (!thissop) 
return getGridtol();
 
 1806         OP_Utils::evalOpParm(result, thissop, 
"gridtol", cookparms.
getCookTime(), 0);
 
 1814         if (!thissop) 
return getConsolidateSnappedPoints();
 
 1816         OP_Utils::evalOpParm(result, thissop, 
"consolidatesnappedpoints", cookparms.
getCookTime(), 0);
 
 1824         if (!thissop) 
return getKeepConsolidatedPoints();
 
 1826         OP_Utils::evalOpParm(result, thissop, 
"keepconsolidatedpoints", cookparms.
getCookTime(), 0);
 
 1834         if (!thissop) 
return getDelDegen();
 
 1836         OP_Utils::evalOpParm(result, thissop, 
"deldegen", cookparms.
getCookTime(), 0);
 
 1844         if (!thissop) 
return getDelDegenPoints();
 
 1846         OP_Utils::evalOpParm(result, thissop, 
"deldegenpoints", cookparms.
getCookTime(), 0);
 
 1854         if (!thissop) 
return getDelUnusedPoints();
 
 1856         OP_Utils::evalOpParm(result, thissop, 
"delunusedpoints", cookparms.
getCookTime(), 0);
 
 1864         if (!thissop) 
return getRecomputenml();
 
 1866         OP_Utils::evalOpParm(result, thissop, 
"recomputenml", cookparms.
getCookTime(), 0);
 
 1874         if (!thissop) 
return getCreatesnappedgroup();
 
 1876         OP_Utils::evalOpParm(result, thissop, 
"createsnappedgroup", cookparms.
getCookTime(), 0);
 
 1884         if (!thissop) 
return getSnappedgroupname();
 
 1886         OP_Utils::evalOpParm(result, thissop, 
"snappedgroupname", cookparms.
getCookTime(), 0);
 
 1894         if (!thissop) 
return getCreatesnappedattrib();
 
 1896         OP_Utils::evalOpParm(result, thissop, 
"createsnappedattrib", cookparms.
getCookTime(), 0);
 
 1904         if (!thissop) 
return getSnappedattribname();
 
 1906         OP_Utils::evalOpParm(result, thissop, 
"snappedattribname", cookparms.
getCookTime(), 0);
 
 1914         if (!thissop) 
return getNumpointattribs().entries();
 
 1916         OP_Utils::evalOpParm(result, thissop, 
"numpointattribs", cookparms.
getCookTime(), 0);
 
 1920     { 
return opinstNumpointattribs_attribsnapmethod(cookparms, &_idx); }
 
 1924         if (!thissop) 
return (myNumpointattribs(_idx[0]).attribsnapmethod);
 
 1926         _parmidx[1-1] = _idx[1-1] + 1;
 
 1929         OP_Utils::evalOpParmInst(result, thissop, 
"attribsnapmethod#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1933     { 
return opinstNumpointattribs_pointattribnames(cookparms, &_idx); }
 
 1937         if (!thissop) 
return (myNumpointattribs(_idx[0]).pointattribnames);
 
 1939         _parmidx[1-1] = _idx[1-1] + 1;
 
 1942         OP_Utils::evalOpParmInst(result, thissop, 
"pointattribnames#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1946     { 
return opinstNumpointattribs_pointattribweightname(cookparms, &_idx); }
 
 1950         if (!thissop) 
return (myNumpointattribs(_idx[0]).pointattribweightname);
 
 1952         _parmidx[1-1] = _idx[1-1] + 1;
 
 1955         OP_Utils::evalOpParmInst(result, thissop, 
"pointattribweightname#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1964         if (!thissop) 
return getNumgroups().entries();
 
 1966         OP_Utils::evalOpParm(result, thissop, 
"numgroups", cookparms.
getCookTime(), 0);
 
 1970     { 
return opinstNumgroups_grouppropagation(cookparms, &_idx); }
 
 1974         if (!thissop) 
return (myNumgroups(_idx[0]).grouppropagation);
 
 1976         _parmidx[1-1] = _idx[1-1] + 1;
 
 1979         OP_Utils::evalOpParmInst(result, thissop, 
"grouppropagation#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 1983     { 
return opinstNumgroups_pointgroupnames(cookparms, &_idx); }
 
 1987         if (!thissop) 
return (myNumgroups(_idx[0]).pointgroupnames);
 
 1989         _parmidx[1-1] = _idx[1-1] + 1;
 
 1992         OP_Utils::evalOpParmInst(result, thissop, 
"pointgroupnames#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
 2001         if (!thissop) 
return getUsetargetgroup();
 
 2003         OP_Utils::evalOpParm(result, thissop, 
"usetargetgroup", cookparms.
getCookTime(), 0);
 
 2011         if (!thissop) 
return getTargetgroup();
 
 2013         OP_Utils::evalOpParm(result, thissop, 
"targetgroup", cookparms.
getCookTime(), 0);
 
 2021         if (!thissop) 
return getModifyboth();
 
 2023         OP_Utils::evalOpParm(result, thissop, 
"modifyboth", cookparms.
getCookTime(), 0);
 
 2035     int64 myTargetClass;
 
 2036     bool myUsePositionSnapMethod;
 
 2037     int64 myPositionSnapMethod;
 
 2039     bool myUseradiusattrib;
 
 2041     bool myUsematchattrib;
 
 2053     bool myConsolidateSnappedPoints;
 
 2054     bool myKeepConsolidatedPoints;
 
 2056     bool myDelDegenPoints;
 
 2057     bool myDelUnusedPoints;
 
 2058     bool myRecomputenml;
 
 2059     bool myCreatesnappedgroup;
 
 2061     bool myCreatesnappedattrib;
 
 2065     bool myUsetargetgroup;
 
UT_StringHolder opNumpointattribs_pointattribnames(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
virtual NodeIdx getInput(NodeIdx idx, OP_InputIdx input, bool markused=false) const =0
 
void setCreatesnappedattrib(bool val)
 
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
 
bool opRecomputenml(const SOP_NodeVerb::CookParms &cookparms) const 
 
bool getDelDegenPoints() const 
 
int64 opinstNumgroups_grouppropagation(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
static void loadData(UT_IStream &is, UT_Vector2D &v)
 
void setTol3d(fpreal64 val)
 
const UT_Array< Numpointattribs > & getNumpointattribs() const 
 
GLenum GLuint GLenum GLsizei const GLchar * buf
 
bool opDelDegen(const SOP_NodeVerb::CookParms &cookparms) const 
 
void setUsetargetgroup(bool val)
 
Algorithm opAlgorithm(const SOP_NodeVerb::CookParms &cookparms) const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
 
UT_Vector3I opGridpow2(const SOP_NodeVerb::CookParms &cookparms) const 
 
SOP_Node * getNode() const 
 
const UT_StringHolder & getQuerygroup() const 
 
exint getNestNumParms(TempIndex idx) const override
 
UT_Vector3D opGridlines(const SOP_NodeVerb::CookParms &cookparms) const 
 
bool opDelDegenPoints(const SOP_NodeVerb::CookParms &cookparms) const 
 
static void saveData(std::ostream &os, UT_Vector3D v)
 
bool operator==(const Numgroups &src) const 
 
void setPosAttrib(const UT_StringHolder &val)
 
void setMatchtype(Matchtype val)
 
exint opNumpointattribs(const SOP_NodeVerb::CookParms &cookparms) const 
 
fpreal64 getGridtol() const 
 
UT_StringHolder opSnappedattribname(const SOP_NodeVerb::CookParms &cookparms) const 
 
void save(std::ostream &os) const 
 
static void loadData(UT_IStream &is, UT_StringHolder &v)
 
exint bread(int32 *buffer, exint asize=1)
 
GT_API const UT_StringHolder time
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
PositionSnapMethod opPositionSnapMethod(const SOP_NodeVerb::CookParms &cookparms) const 
 
const UT_StringHolder & getMatchattrib() const 
 
GLsizei const GLfloat * value
 
void setModifyboth(bool val)
 
Snaptype getSnaptype() const 
 
void setGridtype(Gridtype val)
 
Gridtype opGridtype(const SOP_NodeVerb::CookParms &cookparms) const 
 
const UT_StringHolder & getTargetgroup() const 
 
void setTargetPtAttrib(const UT_StringHolder &val)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
 
bool getConsolidateSnappedPoints() const 
 
Matchtype opMatchtype(const SOP_NodeVerb::CookParms &cookparms) const 
 
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const 
 
const OP_Context & context() const 
 
UT_StringHolder opPosAttrib(const SOP_NodeVerb::CookParms &cookparms) const 
 
bool getUseradiusattrib() const 
 
constexpr SYS_FORCE_INLINE T & z() noexcept
 
UT_StringHolder pointattribweightname
 
UT_StringHolder createString(const UT_Array< Numgroups > &list) const 
 
bool operator!=(const Numpointattribs &src) const 
 
void setGridspacing(UT_Vector3D val)
 
UT_StringHolder opTargetPtAttrib(const SOP_NodeVerb::CookParms &cookparms) const 
 
SYS_FORCE_INLINE const char * buffer() const 
 
GLuint GLsizei GLsizei * length
 
static void saveData(std::ostream &os, UT_Matrix4D v)
 
An output stream object that owns its own string buffer storage. 
 
void setGridlines(UT_Vector3D val)
 
bool opCreatesnappedgroup(const SOP_NodeVerb::CookParms &cookparms) const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
 
UT_Vector3D getGridoffset() const 
 
UT_StringHolder opinstNumpointattribs_pointattribweightname(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
void setDelDegenPoints(bool val)
 
static void loadData(UT_IStream &is, UT_Vector3D &v)
 
**But if you need a result
 
const UT_StringHolder & getTargetPtAttrib() const 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
 
Snaptype opSnaptype(const SOP_NodeVerb::CookParms &cookparms) const 
 
UT_Vector3T< int64 > UT_Vector3I
 
const UT_StringHolder & getSnappedgroupname() const 
 
Algorithm getAlgorithm() const 
 
void setUsematchattrib(bool val)
 
bool opUsePositionSnapMethod(const SOP_NodeVerb::CookParms &cookparms) const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
 
UT_Vector3D getGridlines() const 
 
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
 
fpreal64 opTol3d(const SOP_NodeVerb::CookParms &cookparms) const 
 
const UT_StringHolder & getSnappedattribname() const 
 
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer. 
 
bool load(UT_IStream &is)
 
constexpr SYS_FORCE_INLINE T & x() noexcept
 
UT_Vector3D opGridoffset(const SOP_NodeVerb::CookParms &cookparms) const 
 
int64 opNumpointattribs_attribsnapmethod(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
UT_StringHolder opNumgroups_pointgroupnames(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
GLuint GLsizei const GLuint const GLintptr * offsets
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
 
fpreal64 opGridtol(const SOP_NodeVerb::CookParms &cookparms) const 
 
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
 
constexpr SYS_FORCE_INLINE T & x() noexcept
 
int64 opinstNumpointattribs_attribsnapmethod(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
const UT_Array< Numgroups > & getNumgroups() const 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
 
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
 
Gridtype getGridtype() const 
 
UT_StringHolder pointattribnames
 
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
 
void setDelDegen(bool val)
 
bool opDelUnusedPoints(const SOP_NodeVerb::CookParms &cookparms) const 
 
void setSnaptype(Snaptype val)
 
static void loadData(UT_IStream &is, UT_Matrix3D &v)
 
bool getKeepConsolidatedPoints() const 
 
void setNumpointattribs(const UT_Array< Numpointattribs > &val)
 
const UT_StringHolder & getPositionSnapWeightName() const 
 
void setNumgroups(const UT_Array< Numgroups > &val)
 
static void saveData(std::ostream &os, UT_StringHolder s)
 
UT_StringHolder opSnappedgroupname(const SOP_NodeVerb::CookParms &cookparms) const 
 
Gridround opGridround(const SOP_NodeVerb::CookParms &cookparms) const 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
 
void setSnappedgroupname(const UT_StringHolder &val)
 
SYS_FORCE_INLINE const char * buffer() const 
 
void setUseradiusattrib(bool val)
 
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr. 
 
static void saveData(std::ostream &os, UT_Matrix3D v)
 
constexpr SYS_FORCE_INLINE T & z() noexcept
 
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const 
 
void setUseTol3D(bool val)
 
bool opModifyboth(const SOP_NodeVerb::CookParms &cookparms) const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
 
void setUsePositionSnapMethod(bool val)
 
exint read(bool *array, exint sz=1)
 
const OP_GraphProxy * graph() const 
 
const UT_StringHolder & getPosAttrib() const 
 
exint opNumgroups(const SOP_NodeVerb::CookParms &cookparms) const 
 
UT_Vector3D getGridspacing() const 
 
UT_StringHolder opQuerygroup(const SOP_NodeVerb::CookParms &cookparms) const 
 
void setGridoffset(UT_Vector3D val)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
 
static void saveData(std::ostream &os, bool v)
 
UT_StringHolder opinstNumpointattribs_pointattribnames(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
bool isParmColorRamp(exint idx) const override
 
virtual void evalOpParmInst(int64 &v, NodeIdx node, const char *parmname, const int *inst, const int *offsets, fpreal time, DEP_MicroNode *depnode, int nestlevel=1) const =0
 
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
 
void setKeepConsolidatedPoints(bool val)
 
UT_Vector3I getGridpow2() const 
 
UT_Vector3D opGridspacing(const SOP_NodeVerb::CookParms &cookparms) const 
 
static void loadData(UT_IStream &is, UT_Matrix4D &v)
 
void setUseGridTol(bool val)
 
static void loadData(UT_IStream &is, bool &v)
 
UT_Vector3T< fpreal64 > UT_Vector3D
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
 
static void loadData(UT_IStream &is, UT_Vector4D &v)
 
static void saveData(std::ostream &os, PRM_DataItemHandle s)
 
static void saveData(std::ostream &os, int64 v)
 
bool operator!=(const Numgroups &src) const 
 
void setGridpow2(UT_Vector3I val)
 
Gridround getGridround() const 
 
int64 opNumgroups_grouppropagation(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
bool getUseGridTol() const 
 
static void loadData(UT_IStream &is, UT_Vector2I &v)
 
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
 
bool getModifyboth() const 
 
SYS_FORCE_INLINE void strcat(const char *src)
 
UT_StringHolder opRadiusattrib(const SOP_NodeVerb::CookParms &cookparms) const 
 
void saveBinary(std::ostream &os) const 
Save string to binary stream. 
 
static void saveData(std::ostream &os, UT_Vector4D v)
 
GT_API const UT_StringHolder version
 
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
 
void setTargetgroup(const UT_StringHolder &val)
 
static void loadData(UT_IStream &is, UT_Matrix2D &v)
 
exint entries() const 
Alias of size(). size() is preferred. 
 
fpreal64 getTol3d() const 
 
bool getUsematchattrib() const 
 
bool opUseradiusattrib(const SOP_NodeVerb::CookParms &cookparms) const 
 
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
 
bool operator!=(const SOP_Fuse_2_0Parms &src) const 
 
void setSnappedattribname(const UT_StringHolder &val)
 
static void loadData(UT_IStream &is, UT_Vector3I &v)
 
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
 
TargetClass getTargetClass() const 
 
static void saveData(std::ostream &os, UT_Matrix2D v)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
 
bool getDelUnusedPoints() const 
 
bool opKeepConsolidatedPoints(const SOP_NodeVerb::CookParms &cookparms) const 
 
fpreal64 getMatchTol() const 
 
void setQuerygroup(const UT_StringHolder &val)
 
void setConsolidateSnappedPoints(bool val)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
 
DEP_MicroNode * depnode() const 
 
UT_StringHolder opPositionSnapWeightName(const SOP_NodeVerb::CookParms &cookparms) const 
 
bool operator==(const SOP_Fuse_2_0Parms &src) const 
 
LeafData & operator=(const LeafData &)=delete
 
bool getCreatesnappedgroup() const 
 
Utility class for containing a color ramp. 
 
bool getCreatesnappedattrib() const 
 
void setTargetClass(TargetClass val)
 
bool getUsePositionSnapMethod() const 
 
UT_StringHolder opTargetgroup(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 
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
 
static void saveData(std::ostream &os, fpreal64 v)
 
UT_StringHolder opNumpointattribs_pointattribweightname(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
bool opUsetargetgroup(const SOP_NodeVerb::CookParms &cookparms) const 
 
static void loadData(UT_IStream &is, fpreal64 &v)
 
bool getRecomputenml() const 
 
bool opUseTol3D(const SOP_NodeVerb::CookParms &cookparms) const 
 
const UT_StringHolder & getRadiusattrib() const 
 
void setGridtol(fpreal64 val)
 
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
 
fpreal getCookTime() const 
 
static void loadData(UT_IStream &is, int64 &v)
 
void copyFrom(const OP_NodeParms *src) override
 
SYS_FORCE_INLINE UT_StringHolder getToken(Snaptype enum_value)
 
void setCreatesnappedgroup(bool val)
 
bool opUseGridTol(const SOP_NodeVerb::CookParms &cookparms) const 
 
const char * findChar(int c) const 
 
void setDelUnusedPoints(bool val)
 
void setRadiusattrib(const UT_StringHolder &val)
 
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
 
static void saveData(std::ostream &os, UT_Vector2D v)
 
bool opConsolidateSnappedPoints(const SOP_NodeVerb::CookParms &cookparms) const 
 
void setGridround(Gridround val)
 
UT_StringHolder opinstNumgroups_pointgroupnames(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
void setRecomputenml(bool val)
 
void setMatchattrib(const UT_StringHolder &val)
 
bool opCreatesnappedattrib(const SOP_NodeVerb::CookParms &cookparms) const 
 
Matchtype getMatchtype() const 
 
virtual bool isDirect() const =0
Direct proxies mirror actual nodes: 
 
void loadFromOpSubclass(const LoadParms &loadparms) override
 
fpreal64 opMatchTol(const SOP_NodeVerb::CookParms &cookparms) const 
 
UT_StringHolder pointgroupnames
 
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
 
void setAlgorithm(Algorithm val)
 
const char * getNestParmName(TempIndex fieldnum) const override
 
static void loadData(UT_IStream &is, UT_Vector4I &v)
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
void setMatchTol(fpreal64 val)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
 
SYS_FORCE_INLINE bool isstring() const 
 
UT_StringHolder opMatchattrib(const SOP_NodeVerb::CookParms &cookparms) const 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
 
PositionSnapMethod getPositionSnapMethod() const 
 
UT_StringHolder createString(const UT_Array< Numpointattribs > &list) const 
 
bool opUsematchattrib(const SOP_NodeVerb::CookParms &cookparms) const 
 
void setPositionSnapMethod(PositionSnapMethod val)
 
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
 
bool getUsetargetgroup() const 
 
TargetClass opTargetClass(const SOP_NodeVerb::CookParms &cookparms) const 
 
bool operator==(const Numpointattribs &src) const 
 
ParmType getNestParmType(TempIndex fieldnum) const override
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
 
constexpr SYS_FORCE_INLINE T & x() noexcept
 
void setPositionSnapWeightName(const UT_StringHolder &val)