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"_UTsh;
105 myUseAxBPolys =
false;
106 myAxBPolys =
"axbpolys"_UTsh;
107 myUseAxAList =
false;
108 myAxAList =
"axalist"_UTsh;
109 myUseAxBList =
false;
110 myAxBList =
"axblist"_UTsh;
111 myCollapseTinyEdges =
true;
112 myLengthThreshold = 0.00001;
114 myAPolys =
"apolys"_UTsh;
115 myUseAInsideB =
false;
116 myAInsideB =
"ainsideb"_UTsh;
117 myUseAOutsideB =
false;
118 myAOutsideB =
"aoutsideb"_UTsh;
120 myBPolys =
"bpolys"_UTsh;
121 myUseBInsideA =
false;
122 myBInsideA =
"binsidea"_UTsh;
123 myUseBOutsideA =
false;
124 myBOutsideA =
"boutsidea"_UTsh;
125 myUseABOverlap =
false;
126 myABOverlap =
"aboverlap"_UTsh;
127 myUseAPieces =
false;
128 myAPieces =
"apieces"_UTsh;
129 myUseBPieces =
false;
130 myBPieces =
"bpieces"_UTsh;
131 myUseABPieces =
false;
132 myABPieces =
"abpieces"_UTsh;
133 myUseReversedPolys =
false;
134 myReversedPolys =
"reversed"_UTsh;
135 myUseAASeamEdges =
false;
136 myAASeamEdges =
"aseams"_UTsh;
137 myUseBBSeamEdges =
false;
138 myBBSeamEdges =
"bseams"_UTsh;
139 myUseABSeamEdges =
false;
140 myABSeamEdges =
"abseams"_UTsh;
155 if (myGroupA != src.myGroupA)
return false;
156 if (myASurface != src.myASurface)
return false;
157 if (myResolveA != src.myResolveA)
return false;
158 if (myGroupB != src.myGroupB)
return false;
159 if (myBSurface != src.myBSurface)
return false;
160 if (myResolveB != src.myResolveB)
return false;
161 if (myBooleanOp != src.myBooleanOp)
return false;
162 if (mySubtractChoices != src.mySubtractChoices)
return false;
163 if (myShatterChoices != src.myShatterChoices)
return false;
164 if (myOpenCurvesOnly != src.myOpenCurvesOnly)
return false;
165 if (myGenerateAASeams != src.myGenerateAASeams)
return false;
166 if (myGenerateBBSeams != src.myGenerateBBSeams)
return false;
167 if (myGenerateABSeams != src.myGenerateABSeams)
return false;
168 if (myWindingOp != src.myWindingOp)
return false;
169 if (myMergeNbrs != src.myMergeNbrs)
return false;
170 if (myDetriangulate != src.myDetriangulate)
return false;
171 if (myRemoveInlinePoints != src.myRemoveInlinePoints)
return false;
172 if (myUniqueSeams != src.myUniqueSeams)
return false;
173 if (myCorrectNormals != src.myCorrectNormals)
return false;
174 if (myUseAxAPolys != src.myUseAxAPolys)
return false;
175 if (myAxAPolys != src.myAxAPolys)
return false;
176 if (myUseAxBPolys != src.myUseAxBPolys)
return false;
177 if (myAxBPolys != src.myAxBPolys)
return false;
178 if (myUseAxAList != src.myUseAxAList)
return false;
179 if (myAxAList != src.myAxAList)
return false;
180 if (myUseAxBList != src.myUseAxBList)
return false;
181 if (myAxBList != src.myAxBList)
return false;
182 if (myCollapseTinyEdges != src.myCollapseTinyEdges)
return false;
183 if (myLengthThreshold != src.myLengthThreshold)
return false;
184 if (myUseAPolys != src.myUseAPolys)
return false;
185 if (myAPolys != src.myAPolys)
return false;
186 if (myUseAInsideB != src.myUseAInsideB)
return false;
187 if (myAInsideB != src.myAInsideB)
return false;
188 if (myUseAOutsideB != src.myUseAOutsideB)
return false;
189 if (myAOutsideB != src.myAOutsideB)
return false;
190 if (myUseBPolys != src.myUseBPolys)
return false;
191 if (myBPolys != src.myBPolys)
return false;
192 if (myUseBInsideA != src.myUseBInsideA)
return false;
193 if (myBInsideA != src.myBInsideA)
return false;
194 if (myUseBOutsideA != src.myUseBOutsideA)
return false;
195 if (myBOutsideA != src.myBOutsideA)
return false;
196 if (myUseABOverlap != src.myUseABOverlap)
return false;
197 if (myABOverlap != src.myABOverlap)
return false;
198 if (myUseAPieces != src.myUseAPieces)
return false;
199 if (myAPieces != src.myAPieces)
return false;
200 if (myUseBPieces != src.myUseBPieces)
return false;
201 if (myBPieces != src.myBPieces)
return false;
202 if (myUseABPieces != src.myUseABPieces)
return false;
203 if (myABPieces != src.myABPieces)
return false;
204 if (myUseReversedPolys != src.myUseReversedPolys)
return false;
205 if (myReversedPolys != src.myReversedPolys)
return false;
206 if (myUseAASeamEdges != src.myUseAASeamEdges)
return false;
207 if (myAASeamEdges != src.myAASeamEdges)
return false;
208 if (myUseBBSeamEdges != src.myUseBBSeamEdges)
return false;
209 if (myBBSeamEdges != src.myBBSeamEdges)
return false;
210 if (myUseABSeamEdges != src.myUseABSeamEdges)
return false;
211 if (myABSeamEdges != src.myABSeamEdges)
return false;
212 if (myDepthInA != src.myDepthInA)
return false;
213 if (myDepthInB != src.myDepthInB)
return false;
235 graph->
evalOpParm(myGroupA, nodeidx,
"agroup", time, 0);
238 graph->
evalOpParm(myASurface, nodeidx,
"asurface", time, 0);
241 graph->
evalOpParm(myResolveA, nodeidx,
"resolvea", time, 0);
244 graph->
evalOpParm(myGroupB, nodeidx,
"bgroup", time, 0);
247 graph->
evalOpParm(myBSurface, nodeidx,
"bsurface", time, 0);
250 graph->
evalOpParm(myResolveB, nodeidx,
"resolveb", time, 0);
253 graph->
evalOpParm(myBooleanOp, nodeidx,
"booleanop", time, 0);
254 mySubtractChoices = 0;
255 if (
true && ( (
true&&!(((
int64(getBooleanOp())!=2)))) ) )
256 graph->
evalOpParm(mySubtractChoices, nodeidx,
"subtractchoices", time, 0);
257 myShatterChoices = 0;
258 if (
true && ( (
true&&!(((
int64(getBooleanOp())!=3)))) ) )
259 graph->
evalOpParm(myShatterChoices, nodeidx,
"shatterchoices", time, 0);
260 myOpenCurvesOnly =
true;
261 if (
true && ( (
true&&!(((
int64(getBooleanOp())!=6)))) ) )
262 graph->
evalOpParm(myOpenCurvesOnly, nodeidx,
"opencurvesonly", time, 0);
263 myGenerateAASeams =
true;
264 if (
true && ( (
true&&!(((
int64(getBooleanOp())!=6)))) ) )
265 graph->
evalOpParm(myGenerateAASeams, nodeidx,
"generateaaseams", time, 0);
266 myGenerateBBSeams =
true;
267 if (
true && ( (
true&&!(((
int64(getBooleanOp())!=6)))) ) )
268 graph->
evalOpParm(myGenerateBBSeams, nodeidx,
"generatebbseams", time, 0);
269 myGenerateABSeams =
true;
270 if (
true && ( (
true&&!(((
int64(getBooleanOp())!=6)))) ) )
271 graph->
evalOpParm(myGenerateABSeams, nodeidx,
"generateabseams", time, 0);
273 if (
true && ( (
true&&!(((
int64(getBooleanOp())!=4)))) ) )
274 graph->
evalOpParm(myWindingOp, nodeidx,
"windingop", time, 0);
276 if (
true && ( (
true&&!(((
int64(getBooleanOp())!=4)))) ) )
277 graph->
evalOpParm(myMergeNbrs, nodeidx,
"mergenbrs", time, 0);
279 if (
true && ( (
true&&!(((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
280 graph->
evalOpParm(myDetriangulate, nodeidx,
"detriangulate", time, 0);
281 myRemoveInlinePoints =
true;
282 if (
true && ( (
true&&!(((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9))||((
int64(getDetriangulate())!=2)))) ) )
283 graph->
evalOpParm(myRemoveInlinePoints, nodeidx,
"removeinlinepoints", time, 0);
284 myUniqueSeams =
false;
285 if (
true && ( (
true&&!(((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
286 graph->
evalOpParm(myUniqueSeams, nodeidx,
"uniqueseams", time, 0);
287 myCorrectNormals =
true;
288 if (
true && ( (
true&&!(((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
289 graph->
evalOpParm(myCorrectNormals, nodeidx,
"correctnormals", time, 0);
290 myUseAxAPolys =
false;
291 if (
true && ( (
true&&!(((
int64(getBooleanOp())!=8)))) ) )
292 graph->
evalOpParm(myUseAxAPolys, nodeidx,
"useaxapolys", time, 0);
293 myAxAPolys =
"axapolys"_UTsh;
294 if (
true && ( (
true&&!(((getUseAxAPolys()==0))||((
int64(getBooleanOp())!=8)))) ) )
295 graph->
evalOpParm(myAxAPolys, nodeidx,
"axapolys", time, 0);
296 myUseAxBPolys =
false;
297 if (
true && ( (
true&&!(((
int64(getBooleanOp())!=8)))) ) )
298 graph->
evalOpParm(myUseAxBPolys, nodeidx,
"useaxbpolys", time, 0);
299 myAxBPolys =
"axbpolys"_UTsh;
300 if (
true && ( (
true&&!(((getUseAxBPolys()==0))||((
int64(getBooleanOp())!=8)))) ) )
301 graph->
evalOpParm(myAxBPolys, nodeidx,
"axbpolys", time, 0);
302 myUseAxAList =
false;
303 if (
true && ( (
true&&!(((
int64(getBooleanOp())!=8)))) ) )
304 graph->
evalOpParm(myUseAxAList, nodeidx,
"useaxalist", time, 0);
305 myAxAList =
"axalist"_UTsh;
306 if (
true && ( (
true&&!(((getUseAxAList()==0))||((
int64(getBooleanOp())!=8)))) ) )
307 graph->
evalOpParm(myAxAList, nodeidx,
"axalist", time, 0);
308 myUseAxBList =
false;
309 if (
true && ( (
true&&!(((
int64(getBooleanOp())!=8)))) ) )
310 graph->
evalOpParm(myUseAxBList, nodeidx,
"useaxblist", time, 0);
311 myAxBList =
"axblist"_UTsh;
312 if (
true && ( (
true&&!(((getUseAxBList()==0))||((
int64(getBooleanOp())!=8)))) ) )
313 graph->
evalOpParm(myAxBList, nodeidx,
"axblist", time, 0);
314 myCollapseTinyEdges =
true;
315 if (
true && ( (
true&&!(((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9))||((
int64(getBooleanOp())==6)))) ) )
316 graph->
evalOpParm(myCollapseTinyEdges, nodeidx,
"collapsetinyedges", time, 0);
317 myLengthThreshold = 0.00001;
318 if (
true && ( (
true&&!(((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9))||((
int64(getBooleanOp())==6))||((getCollapseTinyEdges()==0)))) ) )
319 graph->
evalOpParm(myLengthThreshold, nodeidx,
"lengththreshold", time, 0);
321 if (
true && ( (
true&&!(((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9))||((
int64(getBSurface())==0)))) ) )
322 graph->
evalOpParm(myUseAPolys, nodeidx,
"useapolys", time, 0);
323 myAPolys =
"apolys"_UTsh;
324 if (
true && ( (
true&&!(((
int64(getBSurface())==0))||((getUseAPolys()==0)))) ) )
325 graph->
evalOpParm(myAPolys, nodeidx,
"apolys", time, 0);
326 myUseAInsideB =
false;
327 if (
true && ( (
true&&!(((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9))||((
int64(getBSurface())==1)))) ) )
328 graph->
evalOpParm(myUseAInsideB, nodeidx,
"useainsideb", time, 0);
329 myAInsideB =
"ainsideb"_UTsh;
330 if (
true && ( (
true&&!(((
int64(getBSurface())==1))||((getUseAInsideB()==0)))) ) )
331 graph->
evalOpParm(myAInsideB, nodeidx,
"ainsideb", time, 0);
332 myUseAOutsideB =
false;
333 if (
true && ( (
true&&!(((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9))||((
int64(getBSurface())==1)))) ) )
334 graph->
evalOpParm(myUseAOutsideB, nodeidx,
"useaoutsideb", time, 0);
335 myAOutsideB =
"aoutsideb"_UTsh;
336 if (
true && ( (
true&&!(((
int64(getBSurface())==1))||((getUseAOutsideB()==0)))) ) )
337 graph->
evalOpParm(myAOutsideB, nodeidx,
"aoutsideb", time, 0);
339 if (
true && ( (
true&&!(((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9))||((
int64(getASurface())==0)))) ) )
340 graph->
evalOpParm(myUseBPolys, nodeidx,
"usebpolys", time, 0);
341 myBPolys =
"bpolys"_UTsh;
342 if (
true && ( (
true&&!(((getUseBPolys()==0))||((
int64(getASurface())==0)))) ) )
343 graph->
evalOpParm(myBPolys, nodeidx,
"bpolys", time, 0);
344 myUseBInsideA =
false;
345 if (
true && ( (
true&&!(((
int64(getASurface())==1))||((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
346 graph->
evalOpParm(myUseBInsideA, nodeidx,
"usebinsidea", time, 0);
347 myBInsideA =
"binsidea"_UTsh;
348 if (
true && ( (
true&&!(((
int64(getASurface())==1))||((getUseBInsideA()==0)))) ) )
349 graph->
evalOpParm(myBInsideA, nodeidx,
"binsidea", time, 0);
350 myUseBOutsideA =
false;
351 if (
true && ( (
true&&!(((
int64(getASurface())==1))||((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
352 graph->
evalOpParm(myUseBOutsideA, nodeidx,
"useboutsidea", time, 0);
353 myBOutsideA =
"boutsidea"_UTsh;
354 if (
true && ( (
true&&!(((
int64(getASurface())==1))||((getUseBOutsideA()==0)))) ) )
355 graph->
evalOpParm(myBOutsideA, nodeidx,
"boutsidea", time, 0);
356 myUseABOverlap =
false;
357 if (
true && ( (
true&&!(((
int64(getBooleanOp())==6))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
358 graph->
evalOpParm(myUseABOverlap, nodeidx,
"useaboverlap", time, 0);
359 myABOverlap =
"aboverlap"_UTsh;
360 if (
true && ( (
true&&!(((getUseABOverlap()==0)))) ) )
361 graph->
evalOpParm(myABOverlap, nodeidx,
"aboverlap", time, 0);
362 myUseAPieces =
false;
363 if (
true && ( (
true&&!(((
int64(getASurface())==1))||((
int64(getBooleanOp())!=2)&&(
int64(getBooleanOp())!=3))||((
int64(getBooleanOp())==2)&&(
int64(getSubtractChoices())!=2))||((
int64(getBooleanOp())==3)&&(
int64(getShatterChoices())==1)))) ) )
364 graph->
evalOpParm(myUseAPieces, nodeidx,
"useaonlypieces", time, 0);
365 myAPieces =
"apieces"_UTsh;
366 if (
true && ( (
true&&!(((
int64(getASurface())==1))||((
int64(getBooleanOp())!=2)&&(
int64(getBooleanOp())!=3))||((
int64(getBooleanOp())==2)&&(
int64(getSubtractChoices())!=2))||((
int64(getBooleanOp())==3)&&(
int64(getShatterChoices())==1))||((getUseAPieces()==0)))) ) )
367 graph->
evalOpParm(myAPieces, nodeidx,
"aonlypieces", time, 0);
368 myUseBPieces =
false;
369 if (
true && ( (
true&&!(((
int64(getBSurface())==1))||((
int64(getBooleanOp())!=2)&&(
int64(getBooleanOp())!=3))||((
int64(getBooleanOp())==2)&&(
int64(getSubtractChoices())!=2))||((
int64(getBooleanOp())==3)&&(
int64(getShatterChoices())==0)))) ) )
370 graph->
evalOpParm(myUseBPieces, nodeidx,
"usebonlypieces", time, 0);
371 myBPieces =
"bpieces"_UTsh;
372 if (
true && ( (
true&&!(((
int64(getBSurface())==1))||((
int64(getBooleanOp())!=2)&&(
int64(getBooleanOp())!=3))||((
int64(getBooleanOp())==2)&&(
int64(getSubtractChoices())!=2))||((
int64(getBooleanOp())==3)&&(
int64(getShatterChoices())==0))||((getUseBPieces()==0)))) ) )
373 graph->
evalOpParm(myBPieces, nodeidx,
"bonlypieces", time, 0);
374 myUseABPieces =
false;
375 if (
true && ( (
true&&!(((
int64(getBSurface())==1)&&(
int64(getASurface())==1))||((
int64(getBooleanOp())!=3)))) ) )
376 graph->
evalOpParm(myUseABPieces, nodeidx,
"useabpieces", time, 0);
377 myABPieces =
"abpieces"_UTsh;
378 if (
true && ( (
true&&!(((
int64(getBSurface())==1)&&(
int64(getASurface())==1))||((
int64(getBooleanOp())!=3))||((getUseABPieces()==0)))) ) )
379 graph->
evalOpParm(myABPieces, nodeidx,
"abpieces", time, 0);
380 myUseReversedPolys =
false;
381 if (
true && ( (
true&&!(((
int64(getBSurface())==1)&&(
int64(getASurface())==1))||((
int64(getBooleanOp())!=3)&&(
int64(getBooleanOp())!=2)))) ) )
382 graph->
evalOpParm(myUseReversedPolys, nodeidx,
"usereversedpolys", time, 0);
383 myReversedPolys =
"reversed"_UTsh;
384 if (
true && ( (
true&&!(((
int64(getBSurface())==1)&&(
int64(getASurface())==1))||((
int64(getBooleanOp())!=3)&&(
int64(getBooleanOp())!=2))||((getUseReversedPolys()==0)))) ) )
385 graph->
evalOpParm(myReversedPolys, nodeidx,
"reversedpolys", time, 0);
386 myUseAASeamEdges =
false;
387 if (
true && ( (
true&&!(((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
388 graph->
evalOpParm(myUseAASeamEdges, nodeidx,
"useaaseamedges", time, 0);
389 myAASeamEdges =
"aseams"_UTsh;
390 if (
true && ( (
true&&!(((getUseAASeamEdges()==0))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
391 graph->
evalOpParm(myAASeamEdges, nodeidx,
"aaseamedges", time, 0);
392 myUseBBSeamEdges =
false;
393 if (
true && ( (
true&&!(((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
394 graph->
evalOpParm(myUseBBSeamEdges, nodeidx,
"usebbseamedges", time, 0);
395 myBBSeamEdges =
"bseams"_UTsh;
396 if (
true && ( (
true&&!(((getUseBBSeamEdges()==0))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
397 graph->
evalOpParm(myBBSeamEdges, nodeidx,
"bbseamedges", time, 0);
398 myUseABSeamEdges =
false;
399 if (
true && ( (
true&&!(((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
400 graph->
evalOpParm(myUseABSeamEdges, nodeidx,
"useabseamedges", time, 0);
401 myABSeamEdges =
"abseams"_UTsh;
402 if (
true && ( (
true&&!(((getUseABSeamEdges()==0))||((
int64(getBooleanOp())==8))||((
int64(getBooleanOp())==9)))) ) )
403 graph->
evalOpParm(myABSeamEdges, nodeidx,
"abseamedges", time, 0);
405 if (
true && ( (
true&&!(((
int64(getBooleanOp())!=4))||((
int64(getWindingOp())==1)))) ) )
406 graph->
evalOpParm(myDepthInA, nodeidx,
"adepth", time, 0);
408 if (
true && ( (
true&&!(((
int64(getBooleanOp())!=4))||((
int64(getWindingOp())==0)))) ) )
409 graph->
evalOpParm(myDepthInB, nodeidx,
"bdepth", time, 0);
425 template <
typename T>
432 if (idx.
size() != instance.
size()+1)
627 { doGetParmValue(idx, instance, value); }
629 { doGetParmValue(idx, instance, value); }
631 { doGetParmValue(idx, instance, value); }
633 { doGetParmValue(idx, instance, value); }
635 { doGetParmValue(idx, instance, value); }
637 { doGetParmValue(idx, instance, value); }
639 { doGetParmValue(idx, instance, value); }
641 { doGetParmValue(idx, instance, value); }
643 { doGetParmValue(idx, instance, value); }
645 { doGetParmValue(idx, instance, value); }
647 { doGetParmValue(idx, instance, value); }
649 template <
typename T>
656 if (idx.
size() != instance.
size()+1)
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); }
852 { doSetParmValue(idx, instance, value); }
854 { doSetParmValue(idx, instance, value); }
856 { doSetParmValue(idx, instance, value); }
858 { doSetParmValue(idx, instance, value); }
860 { doSetParmValue(idx, instance, value); }
862 { doSetParmValue(idx, instance, value); }
878 if (fieldnum.
size() < 1)
897 return "subtractchoices";
899 return "shatterchoices";
901 return "opencurvesonly";
903 return "generateaaseams";
905 return "generatebbseams";
907 return "generateabseams";
913 return "detriangulate";
915 return "removeinlinepoints";
917 return "uniqueseams";
919 return "correctnormals";
921 return "useaxapolys";
925 return "useaxbpolys";
937 return "collapsetinyedges";
939 return "lengththreshold";
945 return "useainsideb";
949 return "useaoutsideb";
957 return "usebinsidea";
961 return "useboutsidea";
965 return "useaboverlap";
969 return "useaonlypieces";
971 return "aonlypieces";
973 return "usebonlypieces";
975 return "bonlypieces";
977 return "useabpieces";
981 return "usereversedpolys";
983 return "reversedpolys";
985 return "useaaseamedges";
987 return "aaseamedges";
989 return "usebbseamedges";
991 return "bbseamedges";
993 return "useabseamedges";
995 return "abseamedges";
1007 if (fieldnum.
size() < 1)
1008 return PARM_UNSUPPORTED;
1009 switch (fieldnum[0])
1136 { is.
bread(&v, 1); }
1150 {
for (
int r = 0;
r < 2;
r++)
for (
int c = 0; c < 2; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
1152 {
for (
int r = 0;
r < 3;
r++)
for (
int c = 0; c < 3; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
1154 {
for (
int r = 0;
r < 4;
r++)
for (
int c = 0; c < 4; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
1167 loadData(is, rampdata);
1185 int typelen = colon - data.
buffer();
1197 { UTwrite(os, &v); }
1199 {
int64 iv =
v; UTwrite(os, &iv); }
1201 { UTwrite<fpreal64>(os, &
v); }
1203 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1205 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1206 UTwrite<fpreal64>(os, &v.
z()); }
1208 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1209 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1221 if (s) s->save(ostr);
1222 result = ostr.
str();
1223 saveData(os, result);
1230 ostr << s->getDataTypeToken();
1232 s->saveBinary(ostr);
1234 result = ostr.
str();
1235 saveData(os, result);
1243 saveData(os, myGroupA);
1244 saveData(os, myASurface);
1245 saveData(os, myResolveA);
1246 saveData(os, myGroupB);
1247 saveData(os, myBSurface);
1248 saveData(os, myResolveB);
1249 saveData(os, myBooleanOp);
1250 saveData(os, mySubtractChoices);
1251 saveData(os, myShatterChoices);
1252 saveData(os, myOpenCurvesOnly);
1253 saveData(os, myGenerateAASeams);
1254 saveData(os, myGenerateBBSeams);
1255 saveData(os, myGenerateABSeams);
1256 saveData(os, myWindingOp);
1257 saveData(os, myMergeNbrs);
1258 saveData(os, myDetriangulate);
1259 saveData(os, myRemoveInlinePoints);
1260 saveData(os, myUniqueSeams);
1261 saveData(os, myCorrectNormals);
1262 saveData(os, myUseAxAPolys);
1263 saveData(os, myAxAPolys);
1264 saveData(os, myUseAxBPolys);
1265 saveData(os, myAxBPolys);
1266 saveData(os, myUseAxAList);
1267 saveData(os, myAxAList);
1268 saveData(os, myUseAxBList);
1269 saveData(os, myAxBList);
1270 saveData(os, myCollapseTinyEdges);
1271 saveData(os, myLengthThreshold);
1272 saveData(os, myUseAPolys);
1273 saveData(os, myAPolys);
1274 saveData(os, myUseAInsideB);
1275 saveData(os, myAInsideB);
1276 saveData(os, myUseAOutsideB);
1277 saveData(os, myAOutsideB);
1278 saveData(os, myUseBPolys);
1279 saveData(os, myBPolys);
1280 saveData(os, myUseBInsideA);
1281 saveData(os, myBInsideA);
1282 saveData(os, myUseBOutsideA);
1283 saveData(os, myBOutsideA);
1284 saveData(os, myUseABOverlap);
1285 saveData(os, myABOverlap);
1286 saveData(os, myUseAPieces);
1287 saveData(os, myAPieces);
1288 saveData(os, myUseBPieces);
1289 saveData(os, myBPieces);
1290 saveData(os, myUseABPieces);
1291 saveData(os, myABPieces);
1292 saveData(os, myUseReversedPolys);
1293 saveData(os, myReversedPolys);
1294 saveData(os, myUseAASeamEdges);
1295 saveData(os, myAASeamEdges);
1296 saveData(os, myUseBBSeamEdges);
1297 saveData(os, myBBSeamEdges);
1298 saveData(os, myUseABSeamEdges);
1299 saveData(os, myABSeamEdges);
1300 saveData(os, myDepthInA);
1301 saveData(os, myDepthInB);
1314 loadData(is, myGroupA);
1315 loadData(is, myASurface);
1316 loadData(is, myResolveA);
1317 loadData(is, myGroupB);
1318 loadData(is, myBSurface);
1319 loadData(is, myResolveB);
1320 loadData(is, myBooleanOp);
1321 loadData(is, mySubtractChoices);
1322 loadData(is, myShatterChoices);
1323 loadData(is, myOpenCurvesOnly);
1324 loadData(is, myGenerateAASeams);
1325 loadData(is, myGenerateBBSeams);
1326 loadData(is, myGenerateABSeams);
1327 loadData(is, myWindingOp);
1328 loadData(is, myMergeNbrs);
1329 loadData(is, myDetriangulate);
1330 loadData(is, myRemoveInlinePoints);
1331 loadData(is, myUniqueSeams);
1332 loadData(is, myCorrectNormals);
1333 loadData(is, myUseAxAPolys);
1334 loadData(is, myAxAPolys);
1335 loadData(is, myUseAxBPolys);
1336 loadData(is, myAxBPolys);
1337 loadData(is, myUseAxAList);
1338 loadData(is, myAxAList);
1339 loadData(is, myUseAxBList);
1340 loadData(is, myAxBList);
1341 loadData(is, myCollapseTinyEdges);
1342 loadData(is, myLengthThreshold);
1343 loadData(is, myUseAPolys);
1344 loadData(is, myAPolys);
1345 loadData(is, myUseAInsideB);
1346 loadData(is, myAInsideB);
1347 loadData(is, myUseAOutsideB);
1348 loadData(is, myAOutsideB);
1349 loadData(is, myUseBPolys);
1350 loadData(is, myBPolys);
1351 loadData(is, myUseBInsideA);
1352 loadData(is, myBInsideA);
1353 loadData(is, myUseBOutsideA);
1354 loadData(is, myBOutsideA);
1355 loadData(is, myUseABOverlap);
1356 loadData(is, myABOverlap);
1357 loadData(is, myUseAPieces);
1358 loadData(is, myAPieces);
1359 loadData(is, myUseBPieces);
1360 loadData(is, myBPieces);
1361 loadData(is, myUseABPieces);
1362 loadData(is, myABPieces);
1363 loadData(is, myUseReversedPolys);
1364 loadData(is, myReversedPolys);
1365 loadData(is, myUseAASeamEdges);
1366 loadData(is, myAASeamEdges);
1367 loadData(is, myUseBBSeamEdges);
1368 loadData(is, myBBSeamEdges);
1369 loadData(is, myUseABSeamEdges);
1370 loadData(is, myABSeamEdges);
1371 loadData(is, myDepthInA);
1372 loadData(is, myDepthInB);
1382 if (!thissop)
return getGroupA();
1384 OP_Utils::evalOpParm(result, thissop,
"agroup", cookparms.
getCookTime(), 0);
1392 if (!thissop)
return getASurface();
1394 OP_Utils::evalOpParm(result, thissop,
"asurface", cookparms.
getCookTime(), 0);
1402 if (!thissop)
return getResolveA();
1404 OP_Utils::evalOpParm(result, thissop,
"resolvea", cookparms.
getCookTime(), 0);
1412 if (!thissop)
return getGroupB();
1414 OP_Utils::evalOpParm(result, thissop,
"bgroup", cookparms.
getCookTime(), 0);
1422 if (!thissop)
return getBSurface();
1424 OP_Utils::evalOpParm(result, thissop,
"bsurface", cookparms.
getCookTime(), 0);
1432 if (!thissop)
return getResolveB();
1434 OP_Utils::evalOpParm(result, thissop,
"resolveb", cookparms.
getCookTime(), 0);
1442 if (!thissop)
return getBooleanOp();
1444 OP_Utils::evalOpParm(result, thissop,
"booleanop", cookparms.
getCookTime(), 0);
1452 if (!thissop)
return getSubtractChoices();
1454 OP_Utils::evalOpParm(result, thissop,
"subtractchoices", cookparms.
getCookTime(), 0);
1462 if (!thissop)
return getShatterChoices();
1464 OP_Utils::evalOpParm(result, thissop,
"shatterchoices", cookparms.
getCookTime(), 0);
1472 if (!thissop)
return getOpenCurvesOnly();
1474 OP_Utils::evalOpParm(result, thissop,
"opencurvesonly", cookparms.
getCookTime(), 0);
1482 if (!thissop)
return getGenerateAASeams();
1484 OP_Utils::evalOpParm(result, thissop,
"generateaaseams", cookparms.
getCookTime(), 0);
1492 if (!thissop)
return getGenerateBBSeams();
1494 OP_Utils::evalOpParm(result, thissop,
"generatebbseams", cookparms.
getCookTime(), 0);
1502 if (!thissop)
return getGenerateABSeams();
1504 OP_Utils::evalOpParm(result, thissop,
"generateabseams", cookparms.
getCookTime(), 0);
1512 if (!thissop)
return getWindingOp();
1514 OP_Utils::evalOpParm(result, thissop,
"windingop", cookparms.
getCookTime(), 0);
1522 if (!thissop)
return getMergeNbrs();
1524 OP_Utils::evalOpParm(result, thissop,
"mergenbrs", cookparms.
getCookTime(), 0);
1532 if (!thissop)
return getDetriangulate();
1534 OP_Utils::evalOpParm(result, thissop,
"detriangulate", cookparms.
getCookTime(), 0);
1542 if (!thissop)
return getRemoveInlinePoints();
1544 OP_Utils::evalOpParm(result, thissop,
"removeinlinepoints", cookparms.
getCookTime(), 0);
1552 if (!thissop)
return getUniqueSeams();
1554 OP_Utils::evalOpParm(result, thissop,
"uniqueseams", cookparms.
getCookTime(), 0);
1562 if (!thissop)
return getCorrectNormals();
1564 OP_Utils::evalOpParm(result, thissop,
"correctnormals", cookparms.
getCookTime(), 0);
1572 if (!thissop)
return getUseAxAPolys();
1574 OP_Utils::evalOpParm(result, thissop,
"useaxapolys", cookparms.
getCookTime(), 0);
1582 if (!thissop)
return getAxAPolys();
1584 OP_Utils::evalOpParm(result, thissop,
"axapolys", cookparms.
getCookTime(), 0);
1592 if (!thissop)
return getUseAxBPolys();
1594 OP_Utils::evalOpParm(result, thissop,
"useaxbpolys", cookparms.
getCookTime(), 0);
1602 if (!thissop)
return getAxBPolys();
1604 OP_Utils::evalOpParm(result, thissop,
"axbpolys", cookparms.
getCookTime(), 0);
1612 if (!thissop)
return getUseAxAList();
1614 OP_Utils::evalOpParm(result, thissop,
"useaxalist", cookparms.
getCookTime(), 0);
1622 if (!thissop)
return getAxAList();
1624 OP_Utils::evalOpParm(result, thissop,
"axalist", cookparms.
getCookTime(), 0);
1632 if (!thissop)
return getUseAxBList();
1634 OP_Utils::evalOpParm(result, thissop,
"useaxblist", cookparms.
getCookTime(), 0);
1642 if (!thissop)
return getAxBList();
1644 OP_Utils::evalOpParm(result, thissop,
"axblist", cookparms.
getCookTime(), 0);
1652 if (!thissop)
return getCollapseTinyEdges();
1654 OP_Utils::evalOpParm(result, thissop,
"collapsetinyedges", cookparms.
getCookTime(), 0);
1662 if (!thissop)
return getLengthThreshold();
1664 OP_Utils::evalOpParm(result, thissop,
"lengththreshold", cookparms.
getCookTime(), 0);
1672 if (!thissop)
return getUseAPolys();
1674 OP_Utils::evalOpParm(result, thissop,
"useapolys", cookparms.
getCookTime(), 0);
1682 if (!thissop)
return getAPolys();
1684 OP_Utils::evalOpParm(result, thissop,
"apolys", cookparms.
getCookTime(), 0);
1692 if (!thissop)
return getUseAInsideB();
1694 OP_Utils::evalOpParm(result, thissop,
"useainsideb", cookparms.
getCookTime(), 0);
1702 if (!thissop)
return getAInsideB();
1704 OP_Utils::evalOpParm(result, thissop,
"ainsideb", cookparms.
getCookTime(), 0);
1712 if (!thissop)
return getUseAOutsideB();
1714 OP_Utils::evalOpParm(result, thissop,
"useaoutsideb", cookparms.
getCookTime(), 0);
1722 if (!thissop)
return getAOutsideB();
1724 OP_Utils::evalOpParm(result, thissop,
"aoutsideb", cookparms.
getCookTime(), 0);
1732 if (!thissop)
return getUseBPolys();
1734 OP_Utils::evalOpParm(result, thissop,
"usebpolys", cookparms.
getCookTime(), 0);
1742 if (!thissop)
return getBPolys();
1744 OP_Utils::evalOpParm(result, thissop,
"bpolys", cookparms.
getCookTime(), 0);
1752 if (!thissop)
return getUseBInsideA();
1754 OP_Utils::evalOpParm(result, thissop,
"usebinsidea", cookparms.
getCookTime(), 0);
1762 if (!thissop)
return getBInsideA();
1764 OP_Utils::evalOpParm(result, thissop,
"binsidea", cookparms.
getCookTime(), 0);
1772 if (!thissop)
return getUseBOutsideA();
1774 OP_Utils::evalOpParm(result, thissop,
"useboutsidea", cookparms.
getCookTime(), 0);
1782 if (!thissop)
return getBOutsideA();
1784 OP_Utils::evalOpParm(result, thissop,
"boutsidea", cookparms.
getCookTime(), 0);
1792 if (!thissop)
return getUseABOverlap();
1794 OP_Utils::evalOpParm(result, thissop,
"useaboverlap", cookparms.
getCookTime(), 0);
1802 if (!thissop)
return getABOverlap();
1804 OP_Utils::evalOpParm(result, thissop,
"aboverlap", cookparms.
getCookTime(), 0);
1812 if (!thissop)
return getUseAPieces();
1814 OP_Utils::evalOpParm(result, thissop,
"useaonlypieces", cookparms.
getCookTime(), 0);
1822 if (!thissop)
return getAPieces();
1824 OP_Utils::evalOpParm(result, thissop,
"aonlypieces", cookparms.
getCookTime(), 0);
1832 if (!thissop)
return getUseBPieces();
1834 OP_Utils::evalOpParm(result, thissop,
"usebonlypieces", cookparms.
getCookTime(), 0);
1842 if (!thissop)
return getBPieces();
1844 OP_Utils::evalOpParm(result, thissop,
"bonlypieces", cookparms.
getCookTime(), 0);
1852 if (!thissop)
return getUseABPieces();
1854 OP_Utils::evalOpParm(result, thissop,
"useabpieces", cookparms.
getCookTime(), 0);
1862 if (!thissop)
return getABPieces();
1864 OP_Utils::evalOpParm(result, thissop,
"abpieces", cookparms.
getCookTime(), 0);
1872 if (!thissop)
return getUseReversedPolys();
1874 OP_Utils::evalOpParm(result, thissop,
"usereversedpolys", cookparms.
getCookTime(), 0);
1882 if (!thissop)
return getReversedPolys();
1884 OP_Utils::evalOpParm(result, thissop,
"reversedpolys", cookparms.
getCookTime(), 0);
1892 if (!thissop)
return getUseAASeamEdges();
1894 OP_Utils::evalOpParm(result, thissop,
"useaaseamedges", cookparms.
getCookTime(), 0);
1902 if (!thissop)
return getAASeamEdges();
1904 OP_Utils::evalOpParm(result, thissop,
"aaseamedges", cookparms.
getCookTime(), 0);
1912 if (!thissop)
return getUseBBSeamEdges();
1914 OP_Utils::evalOpParm(result, thissop,
"usebbseamedges", cookparms.
getCookTime(), 0);
1922 if (!thissop)
return getBBSeamEdges();
1924 OP_Utils::evalOpParm(result, thissop,
"bbseamedges", cookparms.
getCookTime(), 0);
1932 if (!thissop)
return getUseABSeamEdges();
1934 OP_Utils::evalOpParm(result, thissop,
"useabseamedges", cookparms.
getCookTime(), 0);
1942 if (!thissop)
return getABSeamEdges();
1944 OP_Utils::evalOpParm(result, thissop,
"abseamedges", cookparms.
getCookTime(), 0);
1952 if (!thissop)
return getDepthInA();
1954 OP_Utils::evalOpParm(result, thissop,
"adepth", cookparms.
getCookTime(), 0);
1962 if (!thissop)
return getDepthInB();
1964 OP_Utils::evalOpParm(result, thissop,
"bdepth", cookparms.
getCookTime(), 0);
1976 int64 mySubtractChoices;
1977 int64 myShatterChoices;
1978 bool myOpenCurvesOnly;
1979 bool myGenerateAASeams;
1980 bool myGenerateBBSeams;
1981 bool myGenerateABSeams;
1984 int64 myDetriangulate;
1985 bool myRemoveInlinePoints;
1987 bool myCorrectNormals;
1996 bool myCollapseTinyEdges;
2002 bool myUseAOutsideB;
2008 bool myUseBOutsideA;
2010 bool myUseABOverlap;
2018 bool myUseReversedPolys;
2020 bool myUseAASeamEdges;
2022 bool myUseBBSeamEdges;
2024 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
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
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)
T clampMaxValue(fpreal maxvalue, const T &src) const
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
constexpr SYS_FORCE_INLINE T & y() noexcept
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
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
const OP_Context & context() const
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
constexpr SYS_FORCE_INLINE T & z() noexcept
bool isParmColorRamp(exint idx) const override
SYS_FORCE_INLINE const char * buffer() const
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
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
**But if you need a result
static void loadData(UT_IStream &is, UT_Matrix3D &v)
bool getCollapseTinyEdges() const
void setAxAList(const UT_StringHolder &val)
T clampMinValue(fpreal minvalue, const T &src) const
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
constexpr SYS_FORCE_INLINE T & x() noexcept
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)
constexpr SYS_FORCE_INLINE T & x() noexcept
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
constexpr SYS_FORCE_INLINE T & z() noexcept
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
const OP_GraphProxy * graph() const
fpreal64 getLengthThreshold() const
void setUseAxAPolys(bool val)
bool opUseAxAPolys(const SOP_NodeVerb::CookParms &cookparms) const
void copyFrom(const OP_NodeParms *src) override
bool opUseABPieces(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getAPolys() const
exint getNestNumParms(TempIndex idx) const override
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)
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
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)
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
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)
void coerceValue(T &result, const S &src) const
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
DEP_MicroNode * depnode() 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)
constexpr SYS_FORCE_INLINE T & w() noexcept
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)
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)
constexpr SYS_FORCE_INLINE T & y() noexcept
bool opUseReversedPolys(const SOP_NodeVerb::CookParms &cookparms) const
void setABSeamEdges(const UT_StringHolder &val)
const UT_StringHolder & getABSeamEdges() const
void setOpenCurvesOnly(bool val)
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)
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)
constexpr SYS_FORCE_INLINE T & y() noexcept
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
OP_NodeParms & operator=(const OP_NodeParms &)=default
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
bool getUseABOverlap() const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
constexpr SYS_FORCE_INLINE T & x() noexcept
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override