23 namespace SOP_Measure_2_0Enums
34 using namespace UT::Literal;
58 using namespace UT::Literal;
84 using namespace UT::Literal;
103 using namespace UT::Literal;
104 switch (enum_value) {
120 using namespace UT::Literal;
121 switch (enum_value) {
138 using namespace UT::Literal;
139 switch (enum_value) {
157 using namespace UT::Literal;
158 switch (enum_value) {
177 using namespace UT::Literal;
178 switch (enum_value) {
197 using namespace UT::Literal;
198 switch (enum_value) {
216 using namespace UT::Literal;
217 switch (enum_value) {
235 using namespace UT::Literal;
236 switch (enum_value) {
260 myPrincipalReportAs = 0;
262 myIntegrationMode = 0;
263 mySrcAttrib =
"P"_UTsh;
265 myScaleNormalize =
true;
266 myIntegrationDomain = 0;
267 myRefineToManifold =
true;
268 myPieceAttrib =
"class"_UTsh;
269 myUseCustomPos =
false;
270 myPosAttrib =
"P"_UTsh;
271 myUseRangeMin =
false;
273 myUseRangeMax =
false;
275 myUseCenterWidth =
true;
282 myAttribName =
"area"_UTsh;
283 myUseTotalAttrib =
false;
284 myTotalAttribName =
"totalarea"_UTsh;
285 myUseRangeGroup =
false;
286 myRangeGroup =
"inrange"_UTsh;
287 myBakeIntoOutput =
false;
288 myUseRemapRange =
false;
302 if (myGroup != src.myGroup)
return false;
303 if (myGroupType != src.myGroupType)
return false;
304 if (myMeasure != src.myMeasure)
return false;
305 if (myCurvatureType != src.myCurvatureType)
return false;
306 if (myPrincipalType != src.myPrincipalType)
return false;
307 if (myPrincipalSign != src.myPrincipalSign)
return false;
308 if (myPrincipalReportAs != src.myPrincipalReportAs)
return false;
309 if (myUmbilicCutoff != src.myUmbilicCutoff)
return false;
310 if (myIntegrationMode != src.myIntegrationMode)
return false;
311 if (mySrcAttrib != src.mySrcAttrib)
return false;
312 if (mySrcComp != src.mySrcComp)
return false;
313 if (myScaleNormalize != src.myScaleNormalize)
return false;
314 if (myIntegrationDomain != src.myIntegrationDomain)
return false;
315 if (myRefineToManifold != src.myRefineToManifold)
return false;
316 if (myPieceAttrib != src.myPieceAttrib)
return false;
317 if (myUseCustomPos != src.myUseCustomPos)
return false;
318 if (myPosAttrib != src.myPosAttrib)
return false;
319 if (myUseRangeMin != src.myUseRangeMin)
return false;
320 if (myRangeMin != src.myRangeMin)
return false;
321 if (myUseRangeMax != src.myUseRangeMax)
return false;
322 if (myRangeMax != src.myRangeMax)
return false;
323 if (myUseCenterWidth != src.myUseCenterWidth)
return false;
324 if (myWidth != src.myWidth)
return false;
325 if (myWidthScale != src.myWidthScale)
return false;
326 if (myCenterType != src.myCenterType)
return false;
327 if (myFixedCenter != src.myFixedCenter)
return false;
328 if (myColorramp != src.myColorramp)
329 {
if (!myColorramp || !src.myColorramp || !(*myColorramp == *src.myColorramp))
return false; }
330 if (myVectorScale != src.myVectorScale)
return false;
331 if (myAttribName != src.myAttribName)
return false;
332 if (myUseTotalAttrib != src.myUseTotalAttrib)
return false;
333 if (myTotalAttribName != src.myTotalAttribName)
return false;
334 if (myUseRangeGroup != src.myUseRangeGroup)
return false;
335 if (myRangeGroup != src.myRangeGroup)
return false;
336 if (myBakeIntoOutput != src.myBakeIntoOutput)
return false;
337 if (myUseRemapRange != src.myUseRemapRange)
return false;
338 if (myRemapRange != src.myRemapRange)
return false;
364 graph->
evalOpParm(myGroup, nodeidx,
"group", time, 0);
367 graph->
evalOpParm(myGroupType, nodeidx,
"grouptype", time, 0);
370 graph->
evalOpParm(myMeasure, nodeidx,
"measure", time, 0);
372 if (
true && ( (
true&&!(((
int64(getMeasure())!=4)))) ) )
373 graph->
evalOpParm(myCurvatureType, nodeidx,
"curvaturetype", time, 0);
375 if (
true && ( (
true&&!(((
int64(getMeasure())!=4))||((
int64(getCurvatureType())!=2)))) ) )
376 graph->
evalOpParm(myPrincipalType, nodeidx,
"principaltype", time, 0);
378 if (
true && ( (
true&&!(((
int64(getMeasure())!=4))||((
int64(getCurvatureType())!=2)))) ) )
379 graph->
evalOpParm(myPrincipalSign, nodeidx,
"principalsign", time, 0);
380 myPrincipalReportAs = 0;
381 if (
true && ( (
true&&!(((
int64(getMeasure())!=4))||((
int64(getCurvatureType())!=2)))) ) )
382 graph->
evalOpParm(myPrincipalReportAs, nodeidx,
"principalreportas", time, 0);
384 if (
true && ( (
true&&!(((
int64(getMeasure())!=4))||((
int64(getCurvatureType())!=2))||((
int64(getPrincipalReportAs())==0)))) ) )
385 graph->
evalOpParm(myUmbilicCutoff, nodeidx,
"umbiliccutoff", time, 0);
386 myIntegrationMode = 0;
387 if (
true && ( (
true&&!(((
int64(getMeasure())!=7)&&(
int64(getMeasure())!=8)))) ) )
388 graph->
evalOpParm(myIntegrationMode, nodeidx,
"integrationmode", time, 0);
389 mySrcAttrib =
"P"_UTsh;
390 if (
true && ( (
true&&!(((
int64(getMeasure())==4))||((
int64(getMeasure())==2))||((
int64(getMeasure())==0))||((
int64(getMeasure())==1))||((
int64(getMeasure())==3)))) ) )
391 graph->
evalOpParm(mySrcAttrib, nodeidx,
"srcattrib", time, 0);
393 if (
true && ( (
true&&!(((
int64(getMeasure())==4))||((
int64(getMeasure())==2))||((
int64(getMeasure())==0))||((
int64(getMeasure())==1))||((
int64(getMeasure())==3)))) ) )
394 graph->
evalOpParm(mySrcComp, nodeidx,
"srccomp", time, 0);
395 myScaleNormalize =
true;
396 if (
true && ( (
true&&!(((
int64(getMeasure())!=4)&&(
int64(getMeasure())!=5)&&(
int64(getMeasure())!=6)&&(
int64(getMeasure())!=8))||((
int64(getMeasure())==4)&&(
int64(getCurvatureType())==0)))) ) )
397 graph->
evalOpParm(myScaleNormalize, nodeidx,
"scalenormalize", time, 0);
398 myIntegrationDomain = 0;
400 graph->
evalOpParm(myIntegrationDomain, nodeidx,
"integrationdomain", time, 0);
401 myRefineToManifold =
true;
402 if (
true && ( (
true&&!(((
int64(getIntegrationDomain())!=1)))) ) )
403 graph->
evalOpParm(myRefineToManifold, nodeidx,
"refinetomanifold", time, 0);
404 myPieceAttrib =
"class"_UTsh;
405 if (
true && ( (
true&&!(((
int64(getIntegrationDomain())!=1)))) ) )
406 graph->
evalOpParm(myPieceAttrib, nodeidx,
"pieceattrib", time, 0);
407 myUseCustomPos =
false;
409 graph->
evalOpParm(myUseCustomPos, nodeidx,
"usecustompos", time, 0);
410 myPosAttrib =
"P"_UTsh;
411 if (
true && ( (
true&&!(((getUseCustomPos()==0)))) ) )
412 graph->
evalOpParm(myPosAttrib, nodeidx,
"posattrib", time, 0);
413 myUseRangeMin =
false;
414 if (
true && ( (
true&&!(((
int64(getMeasure())==3))||((
int64(getMeasure())==4)&&(
int64(getPrincipalReportAs())==1)))) ) )
415 graph->
evalOpParm(myUseRangeMin, nodeidx,
"userangemin", time, 0);
417 if (
true && ( (
true&&!(((
int64(getMeasure())==3))||((
int64(getMeasure())==4)&&(
int64(getPrincipalReportAs())==1))||((getUseRangeMin()==0)))) ) )
418 graph->
evalOpParm(myRangeMin, nodeidx,
"rangemin", time, 0);
419 myUseRangeMax =
false;
420 if (
true && ( (
true&&!(((
int64(getMeasure())==3))||((
int64(getMeasure())==4)&&(
int64(getPrincipalReportAs())==1)))) ) )
421 graph->
evalOpParm(myUseRangeMax, nodeidx,
"userangemax", time, 0);
423 if (
true && ( (
true&&!(((
int64(getMeasure())==3))||((
int64(getMeasure())==4)&&(
int64(getPrincipalReportAs())==1))||((getUseRangeMax()==0)))) ) )
424 graph->
evalOpParm(myRangeMax, nodeidx,
"rangemax", time, 0);
425 myUseCenterWidth =
true;
426 if (
true && ( (
true&&!(((
int64(getMeasure())==3))||((
int64(getMeasure())==4)&&(
int64(getPrincipalReportAs())==1)))) ) )
427 graph->
evalOpParm(myUseCenterWidth, nodeidx,
"usecenterwidth", time, 0);
429 if (
true && ( (
true&&!(((
int64(getMeasure())==3))||((
int64(getMeasure())==4)&&(
int64(getPrincipalReportAs())==1))||((getUseCenterWidth()==0)))) ) )
430 graph->
evalOpParm(myWidth, nodeidx,
"width", time, 0);
432 if (
true && ( (
true&&!(((
int64(getMeasure())==3))||((
int64(getMeasure())==4)&&(
int64(getPrincipalReportAs())==1))||((getUseCenterWidth()==0)))) ) )
433 graph->
evalOpParm(myWidthScale, nodeidx,
"widthscale", time, 0);
435 if (
true && ( (
true&&!(((
int64(getMeasure())==3))||((
int64(getMeasure())==4)&&(
int64(getPrincipalReportAs())==1))||((getUseCenterWidth()==0)))) ) )
436 graph->
evalOpParm(myCenterType, nodeidx,
"centertype", time, 0);
438 if (
true && ( (
true&&!(((
int64(getCenterType())!=0))||((
int64(getMeasure())==3))||((
int64(getMeasure())==4)&&(
int64(getPrincipalReportAs())==1))||((getUseCenterWidth()==0)))) ) )
439 graph->
evalOpParm(myFixedCenter, nodeidx,
"fixedcenter", time, 0);
441 if (
true && ( (
true&&!(((
int64(getMeasure())==3))||((
int64(getMeasure())==4)&&(
int64(getPrincipalReportAs())==1)))) ) )
442 graph->
evalOpParm(myColorramp, nodeidx,
"colorramp", time, 0);
444 if (
true && ( (
true&&!(((
int64(getMeasure())==4)&&(
int64(getPrincipalReportAs())==0))||((
int64(getMeasure())==2))||((
int64(getMeasure())==0))||((
int64(getMeasure())==1))||((
int64(getMeasure())==3))||((
int64(getMeasure())==6)&&(
int64(getSrcComp())!=3))||((
int64(getMeasure())==8)&&(
int64(getSrcComp())!=3))||((
int64(getMeasure())==7)&&(
int64(getSrcComp())!=3)))) ) )
445 graph->
evalOpParm(myVectorScale, nodeidx,
"vectorscale", time, 0);
446 myAttribName =
"area"_UTsh;
448 graph->
evalOpParm(myAttribName, nodeidx,
"attribname", time, 0);
449 myUseTotalAttrib =
false;
451 graph->
evalOpParm(myUseTotalAttrib, nodeidx,
"usetotalattrib", time, 0);
452 myTotalAttribName =
"totalarea"_UTsh;
453 if (
true && ( (
true&&!(((getUseTotalAttrib()==0)))) ) )
454 graph->
evalOpParm(myTotalAttribName, nodeidx,
"totalattribname", time, 0);
455 myUseRangeGroup =
false;
456 if (
true && ( (
true&&!(((
int64(getMeasure())==3))||((
int64(getMeasure())==4)&&(
int64(getPrincipalReportAs())==1))||((getUseRangeMin()==0)&&(getUseRangeMax()==0)&&(getUseCenterWidth()==0)))) ) )
457 graph->
evalOpParm(myUseRangeGroup, nodeidx,
"userangegroup", time, 0);
458 myRangeGroup =
"inrange"_UTsh;
459 if (
true && ( (
true&&!(((getUseRangeGroup()==0)))) ) )
460 graph->
evalOpParm(myRangeGroup, nodeidx,
"rangegroup", time, 0);
461 myBakeIntoOutput =
false;
462 if (
true && ( (
true&&!(((
int64(getMeasure())==3))||((
int64(getMeasure())==4)&&(
int64(getPrincipalReportAs())==1))||((getUseRangeMin()==0)&&(getUseRangeMax()==0)&&(getUseCenterWidth()==0)))) ) )
463 graph->
evalOpParm(myBakeIntoOutput, nodeidx,
"bakeintooutput", time, 0);
464 myUseRemapRange =
false;
465 if (
true && ( (
true&&!(((getBakeIntoOutput()==0)))) ) )
466 graph->
evalOpParm(myUseRemapRange, nodeidx,
"useremaprange", time, 0);
468 if (
true && ( (
true&&!(((getBakeIntoOutput()==0))||((getUseRemapRange()==0)))) ) )
469 graph->
evalOpParm(myRemapRange, nodeidx,
"remaprange", time, 0);
485 template <
typename T>
492 if (idx.
size() != instance.
size()+1)
497 coerceValue(value, myGroup);
500 coerceValue(value, myGroupType);
503 coerceValue(value, myMeasure);
506 coerceValue(value, myCurvatureType);
509 coerceValue(value, myPrincipalType);
512 coerceValue(value, myPrincipalSign);
515 coerceValue(value, myPrincipalReportAs);
518 coerceValue(value, myUmbilicCutoff);
521 coerceValue(value, myIntegrationMode);
524 coerceValue(value, mySrcAttrib);
527 coerceValue(value, mySrcComp);
530 coerceValue(value, myScaleNormalize);
533 coerceValue(value, myIntegrationDomain);
536 coerceValue(value, myRefineToManifold);
539 coerceValue(value, myPieceAttrib);
542 coerceValue(value, myUseCustomPos);
545 coerceValue(value, myPosAttrib);
548 coerceValue(value, myUseRangeMin);
551 coerceValue(value, myRangeMin);
554 coerceValue(value, myUseRangeMax);
557 coerceValue(value, myRangeMax);
560 coerceValue(value, myUseCenterWidth);
563 coerceValue(value, myWidth);
566 coerceValue(value, myWidthScale);
569 coerceValue(value, myCenterType);
572 coerceValue(value, myFixedCenter);
575 coerceValue(value, myColorramp);
578 coerceValue(value, myVectorScale);
581 coerceValue(value, myAttribName);
584 coerceValue(value, myUseTotalAttrib);
587 coerceValue(value, myTotalAttribName);
590 coerceValue(value, myUseRangeGroup);
593 coerceValue(value, myRangeGroup);
596 coerceValue(value, myBakeIntoOutput);
599 coerceValue(value, myUseRemapRange);
602 coerceValue(value, myRemapRange);
619 { doGetParmValue(idx, instance, value); }
621 { doGetParmValue(idx, instance, value); }
623 { doGetParmValue(idx, instance, value); }
625 { doGetParmValue(idx, instance, value); }
627 { doGetParmValue(idx, instance, value); }
629 { doGetParmValue(idx, instance, value); }
631 { doGetParmValue(idx, instance, value); }
633 { doGetParmValue(idx, instance, value); }
635 { doGetParmValue(idx, instance, value); }
637 { doGetParmValue(idx, instance, value); }
639 { doGetParmValue(idx, instance, value); }
641 template <
typename T>
648 if (idx.
size() != instance.
size()+1)
653 coerceValue(myGroup, ( ( value ) ));
656 coerceValue(myGroupType, clampMinValue(0, clampMaxValue(1, value ) ));
659 coerceValue(myMeasure, clampMinValue(0, clampMaxValue(8, value ) ));
662 coerceValue(myCurvatureType, clampMinValue(0, clampMaxValue(3, value ) ));
665 coerceValue(myPrincipalType, clampMinValue(0, clampMaxValue(1, value ) ));
668 coerceValue(myPrincipalSign, clampMinValue(0, clampMaxValue(1, value ) ));
671 coerceValue(myPrincipalReportAs, clampMinValue(0, clampMaxValue(2, value ) ));
674 coerceValue(myUmbilicCutoff, clampMinValue(0, clampMaxValue(1, value ) ));
677 coerceValue(myIntegrationMode, clampMinValue(0, clampMaxValue(2, value ) ));
680 coerceValue(mySrcAttrib, ( ( value ) ));
683 coerceValue(mySrcComp, clampMinValue(0, clampMaxValue(3, value ) ));
686 coerceValue(myScaleNormalize, ( ( value ) ));
689 coerceValue(myIntegrationDomain, clampMinValue(0, clampMaxValue(2, value ) ));
692 coerceValue(myRefineToManifold, ( ( value ) ));
695 coerceValue(myPieceAttrib, ( ( value ) ));
698 coerceValue(myUseCustomPos, ( ( value ) ));
701 coerceValue(myPosAttrib, ( ( value ) ));
704 coerceValue(myUseRangeMin, ( ( value ) ));
707 coerceValue(myRangeMin, ( ( value ) ));
710 coerceValue(myUseRangeMax, ( ( value ) ));
713 coerceValue(myRangeMax, ( ( value ) ));
716 coerceValue(myUseCenterWidth, ( ( value ) ));
719 coerceValue(myWidth, clampMinValue(0, ( value ) ));
722 coerceValue(myWidthScale, clampMinValue(0, clampMaxValue(2, value ) ));
725 coerceValue(myCenterType, clampMinValue(0, clampMaxValue(2, value ) ));
728 coerceValue(myFixedCenter, ( ( value ) ));
731 coerceValue(myColorramp, clampMinValue(2, ( value ) ));
734 coerceValue(myVectorScale, clampMinValue(0, ( value ) ));
737 coerceValue(myAttribName, ( ( value ) ));
740 coerceValue(myUseTotalAttrib, ( ( value ) ));
743 coerceValue(myTotalAttribName, ( ( value ) ));
746 coerceValue(myUseRangeGroup, ( ( value ) ));
749 coerceValue(myRangeGroup, ( ( value ) ));
752 coerceValue(myBakeIntoOutput, ( ( value ) ));
755 coerceValue(myUseRemapRange, ( ( value ) ));
758 coerceValue(myRemapRange, ( ( value ) ));
765 { doSetParmValue(idx, instance, value); }
767 { doSetParmValue(idx, instance, value); }
769 { doSetParmValue(idx, instance, value); }
771 { doSetParmValue(idx, instance, value); }
773 { doSetParmValue(idx, instance, value); }
775 { doSetParmValue(idx, instance, value); }
777 { doSetParmValue(idx, instance, value); }
779 { doSetParmValue(idx, instance, value); }
781 { doSetParmValue(idx, instance, value); }
783 { doSetParmValue(idx, instance, value); }
785 { doSetParmValue(idx, instance, value); }
801 if (fieldnum.
size() < 1)
812 return "curvaturetype";
814 return "principaltype";
816 return "principalsign";
818 return "principalreportas";
820 return "umbiliccutoff";
822 return "integrationmode";
828 return "scalenormalize";
830 return "integrationdomain";
832 return "refinetomanifold";
834 return "pieceattrib";
836 return "usecustompos";
840 return "userangemin";
844 return "userangemax";
848 return "usecenterwidth";
856 return "fixedcenter";
860 return "vectorscale";
864 return "usetotalattrib";
866 return "totalattribname";
868 return "userangegroup";
872 return "bakeintooutput";
874 return "useremaprange";
884 if (fieldnum.
size() < 1)
885 return PARM_UNSUPPORTED;
962 return PARM_UNSUPPORTED;
998 loadData(is, rampdata);
1016 int typelen = colon - data.
buffer();
1028 { UTwrite(os, &v); }
1030 {
int64 iv =
v; UTwrite(os, &iv); }
1032 { UTwrite<fpreal64>(os, &
v); }
1034 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1036 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1037 UTwrite<fpreal64>(os, &v.
z()); }
1039 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1040 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1052 if (s) s->save(ostr);
1053 result = ostr.
str();
1054 saveData(os, result);
1061 ostr << s->getDataTypeToken();
1063 s->saveBinary(ostr);
1065 result = ostr.
str();
1066 saveData(os, result);
1074 saveData(os, myGroup);
1075 saveData(os, myGroupType);
1076 saveData(os, myMeasure);
1077 saveData(os, myCurvatureType);
1078 saveData(os, myPrincipalType);
1079 saveData(os, myPrincipalSign);
1080 saveData(os, myPrincipalReportAs);
1081 saveData(os, myUmbilicCutoff);
1082 saveData(os, myIntegrationMode);
1083 saveData(os, mySrcAttrib);
1084 saveData(os, mySrcComp);
1085 saveData(os, myScaleNormalize);
1086 saveData(os, myIntegrationDomain);
1087 saveData(os, myRefineToManifold);
1088 saveData(os, myPieceAttrib);
1089 saveData(os, myUseCustomPos);
1090 saveData(os, myPosAttrib);
1091 saveData(os, myUseRangeMin);
1092 saveData(os, myRangeMin);
1093 saveData(os, myUseRangeMax);
1094 saveData(os, myRangeMax);
1095 saveData(os, myUseCenterWidth);
1096 saveData(os, myWidth);
1097 saveData(os, myWidthScale);
1098 saveData(os, myCenterType);
1099 saveData(os, myFixedCenter);
1100 saveData(os, myColorramp);
1101 saveData(os, myVectorScale);
1102 saveData(os, myAttribName);
1103 saveData(os, myUseTotalAttrib);
1104 saveData(os, myTotalAttribName);
1105 saveData(os, myUseRangeGroup);
1106 saveData(os, myRangeGroup);
1107 saveData(os, myBakeIntoOutput);
1108 saveData(os, myUseRemapRange);
1109 saveData(os, myRemapRange);
1122 loadData(is, myGroup);
1123 loadData(is, myGroupType);
1124 loadData(is, myMeasure);
1125 loadData(is, myCurvatureType);
1126 loadData(is, myPrincipalType);
1127 loadData(is, myPrincipalSign);
1128 loadData(is, myPrincipalReportAs);
1129 loadData(is, myUmbilicCutoff);
1130 loadData(is, myIntegrationMode);
1131 loadData(is, mySrcAttrib);
1132 loadData(is, mySrcComp);
1133 loadData(is, myScaleNormalize);
1134 loadData(is, myIntegrationDomain);
1135 loadData(is, myRefineToManifold);
1136 loadData(is, myPieceAttrib);
1137 loadData(is, myUseCustomPos);
1138 loadData(is, myPosAttrib);
1139 loadData(is, myUseRangeMin);
1140 loadData(is, myRangeMin);
1141 loadData(is, myUseRangeMax);
1142 loadData(is, myRangeMax);
1143 loadData(is, myUseCenterWidth);
1144 loadData(is, myWidth);
1145 loadData(is, myWidthScale);
1146 loadData(is, myCenterType);
1147 loadData(is, myFixedCenter);
1148 loadData(is, myColorramp);
1149 loadData(is, myVectorScale);
1150 loadData(is, myAttribName);
1151 loadData(is, myUseTotalAttrib);
1152 loadData(is, myTotalAttribName);
1153 loadData(is, myUseRangeGroup);
1154 loadData(is, myRangeGroup);
1155 loadData(is, myBakeIntoOutput);
1156 loadData(is, myUseRemapRange);
1157 loadData(is, myRemapRange);
1167 if (!thissop)
return getGroup();
1169 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
1177 if (!thissop)
return getGroupType();
1179 OP_Utils::evalOpParm(result, thissop,
"grouptype", cookparms.
getCookTime(), 0);
1187 if (!thissop)
return getMeasure();
1189 OP_Utils::evalOpParm(result, thissop,
"measure", cookparms.
getCookTime(), 0);
1197 if (!thissop)
return getCurvatureType();
1199 OP_Utils::evalOpParm(result, thissop,
"curvaturetype", cookparms.
getCookTime(), 0);
1207 if (!thissop)
return getPrincipalType();
1209 OP_Utils::evalOpParm(result, thissop,
"principaltype", cookparms.
getCookTime(), 0);
1217 if (!thissop)
return getPrincipalSign();
1219 OP_Utils::evalOpParm(result, thissop,
"principalsign", cookparms.
getCookTime(), 0);
1227 if (!thissop)
return getPrincipalReportAs();
1229 OP_Utils::evalOpParm(result, thissop,
"principalreportas", cookparms.
getCookTime(), 0);
1237 if (!thissop)
return getUmbilicCutoff();
1239 OP_Utils::evalOpParm(result, thissop,
"umbiliccutoff", cookparms.
getCookTime(), 0);
1247 if (!thissop)
return getIntegrationMode();
1249 OP_Utils::evalOpParm(result, thissop,
"integrationmode", cookparms.
getCookTime(), 0);
1257 if (!thissop)
return getSrcAttrib();
1259 OP_Utils::evalOpParm(result, thissop,
"srcattrib", cookparms.
getCookTime(), 0);
1267 if (!thissop)
return getSrcComp();
1269 OP_Utils::evalOpParm(result, thissop,
"srccomp", cookparms.
getCookTime(), 0);
1277 if (!thissop)
return getScaleNormalize();
1279 OP_Utils::evalOpParm(result, thissop,
"scalenormalize", cookparms.
getCookTime(), 0);
1287 if (!thissop)
return getIntegrationDomain();
1289 OP_Utils::evalOpParm(result, thissop,
"integrationdomain", cookparms.
getCookTime(), 0);
1297 if (!thissop)
return getRefineToManifold();
1299 OP_Utils::evalOpParm(result, thissop,
"refinetomanifold", cookparms.
getCookTime(), 0);
1307 if (!thissop)
return getPieceAttrib();
1309 OP_Utils::evalOpParm(result, thissop,
"pieceattrib", cookparms.
getCookTime(), 0);
1317 if (!thissop)
return getUseCustomPos();
1319 OP_Utils::evalOpParm(result, thissop,
"usecustompos", cookparms.
getCookTime(), 0);
1327 if (!thissop)
return getPosAttrib();
1329 OP_Utils::evalOpParm(result, thissop,
"posattrib", cookparms.
getCookTime(), 0);
1337 if (!thissop)
return getUseRangeMin();
1339 OP_Utils::evalOpParm(result, thissop,
"userangemin", cookparms.
getCookTime(), 0);
1347 if (!thissop)
return getRangeMin();
1349 OP_Utils::evalOpParm(result, thissop,
"rangemin", cookparms.
getCookTime(), 0);
1357 if (!thissop)
return getUseRangeMax();
1359 OP_Utils::evalOpParm(result, thissop,
"userangemax", cookparms.
getCookTime(), 0);
1367 if (!thissop)
return getRangeMax();
1369 OP_Utils::evalOpParm(result, thissop,
"rangemax", cookparms.
getCookTime(), 0);
1377 if (!thissop)
return getUseCenterWidth();
1379 OP_Utils::evalOpParm(result, thissop,
"usecenterwidth", cookparms.
getCookTime(), 0);
1387 if (!thissop)
return getWidth();
1389 OP_Utils::evalOpParm(result, thissop,
"width", cookparms.
getCookTime(), 0);
1397 if (!thissop)
return getWidthScale();
1399 OP_Utils::evalOpParm(result, thissop,
"widthscale", cookparms.
getCookTime(), 0);
1407 if (!thissop)
return getCenterType();
1409 OP_Utils::evalOpParm(result, thissop,
"centertype", cookparms.
getCookTime(), 0);
1417 if (!thissop)
return getFixedCenter();
1419 OP_Utils::evalOpParm(result, thissop,
"fixedcenter", cookparms.
getCookTime(), 0);
1427 if (!thissop)
return getColorramp();
1429 OP_Utils::evalOpParm(result, thissop,
"colorramp", cookparms.
getCookTime(), 0);
1437 if (!thissop)
return getVectorScale();
1439 OP_Utils::evalOpParm(result, thissop,
"vectorscale", cookparms.
getCookTime(), 0);
1447 if (!thissop)
return getAttribName();
1449 OP_Utils::evalOpParm(result, thissop,
"attribname", cookparms.
getCookTime(), 0);
1457 if (!thissop)
return getUseTotalAttrib();
1459 OP_Utils::evalOpParm(result, thissop,
"usetotalattrib", cookparms.
getCookTime(), 0);
1467 if (!thissop)
return getTotalAttribName();
1469 OP_Utils::evalOpParm(result, thissop,
"totalattribname", cookparms.
getCookTime(), 0);
1477 if (!thissop)
return getUseRangeGroup();
1479 OP_Utils::evalOpParm(result, thissop,
"userangegroup", cookparms.
getCookTime(), 0);
1487 if (!thissop)
return getRangeGroup();
1489 OP_Utils::evalOpParm(result, thissop,
"rangegroup", cookparms.
getCookTime(), 0);
1497 if (!thissop)
return getBakeIntoOutput();
1499 OP_Utils::evalOpParm(result, thissop,
"bakeintooutput", cookparms.
getCookTime(), 0);
1507 if (!thissop)
return getUseRemapRange();
1509 OP_Utils::evalOpParm(result, thissop,
"useremaprange", cookparms.
getCookTime(), 0);
1517 if (!thissop)
return getRemapRange();
1519 OP_Utils::evalOpParm(result, thissop,
"remaprange", cookparms.
getCookTime(), 0);
1527 int64 myCurvatureType;
1528 int64 myPrincipalType;
1529 int64 myPrincipalSign;
1530 int64 myPrincipalReportAs;
1532 int64 myIntegrationMode;
1535 bool myScaleNormalize;
1536 int64 myIntegrationDomain;
1537 bool myRefineToManifold;
1539 bool myUseCustomPos;
1545 bool myUseCenterWidth;
1553 bool myUseTotalAttrib;
1555 bool myUseRangeGroup;
1557 bool myBakeIntoOutput;
1558 bool myUseRemapRange;
Measure getMeasure() const
const UT_StringHolder & getPieceAttrib() const
Measure opMeasure(const SOP_NodeVerb::CookParms &cookparms) const
CenterType opCenterType(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, bool v)
bool opUseRangeGroup(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getAttribName() const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
UT_StringHolder opPieceAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
bool getUseRangeMin() const
static void loadData(UT_IStream &is, UT_Vector3D &v)
bool getUseCenterWidth() const
PrincipalType getPrincipalType() const
SrcComp opSrcComp(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
bool getBakeIntoOutput() const
SOP_Node * getNode() const
void setWidth(fpreal64 val)
static void loadData(UT_IStream &is, bool &v)
fpreal64 opWidth(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
bool getUseTotalAttrib() const
void setPrincipalReportAs(PrincipalReportAs val)
static void loadData(UT_IStream &is, UT_Vector2D &v)
void setRangeMax(fpreal64 val)
bool opRefineToManifold(const SOP_NodeVerb::CookParms &cookparms) const
bool opBakeIntoOutput(const SOP_NodeVerb::CookParms &cookparms) const
UT_SharedPtr< UT_Ramp > getColorramp() const
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
bool getRefineToManifold() const
CurvatureType getCurvatureType() const
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
bool opUseRangeMin(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix2D v)
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
UT_Vector2T< fpreal64 > UT_Vector2D
WidthScale opWidthScale(const SOP_NodeVerb::CookParms &cookparms) const
IntegrationMode opIntegrationMode(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
const UT_StringHolder & getTotalAttribName() const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
void setUseTotalAttrib(bool val)
bool getUseRemapRange() const
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
const OP_Context & context() const
void setIntegrationMode(IntegrationMode val)
exint getNestNumParms(TempIndex idx) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
constexpr SYS_FORCE_INLINE T & z() noexcept
SYS_FORCE_INLINE const char * buffer() const
void setUseRemapRange(bool val)
PrincipalReportAs opPrincipalReportAs(const SOP_NodeVerb::CookParms &cookparms) const
An output stream object that owns its own string buffer storage.
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
void setUseRangeMax(bool val)
ParmType getNestParmType(TempIndex fieldnum) const override
IntegrationDomain opIntegrationDomain(const SOP_NodeVerb::CookParms &cookparms) const
CenterType getCenterType() const
UT_SharedPtr< UT_Ramp > opColorramp(const SOP_NodeVerb::CookParms &cookparms) const
**But if you need a result
fpreal64 opVectorScale(const SOP_NodeVerb::CookParms &cookparms) const
bool getUseRangeMax() const
void setUmbilicCutoff(fpreal64 val)
static void saveData(std::ostream &os, UT_Vector2D v)
void setScaleNormalize(bool val)
IntegrationDomain getIntegrationDomain() const
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
GroupType getGroupType() const
CurvatureType opCurvatureType(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getSrcAttrib() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
void setPosAttrib(const UT_StringHolder &val)
IntegrationMode getIntegrationMode() const
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
constexpr SYS_FORCE_INLINE T & x() noexcept
void setRefineToManifold(bool val)
bool isParmColorRamp(exint idx) const override
bool opUseCenterWidth(const SOP_NodeVerb::CookParms &cookparms) const
void setIntegrationDomain(IntegrationDomain val)
UT_StringHolder opRangeGroup(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & x() noexcept
bool opUseRemapRange(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opSrcAttrib(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE UT_StringHolder getToken(GroupType enum_value)
PrincipalType opPrincipalType(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
static void loadData(UT_IStream &is, UT_Vector2I &v)
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
UT_Vector2D getRemapRange() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
bool getUseRangeGroup() const
bool opUseTotalAttrib(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, fpreal64 &v)
void setMeasure(Measure val)
void setVectorScale(fpreal64 val)
void setUseCenterWidth(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
void setRemapRange(UT_Vector2D val)
void setRangeGroup(const UT_StringHolder &val)
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
constexpr SYS_FORCE_INLINE T & z() noexcept
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
static void loadData(UT_IStream &is, UT_StringHolder &v)
PrincipalSign getPrincipalSign() const
void setPrincipalType(PrincipalType val)
void setGroup(const UT_StringHolder &val)
PrincipalSign opPrincipalSign(const SOP_NodeVerb::CookParms &cookparms) const
const OP_GraphProxy * graph() const
void setTotalAttribName(const UT_StringHolder &val)
void copyFrom(const OP_NodeParms *src) override
bool operator==(const SOP_Measure_2_0Parms &src) const
void setColorramp(UT_SharedPtr< UT_Ramp > val)
bool opUseRangeMax(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opFixedCenter(const SOP_NodeVerb::CookParms &cookparms) const
void setPieceAttrib(const UT_StringHolder &val)
void setUseRangeMin(bool val)
static void saveData(std::ostream &os, fpreal64 v)
fpreal64 opRangeMin(const SOP_NodeVerb::CookParms &cookparms) const
void setUseRangeGroup(bool val)
fpreal64 opRangeMax(const SOP_NodeVerb::CookParms &cookparms) const
bool load(UT_IStream &is)
static void loadData(UT_IStream &is, UT_Vector3I &v)
static void loadData(UT_IStream &is, UT_Vector4D &v)
fpreal64 getVectorScale() const
void setAttribName(const UT_StringHolder &val)
bool getScaleNormalize() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
static void saveData(std::ostream &os, UT_Vector4D v)
void setRangeMin(fpreal64 val)
void save(std::ostream &os) const
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
fpreal64 getRangeMin() const
void saveBinary(std::ostream &os) const
Save string to binary stream.
void setUseCustomPos(bool val)
void setFixedCenter(fpreal64 val)
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
static void saveData(std::ostream &os, UT_Matrix4D v)
UT_Vector2D opRemapRange(const SOP_NodeVerb::CookParms &cookparms) const
GT_API const UT_StringHolder version
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
static void loadData(UT_IStream &is, UT_Vector4I &v)
bool opUseCustomPos(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
static void saveData(std::ostream &os, UT_Matrix3D v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
fpreal64 getWidth() const
bool getUseCustomPos() const
const char * getNestParmName(TempIndex fieldnum) const override
UT_StringHolder opPosAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
DEP_MicroNode * depnode() const
void setGroupType(GroupType val)
WidthScale getWidthScale() const
void setCurvatureType(CurvatureType val)
LeafData & operator=(const LeafData &)=delete
Utility class for containing a color ramp.
static void loadData(UT_IStream &is, int64 &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
constexpr SYS_FORCE_INLINE T & w() noexcept
static void saveData(std::ostream &os, UT_Vector3D v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
fpreal getCookTime() const
const UT_StringHolder & getRangeGroup() const
void setPrincipalSign(PrincipalSign val)
const char * findChar(int c) const
fpreal64 opUmbilicCutoff(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
UT_StringHolder opTotalAttribName(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getFixedCenter() const
UT_StringHolder opAttribName(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getUmbilicCutoff() const
void setCenterType(CenterType val)
bool opScaleNormalize(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getGroup() const
PrincipalReportAs getPrincipalReportAs() const
constexpr SYS_FORCE_INLINE T & y() noexcept
static void saveData(std::ostream &os, UT_StringHolder s)
void setSrcAttrib(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
fpreal64 getRangeMax() const
bool operator!=(const SOP_Measure_2_0Parms &src) const
static void saveData(std::ostream &os, int64 v)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
void loadFromOpSubclass(const LoadParms &loadparms) override
constexpr SYS_FORCE_INLINE T & y() noexcept
SYS_FORCE_INLINE bool isstring() const
void setBakeIntoOutput(bool val)
SrcComp getSrcComp() const
const UT_StringHolder & getPosAttrib() const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
void setSrcComp(SrcComp val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
constexpr SYS_FORCE_INLINE T & x() noexcept
GroupType opGroupType(const SOP_NodeVerb::CookParms &cookparms) const
void setWidthScale(WidthScale val)