20 using namespace UT::Literal;
23 namespace SOP_BooleanEnums
91 mySubtractChoices = 0;
93 myOpenCurvesOnly =
true;
94 myGenerateAASeams =
true;
95 myGenerateBBSeams =
true;
96 myGenerateABSeams =
true;
100 myRemoveInlinePoints =
true;
101 myUniqueSeams =
false;
102 myCorrectNormals =
true;
103 myUseAxAPolys =
false;
104 myAxAPolys =
"axapolys"_sh;
105 myUseAxBPolys =
false;
106 myAxBPolys =
"axbpolys"_sh;
107 myUseAxAList =
false;
108 myAxAList =
"axalist"_sh;
109 myUseAxBList =
false;
110 myAxBList =
"axblist"_sh;
111 myCollapseTinyEdges =
true;
112 myLengthThreshold = 0.00001;
114 myAPolys =
"apolys"_sh;
115 myUseAInsideB =
false;
116 myAInsideB =
"ainsideb"_sh;
117 myUseAOutsideB =
false;
118 myAOutsideB =
"aoutsideb"_sh;
120 myBPolys =
"bpolys"_sh;
121 myUseBInsideA =
false;
122 myBInsideA =
"binsidea"_sh;
123 myUseBOutsideA =
false;
124 myBOutsideA =
"boutsidea"_sh;
125 myUseABOverlap =
false;
126 myABOverlap =
"aboverlap"_sh;
127 myUseAPieces =
false;
128 myAPieces =
"apieces"_sh;
129 myUseBPieces =
false;
130 myBPieces =
"bpieces"_sh;
131 myUseABPieces =
false;
132 myABPieces =
"abpieces"_sh;
133 myUseReversedPolys =
false;
134 myReversedPolys =
"reversed"_sh;
135 myUseAASeamEdges =
false;
136 myAASeamEdges =
"aseams"_sh;
137 myUseBBSeamEdges =
false;
138 myBBSeamEdges =
"bseams"_sh;
139 myUseABSeamEdges =
false;
140 myABSeamEdges =
"abseams"_sh;
152 if (myGroupA != src.myGroupA)
return false;
153 if (myASurface != src.myASurface)
return false;
154 if (myResolveA != src.myResolveA)
return false;
155 if (myGroupB != src.myGroupB)
return false;
156 if (myBSurface != src.myBSurface)
return false;
157 if (myResolveB != src.myResolveB)
return false;
158 if (myBooleanOp != src.myBooleanOp)
return false;
159 if (mySubtractChoices != src.mySubtractChoices)
return false;
160 if (myShatterChoices != src.myShatterChoices)
return false;
161 if (myOpenCurvesOnly != src.myOpenCurvesOnly)
return false;
162 if (myGenerateAASeams != src.myGenerateAASeams)
return false;
163 if (myGenerateBBSeams != src.myGenerateBBSeams)
return false;
164 if (myGenerateABSeams != src.myGenerateABSeams)
return false;
165 if (myWindingOp != src.myWindingOp)
return false;
166 if (myMergeNbrs != src.myMergeNbrs)
return false;
167 if (myDetriangulate != src.myDetriangulate)
return false;
168 if (myRemoveInlinePoints != src.myRemoveInlinePoints)
return false;
169 if (myUniqueSeams != src.myUniqueSeams)
return false;
170 if (myCorrectNormals != src.myCorrectNormals)
return false;
171 if (myUseAxAPolys != src.myUseAxAPolys)
return false;
172 if (myAxAPolys != src.myAxAPolys)
return false;
173 if (myUseAxBPolys != src.myUseAxBPolys)
return false;
174 if (myAxBPolys != src.myAxBPolys)
return false;
175 if (myUseAxAList != src.myUseAxAList)
return false;
176 if (myAxAList != src.myAxAList)
return false;
177 if (myUseAxBList != src.myUseAxBList)
return false;
178 if (myAxBList != src.myAxBList)
return false;
179 if (myCollapseTinyEdges != src.myCollapseTinyEdges)
return false;
180 if (myLengthThreshold != src.myLengthThreshold)
return false;
181 if (myUseAPolys != src.myUseAPolys)
return false;
182 if (myAPolys != src.myAPolys)
return false;
183 if (myUseAInsideB != src.myUseAInsideB)
return false;
184 if (myAInsideB != src.myAInsideB)
return false;
185 if (myUseAOutsideB != src.myUseAOutsideB)
return false;
186 if (myAOutsideB != src.myAOutsideB)
return false;
187 if (myUseBPolys != src.myUseBPolys)
return false;
188 if (myBPolys != src.myBPolys)
return false;
189 if (myUseBInsideA != src.myUseBInsideA)
return false;
190 if (myBInsideA != src.myBInsideA)
return false;
191 if (myUseBOutsideA != src.myUseBOutsideA)
return false;
192 if (myBOutsideA != src.myBOutsideA)
return false;
193 if (myUseABOverlap != src.myUseABOverlap)
return false;
194 if (myABOverlap != src.myABOverlap)
return false;
195 if (myUseAPieces != src.myUseAPieces)
return false;
196 if (myAPieces != src.myAPieces)
return false;
197 if (myUseBPieces != src.myUseBPieces)
return false;
198 if (myBPieces != src.myBPieces)
return false;
199 if (myUseABPieces != src.myUseABPieces)
return false;
200 if (myABPieces != src.myABPieces)
return false;
201 if (myUseReversedPolys != src.myUseReversedPolys)
return false;
202 if (myReversedPolys != src.myReversedPolys)
return false;
203 if (myUseAASeamEdges != src.myUseAASeamEdges)
return false;
204 if (myAASeamEdges != src.myAASeamEdges)
return false;
205 if (myUseBBSeamEdges != src.myUseBBSeamEdges)
return false;
206 if (myBBSeamEdges != src.myBBSeamEdges)
return false;
207 if (myUseABSeamEdges != src.myUseABSeamEdges)
return false;
208 if (myABSeamEdges != src.myABSeamEdges)
return false;
209 if (myDepthInA != src.myDepthInA)
return false;
210 if (myDepthInB != src.myDepthInB)
return false;
232 graph->
evalOpParm(myGroupA, nodeidx,
"agroup", time, 0);
235 graph->
evalOpParm(myASurface, nodeidx,
"asurface", time, 0);
238 graph->
evalOpParm(myResolveA, nodeidx,
"resolvea", time, 0);
241 graph->
evalOpParm(myGroupB, nodeidx,
"bgroup", time, 0);
244 graph->
evalOpParm(myBSurface, nodeidx,
"bsurface", time, 0);
247 graph->
evalOpParm(myResolveB, nodeidx,
"resolveb", time, 0);
250 graph->
evalOpParm(myBooleanOp, nodeidx,
"booleanop", time, 0);
251 mySubtractChoices = 0;
252 if (
true && ( (!(((
int64(getBooleanOp())!=2)))) ) )
253 graph->
evalOpParm(mySubtractChoices, nodeidx,
"subtractchoices", time, 0);
254 myShatterChoices = 0;
255 if (
true && ( (!(((
int64(getBooleanOp())!=3)))) ) )
256 graph->
evalOpParm(myShatterChoices, nodeidx,
"shatterchoices", time, 0);
257 myOpenCurvesOnly =
true;
258 if (
true && ( (!(((
int64(getBooleanOp())!=6)))) ) )
259 graph->
evalOpParm(myOpenCurvesOnly, nodeidx,
"opencurvesonly", time, 0);
260 myGenerateAASeams =
true;
261 if (
true && ( (!(((
int64(getBooleanOp())!=6)))) ) )
262 graph->
evalOpParm(myGenerateAASeams, nodeidx,
"generateaaseams", time, 0);
263 myGenerateBBSeams =
true;
264 if (
true && ( (!(((
int64(getBooleanOp())!=6)))) ) )
265 graph->
evalOpParm(myGenerateBBSeams, nodeidx,
"generatebbseams", time, 0);
266 myGenerateABSeams =
true;
267 if (
true && ( (!(((
int64(getBooleanOp())!=6)))) ) )
268 graph->
evalOpParm(myGenerateABSeams, nodeidx,
"generateabseams", time, 0);
270 if (
true && ( (!(((
int64(getBooleanOp())!=4)))) ) )
271 graph->
evalOpParm(myWindingOp, nodeidx,
"windingop", time, 0);
273 if (
true && ( (!(((
int64(getBooleanOp())!=4)))) ) )
274 graph->
evalOpParm(myMergeNbrs, nodeidx,
"mergenbrs", time, 0);
276 if (
true && ( (!(((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
277 graph->
evalOpParm(myDetriangulate, nodeidx,
"detriangulate", time, 0);
278 myRemoveInlinePoints =
true;
279 if (
true && ( (!(((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9))||((
int64(getDetriangulate())!=2)))) ) )
280 graph->
evalOpParm(myRemoveInlinePoints, nodeidx,
"removeinlinepoints", time, 0);
281 myUniqueSeams =
false;
282 if (
true && ( (!(((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
283 graph->
evalOpParm(myUniqueSeams, nodeidx,
"uniqueseams", time, 0);
284 myCorrectNormals =
true;
285 if (
true && ( (!(((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
286 graph->
evalOpParm(myCorrectNormals, nodeidx,
"correctnormals", time, 0);
287 myUseAxAPolys =
false;
288 if (
true && ( (!(((
int64(getBooleanOp())!=8)))) ) )
289 graph->
evalOpParm(myUseAxAPolys, nodeidx,
"useaxapolys", time, 0);
290 myAxAPolys =
"axapolys"_sh;
291 if (
true && ( (!(((getUseAxAPolys()==0))||((
int64(getBooleanOp())!=8)))) ) )
292 graph->
evalOpParm(myAxAPolys, nodeidx,
"axapolys", time, 0);
293 myUseAxBPolys =
false;
294 if (
true && ( (!(((
int64(getBooleanOp())!=8)))) ) )
295 graph->
evalOpParm(myUseAxBPolys, nodeidx,
"useaxbpolys", time, 0);
296 myAxBPolys =
"axbpolys"_sh;
297 if (
true && ( (!(((getUseAxBPolys()==0))||((
int64(getBooleanOp())!=8)))) ) )
298 graph->
evalOpParm(myAxBPolys, nodeidx,
"axbpolys", time, 0);
299 myUseAxAList =
false;
300 if (
true && ( (!(((
int64(getBooleanOp())!=8)))) ) )
301 graph->
evalOpParm(myUseAxAList, nodeidx,
"useaxalist", time, 0);
302 myAxAList =
"axalist"_sh;
303 if (
true && ( (!(((getUseAxAList()==0))||((
int64(getBooleanOp())!=8)))) ) )
304 graph->
evalOpParm(myAxAList, nodeidx,
"axalist", time, 0);
305 myUseAxBList =
false;
306 if (
true && ( (!(((
int64(getBooleanOp())!=8)))) ) )
307 graph->
evalOpParm(myUseAxBList, nodeidx,
"useaxblist", time, 0);
308 myAxBList =
"axblist"_sh;
309 if (
true && ( (!(((getUseAxBList()==0))||((
int64(getBooleanOp())!=8)))) ) )
310 graph->
evalOpParm(myAxBList, nodeidx,
"axblist", time, 0);
311 myCollapseTinyEdges =
true;
312 if (
true && ( (!(((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9))||((
int64(getBooleanOp())==6)))) ) )
313 graph->
evalOpParm(myCollapseTinyEdges, nodeidx,
"collapsetinyedges", time, 0);
314 myLengthThreshold = 0.00001;
315 if (
true && ( (!(((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9))||((
int64(getBooleanOp())==6))||((getCollapseTinyEdges()==0)))) ) )
316 graph->
evalOpParm(myLengthThreshold, nodeidx,
"lengththreshold", time, 0);
318 if (
true && ( (!(((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9))||((
int64(getBSurface())==0)))) ) )
319 graph->
evalOpParm(myUseAPolys, nodeidx,
"useapolys", time, 0);
320 myAPolys =
"apolys"_sh;
321 if (
true && ( (!(((
int64(getBSurface())==0))||((getUseAPolys()==0)))) ) )
322 graph->
evalOpParm(myAPolys, nodeidx,
"apolys", time, 0);
323 myUseAInsideB =
false;
324 if (
true && ( (!(((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9))||((
int64(getBSurface())==1)))) ) )
325 graph->
evalOpParm(myUseAInsideB, nodeidx,
"useainsideb", time, 0);
326 myAInsideB =
"ainsideb"_sh;
327 if (
true && ( (!(((
int64(getBSurface())==1))||((getUseAInsideB()==0)))) ) )
328 graph->
evalOpParm(myAInsideB, nodeidx,
"ainsideb", time, 0);
329 myUseAOutsideB =
false;
330 if (
true && ( (!(((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9))||((
int64(getBSurface())==1)))) ) )
331 graph->
evalOpParm(myUseAOutsideB, nodeidx,
"useaoutsideb", time, 0);
332 myAOutsideB =
"aoutsideb"_sh;
333 if (
true && ( (!(((
int64(getBSurface())==1))||((getUseAOutsideB()==0)))) ) )
334 graph->
evalOpParm(myAOutsideB, nodeidx,
"aoutsideb", time, 0);
336 if (
true && ( (!(((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9))||((
int64(getASurface())==0)))) ) )
337 graph->
evalOpParm(myUseBPolys, nodeidx,
"usebpolys", time, 0);
338 myBPolys =
"bpolys"_sh;
339 if (
true && ( (!(((getUseBPolys()==0))||((
int64(getASurface())==0)))) ) )
340 graph->
evalOpParm(myBPolys, nodeidx,
"bpolys", time, 0);
341 myUseBInsideA =
false;
342 if (
true && ( (!(((
int64(getASurface())==1))||((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
343 graph->
evalOpParm(myUseBInsideA, nodeidx,
"usebinsidea", time, 0);
344 myBInsideA =
"binsidea"_sh;
345 if (
true && ( (!(((
int64(getASurface())==1))||((getUseBInsideA()==0)))) ) )
346 graph->
evalOpParm(myBInsideA, nodeidx,
"binsidea", time, 0);
347 myUseBOutsideA =
false;
348 if (
true && ( (!(((
int64(getASurface())==1))||((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
349 graph->
evalOpParm(myUseBOutsideA, nodeidx,
"useboutsidea", time, 0);
350 myBOutsideA =
"boutsidea"_sh;
351 if (
true && ( (!(((
int64(getASurface())==1))||((getUseBOutsideA()==0)))) ) )
352 graph->
evalOpParm(myBOutsideA, nodeidx,
"boutsidea", time, 0);
353 myUseABOverlap =
false;
354 if (
true && ( (!(((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
355 graph->
evalOpParm(myUseABOverlap, nodeidx,
"useaboverlap", time, 0);
356 myABOverlap =
"aboverlap"_sh;
357 if (
true && ( (!(((getUseABOverlap()==0)))) ) )
358 graph->
evalOpParm(myABOverlap, nodeidx,
"aboverlap", time, 0);
359 myUseAPieces =
false;
360 if (
true && ( (!(((
int64(getASurface())==1))||((
int64(getBooleanOp())!=2)&&(
int64(getBooleanOp())!=3))||((
int64(getBooleanOp())==2)&&(
int64(getSubtractChoices())!=2))||((
int64(getBooleanOp())==3)&&(
int64(getShatterChoices())==1)))) ) )
361 graph->
evalOpParm(myUseAPieces, nodeidx,
"useaonlypieces", time, 0);
362 myAPieces =
"apieces"_sh;
363 if (
true && ( (!(((
int64(getASurface())==1))||((
int64(getBooleanOp())!=2)&&(
int64(getBooleanOp())!=3))||((
int64(getBooleanOp())==2)&&(
int64(getSubtractChoices())!=2))||((
int64(getBooleanOp())==3)&&(
int64(getShatterChoices())==1))||((getUseAPieces()==0)))) ) )
364 graph->
evalOpParm(myAPieces, nodeidx,
"aonlypieces", time, 0);
365 myUseBPieces =
false;
366 if (
true && ( (!(((
int64(getBSurface())==1))||((
int64(getBooleanOp())!=2)&&(
int64(getBooleanOp())!=3))||((
int64(getBooleanOp())==2)&&(
int64(getSubtractChoices())!=2))||((
int64(getBooleanOp())==3)&&(
int64(getShatterChoices())==0)))) ) )
367 graph->
evalOpParm(myUseBPieces, nodeidx,
"usebonlypieces", time, 0);
368 myBPieces =
"bpieces"_sh;
369 if (
true && ( (!(((
int64(getBSurface())==1))||((
int64(getBooleanOp())!=2)&&(
int64(getBooleanOp())!=3))||((
int64(getBooleanOp())==2)&&(
int64(getSubtractChoices())!=2))||((
int64(getBooleanOp())==3)&&(
int64(getShatterChoices())==0))||((getUseBPieces()==0)))) ) )
370 graph->
evalOpParm(myBPieces, nodeidx,
"bonlypieces", time, 0);
371 myUseABPieces =
false;
372 if (
true && ( (!(((
int64(getBSurface())==1)&&(
int64(getASurface())==1))||((
int64(getBooleanOp())!=3)))) ) )
373 graph->
evalOpParm(myUseABPieces, nodeidx,
"useabpieces", time, 0);
374 myABPieces =
"abpieces"_sh;
375 if (
true && ( (!(((
int64(getBSurface())==1)&&(
int64(getASurface())==1))||((
int64(getBooleanOp())!=3))||((getUseABPieces()==0)))) ) )
376 graph->
evalOpParm(myABPieces, nodeidx,
"abpieces", time, 0);
377 myUseReversedPolys =
false;
378 if (
true && ( (!(((
int64(getBSurface())==1)&&(
int64(getASurface())==1))||((
int64(getBooleanOp())!=3)&&(
int64(getBooleanOp())!=2)))) ) )
379 graph->
evalOpParm(myUseReversedPolys, nodeidx,
"usereversedpolys", time, 0);
380 myReversedPolys =
"reversed"_sh;
381 if (
true && ( (!(((
int64(getBSurface())==1)&&(
int64(getASurface())==1))||((
int64(getBooleanOp())!=3)&&(
int64(getBooleanOp())!=2))||((getUseReversedPolys()==0)))) ) )
382 graph->
evalOpParm(myReversedPolys, nodeidx,
"reversedpolys", time, 0);
383 myUseAASeamEdges =
false;
384 if (
true && ( (!(((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
385 graph->
evalOpParm(myUseAASeamEdges, nodeidx,
"useaaseamedges", time, 0);
386 myAASeamEdges =
"aseams"_sh;
387 if (
true && ( (!(((getUseAASeamEdges()==0))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
388 graph->
evalOpParm(myAASeamEdges, nodeidx,
"aaseamedges", time, 0);
389 myUseBBSeamEdges =
false;
390 if (
true && ( (!(((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
391 graph->
evalOpParm(myUseBBSeamEdges, nodeidx,
"usebbseamedges", time, 0);
392 myBBSeamEdges =
"bseams"_sh;
393 if (
true && ( (!(((getUseBBSeamEdges()==0))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
394 graph->
evalOpParm(myBBSeamEdges, nodeidx,
"bbseamedges", time, 0);
395 myUseABSeamEdges =
false;
396 if (
true && ( (!(((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
397 graph->
evalOpParm(myUseABSeamEdges, nodeidx,
"useabseamedges", time, 0);
398 myABSeamEdges =
"abseams"_sh;
399 if (
true && ( (!(((getUseABSeamEdges()==0))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
400 graph->
evalOpParm(myABSeamEdges, nodeidx,
"abseamedges", time, 0);
402 if (
true && ( (!(((
int64(getBooleanOp())!=4))||((
int64(getWindingOp())==1)))) ) )
403 graph->
evalOpParm(myDepthInA, nodeidx,
"adepth", time, 0);
405 if (
true && ( (!(((
int64(getBooleanOp())!=4))||((
int64(getWindingOp())==0)))) ) )
406 graph->
evalOpParm(myDepthInB, nodeidx,
"bdepth", time, 0);
422 template <
typename T>
429 if (idx.
size() != instance.
size()+1)
434 coerceValue(value, myGroupA);
437 coerceValue(value, myASurface);
440 coerceValue(value, myResolveA);
443 coerceValue(value, myGroupB);
446 coerceValue(value, myBSurface);
449 coerceValue(value, myResolveB);
452 coerceValue(value, myBooleanOp);
455 coerceValue(value, mySubtractChoices);
458 coerceValue(value, myShatterChoices);
461 coerceValue(value, myOpenCurvesOnly);
464 coerceValue(value, myGenerateAASeams);
467 coerceValue(value, myGenerateBBSeams);
470 coerceValue(value, myGenerateABSeams);
473 coerceValue(value, myWindingOp);
476 coerceValue(value, myMergeNbrs);
479 coerceValue(value, myDetriangulate);
482 coerceValue(value, myRemoveInlinePoints);
485 coerceValue(value, myUniqueSeams);
488 coerceValue(value, myCorrectNormals);
491 coerceValue(value, myUseAxAPolys);
494 coerceValue(value, myAxAPolys);
497 coerceValue(value, myUseAxBPolys);
500 coerceValue(value, myAxBPolys);
503 coerceValue(value, myUseAxAList);
506 coerceValue(value, myAxAList);
509 coerceValue(value, myUseAxBList);
512 coerceValue(value, myAxBList);
515 coerceValue(value, myCollapseTinyEdges);
518 coerceValue(value, myLengthThreshold);
521 coerceValue(value, myUseAPolys);
524 coerceValue(value, myAPolys);
527 coerceValue(value, myUseAInsideB);
530 coerceValue(value, myAInsideB);
533 coerceValue(value, myUseAOutsideB);
536 coerceValue(value, myAOutsideB);
539 coerceValue(value, myUseBPolys);
542 coerceValue(value, myBPolys);
545 coerceValue(value, myUseBInsideA);
548 coerceValue(value, myBInsideA);
551 coerceValue(value, myUseBOutsideA);
554 coerceValue(value, myBOutsideA);
557 coerceValue(value, myUseABOverlap);
560 coerceValue(value, myABOverlap);
563 coerceValue(value, myUseAPieces);
566 coerceValue(value, myAPieces);
569 coerceValue(value, myUseBPieces);
572 coerceValue(value, myBPieces);
575 coerceValue(value, myUseABPieces);
578 coerceValue(value, myABPieces);
581 coerceValue(value, myUseReversedPolys);
584 coerceValue(value, myReversedPolys);
587 coerceValue(value, myUseAASeamEdges);
590 coerceValue(value, myAASeamEdges);
593 coerceValue(value, myUseBBSeamEdges);
596 coerceValue(value, myBBSeamEdges);
599 coerceValue(value, myUseABSeamEdges);
602 coerceValue(value, myABSeamEdges);
605 coerceValue(value, myDepthInA);
608 coerceValue(value, myDepthInB);
615 { doGetParmValue(idx, instance, value); }
617 { doGetParmValue(idx, instance, value); }
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 template <
typename T>
644 if (idx.
size() != instance.
size()+1)
649 coerceValue(myGroupA, value);
652 coerceValue(myASurface, value);
655 coerceValue(myResolveA, value);
658 coerceValue(myGroupB, value);
661 coerceValue(myBSurface, value);
664 coerceValue(myResolveB, value);
667 coerceValue(myBooleanOp, value);
670 coerceValue(mySubtractChoices, value);
673 coerceValue(myShatterChoices, value);
676 coerceValue(myOpenCurvesOnly, value);
679 coerceValue(myGenerateAASeams, value);
682 coerceValue(myGenerateBBSeams, value);
685 coerceValue(myGenerateABSeams, value);
688 coerceValue(myWindingOp, value);
691 coerceValue(myMergeNbrs, value);
694 coerceValue(myDetriangulate, value);
697 coerceValue(myRemoveInlinePoints, value);
700 coerceValue(myUniqueSeams, value);
703 coerceValue(myCorrectNormals, value);
706 coerceValue(myUseAxAPolys, value);
709 coerceValue(myAxAPolys, value);
712 coerceValue(myUseAxBPolys, value);
715 coerceValue(myAxBPolys, value);
718 coerceValue(myUseAxAList, value);
721 coerceValue(myAxAList, value);
724 coerceValue(myUseAxBList, value);
727 coerceValue(myAxBList, value);
730 coerceValue(myCollapseTinyEdges, value);
733 coerceValue(myLengthThreshold, value);
736 coerceValue(myUseAPolys, value);
739 coerceValue(myAPolys, value);
742 coerceValue(myUseAInsideB, value);
745 coerceValue(myAInsideB, value);
748 coerceValue(myUseAOutsideB, value);
751 coerceValue(myAOutsideB, value);
754 coerceValue(myUseBPolys, value);
757 coerceValue(myBPolys, value);
760 coerceValue(myUseBInsideA, value);
763 coerceValue(myBInsideA, value);
766 coerceValue(myUseBOutsideA, value);
769 coerceValue(myBOutsideA, value);
772 coerceValue(myUseABOverlap, value);
775 coerceValue(myABOverlap, value);
778 coerceValue(myUseAPieces, value);
781 coerceValue(myAPieces, value);
784 coerceValue(myUseBPieces, value);
787 coerceValue(myBPieces, value);
790 coerceValue(myUseABPieces, value);
793 coerceValue(myABPieces, value);
796 coerceValue(myUseReversedPolys, value);
799 coerceValue(myReversedPolys, value);
802 coerceValue(myUseAASeamEdges, value);
805 coerceValue(myAASeamEdges, value);
808 coerceValue(myUseBBSeamEdges, value);
811 coerceValue(myBBSeamEdges, value);
814 coerceValue(myUseABSeamEdges, value);
817 coerceValue(myABSeamEdges, value);
820 coerceValue(myDepthInA, value);
823 coerceValue(myDepthInB, value);
830 { doSetParmValue(idx, instance, value); }
832 { doSetParmValue(idx, instance, value); }
834 { doSetParmValue(idx, instance, value); }
836 { doSetParmValue(idx, instance, value); }
838 { doSetParmValue(idx, instance, value); }
840 { doSetParmValue(idx, instance, value); }
842 { doSetParmValue(idx, instance, value); }
844 { doSetParmValue(idx, instance, value); }
846 { doSetParmValue(idx, instance, value); }
848 { doSetParmValue(idx, instance, value); }
850 { doSetParmValue(idx, instance, value); }
866 if (fieldnum.
size() < 1)
885 return "subtractchoices";
887 return "shatterchoices";
889 return "opencurvesonly";
891 return "generateaaseams";
893 return "generatebbseams";
895 return "generateabseams";
901 return "detriangulate";
903 return "removeinlinepoints";
905 return "uniqueseams";
907 return "correctnormals";
909 return "useaxapolys";
913 return "useaxbpolys";
925 return "collapsetinyedges";
927 return "lengththreshold";
933 return "useainsideb";
937 return "useaoutsideb";
945 return "usebinsidea";
949 return "useboutsidea";
953 return "useaboverlap";
957 return "useaonlypieces";
959 return "aonlypieces";
961 return "usebonlypieces";
963 return "bonlypieces";
965 return "useabpieces";
969 return "usereversedpolys";
971 return "reversedpolys";
973 return "useaaseamedges";
975 return "aaseamedges";
977 return "usebbseamedges";
979 return "bbseamedges";
981 return "useabseamedges";
983 return "abseamedges";
995 if (fieldnum.
size() < 1)
996 return PARM_UNSUPPORTED;
1002 return PARM_INTEGER;
1004 return PARM_INTEGER;
1008 return PARM_INTEGER;
1010 return PARM_INTEGER;
1012 return PARM_INTEGER;
1014 return PARM_INTEGER;
1016 return PARM_INTEGER;
1018 return PARM_INTEGER;
1020 return PARM_INTEGER;
1022 return PARM_INTEGER;
1024 return PARM_INTEGER;
1026 return PARM_INTEGER;
1028 return PARM_INTEGER;
1030 return PARM_INTEGER;
1032 return PARM_INTEGER;
1034 return PARM_INTEGER;
1036 return PARM_INTEGER;
1038 return PARM_INTEGER;
1042 return PARM_INTEGER;
1046 return PARM_INTEGER;
1050 return PARM_INTEGER;
1054 return PARM_INTEGER;
1058 return PARM_INTEGER;
1062 return PARM_INTEGER;
1066 return PARM_INTEGER;
1070 return PARM_INTEGER;
1074 return PARM_INTEGER;
1078 return PARM_INTEGER;
1082 return PARM_INTEGER;
1086 return PARM_INTEGER;
1090 return PARM_INTEGER;
1094 return PARM_INTEGER;
1098 return PARM_INTEGER;
1102 return PARM_INTEGER;
1106 return PARM_INTEGER;
1110 return PARM_INTEGER;
1114 return PARM_VECTOR2;
1116 return PARM_VECTOR2;
1119 return PARM_UNSUPPORTED;
1124 { is.
bread(&v, 1); }
1155 loadData(is, rampdata);
1173 int typelen = colon - data.
buffer();
1185 { UTwrite(os, &v); }
1187 {
int64 iv =
v; UTwrite(os, &iv); }
1189 { UTwrite<fpreal64>(os, &
v); }
1191 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1193 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1194 UTwrite<fpreal64>(os, &v.
z()); }
1196 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1197 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1209 if (s) s->save(ostr);
1210 result = ostr.
str();
1211 saveData(os, result);
1218 ostr << s->getDataTypeToken();
1220 s->saveBinary(ostr);
1222 result = ostr.
str();
1223 saveData(os, result);
1231 saveData(os, myGroupA);
1232 saveData(os, myASurface);
1233 saveData(os, myResolveA);
1234 saveData(os, myGroupB);
1235 saveData(os, myBSurface);
1236 saveData(os, myResolveB);
1237 saveData(os, myBooleanOp);
1238 saveData(os, mySubtractChoices);
1239 saveData(os, myShatterChoices);
1240 saveData(os, myOpenCurvesOnly);
1241 saveData(os, myGenerateAASeams);
1242 saveData(os, myGenerateBBSeams);
1243 saveData(os, myGenerateABSeams);
1244 saveData(os, myWindingOp);
1245 saveData(os, myMergeNbrs);
1246 saveData(os, myDetriangulate);
1247 saveData(os, myRemoveInlinePoints);
1248 saveData(os, myUniqueSeams);
1249 saveData(os, myCorrectNormals);
1250 saveData(os, myUseAxAPolys);
1251 saveData(os, myAxAPolys);
1252 saveData(os, myUseAxBPolys);
1253 saveData(os, myAxBPolys);
1254 saveData(os, myUseAxAList);
1255 saveData(os, myAxAList);
1256 saveData(os, myUseAxBList);
1257 saveData(os, myAxBList);
1258 saveData(os, myCollapseTinyEdges);
1259 saveData(os, myLengthThreshold);
1260 saveData(os, myUseAPolys);
1261 saveData(os, myAPolys);
1262 saveData(os, myUseAInsideB);
1263 saveData(os, myAInsideB);
1264 saveData(os, myUseAOutsideB);
1265 saveData(os, myAOutsideB);
1266 saveData(os, myUseBPolys);
1267 saveData(os, myBPolys);
1268 saveData(os, myUseBInsideA);
1269 saveData(os, myBInsideA);
1270 saveData(os, myUseBOutsideA);
1271 saveData(os, myBOutsideA);
1272 saveData(os, myUseABOverlap);
1273 saveData(os, myABOverlap);
1274 saveData(os, myUseAPieces);
1275 saveData(os, myAPieces);
1276 saveData(os, myUseBPieces);
1277 saveData(os, myBPieces);
1278 saveData(os, myUseABPieces);
1279 saveData(os, myABPieces);
1280 saveData(os, myUseReversedPolys);
1281 saveData(os, myReversedPolys);
1282 saveData(os, myUseAASeamEdges);
1283 saveData(os, myAASeamEdges);
1284 saveData(os, myUseBBSeamEdges);
1285 saveData(os, myBBSeamEdges);
1286 saveData(os, myUseABSeamEdges);
1287 saveData(os, myABSeamEdges);
1288 saveData(os, myDepthInA);
1289 saveData(os, myDepthInB);
1302 loadData(is, myGroupA);
1303 loadData(is, myASurface);
1304 loadData(is, myResolveA);
1305 loadData(is, myGroupB);
1306 loadData(is, myBSurface);
1307 loadData(is, myResolveB);
1308 loadData(is, myBooleanOp);
1309 loadData(is, mySubtractChoices);
1310 loadData(is, myShatterChoices);
1311 loadData(is, myOpenCurvesOnly);
1312 loadData(is, myGenerateAASeams);
1313 loadData(is, myGenerateBBSeams);
1314 loadData(is, myGenerateABSeams);
1315 loadData(is, myWindingOp);
1316 loadData(is, myMergeNbrs);
1317 loadData(is, myDetriangulate);
1318 loadData(is, myRemoveInlinePoints);
1319 loadData(is, myUniqueSeams);
1320 loadData(is, myCorrectNormals);
1321 loadData(is, myUseAxAPolys);
1322 loadData(is, myAxAPolys);
1323 loadData(is, myUseAxBPolys);
1324 loadData(is, myAxBPolys);
1325 loadData(is, myUseAxAList);
1326 loadData(is, myAxAList);
1327 loadData(is, myUseAxBList);
1328 loadData(is, myAxBList);
1329 loadData(is, myCollapseTinyEdges);
1330 loadData(is, myLengthThreshold);
1331 loadData(is, myUseAPolys);
1332 loadData(is, myAPolys);
1333 loadData(is, myUseAInsideB);
1334 loadData(is, myAInsideB);
1335 loadData(is, myUseAOutsideB);
1336 loadData(is, myAOutsideB);
1337 loadData(is, myUseBPolys);
1338 loadData(is, myBPolys);
1339 loadData(is, myUseBInsideA);
1340 loadData(is, myBInsideA);
1341 loadData(is, myUseBOutsideA);
1342 loadData(is, myBOutsideA);
1343 loadData(is, myUseABOverlap);
1344 loadData(is, myABOverlap);
1345 loadData(is, myUseAPieces);
1346 loadData(is, myAPieces);
1347 loadData(is, myUseBPieces);
1348 loadData(is, myBPieces);
1349 loadData(is, myUseABPieces);
1350 loadData(is, myABPieces);
1351 loadData(is, myUseReversedPolys);
1352 loadData(is, myReversedPolys);
1353 loadData(is, myUseAASeamEdges);
1354 loadData(is, myAASeamEdges);
1355 loadData(is, myUseBBSeamEdges);
1356 loadData(is, myBBSeamEdges);
1357 loadData(is, myUseABSeamEdges);
1358 loadData(is, myABSeamEdges);
1359 loadData(is, myDepthInA);
1360 loadData(is, myDepthInB);
1370 if (!thissop)
return getGroupA();
1372 OP_Utils::evalOpParm(result, thissop,
"agroup", cookparms.
getCookTime(), 0);
1380 if (!thissop)
return getASurface();
1382 OP_Utils::evalOpParm(result, thissop,
"asurface", cookparms.
getCookTime(), 0);
1390 if (!thissop)
return getResolveA();
1392 OP_Utils::evalOpParm(result, thissop,
"resolvea", cookparms.
getCookTime(), 0);
1400 if (!thissop)
return getGroupB();
1402 OP_Utils::evalOpParm(result, thissop,
"bgroup", cookparms.
getCookTime(), 0);
1410 if (!thissop)
return getBSurface();
1412 OP_Utils::evalOpParm(result, thissop,
"bsurface", cookparms.
getCookTime(), 0);
1420 if (!thissop)
return getResolveB();
1422 OP_Utils::evalOpParm(result, thissop,
"resolveb", cookparms.
getCookTime(), 0);
1430 if (!thissop)
return getBooleanOp();
1432 OP_Utils::evalOpParm(result, thissop,
"booleanop", cookparms.
getCookTime(), 0);
1440 if (!thissop)
return getSubtractChoices();
1442 OP_Utils::evalOpParm(result, thissop,
"subtractchoices", cookparms.
getCookTime(), 0);
1450 if (!thissop)
return getShatterChoices();
1452 OP_Utils::evalOpParm(result, thissop,
"shatterchoices", cookparms.
getCookTime(), 0);
1460 if (!thissop)
return getOpenCurvesOnly();
1462 OP_Utils::evalOpParm(result, thissop,
"opencurvesonly", cookparms.
getCookTime(), 0);
1470 if (!thissop)
return getGenerateAASeams();
1472 OP_Utils::evalOpParm(result, thissop,
"generateaaseams", cookparms.
getCookTime(), 0);
1480 if (!thissop)
return getGenerateBBSeams();
1482 OP_Utils::evalOpParm(result, thissop,
"generatebbseams", cookparms.
getCookTime(), 0);
1490 if (!thissop)
return getGenerateABSeams();
1492 OP_Utils::evalOpParm(result, thissop,
"generateabseams", cookparms.
getCookTime(), 0);
1500 if (!thissop)
return getWindingOp();
1502 OP_Utils::evalOpParm(result, thissop,
"windingop", cookparms.
getCookTime(), 0);
1510 if (!thissop)
return getMergeNbrs();
1512 OP_Utils::evalOpParm(result, thissop,
"mergenbrs", cookparms.
getCookTime(), 0);
1520 if (!thissop)
return getDetriangulate();
1522 OP_Utils::evalOpParm(result, thissop,
"detriangulate", cookparms.
getCookTime(), 0);
1530 if (!thissop)
return getRemoveInlinePoints();
1532 OP_Utils::evalOpParm(result, thissop,
"removeinlinepoints", cookparms.
getCookTime(), 0);
1540 if (!thissop)
return getUniqueSeams();
1542 OP_Utils::evalOpParm(result, thissop,
"uniqueseams", cookparms.
getCookTime(), 0);
1550 if (!thissop)
return getCorrectNormals();
1552 OP_Utils::evalOpParm(result, thissop,
"correctnormals", cookparms.
getCookTime(), 0);
1560 if (!thissop)
return getUseAxAPolys();
1562 OP_Utils::evalOpParm(result, thissop,
"useaxapolys", cookparms.
getCookTime(), 0);
1570 if (!thissop)
return getAxAPolys();
1572 OP_Utils::evalOpParm(result, thissop,
"axapolys", cookparms.
getCookTime(), 0);
1580 if (!thissop)
return getUseAxBPolys();
1582 OP_Utils::evalOpParm(result, thissop,
"useaxbpolys", cookparms.
getCookTime(), 0);
1590 if (!thissop)
return getAxBPolys();
1592 OP_Utils::evalOpParm(result, thissop,
"axbpolys", cookparms.
getCookTime(), 0);
1600 if (!thissop)
return getUseAxAList();
1602 OP_Utils::evalOpParm(result, thissop,
"useaxalist", cookparms.
getCookTime(), 0);
1610 if (!thissop)
return getAxAList();
1612 OP_Utils::evalOpParm(result, thissop,
"axalist", cookparms.
getCookTime(), 0);
1620 if (!thissop)
return getUseAxBList();
1622 OP_Utils::evalOpParm(result, thissop,
"useaxblist", cookparms.
getCookTime(), 0);
1630 if (!thissop)
return getAxBList();
1632 OP_Utils::evalOpParm(result, thissop,
"axblist", cookparms.
getCookTime(), 0);
1640 if (!thissop)
return getCollapseTinyEdges();
1642 OP_Utils::evalOpParm(result, thissop,
"collapsetinyedges", cookparms.
getCookTime(), 0);
1650 if (!thissop)
return getLengthThreshold();
1652 OP_Utils::evalOpParm(result, thissop,
"lengththreshold", cookparms.
getCookTime(), 0);
1660 if (!thissop)
return getUseAPolys();
1662 OP_Utils::evalOpParm(result, thissop,
"useapolys", cookparms.
getCookTime(), 0);
1670 if (!thissop)
return getAPolys();
1672 OP_Utils::evalOpParm(result, thissop,
"apolys", cookparms.
getCookTime(), 0);
1680 if (!thissop)
return getUseAInsideB();
1682 OP_Utils::evalOpParm(result, thissop,
"useainsideb", cookparms.
getCookTime(), 0);
1690 if (!thissop)
return getAInsideB();
1692 OP_Utils::evalOpParm(result, thissop,
"ainsideb", cookparms.
getCookTime(), 0);
1700 if (!thissop)
return getUseAOutsideB();
1702 OP_Utils::evalOpParm(result, thissop,
"useaoutsideb", cookparms.
getCookTime(), 0);
1710 if (!thissop)
return getAOutsideB();
1712 OP_Utils::evalOpParm(result, thissop,
"aoutsideb", cookparms.
getCookTime(), 0);
1720 if (!thissop)
return getUseBPolys();
1722 OP_Utils::evalOpParm(result, thissop,
"usebpolys", cookparms.
getCookTime(), 0);
1730 if (!thissop)
return getBPolys();
1732 OP_Utils::evalOpParm(result, thissop,
"bpolys", cookparms.
getCookTime(), 0);
1740 if (!thissop)
return getUseBInsideA();
1742 OP_Utils::evalOpParm(result, thissop,
"usebinsidea", cookparms.
getCookTime(), 0);
1750 if (!thissop)
return getBInsideA();
1752 OP_Utils::evalOpParm(result, thissop,
"binsidea", cookparms.
getCookTime(), 0);
1760 if (!thissop)
return getUseBOutsideA();
1762 OP_Utils::evalOpParm(result, thissop,
"useboutsidea", cookparms.
getCookTime(), 0);
1770 if (!thissop)
return getBOutsideA();
1772 OP_Utils::evalOpParm(result, thissop,
"boutsidea", cookparms.
getCookTime(), 0);
1780 if (!thissop)
return getUseABOverlap();
1782 OP_Utils::evalOpParm(result, thissop,
"useaboverlap", cookparms.
getCookTime(), 0);
1790 if (!thissop)
return getABOverlap();
1792 OP_Utils::evalOpParm(result, thissop,
"aboverlap", cookparms.
getCookTime(), 0);
1800 if (!thissop)
return getUseAPieces();
1802 OP_Utils::evalOpParm(result, thissop,
"useaonlypieces", cookparms.
getCookTime(), 0);
1810 if (!thissop)
return getAPieces();
1812 OP_Utils::evalOpParm(result, thissop,
"aonlypieces", cookparms.
getCookTime(), 0);
1820 if (!thissop)
return getUseBPieces();
1822 OP_Utils::evalOpParm(result, thissop,
"usebonlypieces", cookparms.
getCookTime(), 0);
1830 if (!thissop)
return getBPieces();
1832 OP_Utils::evalOpParm(result, thissop,
"bonlypieces", cookparms.
getCookTime(), 0);
1840 if (!thissop)
return getUseABPieces();
1842 OP_Utils::evalOpParm(result, thissop,
"useabpieces", cookparms.
getCookTime(), 0);
1850 if (!thissop)
return getABPieces();
1852 OP_Utils::evalOpParm(result, thissop,
"abpieces", cookparms.
getCookTime(), 0);
1860 if (!thissop)
return getUseReversedPolys();
1862 OP_Utils::evalOpParm(result, thissop,
"usereversedpolys", cookparms.
getCookTime(), 0);
1870 if (!thissop)
return getReversedPolys();
1872 OP_Utils::evalOpParm(result, thissop,
"reversedpolys", cookparms.
getCookTime(), 0);
1880 if (!thissop)
return getUseAASeamEdges();
1882 OP_Utils::evalOpParm(result, thissop,
"useaaseamedges", cookparms.
getCookTime(), 0);
1890 if (!thissop)
return getAASeamEdges();
1892 OP_Utils::evalOpParm(result, thissop,
"aaseamedges", cookparms.
getCookTime(), 0);
1900 if (!thissop)
return getUseBBSeamEdges();
1902 OP_Utils::evalOpParm(result, thissop,
"usebbseamedges", cookparms.
getCookTime(), 0);
1910 if (!thissop)
return getBBSeamEdges();
1912 OP_Utils::evalOpParm(result, thissop,
"bbseamedges", cookparms.
getCookTime(), 0);
1920 if (!thissop)
return getUseABSeamEdges();
1922 OP_Utils::evalOpParm(result, thissop,
"useabseamedges", cookparms.
getCookTime(), 0);
1930 if (!thissop)
return getABSeamEdges();
1932 OP_Utils::evalOpParm(result, thissop,
"abseamedges", cookparms.
getCookTime(), 0);
1940 if (!thissop)
return getDepthInA();
1942 OP_Utils::evalOpParm(result, thissop,
"adepth", cookparms.
getCookTime(), 0);
1950 if (!thissop)
return getDepthInB();
1952 OP_Utils::evalOpParm(result, thissop,
"bdepth", cookparms.
getCookTime(), 0);
1964 int64 mySubtractChoices;
1965 int64 myShatterChoices;
1966 bool myOpenCurvesOnly;
1967 bool myGenerateAASeams;
1968 bool myGenerateBBSeams;
1969 bool myGenerateABSeams;
1972 int64 myDetriangulate;
1973 bool myRemoveInlinePoints;
1975 bool myCorrectNormals;
1984 bool myCollapseTinyEdges;
1990 bool myUseAOutsideB;
1996 bool myUseBOutsideA;
1998 bool myUseABOverlap;
2006 bool myUseReversedPolys;
2008 bool myUseAASeamEdges;
2010 bool myUseBBSeamEdges;
2012 bool myUseABSeamEdges;
bool opUseABSeamEdges(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Vector2D v)
static void saveData(std::ostream &os, bool v)
UT_Vector2T< int64 > UT_Vector2I
static void loadData(UT_IStream &is, UT_Vector3D &v)
bool opRemoveInlinePoints(const SOP_NodeVerb::CookParms &cookparms) const
bool getRemoveInlinePoints() const
BooleanOp getBooleanOp() const
ShatterChoices getShatterChoices() const
bool opGenerateBBSeams(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Vector4D v)
bool opUseAASeamEdges(const SOP_NodeVerb::CookParms &cookparms) const
void setCorrectNormals(bool val)
bool opGenerateAASeams(const SOP_NodeVerb::CookParms &cookparms) const
SOP_Node * getNode() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
void setDetriangulate(Detriangulate val)
static void loadData(UT_IStream &is, int64 &v)
void setWindingOp(WindingOp val)
void setUseABOverlap(bool val)
void setUniqueSeams(bool val)
void setGroupB(const UT_StringHolder &val)
bool getUseABSeamEdges() const
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
UT_StringHolder opAPolys(const SOP_NodeVerb::CookParms &cookparms) const
BSurface opBSurface(const SOP_NodeVerb::CookParms &cookparms) const
void save(std::ostream &os) const
UT_StringHolder opAxBPolys(const SOP_NodeVerb::CookParms &cookparms) const
void setAPieces(const UT_StringHolder &val)
bool opUseAxBPolys(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseAPieces(const SOP_NodeVerb::CookParms &cookparms) const
bool operator!=(const SOP_BooleanParms &src) const
static void saveData(std::ostream &os, fpreal64 v)
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
static void loadData(UT_IStream &is, fpreal64 &v)
bool getUseAxBPolys() const
UT_StringHolder opAxAPolys(const SOP_NodeVerb::CookParms &cookparms) const
BSurface getBSurface() const
UT_StringHolder opGroupA(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
UT_StringHolder opABOverlap(const SOP_NodeVerb::CookParms &cookparms) const
GLuint const GLfloat * val
void setSubtractChoices(SubtractChoices val)
bool getUseAxBList() const
void setUseABPieces(bool val)
bool opGenerateABSeams(const SOP_NodeVerb::CookParms &cookparms) const
bool getOpenCurvesOnly() const
void setUseABSeamEdges(bool val)
bool opUseBOutsideA(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
bool getUseAPieces() const
static void saveData(std::ostream &os, UT_Vector3D v)
void setUseAPolys(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
SYS_FORCE_INLINE const char * buffer() const
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
const SOP_GraphProxy * graph() const
void setAPolys(const UT_StringHolder &val)
void setAInsideB(const UT_StringHolder &val)
const UT_StringHolder & getGroupA() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
An output stream object that owns its own string buffer storage.
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
static void saveData(std::ostream &os, UT_Matrix4D v)
ASurface getASurface() const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
UT_StringHolder opReversedPolys(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
bool getCollapseTinyEdges() const
void setAxAList(const UT_StringHolder &val)
bool getUniqueSeams() const
UT_Vector2I opDepthInA(const SOP_NodeVerb::CookParms &cookparms) const
void setUseAASeamEdges(bool val)
void loadFromOpSubclass(const LoadParms &loadparms) override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
void setUseBPolys(bool val)
static void loadData(UT_IStream &is, UT_Vector3I &v)
const UT_StringHolder & getBPieces() const
void setCollapseTinyEdges(bool val)
fpreal64 opLengthThreshold(const SOP_NodeVerb::CookParms &cookparms) const
void setMergeNbrs(bool val)
bool getUseAInsideB() const
UT_StringHolder opAInsideB(const SOP_NodeVerb::CookParms &cookparms) const
void setBOutsideA(const UT_StringHolder &val)
bool opResolveA(const SOP_NodeVerb::CookParms &cookparms) const
WindingOp opWindingOp(const SOP_NodeVerb::CookParms &cookparms) const
bool opOpenCurvesOnly(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseAPolys(const SOP_NodeVerb::CookParms &cookparms) const
void setUseAInsideB(bool val)
const UT_StringHolder & getBInsideA() const
bool getUseBOutsideA() const
bool opUniqueSeams(const SOP_NodeVerb::CookParms &cookparms) const
bool load(UT_IStream &is)
bool getUseBPolys() const
bool opUseAOutsideB(const SOP_NodeVerb::CookParms &cookparms) const
void setBooleanOp(BooleanOp val)
bool getUseAASeamEdges() const
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
bool getUseBPieces() const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
UT_StringHolder opAxAList(const SOP_NodeVerb::CookParms &cookparms) const
bool getGenerateABSeams() const
UT_StringHolder opBBSeamEdges(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, int64 v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
const UT_StringHolder & getBPolys() const
void setABOverlap(const UT_StringHolder &val)
void setAxBPolys(const UT_StringHolder &val)
UT_StringHolder opAOutsideB(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseBPolys(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2I getDepthInB() const
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
bool getUseReversedPolys() const
UT_Vector2I opDepthInB(const SOP_NodeVerb::CookParms &cookparms) const
GLint GLenum GLsizei GLint GLsizei const void * data
bool opUseAInsideB(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getReversedPolys() const
void setResolveA(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
static void loadData(UT_IStream &is, UT_Vector2D &v)
bool getUseAxAPolys() const
bool getCorrectNormals() const
fpreal64 getLengthThreshold() const
void setUseAxAPolys(bool val)
~SOP_BooleanParms() override
bool opUseAxAPolys(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseABPieces(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getAPolys() const
exint getNestNumParms(TempIndex idx) const override
void buildFromOp(const SOP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
static void loadData(UT_IStream &is, UT_StringHolder &v)
bool opMergeNbrs(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getABOverlap() const
const UT_StringHolder & getBBSeamEdges() const
void setResolveB(bool val)
void setAASeamEdges(const UT_StringHolder &val)
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
bool opResolveB(const SOP_NodeVerb::CookParms &cookparms) const
void setAxAPolys(const UT_StringHolder &val)
void setDepthInB(UT_Vector2I val)
void setGroupA(const UT_StringHolder &val)
SubtractChoices opSubtractChoices(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseBInsideA(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getAASeamEdges() const
static void saveData(std::ostream &os, UT_Matrix3D v)
const UT_StringHolder & getGroupB() const
void setASurface(ASurface val)
void setUseAOutsideB(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
bool getGenerateBBSeams() const
bool opUseABOverlap(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opABPieces(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getAxBList() const
void setGenerateBBSeams(bool val)
bool opUseAxAList(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector2I &v)
bool opUseAxBList(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opABSeamEdges(const SOP_NodeVerb::CookParms &cookparms) const
bool getUseAPolys() const
ASurface opASurface(const SOP_NodeVerb::CookParms &cookparms) const
void setUseAxAList(bool val)
void setRemoveInlinePoints(bool val)
void copyFrom(const SOP_NodeParms *src) override
bool opCorrectNormals(const SOP_NodeVerb::CookParms &cookparms) const
void saveBinary(std::ostream &os) const
Save string to binary stream.
GT_API const UT_StringHolder version
DEP_MicroNode * depnode() const
const UT_StringHolder & getABPieces() const
bool opUseBPieces(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getAxBPolys() const
UT_StringHolder opAxBList(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getAInsideB() const
void setAxBList(const UT_StringHolder &val)
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
void setBSurface(BSurface val)
void setDepthInA(UT_Vector2I val)
Detriangulate getDetriangulate() const
void setBPolys(const UT_StringHolder &val)
UT_StringHolder opBPolys(const SOP_NodeVerb::CookParms &cookparms) const
bool getUseBInsideA() const
void setBInsideA(const UT_StringHolder &val)
bool getUseABPieces() const
void setGenerateABSeams(bool val)
ShatterChoices opShatterChoices(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getAxAList() const
void setUseBOutsideA(bool val)
static void saveData(std::ostream &os, PRM_DataItemHandle s)
bool opCollapseTinyEdges(const SOP_NodeVerb::CookParms &cookparms) const
BooleanOp opBooleanOp(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const SOP_BooleanParms &src) const
Detriangulate opDetriangulate(const SOP_NodeVerb::CookParms &cookparms) const
Utility class for containing a color ramp.
bool getMergeNbrs() const
void setUseAPieces(bool val)
void setABPieces(const UT_StringHolder &val)
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
void setUseBPieces(bool val)
GLdouble GLdouble GLdouble r
UT_StringHolder opAPieces(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_StringHolder s)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
WindingOp getWindingOp() const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
void setReversedPolys(const UT_StringHolder &val)
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
void setLengthThreshold(fpreal64 val)
fpreal getCookTime() const
const UT_StringHolder & getBOutsideA() const
void setUseAxBList(bool val)
void setUseBInsideA(bool val)
static void loadData(UT_IStream &is, UT_Vector4I &v)
bool opUseBBSeamEdges(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2I getDepthInA() const
const UT_StringHolder & getAOutsideB() const
const char * findChar(int c) const
bool getUseAxAList() const
UT_StringHolder opAASeamEdges(const SOP_NodeVerb::CookParms &cookparms) const
void setUseAxBPolys(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
static void loadData(UT_IStream &is, UT_Vector4D &v)
void setUseReversedPolys(bool val)
const UT_StringHolder & getAPieces() const
void setGenerateAASeams(bool val)
void setBBSeamEdges(const UT_StringHolder &val)
ParmType getNestParmType(TempIndex fieldnum) const override
void setUseBBSeamEdges(bool val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
void setBPieces(const UT_StringHolder &val)
void setShatterChoices(ShatterChoices val)
bool opUseReversedPolys(const SOP_NodeVerb::CookParms &cookparms) const
void setABSeamEdges(const UT_StringHolder &val)
const UT_StringHolder & getABSeamEdges() const
void setOpenCurvesOnly(bool val)
GLsizei const GLfloat * value
const UT_StringHolder & getAxAPolys() const
bool getUseAOutsideB() const
UT_StringHolder opBPieces(const SOP_NodeVerb::CookParms &cookparms) const
void setAOutsideB(const UT_StringHolder &val)
static void loadData(UT_IStream &is, bool &v)
const OP_Context & context() const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
UT_StringHolder opBInsideA(const SOP_NodeVerb::CookParms &cookparms) const
SubtractChoices getSubtractChoices() const
static void saveData(std::ostream &os, UT_Matrix2D v)
SYS_FORCE_INLINE bool isstring() const
UT_StringHolder opGroupB(const SOP_NodeVerb::CookParms &cookparms) const
bool getGenerateAASeams() const
UT_StringHolder opBOutsideA(const SOP_NodeVerb::CookParms &cookparms) const
const char * getNestParmName(TempIndex fieldnum) const override
bool getUseBBSeamEdges() const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
bool getUseABOverlap() const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override