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;
472 myQuerygroup =
""_UTsh;
474 graph->
evalOpParm(myQuerygroup, nodeidx,
"querygroup", time, 0);
475 myPosAttrib =
"P"_UTsh;
477 graph->
evalOpParm(myPosAttrib, nodeidx,
"posattrib", time, 0);
480 graph->
evalOpParm(mySnaptype, nodeidx,
"snaptype", time, 0);
482 if (
true && ( (
true&&!(((
int64(getSnaptype())!=0)))) ) )
483 graph->
evalOpParm(myAlgorithm, nodeidx,
"algorithm", time, 0);
485 if (
true && ( (
true&&!(((
int64(getSnaptype())!=0)))) ) )
486 graph->
evalOpParm(myUseTol3D, nodeidx,
"usetol3d", time, 0);
488 if (
true && ( (
true&&!(((
int64(getSnaptype())!=0))||((getUseTol3D()==0))||((
int64(getSnaptype())!=0)))) ) )
489 graph->
evalOpParm(myTol3d, nodeidx,
"tol3d", time, 0);
490 myTargetPtAttrib =
"snap_to"_UTsh;
491 if (
true && ( (
true&&!(((
int64(getSnaptype())!=2)))) ) )
492 graph->
evalOpParm(myTargetPtAttrib, nodeidx,
"targetptattrib", time, 0);
494 if (
true && ( (
true&&!(((
int64(getSnaptype())!=2)))) ) )
495 graph->
evalOpParm(myTargetClass, nodeidx,
"targetclass", time, 0);
496 myUsePositionSnapMethod =
true;
497 if (
true && ( (
true&&!(((
int64(getSnaptype())==1)))) ) )
498 graph->
evalOpParm(myUsePositionSnapMethod, nodeidx,
"usepositionsnapmethod", time, 0);
499 myPositionSnapMethod = 0;
500 if (
true && ( (
true&&!(((
int64(getSnaptype())==1))||((getUsePositionSnapMethod()==0))||((
int64(getSnaptype())==1)))) ) )
501 graph->
evalOpParm(myPositionSnapMethod, nodeidx,
"positionsnapmethod", time, 0);
502 myPositionSnapWeightName =
"weight"_UTsh;
503 if (
true && ( (
true&&!(((
int64(getSnaptype())==1))||((getUsePositionSnapMethod()==0))||((
int64(getSnaptype())==1))||((
int64(getPositionSnapMethod())!=10)&&(
int64(getPositionSnapMethod())!=11)&&(
int64(getPositionSnapMethod())!=12)&&(
int64(getPositionSnapMethod())!=13)))) ) )
504 graph->
evalOpParm(myPositionSnapWeightName, nodeidx,
"positionsnapweightname", time, 0);
505 myUseradiusattrib =
false;
506 if (
true && ( (
true&&!(((
int64(getSnaptype())!=0)))) ) )
507 graph->
evalOpParm(myUseradiusattrib, nodeidx,
"useradiusattrib", time, 0);
508 myRadiusattrib =
"pscale"_UTsh;
509 if (
true && ( (
true&&!(((getUseradiusattrib()==0))||((
int64(getSnaptype())!=0)))) ) )
510 graph->
evalOpParm(myRadiusattrib, nodeidx,
"radiusattrib", time, 0);
511 myUsematchattrib =
false;
512 if (
true && ( (
true&&!(((
int64(getSnaptype())!=0)))) ) )
513 graph->
evalOpParm(myUsematchattrib, nodeidx,
"usematchattrib", time, 0);
514 myMatchattrib =
"name"_UTsh;
515 if (
true && ( (
true&&!(((getUsematchattrib()==0))||((
int64(getSnaptype())!=0)))) ) )
516 graph->
evalOpParm(myMatchattrib, nodeidx,
"matchattrib", time, 0);
518 if (
true && ( (
true&&!(((getUsematchattrib()==0))||((
int64(getSnaptype())!=0)))) ) )
519 graph->
evalOpParm(myMatchtype, nodeidx,
"matchtype", time, 0);
521 if (
true && ( (
true&&!(((getUsematchattrib()==0))||((
int64(getSnaptype())!=0)))) ) )
522 graph->
evalOpParm(myMatchTol, nodeidx,
"matchtol", time, 0);
524 if (
true && ( (
true&&!(((
int64(getSnaptype())!=1)))) ) )
525 graph->
evalOpParm(myGridtype, nodeidx,
"gridtype", time, 0);
527 if (
true && ( (
true&&!(((
int64(getSnaptype())!=1))||((
int64(getGridtype())!=0)))) ) )
528 graph->
evalOpParm(myGridspacing, nodeidx,
"gridspacing", time, 0);
530 if (
true && ( (
true&&!(((
int64(getSnaptype())!=1))||((
int64(getGridtype())!=1)))) ) )
531 graph->
evalOpParm(myGridlines, nodeidx,
"gridlines", time, 0);
533 if (
true && ( (
true&&!(((
int64(getSnaptype())!=1))||((
int64(getGridtype())!=2)))) ) )
534 graph->
evalOpParm(myGridpow2, nodeidx,
"gridpow2", time, 0);
536 if (
true && ( (
true&&!(((
int64(getSnaptype())!=1)))) ) )
537 graph->
evalOpParm(myGridoffset, nodeidx,
"gridoffset", time, 0);
539 if (
true && ( (
true&&!(((
int64(getSnaptype())!=1)))) ) )
540 graph->
evalOpParm(myGridround, nodeidx,
"gridround", time, 0);
542 if (
true && ( (
true&&!(((
int64(getSnaptype())!=1)))) ) )
543 graph->
evalOpParm(myUseGridTol, nodeidx,
"usegridtol", time, 0);
545 if (
true && ( (
true&&!(((
int64(getSnaptype())!=1))||((getUseGridTol()==0))||((
int64(getSnaptype())!=1)))) ) )
546 graph->
evalOpParm(myGridtol, nodeidx,
"gridtol", time, 0);
547 myConsolidateSnappedPoints =
true;
549 graph->
evalOpParm(myConsolidateSnappedPoints, nodeidx,
"consolidatesnappedpoints", time, 0);
550 myKeepConsolidatedPoints =
false;
551 if (
true && ( (
true&&!(((getConsolidateSnappedPoints()==0)))) ) )
552 graph->
evalOpParm(myKeepConsolidatedPoints, nodeidx,
"keepconsolidatedpoints", time, 0);
554 if (
true && ( (
true&&!(((getConsolidateSnappedPoints()==0)))) ) )
555 graph->
evalOpParm(myDelDegen, nodeidx,
"deldegen", time, 0);
556 myDelDegenPoints =
true;
557 if (
true && ( (
true&&!(((getConsolidateSnappedPoints()==0))||((getDelDegen()==0)))) ) )
558 graph->
evalOpParm(myDelDegenPoints, nodeidx,
"deldegenpoints", time, 0);
559 myDelUnusedPoints =
false;
560 if (
true && ( (
true&&!(((getConsolidateSnappedPoints()==0)))) ) )
561 graph->
evalOpParm(myDelUnusedPoints, nodeidx,
"delunusedpoints", time, 0);
562 myRecomputenml =
true;
564 graph->
evalOpParm(myRecomputenml, nodeidx,
"recomputenml", time, 0);
565 myCreatesnappedgroup =
false;
567 graph->
evalOpParm(myCreatesnappedgroup, nodeidx,
"createsnappedgroup", time, 0);
568 mySnappedgroupname =
"snapped_points"_UTsh;
569 if (
true && ( (
true&&!(((getCreatesnappedgroup()==0)))) ) )
570 graph->
evalOpParm(mySnappedgroupname, nodeidx,
"snappedgroupname", time, 0);
571 myCreatesnappedattrib =
false;
572 if (
true && ( (
true&&!(((
int64(getSnaptype())==1)))) ) )
573 graph->
evalOpParm(myCreatesnappedattrib, nodeidx,
"createsnappedattrib", time, 0);
574 mySnappedattribname =
"snapped_to"_UTsh;
575 if (
true && ( (
true&&!(((getCreatesnappedattrib()==0))||((
int64(getSnaptype())==1)))) ) )
576 graph->
evalOpParm(mySnappedattribname, nodeidx,
"snappedattribname", time, 0);
580 graph->
evalOpParm(length, nodeidx,
"numpointattribs", time, 0);
581 if (length < 0) length = 0;
582 myNumpointattribs.setSize(length);
589 auto && _curentry = myNumpointattribs(i);
591 _curentry.attribsnapmethod = 8;
593 graph->
evalOpParmInst(_curentry.attribsnapmethod, nodeidx,
"attribsnapmethod#", parmidx, offsets, time, 0, 2-1);
594 _curentry.pointattribnames =
""_UTsh;
596 graph->
evalOpParmInst(_curentry.pointattribnames, nodeidx,
"pointattribnames#", parmidx, offsets, time, 0, 2-1);
597 _curentry.pointattribweightname =
"weight"_UTsh;
598 if (
true && ( (
true&&!(((_curentry.attribsnapmethod!=11)&&(_curentry.attribsnapmethod!=12)&&(_curentry.attribsnapmethod!=13)&&(_curentry.attribsnapmethod!=14)&&(_curentry.attribsnapmethod!=15)))) ) )
599 graph->
evalOpParmInst(_curentry.pointattribweightname, nodeidx,
"pointattribweightname#", parmidx, offsets, time, 0, 2-1);
604 myNumpointattribs.clear();
608 graph->
evalOpParm(length, nodeidx,
"numgroups", time, 0);
609 if (length < 0) length = 0;
610 myNumgroups.setSize(length);
617 auto && _curentry = myNumgroups(i);
619 _curentry.grouppropagation = 0;
621 graph->
evalOpParmInst(_curentry.grouppropagation, nodeidx,
"grouppropagation#", parmidx, offsets, time, 0, 2-1);
622 _curentry.pointgroupnames =
""_UTsh;
624 graph->
evalOpParmInst(_curentry.pointgroupnames, nodeidx,
"pointgroupnames#", parmidx, offsets, time, 0, 2-1);
630 myUsetargetgroup =
false;
631 if (
true && ( (
true&&!(((
int64(getSnaptype())==1))||(((graph->
getInput(nodeidx,1)>=0)==1)))) ) )
632 graph->
evalOpParm(myUsetargetgroup, nodeidx,
"usetargetgroup", time, 0);
633 myTargetgroup =
""_UTsh;
634 if (
true && ( (
true&&!(((
int64(getSnaptype())==1))||((getUsetargetgroup()==0)&&((graph->
getInput(nodeidx,1)>=0)==0)))) ) )
635 graph->
evalOpParm(myTargetgroup, nodeidx,
"targetgroup", time, 0);
636 myModifyboth =
false;
637 if (
true && ( (
true&&!(((
int64(getSnaptype())==1))||(((graph->
getInput(nodeidx,1)>=0)==1))||((getUsetargetgroup()==0)&&(
int64(getSnaptype())!=2)))) ) )
638 graph->
evalOpParm(myModifyboth, nodeidx,
"modifyboth", time, 0);
654 template <
typename T>
661 if (idx.
size() != instance.
size()+1)
666 coerceValue(value, myQuerygroup);
669 coerceValue(value, myPosAttrib);
672 coerceValue(value, mySnaptype);
675 coerceValue(value, myAlgorithm);
678 coerceValue(value, myUseTol3D);
681 coerceValue(value, myTol3d);
684 coerceValue(value, myTargetPtAttrib);
687 coerceValue(value, myTargetClass);
690 coerceValue(value, myUsePositionSnapMethod);
693 coerceValue(value, myPositionSnapMethod);
696 coerceValue(value, myPositionSnapWeightName);
699 coerceValue(value, myUseradiusattrib);
702 coerceValue(value, myRadiusattrib);
705 coerceValue(value, myUsematchattrib);
708 coerceValue(value, myMatchattrib);
711 coerceValue(value, myMatchtype);
714 coerceValue(value, myMatchTol);
717 coerceValue(value, myGridtype);
720 coerceValue(value, myGridspacing);
723 coerceValue(value, myGridlines);
726 coerceValue(value, myGridpow2);
729 coerceValue(value, myGridoffset);
732 coerceValue(value, myGridround);
735 coerceValue(value, myUseGridTol);
738 coerceValue(value, myGridtol);
741 coerceValue(value, myConsolidateSnappedPoints);
744 coerceValue(value, myKeepConsolidatedPoints);
747 coerceValue(value, myDelDegen);
750 coerceValue(value, myDelDegenPoints);
753 coerceValue(value, myDelUnusedPoints);
756 coerceValue(value, myRecomputenml);
759 coerceValue(value, myCreatesnappedgroup);
762 coerceValue(value, mySnappedgroupname);
765 coerceValue(value, myCreatesnappedattrib);
768 coerceValue(value, mySnappedattribname);
772 coerceValue(value, myNumpointattribs.entries());
773 else if (instance[0] < myNumpointattribs.entries())
775 auto && _data = myNumpointattribs(instance[0]);
779 coerceValue(value, _data.attribsnapmethod);
782 coerceValue(value, _data.pointattribnames);
785 coerceValue(value, _data.pointattribweightname);
793 coerceValue(value, myNumgroups.entries());
794 else if (instance[0] < myNumgroups.entries())
796 auto && _data = myNumgroups(instance[0]);
800 coerceValue(value, _data.grouppropagation);
803 coerceValue(value, _data.pointgroupnames);
810 coerceValue(value, myUsetargetgroup);
813 coerceValue(value, myTargetgroup);
816 coerceValue(value, myModifyboth);
832 { doGetParmValue(idx, instance, value); }
834 { doGetParmValue(idx, instance, value); }
836 { doGetParmValue(idx, instance, value); }
838 { doGetParmValue(idx, instance, value); }
840 { doGetParmValue(idx, instance, value); }
842 { doGetParmValue(idx, instance, value); }
844 { doGetParmValue(idx, instance, value); }
846 { doGetParmValue(idx, instance, value); }
848 { doGetParmValue(idx, instance, value); }
850 { doGetParmValue(idx, instance, value); }
852 { doGetParmValue(idx, instance, value); }
854 template <
typename T>
861 if (idx.
size() != instance.
size()+1)
866 coerceValue(myQuerygroup, ( ( value ) ));
869 coerceValue(myPosAttrib, ( ( value ) ));
872 coerceValue(mySnaptype, clampMinValue(0, clampMaxValue(2, value ) ));
875 coerceValue(myAlgorithm, clampMinValue(0, clampMaxValue(1, value ) ));
878 coerceValue(myUseTol3D, ( ( value ) ));
881 coerceValue(myTol3d, ( ( value ) ));
884 coerceValue(myTargetPtAttrib, ( ( value ) ));
887 coerceValue(myTargetClass, clampMinValue(0, clampMaxValue(3, value ) ));
890 coerceValue(myUsePositionSnapMethod, ( ( value ) ));
893 coerceValue(myPositionSnapMethod, clampMinValue(0, clampMaxValue(13, value ) ));
896 coerceValue(myPositionSnapWeightName, ( ( value ) ));
899 coerceValue(myUseradiusattrib, ( ( value ) ));
902 coerceValue(myRadiusattrib, ( ( value ) ));
905 coerceValue(myUsematchattrib, ( ( value ) ));
908 coerceValue(myMatchattrib, ( ( value ) ));
911 coerceValue(myMatchtype, clampMinValue(0, clampMaxValue(1, value ) ));
914 coerceValue(myMatchTol, ( ( value ) ));
917 coerceValue(myGridtype, clampMinValue(0, clampMaxValue(2, value ) ));
920 coerceValue(myGridspacing, ( ( value ) ));
923 coerceValue(myGridlines, ( ( value ) ));
926 coerceValue(myGridpow2, ( ( value ) ));
929 coerceValue(myGridoffset, ( ( value ) ));
932 coerceValue(myGridround, clampMinValue(0, clampMaxValue(2, value ) ));
935 coerceValue(myUseGridTol, ( ( value ) ));
938 coerceValue(myGridtol, ( ( value ) ));
941 coerceValue(myConsolidateSnappedPoints, ( ( value ) ));
944 coerceValue(myKeepConsolidatedPoints, ( ( value ) ));
947 coerceValue(myDelDegen, ( ( value ) ));
950 coerceValue(myDelDegenPoints, ( ( value ) ));
953 coerceValue(myDelUnusedPoints, ( ( value ) ));
956 coerceValue(myRecomputenml, ( ( value ) ));
959 coerceValue(myCreatesnappedgroup, ( ( value ) ));
962 coerceValue(mySnappedgroupname, ( ( value ) ));
965 coerceValue(myCreatesnappedattrib, ( ( value ) ));
968 coerceValue(mySnappedattribname, ( ( value ) ));
974 coerceValue(newsize, value);
975 if (newsize < 0) newsize = 0;
976 myNumpointattribs.setSize(newsize);
982 myNumpointattribs.setSizeIfNeeded(instance[0]+1);
983 auto && _data = myNumpointattribs(instance[0]);
987 coerceValue(_data.attribsnapmethod, value);
990 coerceValue(_data.pointattribnames, value);
993 coerceValue(_data.pointattribweightname, value);
1000 if (idx.
size() == 1)
1003 coerceValue(newsize, value);
1004 if (newsize < 0) newsize = 0;
1005 myNumgroups.setSize(newsize);
1009 if (instance[0] < 0)
1011 myNumgroups.setSizeIfNeeded(instance[0]+1);
1012 auto && _data = myNumgroups(instance[0]);
1016 coerceValue(_data.grouppropagation, value);
1019 coerceValue(_data.pointgroupnames, value);
1026 coerceValue(myUsetargetgroup, ( ( value ) ));
1029 coerceValue(myTargetgroup, ( ( value ) ));
1032 coerceValue(myModifyboth, ( ( value ) ));
1039 { doSetParmValue(idx, instance, value); }
1041 { doSetParmValue(idx, instance, value); }
1043 { doSetParmValue(idx, instance, value); }
1045 { doSetParmValue(idx, instance, value); }
1047 { doSetParmValue(idx, instance, value); }
1049 { doSetParmValue(idx, instance, value); }
1051 { doSetParmValue(idx, instance, value); }
1053 { doSetParmValue(idx, instance, value); }
1055 { doSetParmValue(idx, instance, value); }
1057 { doSetParmValue(idx, instance, value); }
1059 { doSetParmValue(idx, instance, value); }
1063 if (idx.
size() == 0)
1079 if (fieldnum.
size() < 1)
1081 switch (fieldnum[0])
1084 return "querygroup";
1096 return "targetptattrib";
1098 return "targetclass";
1100 return "usepositionsnapmethod";
1102 return "positionsnapmethod";
1104 return "positionsnapweightname";
1106 return "useradiusattrib";
1108 return "radiusattrib";
1110 return "usematchattrib";
1112 return "matchattrib";
1120 return "gridspacing";
1126 return "gridoffset";
1130 return "usegridtol";
1134 return "consolidatesnappedpoints";
1136 return "keepconsolidatedpoints";
1140 return "deldegenpoints";
1142 return "delunusedpoints";
1144 return "recomputenml";
1146 return "createsnappedgroup";
1148 return "snappedgroupname";
1150 return "createsnappedattrib";
1152 return "snappedattribname";
1154 if (fieldnum.
size() == 1)
1155 return "numpointattribs";
1156 switch (fieldnum[1])
1159 return "attribsnapmethod#";
1161 return "pointattribnames#";
1163 return "pointattribweightname#";
1168 if (fieldnum.
size() == 1)
1170 switch (fieldnum[1])
1173 return "grouppropagation#";
1175 return "pointgroupnames#";
1180 return "usetargetgroup";
1182 return "targetgroup";
1184 return "modifyboth";
1192 if (fieldnum.
size() < 1)
1193 return PARM_UNSUPPORTED;
1194 switch (fieldnum[0])
1201 return PARM_INTEGER;
1203 return PARM_INTEGER;
1205 return PARM_INTEGER;
1211 return PARM_INTEGER;
1213 return PARM_INTEGER;
1215 return PARM_INTEGER;
1219 return PARM_INTEGER;
1223 return PARM_INTEGER;
1227 return PARM_INTEGER;
1231 return PARM_INTEGER;
1233 return PARM_VECTOR3;
1235 return PARM_VECTOR3;
1237 return PARM_VECTOR3;
1239 return PARM_VECTOR3;
1241 return PARM_INTEGER;
1243 return PARM_INTEGER;
1247 return PARM_INTEGER;
1249 return PARM_INTEGER;
1251 return PARM_INTEGER;
1253 return PARM_INTEGER;
1255 return PARM_INTEGER;
1257 return PARM_INTEGER;
1259 return PARM_INTEGER;
1263 return PARM_INTEGER;
1267 if (fieldnum.
size() == 1)
1268 return PARM_MULTIPARM;
1269 switch (fieldnum[1])
1272 return PARM_INTEGER;
1279 return PARM_UNSUPPORTED;
1281 if (fieldnum.
size() == 1)
1282 return PARM_MULTIPARM;
1283 switch (fieldnum[1])
1286 return PARM_INTEGER;
1291 return PARM_UNSUPPORTED;
1293 return PARM_INTEGER;
1297 return PARM_INTEGER;
1300 return PARM_UNSUPPORTED;
1305 { is.
bread(&v, 1); }
1336 loadData(is, rampdata);
1354 int typelen = colon - data.
buffer();
1366 { UTwrite(os, &v); }
1368 {
int64 iv =
v; UTwrite(os, &iv); }
1370 { UTwrite<fpreal64>(os, &
v); }
1372 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1374 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1375 UTwrite<fpreal64>(os, &v.
z()); }
1377 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1378 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1390 if (s) s->save(ostr);
1391 result = ostr.
str();
1392 saveData(os, result);
1399 ostr << s->getDataTypeToken();
1401 s->saveBinary(ostr);
1403 result = ostr.
str();
1404 saveData(os, result);
1412 saveData(os, myQuerygroup);
1413 saveData(os, myPosAttrib);
1414 saveData(os, mySnaptype);
1415 saveData(os, myAlgorithm);
1416 saveData(os, myUseTol3D);
1417 saveData(os, myTol3d);
1418 saveData(os, myTargetPtAttrib);
1419 saveData(os, myTargetClass);
1420 saveData(os, myUsePositionSnapMethod);
1421 saveData(os, myPositionSnapMethod);
1422 saveData(os, myPositionSnapWeightName);
1423 saveData(os, myUseradiusattrib);
1424 saveData(os, myRadiusattrib);
1425 saveData(os, myUsematchattrib);
1426 saveData(os, myMatchattrib);
1427 saveData(os, myMatchtype);
1428 saveData(os, myMatchTol);
1429 saveData(os, myGridtype);
1430 saveData(os, myGridspacing);
1431 saveData(os, myGridlines);
1432 saveData(os, myGridpow2);
1433 saveData(os, myGridoffset);
1434 saveData(os, myGridround);
1435 saveData(os, myUseGridTol);
1436 saveData(os, myGridtol);
1437 saveData(os, myConsolidateSnappedPoints);
1438 saveData(os, myKeepConsolidatedPoints);
1439 saveData(os, myDelDegen);
1440 saveData(os, myDelDegenPoints);
1441 saveData(os, myDelUnusedPoints);
1442 saveData(os, myRecomputenml);
1443 saveData(os, myCreatesnappedgroup);
1444 saveData(os, mySnappedgroupname);
1445 saveData(os, myCreatesnappedattrib);
1446 saveData(os, mySnappedattribname);
1449 UTwrite(os, &length);
1452 auto && _curentry = myNumpointattribs(i);
1454 saveData(os, _curentry.attribsnapmethod);
1455 saveData(os, _curentry.pointattribnames);
1456 saveData(os, _curentry.pointattribweightname);
1462 UTwrite(os, &length);
1465 auto && _curentry = myNumgroups(i);
1467 saveData(os, _curentry.grouppropagation);
1468 saveData(os, _curentry.pointgroupnames);
1472 saveData(os, myUsetargetgroup);
1473 saveData(os, myTargetgroup);
1474 saveData(os, myModifyboth);
1487 loadData(is, myQuerygroup);
1488 loadData(is, myPosAttrib);
1489 loadData(is, mySnaptype);
1490 loadData(is, myAlgorithm);
1491 loadData(is, myUseTol3D);
1492 loadData(is, myTol3d);
1493 loadData(is, myTargetPtAttrib);
1494 loadData(is, myTargetClass);
1495 loadData(is, myUsePositionSnapMethod);
1496 loadData(is, myPositionSnapMethod);
1497 loadData(is, myPositionSnapWeightName);
1498 loadData(is, myUseradiusattrib);
1499 loadData(is, myRadiusattrib);
1500 loadData(is, myUsematchattrib);
1501 loadData(is, myMatchattrib);
1502 loadData(is, myMatchtype);
1503 loadData(is, myMatchTol);
1504 loadData(is, myGridtype);
1505 loadData(is, myGridspacing);
1506 loadData(is, myGridlines);
1507 loadData(is, myGridpow2);
1508 loadData(is, myGridoffset);
1509 loadData(is, myGridround);
1510 loadData(is, myUseGridTol);
1511 loadData(is, myGridtol);
1512 loadData(is, myConsolidateSnappedPoints);
1513 loadData(is, myKeepConsolidatedPoints);
1514 loadData(is, myDelDegen);
1515 loadData(is, myDelDegenPoints);
1516 loadData(is, myDelUnusedPoints);
1517 loadData(is, myRecomputenml);
1518 loadData(is, myCreatesnappedgroup);
1519 loadData(is, mySnappedgroupname);
1520 loadData(is, myCreatesnappedattrib);
1521 loadData(is, mySnappedattribname);
1524 is.
read(&length, 1);
1525 myNumpointattribs.setSize(length);
1528 auto && _curentry = myNumpointattribs(i);
1530 loadData(is, _curentry.attribsnapmethod);
1531 loadData(is, _curentry.pointattribnames);
1532 loadData(is, _curentry.pointattribweightname);
1538 is.
read(&length, 1);
1539 myNumgroups.setSize(length);
1542 auto && _curentry = myNumgroups(i);
1544 loadData(is, _curentry.grouppropagation);
1545 loadData(is, _curentry.pointgroupnames);
1549 loadData(is, myUsetargetgroup);
1550 loadData(is, myTargetgroup);
1551 loadData(is, myModifyboth);
1561 if (!thissop)
return getQuerygroup();
1563 OP_Utils::evalOpParm(result, thissop,
"querygroup", cookparms.
getCookTime(), 0);
1571 if (!thissop)
return getPosAttrib();
1573 OP_Utils::evalOpParm(result, thissop,
"posattrib", cookparms.
getCookTime(), 0);
1581 if (!thissop)
return getSnaptype();
1583 OP_Utils::evalOpParm(result, thissop,
"snaptype", cookparms.
getCookTime(), 0);
1591 if (!thissop)
return getAlgorithm();
1593 OP_Utils::evalOpParm(result, thissop,
"algorithm", cookparms.
getCookTime(), 0);
1601 if (!thissop)
return getUseTol3D();
1603 OP_Utils::evalOpParm(result, thissop,
"usetol3d", cookparms.
getCookTime(), 0);
1611 if (!thissop)
return getTol3d();
1613 OP_Utils::evalOpParm(result, thissop,
"tol3d", cookparms.
getCookTime(), 0);
1621 if (!thissop)
return getTargetPtAttrib();
1623 OP_Utils::evalOpParm(result, thissop,
"targetptattrib", cookparms.
getCookTime(), 0);
1631 if (!thissop)
return getTargetClass();
1633 OP_Utils::evalOpParm(result, thissop,
"targetclass", cookparms.
getCookTime(), 0);
1641 if (!thissop)
return getUsePositionSnapMethod();
1643 OP_Utils::evalOpParm(result, thissop,
"usepositionsnapmethod", cookparms.
getCookTime(), 0);
1651 if (!thissop)
return getPositionSnapMethod();
1653 OP_Utils::evalOpParm(result, thissop,
"positionsnapmethod", cookparms.
getCookTime(), 0);
1661 if (!thissop)
return getPositionSnapWeightName();
1663 OP_Utils::evalOpParm(result, thissop,
"positionsnapweightname", cookparms.
getCookTime(), 0);
1671 if (!thissop)
return getUseradiusattrib();
1673 OP_Utils::evalOpParm(result, thissop,
"useradiusattrib", cookparms.
getCookTime(), 0);
1681 if (!thissop)
return getRadiusattrib();
1683 OP_Utils::evalOpParm(result, thissop,
"radiusattrib", cookparms.
getCookTime(), 0);
1691 if (!thissop)
return getUsematchattrib();
1693 OP_Utils::evalOpParm(result, thissop,
"usematchattrib", cookparms.
getCookTime(), 0);
1701 if (!thissop)
return getMatchattrib();
1703 OP_Utils::evalOpParm(result, thissop,
"matchattrib", cookparms.
getCookTime(), 0);
1711 if (!thissop)
return getMatchtype();
1713 OP_Utils::evalOpParm(result, thissop,
"matchtype", cookparms.
getCookTime(), 0);
1721 if (!thissop)
return getMatchTol();
1723 OP_Utils::evalOpParm(result, thissop,
"matchtol", cookparms.
getCookTime(), 0);
1731 if (!thissop)
return getGridtype();
1733 OP_Utils::evalOpParm(result, thissop,
"gridtype", cookparms.
getCookTime(), 0);
1741 if (!thissop)
return getGridspacing();
1743 OP_Utils::evalOpParm(result, thissop,
"gridspacing", cookparms.
getCookTime(), 0);
1751 if (!thissop)
return getGridlines();
1753 OP_Utils::evalOpParm(result, thissop,
"gridlines", cookparms.
getCookTime(), 0);
1761 if (!thissop)
return getGridpow2();
1763 OP_Utils::evalOpParm(result, thissop,
"gridpow2", cookparms.
getCookTime(), 0);
1771 if (!thissop)
return getGridoffset();
1773 OP_Utils::evalOpParm(result, thissop,
"gridoffset", cookparms.
getCookTime(), 0);
1781 if (!thissop)
return getGridround();
1783 OP_Utils::evalOpParm(result, thissop,
"gridround", cookparms.
getCookTime(), 0);
1791 if (!thissop)
return getUseGridTol();
1793 OP_Utils::evalOpParm(result, thissop,
"usegridtol", cookparms.
getCookTime(), 0);
1801 if (!thissop)
return getGridtol();
1803 OP_Utils::evalOpParm(result, thissop,
"gridtol", cookparms.
getCookTime(), 0);
1811 if (!thissop)
return getConsolidateSnappedPoints();
1813 OP_Utils::evalOpParm(result, thissop,
"consolidatesnappedpoints", cookparms.
getCookTime(), 0);
1821 if (!thissop)
return getKeepConsolidatedPoints();
1823 OP_Utils::evalOpParm(result, thissop,
"keepconsolidatedpoints", cookparms.
getCookTime(), 0);
1831 if (!thissop)
return getDelDegen();
1833 OP_Utils::evalOpParm(result, thissop,
"deldegen", cookparms.
getCookTime(), 0);
1841 if (!thissop)
return getDelDegenPoints();
1843 OP_Utils::evalOpParm(result, thissop,
"deldegenpoints", cookparms.
getCookTime(), 0);
1851 if (!thissop)
return getDelUnusedPoints();
1853 OP_Utils::evalOpParm(result, thissop,
"delunusedpoints", cookparms.
getCookTime(), 0);
1861 if (!thissop)
return getRecomputenml();
1863 OP_Utils::evalOpParm(result, thissop,
"recomputenml", cookparms.
getCookTime(), 0);
1871 if (!thissop)
return getCreatesnappedgroup();
1873 OP_Utils::evalOpParm(result, thissop,
"createsnappedgroup", cookparms.
getCookTime(), 0);
1881 if (!thissop)
return getSnappedgroupname();
1883 OP_Utils::evalOpParm(result, thissop,
"snappedgroupname", cookparms.
getCookTime(), 0);
1891 if (!thissop)
return getCreatesnappedattrib();
1893 OP_Utils::evalOpParm(result, thissop,
"createsnappedattrib", cookparms.
getCookTime(), 0);
1901 if (!thissop)
return getSnappedattribname();
1903 OP_Utils::evalOpParm(result, thissop,
"snappedattribname", cookparms.
getCookTime(), 0);
1911 if (!thissop)
return getNumpointattribs().entries();
1913 OP_Utils::evalOpParm(result, thissop,
"numpointattribs", cookparms.
getCookTime(), 0);
1917 {
return opinstNumpointattribs_attribsnapmethod(cookparms, &_idx); }
1921 if (!thissop)
return (myNumpointattribs(_idx[0]).attribsnapmethod);
1923 _parmidx[1-1] = _idx[1-1] + 1;
1926 OP_Utils::evalOpParmInst(result, thissop,
"attribsnapmethod#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1930 {
return opinstNumpointattribs_pointattribnames(cookparms, &_idx); }
1934 if (!thissop)
return (myNumpointattribs(_idx[0]).pointattribnames);
1936 _parmidx[1-1] = _idx[1-1] + 1;
1939 OP_Utils::evalOpParmInst(result, thissop,
"pointattribnames#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1943 {
return opinstNumpointattribs_pointattribweightname(cookparms, &_idx); }
1947 if (!thissop)
return (myNumpointattribs(_idx[0]).pointattribweightname);
1949 _parmidx[1-1] = _idx[1-1] + 1;
1952 OP_Utils::evalOpParmInst(result, thissop,
"pointattribweightname#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1961 if (!thissop)
return getNumgroups().entries();
1963 OP_Utils::evalOpParm(result, thissop,
"numgroups", cookparms.
getCookTime(), 0);
1967 {
return opinstNumgroups_grouppropagation(cookparms, &_idx); }
1971 if (!thissop)
return (myNumgroups(_idx[0]).grouppropagation);
1973 _parmidx[1-1] = _idx[1-1] + 1;
1976 OP_Utils::evalOpParmInst(result, thissop,
"grouppropagation#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1980 {
return opinstNumgroups_pointgroupnames(cookparms, &_idx); }
1984 if (!thissop)
return (myNumgroups(_idx[0]).pointgroupnames);
1986 _parmidx[1-1] = _idx[1-1] + 1;
1989 OP_Utils::evalOpParmInst(result, thissop,
"pointgroupnames#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1998 if (!thissop)
return getUsetargetgroup();
2000 OP_Utils::evalOpParm(result, thissop,
"usetargetgroup", cookparms.
getCookTime(), 0);
2008 if (!thissop)
return getTargetgroup();
2010 OP_Utils::evalOpParm(result, thissop,
"targetgroup", cookparms.
getCookTime(), 0);
2018 if (!thissop)
return getModifyboth();
2020 OP_Utils::evalOpParm(result, thissop,
"modifyboth", cookparms.
getCookTime(), 0);
2032 int64 myTargetClass;
2033 bool myUsePositionSnapMethod;
2034 int64 myPositionSnapMethod;
2036 bool myUseradiusattrib;
2038 bool myUsematchattrib;
2050 bool myConsolidateSnappedPoints;
2051 bool myKeepConsolidatedPoints;
2053 bool myDelDegenPoints;
2054 bool myDelUnusedPoints;
2055 bool myRecomputenml;
2056 bool myCreatesnappedgroup;
2058 bool myCreatesnappedattrib;
2062 bool myUsetargetgroup;
UT_StringHolder opNumpointattribs_pointattribnames(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
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
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)
virtual NodeIdx getInput(NodeIdx idx, int input, bool markused=false) const =0
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
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)
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
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
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
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)