23 namespace SOP_Tetrahedralize_2_0Enums
35 using namespace UT::Literal;
55 using namespace UT::Literal;
76 using namespace UT::Literal;
96 using namespace UT::Literal;
117 myPieceAttrib =
"name"_UTsh;
123 myOneFacePerTet =
false;
125 myInternAttrib =
true;
128 myMinDihedralAngle = 10;
129 myUseTargetSizeAttrib =
false;
130 myTargetSizeAttrib =
"target_size"_UTsh;
131 myUseUniformMaxSize =
false;
132 myUniformMaxSize = 0.1;
133 myUseMaxSizeAttrib =
false;
134 myMaxSizeAttrib =
"max_size"_UTsh;
135 myUseMaxIter =
false;
137 myUseMaxSteiner =
false;
140 myOptEdgeFace =
true;
141 myOptVtxSmooth =
true;
143 myUseIsectColor =
true;
145 myUseIsectGrp =
true;
146 myIsectPolyGrp =
"intersecting_polygon_grp"_UTsh;
149 myPrecisionTol = 1e-09;
150 myDihedralAngleTol = 1e-05;
152 myUseInvalidColor =
true;
154 myUseInvalidGrp =
true;
155 myInvalidPrimGrp =
"invalid_prim_grp"_UTsh;
168 if (myGroup != src.myGroup)
return false;
169 if (myBatch != src.myBatch)
return false;
170 if (myPieceAttrib != src.myPieceAttrib)
return false;
171 if (myRemove != src.myRemove)
return false;
172 if (myMode != src.myMode)
return false;
173 if (myOutput != src.myOutput)
return false;
174 if (myKeepPrims != src.myKeepPrims)
return false;
175 if (myNoBoundMod != src.myNoBoundMod)
return false;
176 if (myOneFacePerTet != src.myOneFacePerTet)
return false;
177 if (myPropNormal != src.myPropNormal)
return false;
178 if (myInternAttrib != src.myInternAttrib)
return false;
179 if (myUseQuality != src.myUseQuality)
return false;
180 if (myRadEdgeTol != src.myRadEdgeTol)
return false;
181 if (myMinDihedralAngle != src.myMinDihedralAngle)
return false;
182 if (myUseTargetSizeAttrib != src.myUseTargetSizeAttrib)
return false;
183 if (myTargetSizeAttrib != src.myTargetSizeAttrib)
return false;
184 if (myUseUniformMaxSize != src.myUseUniformMaxSize)
return false;
185 if (myUniformMaxSize != src.myUniformMaxSize)
return false;
186 if (myUseMaxSizeAttrib != src.myUseMaxSizeAttrib)
return false;
187 if (myMaxSizeAttrib != src.myMaxSizeAttrib)
return false;
188 if (myUseMaxIter != src.myUseMaxIter)
return false;
189 if (myMaxIter != src.myMaxIter)
return false;
190 if (myUseMaxSteiner != src.myUseMaxSteiner)
return false;
191 if (myMaxSteiner != src.myMaxSteiner)
return false;
192 if (myOptIterations != src.myOptIterations)
return false;
193 if (myOptEdgeFace != src.myOptEdgeFace)
return false;
194 if (myOptVtxSmooth != src.myOptVtxSmooth)
return false;
195 if (myOptVtxMod != src.myOptVtxMod)
return false;
196 if (myUseIsectColor != src.myUseIsectColor)
return false;
197 if (myIsectPolyClr != src.myIsectPolyClr)
return false;
198 if (myUseIsectGrp != src.myUseIsectGrp)
return false;
199 if (myIsectPolyGrp != src.myIsectPolyGrp)
return false;
200 if (myFailures != src.myFailures)
return false;
201 if (myRandomSeed != src.myRandomSeed)
return false;
202 if (myPrecisionTol != src.myPrecisionTol)
return false;
203 if (myDihedralAngleTol != src.myDihedralAngleTol)
return false;
204 if (myMaxAttempts != src.myMaxAttempts)
return false;
205 if (myUseInvalidColor != src.myUseInvalidColor)
return false;
206 if (myInvalidPrimClr != src.myInvalidPrimClr)
return false;
207 if (myUseInvalidGrp != src.myUseInvalidGrp)
return false;
208 if (myInvalidPrimGrp != src.myInvalidPrimGrp)
return false;
227 graph->
evalOpParm(myGroup, nodeidx,
"group", time, 0);
230 graph->
evalOpParm(myBatch, nodeidx,
"batch", time, 0);
231 myPieceAttrib =
"name"_UTsh;
232 if (
true && ( (
true&&!(((
int64(getBatch())==0)))) ) )
233 graph->
evalOpParm(myPieceAttrib, nodeidx,
"pieceattrib", time, 0);
236 graph->
evalOpParm(myRemove, nodeidx,
"remove", time, 0);
239 graph->
evalOpParm(myMode, nodeidx,
"mode", time, 0);
241 if (
true && ( (
true&&!(((
int64(getMode())==3)))) ) )
242 graph->
evalOpParm(myOutput, nodeidx,
"output", time, 0);
244 if (
true && ( (
true&&!(((
int64(getMode())==3)))) ) )
245 graph->
evalOpParm(myKeepPrims, nodeidx,
"keepprims", time, 0);
247 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMode())==3)))) ) )
248 graph->
evalOpParm(myNoBoundMod, nodeidx,
"noboundmod", time, 0);
249 myOneFacePerTet =
false;
250 if (
true && ( (
true&&!(((
int64(getMode())!=0))||((
int64(getOutput())==0))||((
int64(getOutput())==2)))) ) )
251 graph->
evalOpParm(myOneFacePerTet, nodeidx,
"onefacepertet", time, 0);
253 if (
true && ( (
true&&!(((
int64(getMode())!=0))||((
int64(getOutput())==0))||((
int64(getOutput())==2)))) ) )
254 graph->
evalOpParm(myPropNormal, nodeidx,
"propnormal", time, 0);
255 myInternAttrib =
true;
256 if (
true && ( (
true&&!(((
int64(getMode())!=0))||((
int64(getOutput())==0))||((
int64(getOutput())==2)))) ) )
257 graph->
evalOpParm(myInternAttrib, nodeidx,
"internattrib", time, 0);
259 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMode())==3)))) ) )
260 graph->
evalOpParm(myUseQuality, nodeidx,
"usequality", time, 0);
262 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMode())==3))||((getUseQuality()==0)))) ) )
263 graph->
evalOpParm(myRadEdgeTol, nodeidx,
"radedgetol", time, 0);
264 myMinDihedralAngle = 10;
265 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMode())==3))||((getUseQuality()==0)))) ) )
266 graph->
evalOpParm(myMinDihedralAngle, nodeidx,
"mindihedralang", time, 0);
267 myUseTargetSizeAttrib =
false;
268 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMode())==3))||((getUseQuality()==0)))) ) )
269 graph->
evalOpParm(myUseTargetSizeAttrib, nodeidx,
"usetargetsizeattrib", time, 0);
270 myTargetSizeAttrib =
"target_size"_UTsh;
271 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMode())==3))||((getUseQuality()==0))||((getUseTargetSizeAttrib()==0)))) ) )
272 graph->
evalOpParm(myTargetSizeAttrib, nodeidx,
"targetsizeattrib", time, 0);
273 myUseUniformMaxSize =
false;
274 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMode())==3))||((getUseQuality()==0)))) ) )
275 graph->
evalOpParm(myUseUniformMaxSize, nodeidx,
"useuniformmaxsize", time, 0);
276 myUniformMaxSize = 0.1;
277 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMode())==3))||((getUseQuality()==0))||((getUseUniformMaxSize()==0)))) ) )
278 graph->
evalOpParm(myUniformMaxSize, nodeidx,
"uniformmaxsize", time, 0);
279 myUseMaxSizeAttrib =
false;
280 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMode())==3))||((getUseQuality()==0))||((
int64(getMode())!=1)))) ) )
281 graph->
evalOpParm(myUseMaxSizeAttrib, nodeidx,
"usemaxsizeattrib", time, 0);
282 myMaxSizeAttrib =
"max_size"_UTsh;
283 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMode())==3))||((getUseQuality()==0))||((getUseMaxSizeAttrib()==0))||((
int64(getMode())!=1)))) ) )
284 graph->
evalOpParm(myMaxSizeAttrib, nodeidx,
"maxsizeattrib", time, 0);
285 myUseMaxIter =
false;
286 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMode())==3))||((getUseQuality()==0)))) ) )
287 graph->
evalOpParm(myUseMaxIter, nodeidx,
"usemaxiter", time, 0);
289 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMode())==3))||((getUseQuality()==0))||((getUseMaxIter()==0)))) ) )
290 graph->
evalOpParm(myMaxIter, nodeidx,
"maxiter", time, 0);
291 myUseMaxSteiner =
false;
292 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMode())==3))||((getUseQuality()==0)))) ) )
293 graph->
evalOpParm(myUseMaxSteiner, nodeidx,
"usemaxsteiner", time, 0);
295 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMode())==3))||((getUseQuality()==0))||((getUseMaxSteiner()==0)))) ) )
296 graph->
evalOpParm(myMaxSteiner, nodeidx,
"maxsteiner", time, 0);
298 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMode())==3)))) ) )
299 graph->
evalOpParm(myOptIterations, nodeidx,
"optiterations", time, 0);
300 myOptEdgeFace =
true;
301 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMode())==3)))) ) )
302 graph->
evalOpParm(myOptEdgeFace, nodeidx,
"optedgeface", time, 0);
303 myOptVtxSmooth =
true;
304 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMode())==3)))) ) )
305 graph->
evalOpParm(myOptVtxSmooth, nodeidx,
"optvtxsmooth", time, 0);
307 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMode())==3)))) ) )
308 graph->
evalOpParm(myOptVtxMod, nodeidx,
"optvtxmod", time, 0);
309 myUseIsectColor =
true;
310 if (
true && ( (
true&&!(((
int64(getMode())!=3)))) ) )
311 graph->
evalOpParm(myUseIsectColor, nodeidx,
"useisectcolor", time, 0);
313 if (
true && ( (
true&&!(((getUseIsectColor()==0))||((
int64(getMode())!=3)))) ) )
314 graph->
evalOpParm(myIsectPolyClr, nodeidx,
"isectpolyclr", time, 0);
315 myUseIsectGrp =
true;
316 if (
true && ( (
true&&!(((
int64(getMode())!=3)))) ) )
317 graph->
evalOpParm(myUseIsectGrp, nodeidx,
"useisectgrp", time, 0);
318 myIsectPolyGrp =
"intersecting_polygon_grp"_UTsh;
319 if (
true && ( (
true&&!(((getUseIsectGrp()==0))||((
int64(getMode())!=3)))) ) )
320 graph->
evalOpParm(myIsectPolyGrp, nodeidx,
"isectpolygrp", time, 0);
323 graph->
evalOpParm(myFailures, nodeidx,
"failures", time, 0);
326 graph->
evalOpParm(myRandomSeed, nodeidx,
"randomseed", time, 0);
327 myPrecisionTol = 1e-09;
329 graph->
evalOpParm(myPrecisionTol, nodeidx,
"precisiontol", time, 0);
330 myDihedralAngleTol = 1e-05;
332 graph->
evalOpParm(myDihedralAngleTol, nodeidx,
"dihedralangtol", time, 0);
335 graph->
evalOpParm(myMaxAttempts, nodeidx,
"maxattempts", time, 0);
336 myUseInvalidColor =
true;
338 graph->
evalOpParm(myUseInvalidColor, nodeidx,
"useinvalidcolor", time, 0);
340 if (
true && ( (
true&&!(((getUseInvalidColor()==0)))) ) )
341 graph->
evalOpParm(myInvalidPrimClr, nodeidx,
"invalidprimclr", time, 0);
342 myUseInvalidGrp =
true;
344 graph->
evalOpParm(myUseInvalidGrp, nodeidx,
"useinvalidgrp", time, 0);
345 myInvalidPrimGrp =
"invalid_prim_grp"_UTsh;
346 if (
true && ( (
true&&!(((getUseInvalidGrp()==0)))) ) )
347 graph->
evalOpParm(myInvalidPrimGrp, nodeidx,
"invalidprimgrp", time, 0);
363 template <
typename T>
370 if (idx.
size() != instance.
size()+1)
375 coerceValue(value, myGroup);
378 coerceValue(value, myBatch);
381 coerceValue(value, myPieceAttrib);
384 coerceValue(value, myRemove);
387 coerceValue(value, myMode);
390 coerceValue(value, myOutput);
393 coerceValue(value, myKeepPrims);
396 coerceValue(value, myNoBoundMod);
399 coerceValue(value, myOneFacePerTet);
402 coerceValue(value, myPropNormal);
405 coerceValue(value, myInternAttrib);
408 coerceValue(value, myUseQuality);
411 coerceValue(value, myRadEdgeTol);
414 coerceValue(value, myMinDihedralAngle);
417 coerceValue(value, myUseTargetSizeAttrib);
420 coerceValue(value, myTargetSizeAttrib);
423 coerceValue(value, myUseUniformMaxSize);
426 coerceValue(value, myUniformMaxSize);
429 coerceValue(value, myUseMaxSizeAttrib);
432 coerceValue(value, myMaxSizeAttrib);
435 coerceValue(value, myUseMaxIter);
438 coerceValue(value, myMaxIter);
441 coerceValue(value, myUseMaxSteiner);
444 coerceValue(value, myMaxSteiner);
447 coerceValue(value, myOptIterations);
450 coerceValue(value, myOptEdgeFace);
453 coerceValue(value, myOptVtxSmooth);
456 coerceValue(value, myOptVtxMod);
459 coerceValue(value, myUseIsectColor);
462 coerceValue(value, myIsectPolyClr);
465 coerceValue(value, myUseIsectGrp);
468 coerceValue(value, myIsectPolyGrp);
471 coerceValue(value, myFailures);
474 coerceValue(value, myRandomSeed);
477 coerceValue(value, myPrecisionTol);
480 coerceValue(value, myDihedralAngleTol);
483 coerceValue(value, myMaxAttempts);
486 coerceValue(value, myUseInvalidColor);
489 coerceValue(value, myInvalidPrimClr);
492 coerceValue(value, myUseInvalidGrp);
495 coerceValue(value, myInvalidPrimGrp);
511 { doGetParmValue(idx, instance, value); }
513 { doGetParmValue(idx, instance, value); }
515 { doGetParmValue(idx, instance, value); }
517 { doGetParmValue(idx, instance, value); }
519 { doGetParmValue(idx, instance, value); }
521 { doGetParmValue(idx, instance, value); }
523 { doGetParmValue(idx, instance, value); }
525 { doGetParmValue(idx, instance, value); }
527 { doGetParmValue(idx, instance, value); }
529 { doGetParmValue(idx, instance, value); }
531 { doGetParmValue(idx, instance, value); }
533 template <
typename T>
540 if (idx.
size() != instance.
size()+1)
545 coerceValue(myGroup, ( ( value ) ));
548 coerceValue(myBatch, clampMinValue(0, clampMaxValue(2, value ) ));
551 coerceValue(myPieceAttrib, ( ( value ) ));
554 coerceValue(myRemove, ( ( value ) ));
557 coerceValue(myMode, clampMinValue(0, clampMaxValue(3, value ) ));
560 coerceValue(myOutput, clampMinValue(0, clampMaxValue(3, value ) ));
563 coerceValue(myKeepPrims, ( ( value ) ));
566 coerceValue(myNoBoundMod, ( ( value ) ));
569 coerceValue(myOneFacePerTet, ( ( value ) ));
572 coerceValue(myPropNormal, ( ( value ) ));
575 coerceValue(myInternAttrib, ( ( value ) ));
578 coerceValue(myUseQuality, ( ( value ) ));
581 coerceValue(myRadEdgeTol, clampMinValue(0.612, ( value ) ));
584 coerceValue(myMinDihedralAngle, clampMinValue(0, clampMaxValue(60, value ) ));
587 coerceValue(myUseTargetSizeAttrib, ( ( value ) ));
590 coerceValue(myTargetSizeAttrib, ( ( value ) ));
593 coerceValue(myUseUniformMaxSize, ( ( value ) ));
596 coerceValue(myUniformMaxSize, clampMinValue(0, ( value ) ));
599 coerceValue(myUseMaxSizeAttrib, ( ( value ) ));
602 coerceValue(myMaxSizeAttrib, ( ( value ) ));
605 coerceValue(myUseMaxIter, ( ( value ) ));
608 coerceValue(myMaxIter, ( ( value ) ));
611 coerceValue(myUseMaxSteiner, ( ( value ) ));
614 coerceValue(myMaxSteiner, clampMinValue(0, ( value ) ));
617 coerceValue(myOptIterations, clampMinValue(0, clampMaxValue(9, value ) ));
620 coerceValue(myOptEdgeFace, ( ( value ) ));
623 coerceValue(myOptVtxSmooth, ( ( value ) ));
626 coerceValue(myOptVtxMod, ( ( value ) ));
629 coerceValue(myUseIsectColor, ( ( value ) ));
632 coerceValue(myIsectPolyClr, ( ( value ) ));
635 coerceValue(myUseIsectGrp, ( ( value ) ));
638 coerceValue(myIsectPolyGrp, ( ( value ) ));
641 coerceValue(myFailures, clampMinValue(0, clampMaxValue(2, value ) ));
644 coerceValue(myRandomSeed, clampMinValue(1, ( value ) ));
647 coerceValue(myPrecisionTol, clampMinValue(0, ( value ) ));
650 coerceValue(myDihedralAngleTol, clampMinValue(0, ( value ) ));
653 coerceValue(myMaxAttempts, ( ( value ) ));
656 coerceValue(myUseInvalidColor, ( ( value ) ));
659 coerceValue(myInvalidPrimClr, ( ( value ) ));
662 coerceValue(myUseInvalidGrp, ( ( value ) ));
665 coerceValue(myInvalidPrimGrp, ( ( value ) ));
672 { doSetParmValue(idx, instance, value); }
674 { doSetParmValue(idx, instance, value); }
676 { doSetParmValue(idx, instance, value); }
678 { doSetParmValue(idx, instance, value); }
680 { doSetParmValue(idx, instance, value); }
682 { doSetParmValue(idx, instance, value); }
684 { doSetParmValue(idx, instance, value); }
686 { doSetParmValue(idx, instance, value); }
688 { doSetParmValue(idx, instance, value); }
690 { doSetParmValue(idx, instance, value); }
692 { doSetParmValue(idx, instance, value); }
708 if (fieldnum.
size() < 1)
717 return "pieceattrib";
729 return "onefacepertet";
733 return "internattrib";
739 return "mindihedralang";
741 return "usetargetsizeattrib";
743 return "targetsizeattrib";
745 return "useuniformmaxsize";
747 return "uniformmaxsize";
749 return "usemaxsizeattrib";
751 return "maxsizeattrib";
757 return "usemaxsteiner";
761 return "optiterations";
763 return "optedgeface";
765 return "optvtxsmooth";
769 return "useisectcolor";
771 return "isectpolyclr";
773 return "useisectgrp";
775 return "isectpolygrp";
781 return "precisiontol";
783 return "dihedralangtol";
785 return "maxattempts";
787 return "useinvalidcolor";
789 return "invalidprimclr";
791 return "useinvalidgrp";
793 return "invalidprimgrp";
801 if (fieldnum.
size() < 1)
802 return PARM_UNSUPPORTED;
889 return PARM_UNSUPPORTED;
925 loadData(is, rampdata);
943 int typelen = colon - data.
buffer();
957 {
int64 iv =
v; UTwrite(os, &iv); }
959 { UTwrite<fpreal64>(os, &
v); }
961 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
963 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
964 UTwrite<fpreal64>(os, &v.
z()); }
966 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
967 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
979 if (s) s->save(ostr);
981 saveData(os, result);
988 ostr << s->getDataTypeToken();
993 saveData(os, result);
997 void save(std::ostream &os)
const
1001 saveData(os, myGroup);
1002 saveData(os, myBatch);
1003 saveData(os, myPieceAttrib);
1004 saveData(os, myRemove);
1005 saveData(os, myMode);
1006 saveData(os, myOutput);
1007 saveData(os, myKeepPrims);
1008 saveData(os, myNoBoundMod);
1009 saveData(os, myOneFacePerTet);
1010 saveData(os, myPropNormal);
1011 saveData(os, myInternAttrib);
1012 saveData(os, myUseQuality);
1013 saveData(os, myRadEdgeTol);
1014 saveData(os, myMinDihedralAngle);
1015 saveData(os, myUseTargetSizeAttrib);
1016 saveData(os, myTargetSizeAttrib);
1017 saveData(os, myUseUniformMaxSize);
1018 saveData(os, myUniformMaxSize);
1019 saveData(os, myUseMaxSizeAttrib);
1020 saveData(os, myMaxSizeAttrib);
1021 saveData(os, myUseMaxIter);
1022 saveData(os, myMaxIter);
1023 saveData(os, myUseMaxSteiner);
1024 saveData(os, myMaxSteiner);
1025 saveData(os, myOptIterations);
1026 saveData(os, myOptEdgeFace);
1027 saveData(os, myOptVtxSmooth);
1028 saveData(os, myOptVtxMod);
1029 saveData(os, myUseIsectColor);
1030 saveData(os, myIsectPolyClr);
1031 saveData(os, myUseIsectGrp);
1032 saveData(os, myIsectPolyGrp);
1033 saveData(os, myFailures);
1034 saveData(os, myRandomSeed);
1035 saveData(os, myPrecisionTol);
1036 saveData(os, myDihedralAngleTol);
1037 saveData(os, myMaxAttempts);
1038 saveData(os, myUseInvalidColor);
1039 saveData(os, myInvalidPrimClr);
1040 saveData(os, myUseInvalidGrp);
1041 saveData(os, myInvalidPrimGrp);
1054 loadData(is, myGroup);
1055 loadData(is, myBatch);
1056 loadData(is, myPieceAttrib);
1057 loadData(is, myRemove);
1058 loadData(is, myMode);
1059 loadData(is, myOutput);
1060 loadData(is, myKeepPrims);
1061 loadData(is, myNoBoundMod);
1062 loadData(is, myOneFacePerTet);
1063 loadData(is, myPropNormal);
1064 loadData(is, myInternAttrib);
1065 loadData(is, myUseQuality);
1066 loadData(is, myRadEdgeTol);
1067 loadData(is, myMinDihedralAngle);
1068 loadData(is, myUseTargetSizeAttrib);
1069 loadData(is, myTargetSizeAttrib);
1070 loadData(is, myUseUniformMaxSize);
1071 loadData(is, myUniformMaxSize);
1072 loadData(is, myUseMaxSizeAttrib);
1073 loadData(is, myMaxSizeAttrib);
1074 loadData(is, myUseMaxIter);
1075 loadData(is, myMaxIter);
1076 loadData(is, myUseMaxSteiner);
1077 loadData(is, myMaxSteiner);
1078 loadData(is, myOptIterations);
1079 loadData(is, myOptEdgeFace);
1080 loadData(is, myOptVtxSmooth);
1081 loadData(is, myOptVtxMod);
1082 loadData(is, myUseIsectColor);
1083 loadData(is, myIsectPolyClr);
1084 loadData(is, myUseIsectGrp);
1085 loadData(is, myIsectPolyGrp);
1086 loadData(is, myFailures);
1087 loadData(is, myRandomSeed);
1088 loadData(is, myPrecisionTol);
1089 loadData(is, myDihedralAngleTol);
1090 loadData(is, myMaxAttempts);
1091 loadData(is, myUseInvalidColor);
1092 loadData(is, myInvalidPrimClr);
1093 loadData(is, myUseInvalidGrp);
1094 loadData(is, myInvalidPrimGrp);
1104 if (!thissop)
return getGroup();
1106 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
1114 if (!thissop)
return getBatch();
1116 OP_Utils::evalOpParm(result, thissop,
"batch", cookparms.
getCookTime(), 0);
1117 return Batch(result);
1124 if (!thissop)
return getPieceAttrib();
1126 OP_Utils::evalOpParm(result, thissop,
"pieceattrib", cookparms.
getCookTime(), 0);
1134 if (!thissop)
return getRemove();
1136 OP_Utils::evalOpParm(result, thissop,
"remove", cookparms.
getCookTime(), 0);
1144 if (!thissop)
return getMode();
1146 OP_Utils::evalOpParm(result, thissop,
"mode", cookparms.
getCookTime(), 0);
1147 return Mode(result);
1154 if (!thissop)
return getOutput();
1156 OP_Utils::evalOpParm(result, thissop,
"output", cookparms.
getCookTime(), 0);
1164 if (!thissop)
return getKeepPrims();
1166 OP_Utils::evalOpParm(result, thissop,
"keepprims", cookparms.
getCookTime(), 0);
1174 if (!thissop)
return getNoBoundMod();
1176 OP_Utils::evalOpParm(result, thissop,
"noboundmod", cookparms.
getCookTime(), 0);
1184 if (!thissop)
return getOneFacePerTet();
1186 OP_Utils::evalOpParm(result, thissop,
"onefacepertet", cookparms.
getCookTime(), 0);
1194 if (!thissop)
return getPropNormal();
1196 OP_Utils::evalOpParm(result, thissop,
"propnormal", cookparms.
getCookTime(), 0);
1204 if (!thissop)
return getInternAttrib();
1206 OP_Utils::evalOpParm(result, thissop,
"internattrib", cookparms.
getCookTime(), 0);
1214 if (!thissop)
return getUseQuality();
1216 OP_Utils::evalOpParm(result, thissop,
"usequality", cookparms.
getCookTime(), 0);
1224 if (!thissop)
return getRadEdgeTol();
1226 OP_Utils::evalOpParm(result, thissop,
"radedgetol", cookparms.
getCookTime(), 0);
1234 if (!thissop)
return getMinDihedralAngle();
1236 OP_Utils::evalOpParm(result, thissop,
"mindihedralang", cookparms.
getCookTime(), 0);
1244 if (!thissop)
return getUseTargetSizeAttrib();
1246 OP_Utils::evalOpParm(result, thissop,
"usetargetsizeattrib", cookparms.
getCookTime(), 0);
1254 if (!thissop)
return getTargetSizeAttrib();
1256 OP_Utils::evalOpParm(result, thissop,
"targetsizeattrib", cookparms.
getCookTime(), 0);
1264 if (!thissop)
return getUseUniformMaxSize();
1266 OP_Utils::evalOpParm(result, thissop,
"useuniformmaxsize", cookparms.
getCookTime(), 0);
1274 if (!thissop)
return getUniformMaxSize();
1276 OP_Utils::evalOpParm(result, thissop,
"uniformmaxsize", cookparms.
getCookTime(), 0);
1284 if (!thissop)
return getUseMaxSizeAttrib();
1286 OP_Utils::evalOpParm(result, thissop,
"usemaxsizeattrib", cookparms.
getCookTime(), 0);
1294 if (!thissop)
return getMaxSizeAttrib();
1296 OP_Utils::evalOpParm(result, thissop,
"maxsizeattrib", cookparms.
getCookTime(), 0);
1304 if (!thissop)
return getUseMaxIter();
1306 OP_Utils::evalOpParm(result, thissop,
"usemaxiter", cookparms.
getCookTime(), 0);
1314 if (!thissop)
return getMaxIter();
1316 OP_Utils::evalOpParm(result, thissop,
"maxiter", cookparms.
getCookTime(), 0);
1324 if (!thissop)
return getUseMaxSteiner();
1326 OP_Utils::evalOpParm(result, thissop,
"usemaxsteiner", cookparms.
getCookTime(), 0);
1334 if (!thissop)
return getMaxSteiner();
1336 OP_Utils::evalOpParm(result, thissop,
"maxsteiner", cookparms.
getCookTime(), 0);
1344 if (!thissop)
return getOptIterations();
1346 OP_Utils::evalOpParm(result, thissop,
"optiterations", cookparms.
getCookTime(), 0);
1354 if (!thissop)
return getOptEdgeFace();
1356 OP_Utils::evalOpParm(result, thissop,
"optedgeface", cookparms.
getCookTime(), 0);
1364 if (!thissop)
return getOptVtxSmooth();
1366 OP_Utils::evalOpParm(result, thissop,
"optvtxsmooth", cookparms.
getCookTime(), 0);
1374 if (!thissop)
return getOptVtxMod();
1376 OP_Utils::evalOpParm(result, thissop,
"optvtxmod", cookparms.
getCookTime(), 0);
1384 if (!thissop)
return getUseIsectColor();
1386 OP_Utils::evalOpParm(result, thissop,
"useisectcolor", cookparms.
getCookTime(), 0);
1394 if (!thissop)
return getIsectPolyClr();
1396 OP_Utils::evalOpParm(result, thissop,
"isectpolyclr", cookparms.
getCookTime(), 0);
1404 if (!thissop)
return getUseIsectGrp();
1406 OP_Utils::evalOpParm(result, thissop,
"useisectgrp", cookparms.
getCookTime(), 0);
1414 if (!thissop)
return getIsectPolyGrp();
1416 OP_Utils::evalOpParm(result, thissop,
"isectpolygrp", cookparms.
getCookTime(), 0);
1424 if (!thissop)
return getFailures();
1426 OP_Utils::evalOpParm(result, thissop,
"failures", cookparms.
getCookTime(), 0);
1434 if (!thissop)
return getRandomSeed();
1436 OP_Utils::evalOpParm(result, thissop,
"randomseed", cookparms.
getCookTime(), 0);
1444 if (!thissop)
return getPrecisionTol();
1446 OP_Utils::evalOpParm(result, thissop,
"precisiontol", cookparms.
getCookTime(), 0);
1454 if (!thissop)
return getDihedralAngleTol();
1456 OP_Utils::evalOpParm(result, thissop,
"dihedralangtol", cookparms.
getCookTime(), 0);
1464 if (!thissop)
return getMaxAttempts();
1466 OP_Utils::evalOpParm(result, thissop,
"maxattempts", cookparms.
getCookTime(), 0);
1474 if (!thissop)
return getUseInvalidColor();
1476 OP_Utils::evalOpParm(result, thissop,
"useinvalidcolor", cookparms.
getCookTime(), 0);
1484 if (!thissop)
return getInvalidPrimClr();
1486 OP_Utils::evalOpParm(result, thissop,
"invalidprimclr", cookparms.
getCookTime(), 0);
1494 if (!thissop)
return getUseInvalidGrp();
1496 OP_Utils::evalOpParm(result, thissop,
"useinvalidgrp", cookparms.
getCookTime(), 0);
1504 if (!thissop)
return getInvalidPrimGrp();
1506 OP_Utils::evalOpParm(result, thissop,
"invalidprimgrp", cookparms.
getCookTime(), 0);
1519 bool myOneFacePerTet;
1521 bool myInternAttrib;
1525 bool myUseTargetSizeAttrib;
1527 bool myUseUniformMaxSize;
1529 bool myUseMaxSizeAttrib;
1533 bool myUseMaxSteiner;
1535 int64 myOptIterations;
1537 bool myOptVtxSmooth;
1539 bool myUseIsectColor;
1547 int64 myMaxAttempts;
1548 bool myUseInvalidColor;
1550 bool myUseInvalidGrp;
bool getUseMaxSteiner() const
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
bool getUseQuality() const
void loadFromOpSubclass(const LoadParms &loadparms) override
const UT_StringHolder & getTargetSizeAttrib() const
static void saveData(std::ostream &os, UT_Vector3D v)
bool opUseTargetSizeAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setOutput(Output val)
int64 getRandomSeed() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
void setUseMaxSizeAttrib(bool val)
SOP_Node * getNode() const
static void saveData(std::ostream &os, UT_Matrix4D v)
fpreal64 opUniformMaxSize(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getInvalidPrimGrp() const
UT_Vector3D getIsectPolyClr() const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
void setOptEdgeFace(bool val)
bool opUseIsectGrp(const SOP_NodeVerb::CookParms &cookparms) const
int64 opMaxIter(const SOP_NodeVerb::CookParms &cookparms) const
void setDihedralAngleTol(fpreal64 val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
static void saveData(std::ostream &os, bool v)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
exint bread(int32 *buffer, exint asize=1)
static void saveData(std::ostream &os, UT_Matrix2D v)
GT_API const UT_StringHolder time
void setIsectPolyClr(UT_Vector3D val)
constexpr SYS_FORCE_INLINE T & y() noexcept
void setRandomSeed(int64 val)
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
bool opOneFacePerTet(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
bool opUseIsectColor(const SOP_NodeVerb::CookParms &cookparms) const
int64 opMaxAttempts(const SOP_NodeVerb::CookParms &cookparms) const
void setUseQuality(bool val)
void setUseMaxSteiner(bool val)
int64 getOptIterations() const
const OP_Context & context() const
void setUseInvalidGrp(bool val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
bool getUseIsectColor() const
bool opOptVtxSmooth(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & z() noexcept
void setUseInvalidColor(bool val)
SYS_FORCE_INLINE const char * buffer() const
int64 getMaxSteiner() const
Mode opMode(const SOP_NodeVerb::CookParms &cookparms) const
void setTargetSizeAttrib(const UT_StringHolder &val)
bool getUseInvalidGrp() const
An output stream object that owns its own string buffer storage.
fpreal64 getRadEdgeTol() const
fpreal64 opPrecisionTol(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3D &v)
void setUseIsectGrp(bool val)
UT_Vector3D getInvalidPrimClr() const
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
**But if you need a result
void setUseUniformMaxSize(bool val)
static void saveData(std::ostream &os, UT_Vector4D v)
UT_StringHolder opIsectPolyGrp(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D opIsectPolyClr(const SOP_NodeVerb::CookParms &cookparms) const
bool getNoBoundMod() const
bool getUseInvalidColor() const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
fpreal64 opDihedralAngleTol(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opRadEdgeTol(const SOP_NodeVerb::CookParms &cookparms) const
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
bool opUseInvalidGrp(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, int64 v)
bool opUseMaxSizeAttrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opPieceAttrib(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & x() noexcept
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
SOP_Tetrahedralize_2_0Parms()
SYS_FORCE_INLINE UT_StringHolder getToken(Batch enum_value)
void setMaxSizeAttrib(const UT_StringHolder &val)
const UT_StringHolder & getIsectPolyGrp() const
bool getKeepPrims() const
void setUniformMaxSize(fpreal64 val)
UT_Vector3D opInvalidPrimClr(const SOP_NodeVerb::CookParms &cookparms) const
int64 opRandomSeed(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getPieceAttrib() const
void setGroup(const UT_StringHolder &val)
UT_StringHolder opMaxSizeAttrib(const SOP_NodeVerb::CookParms &cookparms) const
ParmType getNestParmType(TempIndex fieldnum) const override
constexpr SYS_FORCE_INLINE T & x() noexcept
void setUseMaxIter(bool val)
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
bool load(UT_IStream &is)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
bool opUseInvalidColor(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
bool opUseQuality(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector2I &v)
void setMaxAttempts(int64 val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
static void loadData(UT_IStream &is, int64 &v)
void setMaxIter(int64 val)
void save(std::ostream &os) const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
fpreal64 opMinDihedralAngle(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
exint getNestNumParms(TempIndex idx) const override
void setOptIterations(int64 val)
constexpr SYS_FORCE_INLINE T & z() noexcept
UT_StringHolder opTargetSizeAttrib(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getMaxSizeAttrib() const
bool getUseUniformMaxSize() const
void setFailures(Failures val)
const OP_GraphProxy * graph() const
bool getPropNormal() const
bool opUseUniformMaxSize(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const SOP_Tetrahedralize_2_0Parms &src) const
void setPieceAttrib(const UT_StringHolder &val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
static void loadData(UT_IStream &is, UT_Vector3I &v)
void setPropNormal(bool val)
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
bool getOneFacePerTet() const
const char * getNestParmName(TempIndex fieldnum) const override
UT_Vector3T< fpreal64 > UT_Vector3D
bool opOptEdgeFace(const SOP_NodeVerb::CookParms &cookparms) const
Output opOutput(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, fpreal64 v)
UT_StringHolder opInvalidPrimGrp(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
void setMinDihedralAngle(fpreal64 val)
void setPrecisionTol(fpreal64 val)
bool opKeepPrims(const SOP_NodeVerb::CookParms &cookparms) const
void setUseTargetSizeAttrib(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
void setKeepPrims(bool val)
static void saveData(std::ostream &os, UT_Vector2D v)
void saveBinary(std::ostream &os) const
Save string to binary stream.
bool operator!=(const SOP_Tetrahedralize_2_0Parms &src) const
bool getOptEdgeFace() const
GT_API const UT_StringHolder version
bool opRemove(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, fpreal64 &v)
bool getOptVtxMod() const
bool opOptVtxMod(const SOP_NodeVerb::CookParms &cookparms) const
void setIsectPolyGrp(const UT_StringHolder &val)
fpreal64 getMinDihedralAngle() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
void setMaxSteiner(int64 val)
void setInvalidPrimClr(UT_Vector3D val)
void setOptVtxMod(bool val)
static void saveData(std::ostream &os, UT_StringHolder s)
int64 getMaxAttempts() const
void setUseIsectColor(bool val)
void setInvalidPrimGrp(const UT_StringHolder &val)
DEP_MicroNode * depnode() const
LeafData & operator=(const LeafData &)=delete
bool getUseTargetSizeAttrib() const
void setRadEdgeTol(fpreal64 val)
Utility class for containing a color ramp.
static void loadData(UT_IStream &is, UT_Vector4I &v)
Failures opFailures(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector2D &v)
void setInternAttrib(bool val)
fpreal64 getUniformMaxSize() const
constexpr SYS_FORCE_INLINE T & w() noexcept
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
bool getUseMaxIter() const
static void loadData(UT_IStream &is, UT_Vector4D &v)
bool getUseMaxSizeAttrib() const
bool opPropNormal(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
Failures getFailures() const
void setOptVtxSmooth(bool val)
int64 opMaxSteiner(const SOP_NodeVerb::CookParms &cookparms) const
fpreal getCookTime() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
void setOneFacePerTet(bool val)
Batch opBatch(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseMaxIter(const SOP_NodeVerb::CookParms &cookparms) const
bool opInternAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setNoBoundMod(bool val)
const char * findChar(int c) const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
bool getOptVtxSmooth() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
bool opUseMaxSteiner(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getGroup() const
int64 opOptIterations(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getDihedralAngleTol() const
static void loadData(UT_IStream &is, bool &v)
constexpr SYS_FORCE_INLINE T & y() noexcept
static void loadData(UT_IStream &is, UT_StringHolder &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
fpreal64 getPrecisionTol() const
bool getUseIsectGrp() const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
void copyFrom(const OP_NodeParms *src) override
constexpr SYS_FORCE_INLINE T & y() noexcept
static void loadData(UT_IStream &is, UT_Matrix3D &v)
SYS_FORCE_INLINE bool isstring() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
bool opNoBoundMod(const SOP_NodeVerb::CookParms &cookparms) const
bool isParmColorRamp(exint idx) const override
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
static void saveData(std::ostream &os, UT_Matrix3D v)
constexpr SYS_FORCE_INLINE T & x() noexcept
bool getInternAttrib() const