23 namespace SOP_Triangulate2D_3_0Enums
52 myPos2AttribName =
""_UTsh;
53 myUseConstrEdges =
false;
54 myConstrEdges =
""_UTsh;
55 myUseConstrPolys =
false;
56 myConstrPolys =
""_UTsh;
57 myIgnorePolyBridges =
false;
58 myUseSilhouettePolys =
false;
59 mySilhouettePolys =
""_UTsh;
60 myAllowConstrSplit =
true;
61 myUseExactConstruction =
false;
62 myIgnoreNonConstrPts =
false;
63 myRemoveFromConvexHull =
false;
64 myRemoveFromConstrPolys =
false;
65 myRemoveOutsideSilhouette =
false;
67 myAllowRefineConstrSplits =
true;
68 myEncroachAngle = 180;
72 myTargetEdgeLength = 100;
73 myMinEdgeLength = 0.0001;
76 myAllowMovingInteriorInputPts =
false;
79 myUpdateNormals =
true;
80 myRemoveUnusedPts =
true;
81 myRemoveDuplicatePts =
true;
82 myUseConstrSplitPtsGrp =
false;
83 myConstrSplitPtsGrp =
"constrsplitpts"_UTsh;
84 myUseConstrdEdges =
false;
85 myConstrdEdges =
"constrdedges"_UTsh;
99 if (myPoints != src.myPoints)
return false;
100 if (myPlanePosSrc != src.myPlanePosSrc)
return false;
101 if (myOrigin != src.myOrigin)
return false;
102 if (myDist != src.myDist)
return false;
103 if (myDir != src.myDir)
return false;
104 if (myPos2AttribName != src.myPos2AttribName)
return false;
105 if (myUseConstrEdges != src.myUseConstrEdges)
return false;
106 if (myConstrEdges != src.myConstrEdges)
return false;
107 if (myUseConstrPolys != src.myUseConstrPolys)
return false;
108 if (myConstrPolys != src.myConstrPolys)
return false;
109 if (myIgnorePolyBridges != src.myIgnorePolyBridges)
return false;
110 if (myUseSilhouettePolys != src.myUseSilhouettePolys)
return false;
111 if (mySilhouettePolys != src.mySilhouettePolys)
return false;
112 if (myAllowConstrSplit != src.myAllowConstrSplit)
return false;
113 if (myUseExactConstruction != src.myUseExactConstruction)
return false;
114 if (myIgnoreNonConstrPts != src.myIgnoreNonConstrPts)
return false;
115 if (myRemoveFromConvexHull != src.myRemoveFromConvexHull)
return false;
116 if (myRemoveFromConstrPolys != src.myRemoveFromConstrPolys)
return false;
117 if (myRemoveOutsideSilhouette != src.myRemoveOutsideSilhouette)
return false;
118 if (myRefine != src.myRefine)
return false;
119 if (myAllowRefineConstrSplits != src.myAllowRefineConstrSplits)
return false;
120 if (myEncroachAngle != src.myEncroachAngle)
return false;
121 if (myMinAngle != src.myMinAngle)
return false;
122 if (myTriangleSize != src.myTriangleSize)
return false;
123 if (myMaxArea != src.myMaxArea)
return false;
124 if (myTargetEdgeLength != src.myTargetEdgeLength)
return false;
125 if (myMinEdgeLength != src.myMinEdgeLength)
return false;
126 if (myMaxNewPts != src.myMaxNewPts)
return false;
127 if (myNumLloydSteps != src.myNumLloydSteps)
return false;
128 if (myAllowMovingInteriorInputPts != src.myAllowMovingInteriorInputPts)
return false;
129 if (myRestorePos != src.myRestorePos)
return false;
130 if (myKeepPrims != src.myKeepPrims)
return false;
131 if (myUpdateNormals != src.myUpdateNormals)
return false;
132 if (myRemoveUnusedPts != src.myRemoveUnusedPts)
return false;
133 if (myRemoveDuplicatePts != src.myRemoveDuplicatePts)
return false;
134 if (myUseConstrSplitPtsGrp != src.myUseConstrSplitPtsGrp)
return false;
135 if (myConstrSplitPtsGrp != src.myConstrSplitPtsGrp)
return false;
136 if (myUseConstrdEdges != src.myUseConstrdEdges)
return false;
137 if (myConstrdEdges != src.myConstrdEdges)
return false;
138 if (myRandomSeed != src.myRandomSeed)
return false;
155 graph->
evalOpParm(myPoints, nodeidx,
"points", time, 0);
158 graph->
evalOpParm(myPlanePosSrc, nodeidx,
"planepossrc", time, 0);
160 if (
true && ( (
true&&!(((
int64(getPlanePosSrc())!=1)))) ) )
161 graph->
evalOpParm(myOrigin, nodeidx,
"origin", time, 0);
163 if (
true && ( (
true&&!(((
int64(getPlanePosSrc())!=1)))) ) )
164 graph->
evalOpParm(myDist, nodeidx,
"dist", time, 0);
166 if (
true && ( (
true&&!(((
int64(getPlanePosSrc())!=1)))) ) )
167 graph->
evalOpParm(myDir, nodeidx,
"dir", time, 0);
168 myPos2AttribName =
""_UTsh;
169 if (
true && ( (
true&&!(((
int64(getPlanePosSrc())!=2)))) ) )
170 graph->
evalOpParm(myPos2AttribName, nodeidx,
"pos2attrib", time, 0);
171 myUseConstrEdges =
false;
173 graph->
evalOpParm(myUseConstrEdges, nodeidx,
"useconstredges", time, 0);
174 myConstrEdges =
""_UTsh;
175 if (
true && ( (
true&&!(((getUseConstrEdges()==0)))) ) )
176 graph->
evalOpParm(myConstrEdges, nodeidx,
"constredges", time, 0);
177 myUseConstrPolys =
false;
179 graph->
evalOpParm(myUseConstrPolys, nodeidx,
"useconstrpolys", time, 0);
180 myConstrPolys =
""_UTsh;
181 if (
true && ( (
true&&!(((getUseConstrPolys()==0)))) ) )
182 graph->
evalOpParm(myConstrPolys, nodeidx,
"constrpolys", time, 0);
183 myIgnorePolyBridges =
false;
184 if (
true && ( (
true&&!(((getUseConstrPolys()==0)))) ) )
185 graph->
evalOpParm(myIgnorePolyBridges, nodeidx,
"ignorepolybridges", time, 0);
186 myUseSilhouettePolys =
false;
188 graph->
evalOpParm(myUseSilhouettePolys, nodeidx,
"usesilhouettepolys", time, 0);
189 mySilhouettePolys =
""_UTsh;
190 if (
true && ( (
true&&!(((getUseSilhouettePolys()==0)))) ) )
191 graph->
evalOpParm(mySilhouettePolys, nodeidx,
"silhouettepolys", time, 0);
192 myAllowConstrSplit =
true;
194 graph->
evalOpParm(myAllowConstrSplit, nodeidx,
"allowconstrsplit", time, 0);
195 myUseExactConstruction =
false;
196 if (
true && ( (
true&&!(((getAllowConstrSplit()==0)))) ) )
197 graph->
evalOpParm(myUseExactConstruction, nodeidx,
"useexactconstruction", time, 0);
198 myIgnoreNonConstrPts =
false;
199 if (
true && ( (
true&&!(((getUseConstrEdges()==0)&&(getUseConstrPolys()==0)&&(getUseSilhouettePolys()==0)))) ) )
200 graph->
evalOpParm(myIgnoreNonConstrPts, nodeidx,
"ignorenonconstrpts", time, 0);
201 myRemoveFromConvexHull =
false;
202 if (
true && ( (
true&&!(((getUseConstrEdges()==0)&&(getUseConstrPolys()==0)&&(getUseSilhouettePolys()==0)))) ) )
203 graph->
evalOpParm(myRemoveFromConvexHull, nodeidx,
"removefromconvexhull", time, 0);
204 myRemoveFromConstrPolys =
false;
205 if (
true && ( (
true&&!(((getUseConstrPolys()==0)))) ) )
206 graph->
evalOpParm(myRemoveFromConstrPolys, nodeidx,
"removefromconstrpolys", time, 0);
207 myRemoveOutsideSilhouette =
false;
208 if (
true && ( (
true&&!(((getUseSilhouettePolys()==0)))) ) )
209 graph->
evalOpParm(myRemoveOutsideSilhouette, nodeidx,
"removeoutsidesilhouette", time, 0);
212 graph->
evalOpParm(myRefine, nodeidx,
"refine", time, 0);
213 myAllowRefineConstrSplits =
true;
215 graph->
evalOpParm(myAllowRefineConstrSplits, nodeidx,
"allowrefineonstrsplit", time, 0);
216 myEncroachAngle = 180;
217 if (
true && ( (
true&&!(((getAllowRefineConstrSplits()==1)))) ) )
218 graph->
evalOpParm(myEncroachAngle, nodeidx,
"encroachangle", time, 0);
220 if (
true && ( (
true&&!(((getRefine()==0)))) ) )
221 graph->
evalOpParm(myMinAngle, nodeidx,
"minangle", time, 0);
223 if (
true && ( (
true&&!(((getRefine()==0)))) ) )
224 graph->
evalOpParm(myTriangleSize, nodeidx,
"trianglesize", time, 0);
226 if (
true && ( (
true&&!(((
int64(getTriangleSize())!=1))||((getRefine()==0)))) ) )
227 graph->
evalOpParm(myMaxArea, nodeidx,
"maxarea", time, 0);
228 myTargetEdgeLength = 100;
229 if (
true && ( (
true&&!(((
int64(getTriangleSize())!=2))||((getRefine()==0)))) ) )
230 graph->
evalOpParm(myTargetEdgeLength, nodeidx,
"targetedgelength", time, 0);
231 myMinEdgeLength = 0.0001;
232 if (
true && ( (
true&&!(((getRefine()==0)))) ) )
233 graph->
evalOpParm(myMinEdgeLength, nodeidx,
"minedgelength", time, 0);
235 if (
true && ( (
true&&!(((getRefine()==0)))) ) )
236 graph->
evalOpParm(myMaxNewPts, nodeidx,
"maxnewpts", time, 0);
238 if (
true && ( (
true&&!(((getRefine()==0)))) ) )
239 graph->
evalOpParm(myNumLloydSteps, nodeidx,
"lloydsteps", time, 0);
240 myAllowMovingInteriorInputPts =
false;
241 if (
true && ( (
true&&!(((getRefine()==0))||((
int64(getNumLloydSteps())==0)))) ) )
242 graph->
evalOpParm(myAllowMovingInteriorInputPts, nodeidx,
"allowmovinginteriorpts", time, 0);
243 myRestorePos =
false;
245 graph->
evalOpParm(myRestorePos, nodeidx,
"restorepos", time, 0);
248 graph->
evalOpParm(myKeepPrims, nodeidx,
"keepprims", time, 0);
249 myUpdateNormals =
true;
251 graph->
evalOpParm(myUpdateNormals, nodeidx,
"updatenmls", time, 0);
252 myRemoveUnusedPts =
true;
254 graph->
evalOpParm(myRemoveUnusedPts, nodeidx,
"removeunusedpoints", time, 0);
255 myRemoveDuplicatePts =
true;
257 graph->
evalOpParm(myRemoveDuplicatePts, nodeidx,
"removeduplicatepoints", time, 0);
258 myUseConstrSplitPtsGrp =
false;
259 if (
true && ( (
true&&!(((getAllowConstrSplit()==0)))) ) )
260 graph->
evalOpParm(myUseConstrSplitPtsGrp, nodeidx,
"usecontrsplitptgrp", time, 0);
261 myConstrSplitPtsGrp =
"constrsplitpts"_UTsh;
262 if (
true && ( (
true&&!(((getUseConstrSplitPtsGrp()==0)))) ) )
263 graph->
evalOpParm(myConstrSplitPtsGrp, nodeidx,
"constrsplitptgrp", time, 0);
264 myUseConstrdEdges =
false;
266 graph->
evalOpParm(myUseConstrdEdges, nodeidx,
"useconstrdedges", time, 0);
267 myConstrdEdges =
"constrdedges"_UTsh;
268 if (
true && ( (
true&&!(((getUseConstrdEdges()==0)))) ) )
269 graph->
evalOpParm(myConstrdEdges, nodeidx,
"constrdedges", time, 0);
272 graph->
evalOpParm(myRandomSeed, nodeidx,
"randseed", time, 0);
288 template <
typename T>
295 if (idx.
size() != instance.
size()+1)
433 { doGetParmValue(idx, instance, value); }
435 { doGetParmValue(idx, instance, value); }
437 { doGetParmValue(idx, instance, value); }
439 { doGetParmValue(idx, instance, value); }
441 { doGetParmValue(idx, instance, value); }
443 { doGetParmValue(idx, instance, value); }
445 { doGetParmValue(idx, instance, value); }
447 { doGetParmValue(idx, instance, value); }
449 { doGetParmValue(idx, instance, value); }
451 { doGetParmValue(idx, instance, value); }
453 { doGetParmValue(idx, instance, value); }
455 template <
typename T>
462 if (idx.
size() != instance.
size()+1)
509 coerceValue(myUseExactConstruction, ( ( value ) ));
515 coerceValue(myRemoveFromConvexHull, ( ( value ) ));
518 coerceValue(myRemoveFromConstrPolys, ( ( value ) ));
521 coerceValue(myRemoveOutsideSilhouette, ( ( value ) ));
527 coerceValue(myAllowRefineConstrSplits, ( ( value ) ));
554 coerceValue(myAllowMovingInteriorInputPts, ( ( value ) ));
572 coerceValue(myUseConstrSplitPtsGrp, ( ( value ) ));
591 { doSetParmValue(idx, instance, value); }
593 { doSetParmValue(idx, instance, value); }
595 { doSetParmValue(idx, instance, value); }
597 { doSetParmValue(idx, instance, value); }
599 { doSetParmValue(idx, instance, value); }
601 { doSetParmValue(idx, instance, value); }
603 { doSetParmValue(idx, instance, value); }
605 { doSetParmValue(idx, instance, value); }
607 { doSetParmValue(idx, instance, value); }
609 { doSetParmValue(idx, instance, value); }
611 { doSetParmValue(idx, instance, value); }
627 if (fieldnum.
size() < 1)
634 return "planepossrc";
644 return "useconstredges";
646 return "constredges";
648 return "useconstrpolys";
650 return "constrpolys";
652 return "ignorepolybridges";
654 return "usesilhouettepolys";
656 return "silhouettepolys";
658 return "allowconstrsplit";
660 return "useexactconstruction";
662 return "ignorenonconstrpts";
664 return "removefromconvexhull";
666 return "removefromconstrpolys";
668 return "removeoutsidesilhouette";
672 return "allowrefineonstrsplit";
674 return "encroachangle";
678 return "trianglesize";
682 return "targetedgelength";
684 return "minedgelength";
690 return "allowmovinginteriorpts";
698 return "removeunusedpoints";
700 return "removeduplicatepoints";
702 return "usecontrsplitptgrp";
704 return "constrsplitptgrp";
706 return "useconstrdedges";
708 return "constrdedges";
718 if (fieldnum.
size() < 1)
719 return PARM_UNSUPPORTED;
823 {
for (
int r = 0;
r < 2;
r++)
for (
int c = 0; c < 2; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
825 {
for (
int r = 0;
r < 3;
r++)
for (
int c = 0; c < 3; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
827 {
for (
int r = 0;
r < 4;
r++)
for (
int c = 0; c < 4; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
840 loadData(is, rampdata);
858 int typelen = colon - data.
buffer();
872 {
int64 iv =
v; UTwrite(os, &iv); }
874 { UTwrite<fpreal64>(os, &
v); }
876 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
878 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
879 UTwrite<fpreal64>(os, &v.
z()); }
881 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
882 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
894 if (s) s->save(ostr);
896 saveData(os, result);
903 ostr << s->getDataTypeToken();
908 saveData(os, result);
912 void save(std::ostream &os)
const
916 saveData(os, myPoints);
917 saveData(os, myPlanePosSrc);
918 saveData(os, myOrigin);
919 saveData(os, myDist);
921 saveData(os, myPos2AttribName);
922 saveData(os, myUseConstrEdges);
923 saveData(os, myConstrEdges);
924 saveData(os, myUseConstrPolys);
925 saveData(os, myConstrPolys);
926 saveData(os, myIgnorePolyBridges);
927 saveData(os, myUseSilhouettePolys);
928 saveData(os, mySilhouettePolys);
929 saveData(os, myAllowConstrSplit);
930 saveData(os, myUseExactConstruction);
931 saveData(os, myIgnoreNonConstrPts);
932 saveData(os, myRemoveFromConvexHull);
933 saveData(os, myRemoveFromConstrPolys);
934 saveData(os, myRemoveOutsideSilhouette);
935 saveData(os, myRefine);
936 saveData(os, myAllowRefineConstrSplits);
937 saveData(os, myEncroachAngle);
938 saveData(os, myMinAngle);
939 saveData(os, myTriangleSize);
940 saveData(os, myMaxArea);
941 saveData(os, myTargetEdgeLength);
942 saveData(os, myMinEdgeLength);
943 saveData(os, myMaxNewPts);
944 saveData(os, myNumLloydSteps);
945 saveData(os, myAllowMovingInteriorInputPts);
946 saveData(os, myRestorePos);
947 saveData(os, myKeepPrims);
948 saveData(os, myUpdateNormals);
949 saveData(os, myRemoveUnusedPts);
950 saveData(os, myRemoveDuplicatePts);
951 saveData(os, myUseConstrSplitPtsGrp);
952 saveData(os, myConstrSplitPtsGrp);
953 saveData(os, myUseConstrdEdges);
954 saveData(os, myConstrdEdges);
955 saveData(os, myRandomSeed);
968 loadData(is, myPoints);
969 loadData(is, myPlanePosSrc);
970 loadData(is, myOrigin);
971 loadData(is, myDist);
973 loadData(is, myPos2AttribName);
974 loadData(is, myUseConstrEdges);
975 loadData(is, myConstrEdges);
976 loadData(is, myUseConstrPolys);
977 loadData(is, myConstrPolys);
978 loadData(is, myIgnorePolyBridges);
979 loadData(is, myUseSilhouettePolys);
980 loadData(is, mySilhouettePolys);
981 loadData(is, myAllowConstrSplit);
982 loadData(is, myUseExactConstruction);
983 loadData(is, myIgnoreNonConstrPts);
984 loadData(is, myRemoveFromConvexHull);
985 loadData(is, myRemoveFromConstrPolys);
986 loadData(is, myRemoveOutsideSilhouette);
987 loadData(is, myRefine);
988 loadData(is, myAllowRefineConstrSplits);
989 loadData(is, myEncroachAngle);
990 loadData(is, myMinAngle);
991 loadData(is, myTriangleSize);
992 loadData(is, myMaxArea);
993 loadData(is, myTargetEdgeLength);
994 loadData(is, myMinEdgeLength);
995 loadData(is, myMaxNewPts);
996 loadData(is, myNumLloydSteps);
997 loadData(is, myAllowMovingInteriorInputPts);
998 loadData(is, myRestorePos);
999 loadData(is, myKeepPrims);
1000 loadData(is, myUpdateNormals);
1001 loadData(is, myRemoveUnusedPts);
1002 loadData(is, myRemoveDuplicatePts);
1003 loadData(is, myUseConstrSplitPtsGrp);
1004 loadData(is, myConstrSplitPtsGrp);
1005 loadData(is, myUseConstrdEdges);
1006 loadData(is, myConstrdEdges);
1007 loadData(is, myRandomSeed);
1017 if (!thissop)
return getPoints();
1019 OP_Utils::evalOpParm(result, thissop,
"points", cookparms.
getCookTime(), 0);
1027 if (!thissop)
return getPlanePosSrc();
1029 OP_Utils::evalOpParm(result, thissop,
"planepossrc", cookparms.
getCookTime(), 0);
1037 if (!thissop)
return getOrigin();
1039 OP_Utils::evalOpParm(result, thissop,
"origin", cookparms.
getCookTime(), 0);
1047 if (!thissop)
return getDist();
1049 OP_Utils::evalOpParm(result, thissop,
"dist", cookparms.
getCookTime(), 0);
1057 if (!thissop)
return getDir();
1059 OP_Utils::evalOpParm(result, thissop,
"dir", cookparms.
getCookTime(), 0);
1067 if (!thissop)
return getPos2AttribName();
1069 OP_Utils::evalOpParm(result, thissop,
"pos2attrib", cookparms.
getCookTime(), 0);
1077 if (!thissop)
return getUseConstrEdges();
1079 OP_Utils::evalOpParm(result, thissop,
"useconstredges", cookparms.
getCookTime(), 0);
1087 if (!thissop)
return getConstrEdges();
1089 OP_Utils::evalOpParm(result, thissop,
"constredges", cookparms.
getCookTime(), 0);
1097 if (!thissop)
return getUseConstrPolys();
1099 OP_Utils::evalOpParm(result, thissop,
"useconstrpolys", cookparms.
getCookTime(), 0);
1107 if (!thissop)
return getConstrPolys();
1109 OP_Utils::evalOpParm(result, thissop,
"constrpolys", cookparms.
getCookTime(), 0);
1117 if (!thissop)
return getIgnorePolyBridges();
1119 OP_Utils::evalOpParm(result, thissop,
"ignorepolybridges", cookparms.
getCookTime(), 0);
1127 if (!thissop)
return getUseSilhouettePolys();
1129 OP_Utils::evalOpParm(result, thissop,
"usesilhouettepolys", cookparms.
getCookTime(), 0);
1137 if (!thissop)
return getSilhouettePolys();
1139 OP_Utils::evalOpParm(result, thissop,
"silhouettepolys", cookparms.
getCookTime(), 0);
1147 if (!thissop)
return getAllowConstrSplit();
1149 OP_Utils::evalOpParm(result, thissop,
"allowconstrsplit", cookparms.
getCookTime(), 0);
1157 if (!thissop)
return getUseExactConstruction();
1159 OP_Utils::evalOpParm(result, thissop,
"useexactconstruction", cookparms.
getCookTime(), 0);
1167 if (!thissop)
return getIgnoreNonConstrPts();
1169 OP_Utils::evalOpParm(result, thissop,
"ignorenonconstrpts", cookparms.
getCookTime(), 0);
1177 if (!thissop)
return getRemoveFromConvexHull();
1179 OP_Utils::evalOpParm(result, thissop,
"removefromconvexhull", cookparms.
getCookTime(), 0);
1187 if (!thissop)
return getRemoveFromConstrPolys();
1189 OP_Utils::evalOpParm(result, thissop,
"removefromconstrpolys", cookparms.
getCookTime(), 0);
1197 if (!thissop)
return getRemoveOutsideSilhouette();
1199 OP_Utils::evalOpParm(result, thissop,
"removeoutsidesilhouette", cookparms.
getCookTime(), 0);
1207 if (!thissop)
return getRefine();
1209 OP_Utils::evalOpParm(result, thissop,
"refine", cookparms.
getCookTime(), 0);
1217 if (!thissop)
return getAllowRefineConstrSplits();
1219 OP_Utils::evalOpParm(result, thissop,
"allowrefineonstrsplit", cookparms.
getCookTime(), 0);
1227 if (!thissop)
return getEncroachAngle();
1229 OP_Utils::evalOpParm(result, thissop,
"encroachangle", cookparms.
getCookTime(), 0);
1237 if (!thissop)
return getMinAngle();
1239 OP_Utils::evalOpParm(result, thissop,
"minangle", cookparms.
getCookTime(), 0);
1247 if (!thissop)
return getTriangleSize();
1249 OP_Utils::evalOpParm(result, thissop,
"trianglesize", cookparms.
getCookTime(), 0);
1257 if (!thissop)
return getMaxArea();
1259 OP_Utils::evalOpParm(result, thissop,
"maxarea", cookparms.
getCookTime(), 0);
1267 if (!thissop)
return getTargetEdgeLength();
1269 OP_Utils::evalOpParm(result, thissop,
"targetedgelength", cookparms.
getCookTime(), 0);
1277 if (!thissop)
return getMinEdgeLength();
1279 OP_Utils::evalOpParm(result, thissop,
"minedgelength", cookparms.
getCookTime(), 0);
1287 if (!thissop)
return getMaxNewPts();
1289 OP_Utils::evalOpParm(result, thissop,
"maxnewpts", cookparms.
getCookTime(), 0);
1297 if (!thissop)
return getNumLloydSteps();
1299 OP_Utils::evalOpParm(result, thissop,
"lloydsteps", cookparms.
getCookTime(), 0);
1307 if (!thissop)
return getAllowMovingInteriorInputPts();
1309 OP_Utils::evalOpParm(result, thissop,
"allowmovinginteriorpts", cookparms.
getCookTime(), 0);
1317 if (!thissop)
return getRestorePos();
1319 OP_Utils::evalOpParm(result, thissop,
"restorepos", cookparms.
getCookTime(), 0);
1327 if (!thissop)
return getKeepPrims();
1329 OP_Utils::evalOpParm(result, thissop,
"keepprims", cookparms.
getCookTime(), 0);
1337 if (!thissop)
return getUpdateNormals();
1339 OP_Utils::evalOpParm(result, thissop,
"updatenmls", cookparms.
getCookTime(), 0);
1347 if (!thissop)
return getRemoveUnusedPts();
1349 OP_Utils::evalOpParm(result, thissop,
"removeunusedpoints", cookparms.
getCookTime(), 0);
1357 if (!thissop)
return getRemoveDuplicatePts();
1359 OP_Utils::evalOpParm(result, thissop,
"removeduplicatepoints", cookparms.
getCookTime(), 0);
1367 if (!thissop)
return getUseConstrSplitPtsGrp();
1369 OP_Utils::evalOpParm(result, thissop,
"usecontrsplitptgrp", cookparms.
getCookTime(), 0);
1377 if (!thissop)
return getConstrSplitPtsGrp();
1379 OP_Utils::evalOpParm(result, thissop,
"constrsplitptgrp", cookparms.
getCookTime(), 0);
1387 if (!thissop)
return getUseConstrdEdges();
1389 OP_Utils::evalOpParm(result, thissop,
"useconstrdedges", cookparms.
getCookTime(), 0);
1397 if (!thissop)
return getConstrdEdges();
1399 OP_Utils::evalOpParm(result, thissop,
"constrdedges", cookparms.
getCookTime(), 0);
1407 if (!thissop)
return getRandomSeed();
1409 OP_Utils::evalOpParm(result, thissop,
"randseed", cookparms.
getCookTime(), 0);
1415 int64 myPlanePosSrc;
1420 bool myUseConstrEdges;
1422 bool myUseConstrPolys;
1424 bool myIgnorePolyBridges;
1425 bool myUseSilhouettePolys;
1427 bool myAllowConstrSplit;
1428 bool myUseExactConstruction;
1429 bool myIgnoreNonConstrPts;
1430 bool myRemoveFromConvexHull;
1431 bool myRemoveFromConstrPolys;
1432 bool myRemoveOutsideSilhouette;
1434 bool myAllowRefineConstrSplits;
1437 int64 myTriangleSize;
1442 int64 myNumLloydSteps;
1443 bool myAllowMovingInteriorInputPts;
1446 bool myUpdateNormals;
1447 bool myRemoveUnusedPts;
1448 bool myRemoveDuplicatePts;
1449 bool myUseConstrSplitPtsGrp;
1451 bool myUseConstrdEdges;
UT_StringHolder opConstrPolys(const SOP_NodeVerb::CookParms &cookparms) const
TriangleSize opTriangleSize(const SOP_NodeVerb::CookParms &cookparms) const
int64 getRandomSeed() const
bool load(UT_IStream &is)
fpreal64 opMaxArea(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opMinEdgeLength(const SOP_NodeVerb::CookParms &cookparms) const
PlanePosSrc opPlanePosSrc(const SOP_NodeVerb::CookParms &cookparms) const
void setConstrPolys(const UT_StringHolder &val)
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
static void saveData(std::ostream &os, UT_Vector3D v)
bool getIgnorePolyBridges() const
void setUpdateNormals(bool val)
fpreal64 getMinAngle() const
bool opUseConstrEdges(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
SOP_Node * getNode() const
void loadFromOpSubclass(const LoadParms &loadparms) override
int64 opRandomSeed(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
PlanePosSrc getPlanePosSrc() const
UT_StringHolder opConstrdEdges(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
static void loadData(UT_IStream &is, UT_Matrix2D &v)
T clampMaxValue(fpreal maxvalue, const T &src) const
bool getUseSilhouettePolys() const
const char * getNestParmName(TempIndex fieldnum) const override
bool opKeepPrims(const SOP_NodeVerb::CookParms &cookparms) const
exint bread(int32 *buffer, exint asize=1)
static void loadData(UT_IStream &is, UT_Vector4I &v)
void copyFrom(const OP_NodeParms *src) override
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
bool opRemoveFromConvexHull(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
UT_StringHolder opPos2AttribName(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opMinAngle(const SOP_NodeVerb::CookParms &cookparms) const
bool getRestorePos() const
void setMaxNewPts(int64 val)
void setUseSilhouettePolys(bool val)
void setUseConstrPolys(bool val)
bool operator!=(const SOP_Triangulate2D_3_0Parms &src) const
bool getUpdateNormals() const
UT_Vector3D getDir() const
static void saveData(std::ostream &os, UT_Matrix4D v)
const UT_StringHolder & getConstrEdges() const
const OP_Context & context() const
bool opAllowConstrSplit(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getTargetEdgeLength() const
constexpr SYS_FORCE_INLINE T & z() noexcept
void setRemoveOutsideSilhouette(bool val)
SYS_FORCE_INLINE const char * buffer() const
bool opUpdateNormals(const SOP_NodeVerb::CookParms &cookparms) const
void setPoints(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_StringHolder &v)
An output stream object that owns its own string buffer storage.
static void saveData(std::ostream &os, UT_Matrix3D v)
void setTargetEdgeLength(fpreal64 val)
exint getNestNumParms(TempIndex idx) const override
ParmType getNestParmType(TempIndex fieldnum) const override
**But if you need a result
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
void setRemoveFromConstrPolys(bool val)
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
bool getIgnoreNonConstrPts() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
void save(std::ostream &os) const
T clampMinValue(fpreal minvalue, const T &src) const
static void loadData(UT_IStream &is, bool &v)
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
bool opAllowRefineConstrSplits(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
void setRemoveFromConvexHull(bool val)
void setEncroachAngle(fpreal64 val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
constexpr SYS_FORCE_INLINE T & x() noexcept
UT_Vector3D opOrigin(const SOP_NodeVerb::CookParms &cookparms) const
bool getRemoveFromConvexHull() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
bool opAllowMovingInteriorInputPts(const SOP_NodeVerb::CookParms &cookparms) const
bool getUseConstrPolys() const
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
UT_Vector3D getOrigin() const
fpreal64 opEncroachAngle(const SOP_NodeVerb::CookParms &cookparms) const
void setUseConstrEdges(bool val)
constexpr SYS_FORCE_INLINE T & x() noexcept
fpreal64 opTargetEdgeLength(const SOP_NodeVerb::CookParms &cookparms) const
void setRemoveDuplicatePts(bool val)
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
bool getRemoveUnusedPts() const
static void saveData(std::ostream &os, UT_Matrix2D v)
int64 getNumLloydSteps() const
void setUseConstrdEdges(bool val)
const UT_StringHolder & getPoints() const
int64 getMaxNewPts() const
void setIgnoreNonConstrPts(bool val)
void setKeepPrims(bool val)
void setMinAngle(fpreal64 val)
void setSilhouettePolys(const UT_StringHolder &val)
fpreal64 getMaxArea() const
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
void setMinEdgeLength(fpreal64 val)
UT_StringHolder opConstrSplitPtsGrp(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & z() noexcept
bool opRemoveOutsideSilhouette(const SOP_NodeVerb::CookParms &cookparms) const
void setPlanePosSrc(PlanePosSrc val)
bool getUseConstrdEdges() const
void setConstrdEdges(const UT_StringHolder &val)
bool opRemoveFromConstrPolys(const SOP_NodeVerb::CookParms &cookparms) const
const OP_GraphProxy * graph() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
static void loadData(UT_IStream &is, UT_Vector3D &v)
void setTriangleSize(TriangleSize val)
void setDist(fpreal64 val)
static void loadData(UT_IStream &is, UT_Vector2D &v)
const UT_StringHolder & getSilhouettePolys() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
void setAllowRefineConstrSplits(bool val)
bool getRemoveOutsideSilhouette() const
bool opRefine(const SOP_NodeVerb::CookParms &cookparms) const
SOP_Triangulate2D_3_0Parms()
UT_Vector3T< fpreal64 > UT_Vector3D
static void loadData(UT_IStream &is, int64 &v)
const UT_StringHolder & getPos2AttribName() const
const UT_StringHolder & getConstrdEdges() const
void setConstrEdges(const UT_StringHolder &val)
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
static void saveData(std::ostream &os, PRM_DataItemHandle s)
const UT_StringHolder & getConstrSplitPtsGrp() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
static void loadData(UT_IStream &is, UT_Vector3I &v)
static void saveData(std::ostream &os, UT_Vector4D v)
void saveBinary(std::ostream &os) const
Save string to binary stream.
void setMaxArea(fpreal64 val)
bool operator==(const SOP_Triangulate2D_3_0Parms &src) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
GT_API const UT_StringHolder version
static void saveData(std::ostream &os, int64 v)
TriangleSize getTriangleSize() const
static void loadData(UT_IStream &is, fpreal64 &v)
void setRemoveUnusedPts(bool val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
static void saveData(std::ostream &os, UT_Vector2D v)
UT_Vector3D opDir(const SOP_NodeVerb::CookParms &cookparms) const
void setRestorePos(bool val)
void setOrigin(UT_Vector3D val)
bool opIgnorePolyBridges(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
bool opUseExactConstruction(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opPoints(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseConstrSplitPtsGrp(const SOP_NodeVerb::CookParms &cookparms) const
int64 opNumLloydSteps(const SOP_NodeVerb::CookParms &cookparms) const
void coerceValue(T &result, const S &src) const
fpreal64 opDist(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
bool opRestorePos(const SOP_NodeVerb::CookParms &cookparms) const
void setPos2AttribName(const UT_StringHolder &val)
fpreal64 getMinEdgeLength() const
bool opRemoveDuplicatePts(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseConstrdEdges(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opSilhouettePolys(const SOP_NodeVerb::CookParms &cookparms) const
DEP_MicroNode * depnode() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
bool getUseExactConstruction() const
Utility class for containing a color ramp.
void setIgnorePolyBridges(bool val)
bool opRemoveUnusedPts(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getEncroachAngle() const
bool getRemoveFromConstrPolys() const
bool opUseSilhouettePolys(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & w() noexcept
bool getUseConstrSplitPtsGrp() const
const UT_StringHolder & getConstrPolys() const
void setNumLloydSteps(int64 val)
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
fpreal getCookTime() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
const char * findChar(int c) const
bool getAllowMovingInteriorInputPts() const
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
bool getKeepPrims() const
bool opIgnoreNonConstrPts(const SOP_NodeVerb::CookParms &cookparms) const
void setUseExactConstruction(bool val)
static void loadData(UT_IStream &is, UT_Vector2I &v)
static void saveData(std::ostream &os, fpreal64 v)
bool opUseConstrPolys(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & y() noexcept
static void saveData(std::ostream &os, UT_StringHolder s)
void setRandomSeed(int64 val)
bool isParmColorRamp(exint idx) const override
static void saveData(std::ostream &os, bool v)
bool getAllowConstrSplit() const
static void loadData(UT_IStream &is, UT_Vector4D &v)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
UT_StringHolder opConstrEdges(const SOP_NodeVerb::CookParms &cookparms) const
int64 opMaxNewPts(const SOP_NodeVerb::CookParms &cookparms) const
void setUseConstrSplitPtsGrp(bool val)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
void setDir(UT_Vector3D val)
bool getAllowRefineConstrSplits() const
constexpr SYS_FORCE_INLINE T & y() noexcept
SYS_FORCE_INLINE bool isstring() const
bool getRemoveDuplicatePts() const
void setAllowConstrSplit(bool val)
void setConstrSplitPtsGrp(const UT_StringHolder &val)
OP_NodeParms & operator=(const OP_NodeParms &)=default
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
void setAllowMovingInteriorInputPts(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
constexpr SYS_FORCE_INLINE T & x() noexcept
bool getUseConstrEdges() const