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)