23 namespace SOP_QuadRemeshEnums
34 using namespace UT::Literal;
54 using namespace UT::Literal;
74 using namespace UT::Literal;
91 using namespace UT::Literal;
108 using namespace UT::Literal;
109 switch (enum_value) {
125 using namespace UT::Literal;
126 switch (enum_value) {
142 using namespace UT::Literal;
143 switch (enum_value) {
159 using namespace UT::Literal;
160 switch (enum_value) {
176 using namespace UT::Literal;
177 switch (enum_value) {
196 myDecimationLevel = 2;
198 myResolutionMode = 0;
199 myTargetQuadCount = 10000;
200 myTargetQuadArea = .1;
201 myTargetTolerance = .1;
202 myResolutionScale = 0;
203 myResolutionSource = 0;
204 myTriangleArea = .125;
212 myMirrorOutput =
true;
213 myEnableConsolidateSeam =
true;
214 myConsolidateSeam = 0.0001;
215 myFeatureBoundaries =
true;
217 myGlobalWeight = 0.1;
218 myGlobalMask =
""_UTsh;
219 mySymmetryAlignment = 1;
221 myLocalCurvatureWeight = 1;
222 myCurvatureMaskAttrib =
""_UTsh;
223 myCurvatureRotation = 0;
226 myLocalBoundaryWeight = 1;
227 myBoundaryMaskAttrib =
""_UTsh;
228 myBoundaryRotation = 0;
231 myLocalGuideWeight = 1;
232 myGuideMaskAttrib =
""_UTsh;
233 myGuideAttrib =
""_UTsh;
246 if (myGroup != src.myGroup)
return false;
247 if (myDecimation != src.myDecimation)
return false;
248 if (myDecimationLevel != src.myDecimationLevel)
return false;
249 if (myOutput != src.myOutput)
return false;
250 if (myResolutionMode != src.myResolutionMode)
return false;
251 if (myTargetQuadCount != src.myTargetQuadCount)
return false;
252 if (myTargetQuadArea != src.myTargetQuadArea)
return false;
253 if (myTargetTolerance != src.myTargetTolerance)
return false;
254 if (myResolutionScale != src.myResolutionScale)
return false;
255 if (myResolutionSource != src.myResolutionSource)
return false;
256 if (myTriangleArea != src.myTriangleArea)
return false;
257 if (mySymmetryCenter != src.mySymmetryCenter)
return false;
258 if (myXAxis != src.myXAxis)
return false;
259 if (myXDirection != src.myXDirection)
return false;
260 if (myYAxis != src.myYAxis)
return false;
261 if (myYDirection != src.myYDirection)
return false;
262 if (myZAxis != src.myZAxis)
return false;
263 if (myZDirection != src.myZDirection)
return false;
264 if (myMirrorOutput != src.myMirrorOutput)
return false;
265 if (myEnableConsolidateSeam != src.myEnableConsolidateSeam)
return false;
266 if (myConsolidateSeam != src.myConsolidateSeam)
return false;
267 if (myFeatureBoundaries != src.myFeatureBoundaries)
return false;
268 if (myField != src.myField)
return false;
269 if (myGlobalWeight != src.myGlobalWeight)
return false;
270 if (myGlobalMask != src.myGlobalMask)
return false;
271 if (mySymmetryAlignment != src.mySymmetryAlignment)
return false;
272 if (myCurvature != src.myCurvature)
return false;
273 if (myLocalCurvatureWeight != src.myLocalCurvatureWeight)
return false;
274 if (myCurvatureMaskAttrib != src.myCurvatureMaskAttrib)
return false;
275 if (myCurvatureRotation != src.myCurvatureRotation)
return false;
276 if (myBoundary != src.myBoundary)
return false;
277 if (myBoundaryMode != src.myBoundaryMode)
return false;
278 if (myLocalBoundaryWeight != src.myLocalBoundaryWeight)
return false;
279 if (myBoundaryMaskAttrib != src.myBoundaryMaskAttrib)
return false;
280 if (myBoundaryRotation != src.myBoundaryRotation)
return false;
281 if (myGuide != src.myGuide)
return false;
282 if (myGuideMode != src.myGuideMode)
return false;
283 if (myLocalGuideWeight != src.myLocalGuideWeight)
return false;
284 if (myGuideMaskAttrib != src.myGuideMaskAttrib)
return false;
285 if (myGuideAttrib != src.myGuideAttrib)
return false;
309 graph->
evalOpParm(myGroup, nodeidx,
"group", time, 0);
312 graph->
evalOpParm(myDecimation, nodeidx,
"decimation", time, 0);
313 myDecimationLevel = 2;
315 graph->
evalOpParm(myDecimationLevel, nodeidx,
"decimationlevel", time, 0);
318 graph->
evalOpParm(myOutput, nodeidx,
"output", time, 0);
319 myResolutionMode = 0;
321 graph->
evalOpParm(myResolutionMode, nodeidx,
"resolution", time, 0);
322 myTargetQuadCount = 10000;
323 if (
true && ( (
true&&!(((
int64(getResolutionMode())!=0)))) ) )
324 graph->
evalOpParm(myTargetQuadCount, nodeidx,
"targetquadcount", time, 0);
325 myTargetQuadArea = .1;
326 if (
true && ( (
true&&!(((
int64(getResolutionMode())!=1)))) ) )
327 graph->
evalOpParm(myTargetQuadArea, nodeidx,
"targetquadarea", time, 0);
328 myTargetTolerance = .1;
329 if (
true && ( (
true&&!(((
int64(getResolutionMode())!=2)))) ) )
330 graph->
evalOpParm(myTargetTolerance, nodeidx,
"targettolerance", time, 0);
331 myResolutionScale = 0;
332 if (
true && ( (
true&&!(((
int64(getResolutionMode())!=4)&&(
int64(getResolutionMode())!=3)))) ) )
333 graph->
evalOpParm(myResolutionScale, nodeidx,
"resolutionscale", time, 0);
334 myResolutionSource = 0;
335 if (
true && ( (
true&&!(((
int64(getResolutionMode())!=4)))) ) )
336 graph->
evalOpParm(myResolutionSource, nodeidx,
"resolutionsource", time, 0);
337 myTriangleArea = .125;
338 if (
true && ( (
true&&!(((
int64(getResolutionMode())!=4))||((
int64(getResolutionSource())!=1)))) ) )
339 graph->
evalOpParm(myTriangleArea, nodeidx,
"trianglearea", time, 0);
342 graph->
evalOpParm(mySymmetryCenter, nodeidx,
"symmetrycenter", time, 0);
345 graph->
evalOpParm(myXAxis, nodeidx,
"xaxis", time, 0);
348 graph->
evalOpParm(myXDirection, nodeidx,
"xdirection", time, 0);
351 graph->
evalOpParm(myYAxis, nodeidx,
"yaxis", time, 0);
354 graph->
evalOpParm(myYDirection, nodeidx,
"ydirection", time, 0);
357 graph->
evalOpParm(myZAxis, nodeidx,
"zaxis", time, 0);
360 graph->
evalOpParm(myZDirection, nodeidx,
"zdirection", time, 0);
361 myMirrorOutput =
true;
363 graph->
evalOpParm(myMirrorOutput, nodeidx,
"mirroroutput", time, 0);
364 myEnableConsolidateSeam =
true;
365 if (
true && ( (
true&&!(((getMirrorOutput()==0)))) ) )
366 graph->
evalOpParm(myEnableConsolidateSeam, nodeidx,
"consolidatepts", time, 0);
367 myConsolidateSeam = 0.0001;
368 if (
true && ( (
true&&!(((getMirrorOutput()==0))||((getEnableConsolidateSeam()==0)))) ) )
369 graph->
evalOpParm(myConsolidateSeam, nodeidx,
"consolidatetol", time, 0);
370 myFeatureBoundaries =
true;
372 graph->
evalOpParm(myFeatureBoundaries, nodeidx,
"featureboundaries", time, 0);
375 graph->
evalOpParm(myField, nodeidx,
"field", time, 0);
376 myGlobalWeight = 0.1;
378 graph->
evalOpParm(myGlobalWeight, nodeidx,
"globalweight", time, 0);
379 myGlobalMask =
""_UTsh;
380 if (
true && ( (
true&&!(((
int64(getField())==1)))) ) )
381 graph->
evalOpParm(myGlobalMask, nodeidx,
"globalmask", time, 0);
382 mySymmetryAlignment = 1;
383 if (
true && ( (
true&&!(((
int64(getField())==1)))) ) )
384 graph->
evalOpParm(mySymmetryAlignment, nodeidx,
"symmetryalignment", time, 0);
386 if (
true && ( (
true&&!(((
int64(getField())==1)))) ) )
387 graph->
evalOpParm(myCurvature, nodeidx,
"curvature", time, 0);
388 myLocalCurvatureWeight = 1;
389 if (
true && ( (
true&&!(((
int64(getField())==1))||((getCurvature()==0)))) ) )
390 graph->
evalOpParm(myLocalCurvatureWeight, nodeidx,
"localcurvatureweight", time, 0);
391 myCurvatureMaskAttrib =
""_UTsh;
392 if (
true && ( (
true&&!(((
int64(getField())==1))||((getCurvature()==0)))) ) )
393 graph->
evalOpParm(myCurvatureMaskAttrib, nodeidx,
"curvaturemaskattrib", time, 0);
394 myCurvatureRotation = 0;
395 if (
true && ( (
true&&!(((
int64(getField())==1))||((getCurvature()==0)))) ) )
396 graph->
evalOpParm(myCurvatureRotation, nodeidx,
"curvaturerotation", time, 0);
398 if (
true && ( (
true&&!(((
int64(getField())==1)))) ) )
399 graph->
evalOpParm(myBoundary, nodeidx,
"boundary", time, 0);
401 if (
true && ( (
true&&!(((
int64(getField())==1))||((getBoundary()==0)))) ) )
402 graph->
evalOpParm(myBoundaryMode, nodeidx,
"boundarymode", time, 0);
403 myLocalBoundaryWeight = 1;
404 if (
true && ( (
true&&!(((
int64(getField())==1))||((getBoundary()==0)))) ) )
405 graph->
evalOpParm(myLocalBoundaryWeight, nodeidx,
"localboundaryweight", time, 0);
406 myBoundaryMaskAttrib =
""_UTsh;
407 if (
true && ( (
true&&!(((
int64(getField())==1))||((getBoundary()==0)))) ) )
408 graph->
evalOpParm(myBoundaryMaskAttrib, nodeidx,
"boundarymaskattrib", time, 0);
409 myBoundaryRotation = 0;
410 if (
true && ( (
true&&!(((
int64(getField())==1))||((getBoundary()==0)))) ) )
411 graph->
evalOpParm(myBoundaryRotation, nodeidx,
"boundaryrotation", time, 0);
413 if (
true && ( (
true&&!(((
int64(getField())==1)))) ) )
414 graph->
evalOpParm(myGuide, nodeidx,
"guide", time, 0);
416 if (
true && ( (
true&&!(((
int64(getField())==1))||((getGuide()==0)))) ) )
417 graph->
evalOpParm(myGuideMode, nodeidx,
"guidemode", time, 0);
418 myLocalGuideWeight = 1;
419 if (
true && ( (
true&&!(((
int64(getField())==1))||((getGuide()==0)))) ) )
420 graph->
evalOpParm(myLocalGuideWeight, nodeidx,
"localguideweight", time, 0);
421 myGuideMaskAttrib =
""_UTsh;
422 if (
true && ( (
true&&!(((
int64(getField())==1))||((getGuide()==0)))) ) )
423 graph->
evalOpParm(myGuideMaskAttrib, nodeidx,
"guidemaskattrib", time, 0);
424 myGuideAttrib =
""_UTsh;
425 if (
true && ( (
true&&!(((
int64(getField())==1))||((getGuide()==0)))) ) )
426 graph->
evalOpParm(myGuideAttrib, nodeidx,
"guideattrib", time, 0);
442 template <
typename T>
449 if (idx.
size() != instance.
size()+1)
454 coerceValue(value, myGroup);
457 coerceValue(value, myDecimation);
460 coerceValue(value, myDecimationLevel);
463 coerceValue(value, myOutput);
466 coerceValue(value, myResolutionMode);
469 coerceValue(value, myTargetQuadCount);
472 coerceValue(value, myTargetQuadArea);
475 coerceValue(value, myTargetTolerance);
478 coerceValue(value, myResolutionScale);
481 coerceValue(value, myResolutionSource);
484 coerceValue(value, myTriangleArea);
487 coerceValue(value, mySymmetryCenter);
490 coerceValue(value, myXAxis);
493 coerceValue(value, myXDirection);
496 coerceValue(value, myYAxis);
499 coerceValue(value, myYDirection);
502 coerceValue(value, myZAxis);
505 coerceValue(value, myZDirection);
508 coerceValue(value, myMirrorOutput);
511 coerceValue(value, myEnableConsolidateSeam);
514 coerceValue(value, myConsolidateSeam);
517 coerceValue(value, myFeatureBoundaries);
520 coerceValue(value, myField);
523 coerceValue(value, myGlobalWeight);
526 coerceValue(value, myGlobalMask);
529 coerceValue(value, mySymmetryAlignment);
532 coerceValue(value, myCurvature);
535 coerceValue(value, myLocalCurvatureWeight);
538 coerceValue(value, myCurvatureMaskAttrib);
541 coerceValue(value, myCurvatureRotation);
544 coerceValue(value, myBoundary);
547 coerceValue(value, myBoundaryMode);
550 coerceValue(value, myLocalBoundaryWeight);
553 coerceValue(value, myBoundaryMaskAttrib);
556 coerceValue(value, myBoundaryRotation);
559 coerceValue(value, myGuide);
562 coerceValue(value, myGuideMode);
565 coerceValue(value, myLocalGuideWeight);
568 coerceValue(value, myGuideMaskAttrib);
571 coerceValue(value, myGuideAttrib);
587 { doGetParmValue(idx, instance, value); }
589 { doGetParmValue(idx, instance, value); }
591 { doGetParmValue(idx, instance, value); }
593 { doGetParmValue(idx, instance, value); }
595 { doGetParmValue(idx, instance, value); }
597 { doGetParmValue(idx, instance, value); }
599 { doGetParmValue(idx, instance, value); }
601 { doGetParmValue(idx, instance, value); }
603 { doGetParmValue(idx, instance, value); }
605 { doGetParmValue(idx, instance, value); }
607 { doGetParmValue(idx, instance, value); }
609 template <
typename T>
616 if (idx.
size() != instance.
size()+1)
621 coerceValue(myGroup, ( ( value ) ));
624 coerceValue(myDecimation, ( ( value ) ));
627 coerceValue(myDecimationLevel, clampMinValue(1, clampMaxValue(12, value ) ));
630 coerceValue(myOutput, clampMinValue(0, clampMaxValue(1, value ) ));
633 coerceValue(myResolutionMode, clampMinValue(0, clampMaxValue(4, value ) ));
636 coerceValue(myTargetQuadCount, clampMinValue(100, ( value ) ));
639 coerceValue(myTargetQuadArea, clampMinValue(0, ( value ) ));
642 coerceValue(myTargetTolerance, clampMinValue(0, ( value ) ));
645 coerceValue(myResolutionScale, ( ( value ) ));
648 coerceValue(myResolutionSource, clampMinValue(0, clampMaxValue(1, value ) ));
651 coerceValue(myTriangleArea, ( ( value ) ));
654 coerceValue(mySymmetryCenter, ( ( value ) ));
657 coerceValue(myXAxis, ( ( value ) ));
660 coerceValue(myXDirection, clampMinValue(0, clampMaxValue(1, value ) ));
663 coerceValue(myYAxis, ( ( value ) ));
666 coerceValue(myYDirection, clampMinValue(0, clampMaxValue(1, value ) ));
669 coerceValue(myZAxis, ( ( value ) ));
672 coerceValue(myZDirection, clampMinValue(0, clampMaxValue(1, value ) ));
675 coerceValue(myMirrorOutput, ( ( value ) ));
678 coerceValue(myEnableConsolidateSeam, ( ( value ) ));
681 coerceValue(myConsolidateSeam, clampMinValue(0, ( value ) ));
684 coerceValue(myFeatureBoundaries, ( ( value ) ));
687 coerceValue(myField, clampMinValue(0, clampMaxValue(1, value ) ));
690 coerceValue(myGlobalWeight, clampMinValue(0, ( value ) ));
693 coerceValue(myGlobalMask, ( ( value ) ));
696 coerceValue(mySymmetryAlignment, clampMinValue(0, ( value ) ));
699 coerceValue(myCurvature, ( ( value ) ));
702 coerceValue(myLocalCurvatureWeight, clampMinValue(0, ( value ) ));
705 coerceValue(myCurvatureMaskAttrib, ( ( value ) ));
708 coerceValue(myCurvatureRotation, ( ( value ) ));
711 coerceValue(myBoundary, ( ( value ) ));
714 coerceValue(myBoundaryMode, clampMinValue(0, clampMaxValue(1, value ) ));
717 coerceValue(myLocalBoundaryWeight, clampMinValue(0, ( value ) ));
720 coerceValue(myBoundaryMaskAttrib, ( ( value ) ));
723 coerceValue(myBoundaryRotation, ( ( value ) ));
726 coerceValue(myGuide, ( ( value ) ));
729 coerceValue(myGuideMode, clampMinValue(0, clampMaxValue(1, value ) ));
732 coerceValue(myLocalGuideWeight, clampMinValue(0, ( value ) ));
735 coerceValue(myGuideMaskAttrib, ( ( value ) ));
738 coerceValue(myGuideAttrib, ( ( value ) ));
745 { doSetParmValue(idx, instance, value); }
747 { doSetParmValue(idx, instance, value); }
749 { doSetParmValue(idx, instance, value); }
751 { doSetParmValue(idx, instance, value); }
753 { doSetParmValue(idx, instance, value); }
755 { doSetParmValue(idx, instance, value); }
757 { doSetParmValue(idx, instance, value); }
759 { doSetParmValue(idx, instance, value); }
761 { doSetParmValue(idx, instance, value); }
763 { doSetParmValue(idx, instance, value); }
765 { doSetParmValue(idx, instance, value); }
781 if (fieldnum.
size() < 1)
790 return "decimationlevel";
796 return "targetquadcount";
798 return "targetquadarea";
800 return "targettolerance";
802 return "resolutionscale";
804 return "resolutionsource";
806 return "trianglearea";
808 return "symmetrycenter";
822 return "mirroroutput";
824 return "consolidatepts";
826 return "consolidatetol";
828 return "featureboundaries";
832 return "globalweight";
836 return "symmetryalignment";
840 return "localcurvatureweight";
842 return "curvaturemaskattrib";
844 return "curvaturerotation";
848 return "boundarymode";
850 return "localboundaryweight";
852 return "boundarymaskattrib";
854 return "boundaryrotation";
860 return "localguideweight";
862 return "guidemaskattrib";
864 return "guideattrib";
872 if (fieldnum.
size() < 1)
873 return PARM_UNSUPPORTED;
958 return PARM_UNSUPPORTED;
994 loadData(is, rampdata);
1012 int typelen = colon - data.
buffer();
1024 { UTwrite(os, &v); }
1026 {
int64 iv =
v; UTwrite(os, &iv); }
1028 { UTwrite<fpreal64>(os, &
v); }
1030 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1032 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1033 UTwrite<fpreal64>(os, &v.
z()); }
1035 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1036 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1048 if (s) s->save(ostr);
1049 result = ostr.
str();
1050 saveData(os, result);
1057 ostr << s->getDataTypeToken();
1059 s->saveBinary(ostr);
1061 result = ostr.
str();
1062 saveData(os, result);
1070 saveData(os, myGroup);
1071 saveData(os, myDecimation);
1072 saveData(os, myDecimationLevel);
1073 saveData(os, myOutput);
1074 saveData(os, myResolutionMode);
1075 saveData(os, myTargetQuadCount);
1076 saveData(os, myTargetQuadArea);
1077 saveData(os, myTargetTolerance);
1078 saveData(os, myResolutionScale);
1079 saveData(os, myResolutionSource);
1080 saveData(os, myTriangleArea);
1081 saveData(os, mySymmetryCenter);
1082 saveData(os, myXAxis);
1083 saveData(os, myXDirection);
1084 saveData(os, myYAxis);
1085 saveData(os, myYDirection);
1086 saveData(os, myZAxis);
1087 saveData(os, myZDirection);
1088 saveData(os, myMirrorOutput);
1089 saveData(os, myEnableConsolidateSeam);
1090 saveData(os, myConsolidateSeam);
1091 saveData(os, myFeatureBoundaries);
1092 saveData(os, myField);
1093 saveData(os, myGlobalWeight);
1094 saveData(os, myGlobalMask);
1095 saveData(os, mySymmetryAlignment);
1096 saveData(os, myCurvature);
1097 saveData(os, myLocalCurvatureWeight);
1098 saveData(os, myCurvatureMaskAttrib);
1099 saveData(os, myCurvatureRotation);
1100 saveData(os, myBoundary);
1101 saveData(os, myBoundaryMode);
1102 saveData(os, myLocalBoundaryWeight);
1103 saveData(os, myBoundaryMaskAttrib);
1104 saveData(os, myBoundaryRotation);
1105 saveData(os, myGuide);
1106 saveData(os, myGuideMode);
1107 saveData(os, myLocalGuideWeight);
1108 saveData(os, myGuideMaskAttrib);
1109 saveData(os, myGuideAttrib);
1122 loadData(is, myGroup);
1123 loadData(is, myDecimation);
1124 loadData(is, myDecimationLevel);
1125 loadData(is, myOutput);
1126 loadData(is, myResolutionMode);
1127 loadData(is, myTargetQuadCount);
1128 loadData(is, myTargetQuadArea);
1129 loadData(is, myTargetTolerance);
1130 loadData(is, myResolutionScale);
1131 loadData(is, myResolutionSource);
1132 loadData(is, myTriangleArea);
1133 loadData(is, mySymmetryCenter);
1134 loadData(is, myXAxis);
1135 loadData(is, myXDirection);
1136 loadData(is, myYAxis);
1137 loadData(is, myYDirection);
1138 loadData(is, myZAxis);
1139 loadData(is, myZDirection);
1140 loadData(is, myMirrorOutput);
1141 loadData(is, myEnableConsolidateSeam);
1142 loadData(is, myConsolidateSeam);
1143 loadData(is, myFeatureBoundaries);
1144 loadData(is, myField);
1145 loadData(is, myGlobalWeight);
1146 loadData(is, myGlobalMask);
1147 loadData(is, mySymmetryAlignment);
1148 loadData(is, myCurvature);
1149 loadData(is, myLocalCurvatureWeight);
1150 loadData(is, myCurvatureMaskAttrib);
1151 loadData(is, myCurvatureRotation);
1152 loadData(is, myBoundary);
1153 loadData(is, myBoundaryMode);
1154 loadData(is, myLocalBoundaryWeight);
1155 loadData(is, myBoundaryMaskAttrib);
1156 loadData(is, myBoundaryRotation);
1157 loadData(is, myGuide);
1158 loadData(is, myGuideMode);
1159 loadData(is, myLocalGuideWeight);
1160 loadData(is, myGuideMaskAttrib);
1161 loadData(is, myGuideAttrib);
1171 if (!thissop)
return getGroup();
1173 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
1181 if (!thissop)
return getDecimation();
1183 OP_Utils::evalOpParm(result, thissop,
"decimation", cookparms.
getCookTime(), 0);
1191 if (!thissop)
return getDecimationLevel();
1193 OP_Utils::evalOpParm(result, thissop,
"decimationlevel", cookparms.
getCookTime(), 0);
1201 if (!thissop)
return getOutput();
1203 OP_Utils::evalOpParm(result, thissop,
"output", cookparms.
getCookTime(), 0);
1211 if (!thissop)
return getResolutionMode();
1213 OP_Utils::evalOpParm(result, thissop,
"resolution", cookparms.
getCookTime(), 0);
1221 if (!thissop)
return getTargetQuadCount();
1223 OP_Utils::evalOpParm(result, thissop,
"targetquadcount", cookparms.
getCookTime(), 0);
1231 if (!thissop)
return getTargetQuadArea();
1233 OP_Utils::evalOpParm(result, thissop,
"targetquadarea", cookparms.
getCookTime(), 0);
1241 if (!thissop)
return getTargetTolerance();
1243 OP_Utils::evalOpParm(result, thissop,
"targettolerance", cookparms.
getCookTime(), 0);
1251 if (!thissop)
return getResolutionScale();
1253 OP_Utils::evalOpParm(result, thissop,
"resolutionscale", cookparms.
getCookTime(), 0);
1261 if (!thissop)
return getResolutionSource();
1263 OP_Utils::evalOpParm(result, thissop,
"resolutionsource", cookparms.
getCookTime(), 0);
1271 if (!thissop)
return getTriangleArea();
1273 OP_Utils::evalOpParm(result, thissop,
"trianglearea", cookparms.
getCookTime(), 0);
1281 if (!thissop)
return getSymmetryCenter();
1283 OP_Utils::evalOpParm(result, thissop,
"symmetrycenter", cookparms.
getCookTime(), 0);
1291 if (!thissop)
return getXAxis();
1293 OP_Utils::evalOpParm(result, thissop,
"xaxis", cookparms.
getCookTime(), 0);
1301 if (!thissop)
return getXDirection();
1303 OP_Utils::evalOpParm(result, thissop,
"xdirection", cookparms.
getCookTime(), 0);
1311 if (!thissop)
return getYAxis();
1313 OP_Utils::evalOpParm(result, thissop,
"yaxis", cookparms.
getCookTime(), 0);
1321 if (!thissop)
return getYDirection();
1323 OP_Utils::evalOpParm(result, thissop,
"ydirection", cookparms.
getCookTime(), 0);
1331 if (!thissop)
return getZAxis();
1333 OP_Utils::evalOpParm(result, thissop,
"zaxis", cookparms.
getCookTime(), 0);
1341 if (!thissop)
return getZDirection();
1343 OP_Utils::evalOpParm(result, thissop,
"zdirection", cookparms.
getCookTime(), 0);
1351 if (!thissop)
return getMirrorOutput();
1353 OP_Utils::evalOpParm(result, thissop,
"mirroroutput", cookparms.
getCookTime(), 0);
1361 if (!thissop)
return getEnableConsolidateSeam();
1363 OP_Utils::evalOpParm(result, thissop,
"consolidatepts", cookparms.
getCookTime(), 0);
1371 if (!thissop)
return getConsolidateSeam();
1373 OP_Utils::evalOpParm(result, thissop,
"consolidatetol", cookparms.
getCookTime(), 0);
1381 if (!thissop)
return getFeatureBoundaries();
1383 OP_Utils::evalOpParm(result, thissop,
"featureboundaries", cookparms.
getCookTime(), 0);
1391 if (!thissop)
return getField();
1393 OP_Utils::evalOpParm(result, thissop,
"field", cookparms.
getCookTime(), 0);
1394 return Field(result);
1401 if (!thissop)
return getGlobalWeight();
1403 OP_Utils::evalOpParm(result, thissop,
"globalweight", cookparms.
getCookTime(), 0);
1411 if (!thissop)
return getGlobalMask();
1413 OP_Utils::evalOpParm(result, thissop,
"globalmask", cookparms.
getCookTime(), 0);
1421 if (!thissop)
return getSymmetryAlignment();
1423 OP_Utils::evalOpParm(result, thissop,
"symmetryalignment", cookparms.
getCookTime(), 0);
1431 if (!thissop)
return getCurvature();
1433 OP_Utils::evalOpParm(result, thissop,
"curvature", cookparms.
getCookTime(), 0);
1441 if (!thissop)
return getLocalCurvatureWeight();
1443 OP_Utils::evalOpParm(result, thissop,
"localcurvatureweight", cookparms.
getCookTime(), 0);
1451 if (!thissop)
return getCurvatureMaskAttrib();
1453 OP_Utils::evalOpParm(result, thissop,
"curvaturemaskattrib", cookparms.
getCookTime(), 0);
1461 if (!thissop)
return getCurvatureRotation();
1463 OP_Utils::evalOpParm(result, thissop,
"curvaturerotation", cookparms.
getCookTime(), 0);
1471 if (!thissop)
return getBoundary();
1473 OP_Utils::evalOpParm(result, thissop,
"boundary", cookparms.
getCookTime(), 0);
1481 if (!thissop)
return getBoundaryMode();
1483 OP_Utils::evalOpParm(result, thissop,
"boundarymode", cookparms.
getCookTime(), 0);
1491 if (!thissop)
return getLocalBoundaryWeight();
1493 OP_Utils::evalOpParm(result, thissop,
"localboundaryweight", cookparms.
getCookTime(), 0);
1501 if (!thissop)
return getBoundaryMaskAttrib();
1503 OP_Utils::evalOpParm(result, thissop,
"boundarymaskattrib", cookparms.
getCookTime(), 0);
1511 if (!thissop)
return getBoundaryRotation();
1513 OP_Utils::evalOpParm(result, thissop,
"boundaryrotation", cookparms.
getCookTime(), 0);
1521 if (!thissop)
return getGuide();
1523 OP_Utils::evalOpParm(result, thissop,
"guide", cookparms.
getCookTime(), 0);
1531 if (!thissop)
return getGuideMode();
1533 OP_Utils::evalOpParm(result, thissop,
"guidemode", cookparms.
getCookTime(), 0);
1541 if (!thissop)
return getLocalGuideWeight();
1543 OP_Utils::evalOpParm(result, thissop,
"localguideweight", cookparms.
getCookTime(), 0);
1551 if (!thissop)
return getGuideMaskAttrib();
1553 OP_Utils::evalOpParm(result, thissop,
"guidemaskattrib", cookparms.
getCookTime(), 0);
1561 if (!thissop)
return getGuideAttrib();
1563 OP_Utils::evalOpParm(result, thissop,
"guideattrib", cookparms.
getCookTime(), 0);
1570 int64 myDecimationLevel;
1572 int64 myResolutionMode;
1573 int64 myTargetQuadCount;
1576 int64 myResolutionScale;
1577 int64 myResolutionSource;
1586 bool myMirrorOutput;
1587 bool myEnableConsolidateSeam;
1589 bool myFeatureBoundaries;
1599 int64 myBoundaryMode;
void setDecimation(bool val)
BoundaryMode getBoundaryMode() const
BoundaryMode opBoundaryMode(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D getSymmetryCenter() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
static void saveData(std::ostream &os, UT_Vector3D v)
static void saveData(std::ostream &os, UT_Vector4D v)
void setTargetQuadArea(fpreal64 val)
void setCurvatureRotation(fpreal64 val)
void setLocalCurvatureWeight(fpreal64 val)
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
SOP_Node * getNode() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
fpreal64 opCurvatureRotation(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
void setSymmetryAlignment(fpreal64 val)
static void loadData(UT_IStream &is, UT_Vector3D &v)
void setYDirection(YDirection val)
const UT_StringHolder & getGlobalMask() const
bool opBoundary(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opGuideAttrib(const SOP_NodeVerb::CookParms &cookparms) const
YDirection opYDirection(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix2D v)
fpreal64 opTargetQuadArea(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector4D &v)
const UT_StringHolder & getGuideMaskAttrib() const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
exint bread(int32 *buffer, exint asize=1)
XDirection opXDirection(const SOP_NodeVerb::CookParms &cookparms) const
int64 getResolutionScale() const
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
void setConsolidateSeam(fpreal64 val)
const UT_StringHolder & getGuideAttrib() const
bool opGuide(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getLocalBoundaryWeight() const
Output opOutput(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, bool &v)
void save(std::ostream &os) const
UT_StringHolder opGlobalMask(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, fpreal64 v)
fpreal64 getTriangleArea() const
fpreal64 opTargetTolerance(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opGuideMaskAttrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D opSymmetryCenter(const SOP_NodeVerb::CookParms &cookparms) const
const OP_Context & context() const
void setBoundary(bool val)
bool opDecimation(const SOP_NodeVerb::CookParms &cookparms) const
void setOutput(Output val)
constexpr SYS_FORCE_INLINE T & z() noexcept
SYS_FORCE_INLINE const char * buffer() const
exint getNestNumParms(TempIndex idx) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
bool opFeatureBoundaries(const SOP_NodeVerb::CookParms &cookparms) const
const char * getNestParmName(TempIndex fieldnum) const override
void setResolutionMode(ResolutionMode val)
An output stream object that owns its own string buffer storage.
fpreal64 getBoundaryRotation() const
static void loadData(UT_IStream &is, UT_Vector4I &v)
void setBoundaryMaskAttrib(const UT_StringHolder &val)
**But if you need a result
void setGlobalWeight(fpreal64 val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
void setGuideAttrib(const UT_StringHolder &val)
static void saveData(std::ostream &os, UT_Matrix3D v)
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
fpreal64 getConsolidateSeam() const
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
fpreal64 getLocalCurvatureWeight() const
constexpr SYS_FORCE_INLINE T & x() noexcept
fpreal64 getTargetTolerance() const
GuideMode getGuideMode() const
void setResolutionSource(ResolutionSource val)
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
void setCurvature(bool val)
ResolutionSource getResolutionSource() const
UT_StringHolder opCurvatureMaskAttrib(const SOP_NodeVerb::CookParms &cookparms) const
bool opCurvature(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & x() noexcept
ParmType getNestParmType(TempIndex fieldnum) const override
void setCurvatureMaskAttrib(const UT_StringHolder &val)
int64 opResolutionScale(const SOP_NodeVerb::CookParms &cookparms) const
ResolutionMode opResolutionMode(const SOP_NodeVerb::CookParms &cookparms) const
int64 getTargetQuadCount() const
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
ResolutionSource opResolutionSource(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opBoundaryRotation(const SOP_NodeVerb::CookParms &cookparms) const
bool opYAxis(const SOP_NodeVerb::CookParms &cookparms) const
Field opField(const SOP_NodeVerb::CookParms &cookparms) const
void setMirrorOutput(bool val)
YDirection getYDirection() const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
bool opEnableConsolidateSeam(const SOP_NodeVerb::CookParms &cookparms) const
bool isParmColorRamp(exint idx) const override
fpreal64 opConsolidateSeam(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opLocalCurvatureWeight(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
int64 opTargetQuadCount(const SOP_NodeVerb::CookParms &cookparms) const
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
constexpr SYS_FORCE_INLINE T & z() noexcept
bool opMirrorOutput(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE UT_StringHolder getToken(Output enum_value)
static void loadData(UT_IStream &is, int64 &v)
void loadFromOpSubclass(const LoadParms &loadparms) override
const OP_GraphProxy * graph() const
void setBoundaryRotation(fpreal64 val)
bool getFeatureBoundaries() const
bool load(UT_IStream &is)
bool getEnableConsolidateSeam() const
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
bool opZAxis(const SOP_NodeVerb::CookParms &cookparms) const
void setGuideMode(GuideMode val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
void setLocalGuideWeight(fpreal64 val)
void setZDirection(ZDirection val)
int64 getDecimationLevel() const
ZDirection getZDirection() const
ZDirection opZDirection(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3T< fpreal64 > UT_Vector3D
static void saveData(std::ostream &os, int64 v)
void setGroup(const UT_StringHolder &val)
static void saveData(std::ostream &os, UT_StringHolder s)
void setGuideMaskAttrib(const UT_StringHolder &val)
bool getMirrorOutput() const
void setDecimationLevel(int64 val)
static void saveData(std::ostream &os, UT_Vector2D v)
void setGlobalMask(const UT_StringHolder &val)
fpreal64 opSymmetryAlignment(const SOP_NodeVerb::CookParms &cookparms) const
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
void setLocalBoundaryWeight(fpreal64 val)
static void loadData(UT_IStream &is, fpreal64 &v)
void saveBinary(std::ostream &os) const
Save string to binary stream.
GT_API const UT_StringHolder version
const UT_StringHolder & getBoundaryMaskAttrib() const
static void loadData(UT_IStream &is, UT_Vector3I &v)
fpreal64 getCurvatureRotation() const
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
void setTargetQuadCount(int64 val)
static void loadData(UT_IStream &is, UT_Vector2I &v)
static void saveData(std::ostream &os, UT_Matrix4D v)
int64 opDecimationLevel(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
static void saveData(std::ostream &os, PRM_DataItemHandle s)
bool getDecimation() const
ResolutionMode getResolutionMode() const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
void setTargetTolerance(fpreal64 val)
DEP_MicroNode * depnode() const
void setFeatureBoundaries(bool val)
bool operator!=(const SOP_QuadRemeshParms &src) const
LeafData & operator=(const LeafData &)=delete
Utility class for containing a color ramp.
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
void setResolutionScale(int64 val)
constexpr SYS_FORCE_INLINE T & w() noexcept
bool opXAxis(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getGlobalWeight() const
void setXDirection(XDirection val)
static void saveData(std::ostream &os, bool v)
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
void setBoundaryMode(BoundaryMode val)
const UT_StringHolder & getGroup() const
void copyFrom(const OP_NodeParms *src) override
static void loadData(UT_IStream &is, UT_Vector2D &v)
fpreal64 getSymmetryAlignment() const
XDirection getXDirection() const
fpreal getCookTime() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
GuideMode opGuideMode(const SOP_NodeVerb::CookParms &cookparms) const
void setEnableConsolidateSeam(bool val)
const char * findChar(int c) const
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
fpreal64 opGlobalWeight(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
fpreal64 opTriangleArea(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
bool getCurvature() const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
fpreal64 opLocalBoundaryWeight(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & y() noexcept
bool operator==(const SOP_QuadRemeshParms &src) const
UT_StringHolder opBoundaryMaskAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setTriangleArea(fpreal64 val)
void setSymmetryCenter(UT_Vector3D val)
static void loadData(UT_IStream &is, UT_StringHolder &v)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
fpreal64 opLocalGuideWeight(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getTargetQuadArea() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
constexpr SYS_FORCE_INLINE T & y() noexcept
SYS_FORCE_INLINE bool isstring() const
fpreal64 getLocalGuideWeight() const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
const UT_StringHolder & getCurvatureMaskAttrib() const
constexpr SYS_FORCE_INLINE T & x() noexcept