23 namespace SOP_UVLayout_3_0Enums
35 using namespace UT::Literal;
54 using namespace UT::Literal;
72 using namespace UT::Literal;
95 using namespace UT::Literal;
122 using namespace UT::Literal;
123 switch (enum_value) {
144 using namespace UT::Literal;
145 switch (enum_value) {
162 using namespace UT::Literal;
163 switch (enum_value) {
180 using namespace UT::Literal;
181 switch (enum_value) {
213 if (rect_use != src.
rect_use)
return false;
215 if (rect_size != src.
rect_size)
return false;
231 for (
int i = 0; i < list.
entries(); i++)
237 buf.
appendSprintf(
"%s", (list(i).rect_use) ?
"true" :
"false");
239 buf.
appendSprintf(
"(%f, %f)", list(i).rect_center.x(), list(i).rect_center.y());
241 buf.
appendSprintf(
"(%f, %f)", list(i).rect_size.x(), list(i).rect_size.y());
253 myUVAttr =
"uv"_UTsh;
256 mySeparatorEdges =
""_UTsh;
257 myUseIslandAttr =
false;
258 myIslandAttr =
"island"_UTsh;
259 myUseTargetAttr =
false;
260 myTargetAttr =
"udim"_UTsh;
261 myTargetOverrides =
""_UTsh;
262 myUseIslandScaleAttr =
false;
263 myIslandScaleAttr =
"iscale"_UTsh;
264 myScaleOverrides =
""_UTsh;
265 myUseIslandOffsetAttr =
false;
266 myIslandOffsetAttr =
"ioffset"_UTsh;
267 myOffsetOverrides =
""_UTsh;
268 myCorrectAreas =
false;
274 myPackBetween =
false;
275 myPackInCavities =
true;
277 myPadBoundaries =
false;
278 myExpandPadding =
false;
281 myCustomResolution = 1024;
282 myConnectivityTolerance = 1e-05;
283 myScaleTolerance = 0.005;
286 myUDIMTileMethod = 0;
287 myUseDefaultTarget =
false;
289 myUseDefaultUdimTarget =
false;
290 myDefaultUdimTarget = 1001;
294 myStartingUdim = 1001;
295 myUdimtilestart = 1001;
296 myMaxudimtilecount =
false;
297 myTargetUVAttr =
"uv"_UTsh;
298 myTargetProjPlane = 0;
299 myTargetGroup =
""_UTsh;
300 myTargetSeparatorEdges =
""_UTsh;
301 myUseTargetIslandAttr =
false;
302 myTargetIslandAttr =
"targetisland"_UTsh;
303 myStackIslands =
false;
304 myStackMirrored =
false;
305 myStackOnNonGroup =
false;
306 myStackingLengthTolerance = 0.02;
307 myGenerateNonpackedPolys =
false;
308 myNonpackedPolys =
"nonpacked"_UTsh;
309 myGenerateIslandAttr =
false;
310 myOutputIslandAttr =
"island"_UTsh;
311 myGenerateTargetAttr =
false;
312 myOutputTargetAttr =
"target"_UTsh;
326 if (myUVAttr != src.myUVAttr)
return false;
327 if (myUVProjPlane != src.myUVProjPlane)
return false;
328 if (myGroup != src.myGroup)
return false;
329 if (mySeparatorEdges != src.mySeparatorEdges)
return false;
330 if (myUseIslandAttr != src.myUseIslandAttr)
return false;
331 if (myIslandAttr != src.myIslandAttr)
return false;
332 if (myUseTargetAttr != src.myUseTargetAttr)
return false;
333 if (myTargetAttr != src.myTargetAttr)
return false;
334 if (myTargetOverrides != src.myTargetOverrides)
return false;
335 if (myUseIslandScaleAttr != src.myUseIslandScaleAttr)
return false;
336 if (myIslandScaleAttr != src.myIslandScaleAttr)
return false;
337 if (myScaleOverrides != src.myScaleOverrides)
return false;
338 if (myUseIslandOffsetAttr != src.myUseIslandOffsetAttr)
return false;
339 if (myIslandOffsetAttr != src.myIslandOffsetAttr)
return false;
340 if (myOffsetOverrides != src.myOffsetOverrides)
return false;
341 if (myCorrectAreas != src.myCorrectAreas)
return false;
342 if (myAxisAlignment != src.myAxisAlignment)
return false;
343 if (myScaling != src.myScaling)
return false;
344 if (myScale != src.myScale)
return false;
345 if (myRotationStep != src.myRotationStep)
return false;
346 if (myCircleDivs != src.myCircleDivs)
return false;
347 if (myPackBetween != src.myPackBetween)
return false;
348 if (myPackInCavities != src.myPackInCavities)
return false;
349 if (myPadding != src.myPadding)
return false;
350 if (myPadBoundaries != src.myPadBoundaries)
return false;
351 if (myExpandPadding != src.myExpandPadding)
return false;
352 if (myIterations != src.myIterations)
return false;
353 if (myResolution != src.myResolution)
return false;
354 if (myCustomResolution != src.myCustomResolution)
return false;
355 if (myConnectivityTolerance != src.myConnectivityTolerance)
return false;
356 if (myScaleTolerance != src.myScaleTolerance)
return false;
357 if (myRandSeed != src.myRandSeed)
return false;
358 if (myTargetType != src.myTargetType)
return false;
359 if (myUDIMTileMethod != src.myUDIMTileMethod)
return false;
360 if (myUseDefaultTarget != src.myUseDefaultTarget)
return false;
361 if (myDefaultTarget != src.myDefaultTarget)
return false;
362 if (myUseDefaultUdimTarget != src.myUseDefaultUdimTarget)
return false;
363 if (myDefaultUdimTarget != src.myDefaultUdimTarget)
return false;
364 if (myRects != src.myRects)
return false;
365 if (myTileSize != src.myTileSize)
return false;
366 if (myNumColumns != src.myNumColumns)
return false;
367 if (myStartingUdim != src.myStartingUdim)
return false;
368 if (myUdimtilestart != src.myUdimtilestart)
return false;
369 if (myMaxudimtilecount != src.myMaxudimtilecount)
return false;
370 if (myTargetUVAttr != src.myTargetUVAttr)
return false;
371 if (myTargetProjPlane != src.myTargetProjPlane)
return false;
372 if (myTargetGroup != src.myTargetGroup)
return false;
373 if (myTargetSeparatorEdges != src.myTargetSeparatorEdges)
return false;
374 if (myUseTargetIslandAttr != src.myUseTargetIslandAttr)
return false;
375 if (myTargetIslandAttr != src.myTargetIslandAttr)
return false;
376 if (myStackIslands != src.myStackIslands)
return false;
377 if (myStackMirrored != src.myStackMirrored)
return false;
378 if (myStackOnNonGroup != src.myStackOnNonGroup)
return false;
379 if (myStackingLengthTolerance != src.myStackingLengthTolerance)
return false;
380 if (myGenerateNonpackedPolys != src.myGenerateNonpackedPolys)
return false;
381 if (myNonpackedPolys != src.myNonpackedPolys)
return false;
382 if (myGenerateIslandAttr != src.myGenerateIslandAttr)
return false;
383 if (myOutputIslandAttr != src.myOutputIslandAttr)
return false;
384 if (myGenerateTargetAttr != src.myGenerateTargetAttr)
return false;
385 if (myOutputTargetAttr != src.myOutputTargetAttr)
return false;
386 if (myUdimtilecount != src.myUdimtilecount)
return false;
410 myUVAttr =
"uv"_UTsh;
412 graph->
evalOpParm(myUVAttr, nodeidx,
"uvattrib", time, graph->
isDirect()?
nullptr:depnode);
415 graph->
evalOpParm(myUVProjPlane, nodeidx,
"projplane", time, graph->
isDirect()?
nullptr:depnode);
418 graph->
evalOpParm(myGroup, nodeidx,
"group", time, graph->
isDirect()?
nullptr:depnode);
419 mySeparatorEdges =
""_UTsh;
421 graph->
evalOpParm(mySeparatorEdges, nodeidx,
"separatoredges", time, graph->
isDirect()?
nullptr:depnode);
422 myUseIslandAttr =
false;
424 graph->
evalOpParm(myUseIslandAttr, nodeidx,
"useislandattr", time, graph->
isDirect()?
nullptr:depnode);
425 myIslandAttr =
"island"_UTsh;
426 if (
true && ( (
true&&!(((getUseIslandAttr()==0)))) ) )
427 graph->
evalOpParm(myIslandAttr, nodeidx,
"islandattr", time, graph->
isDirect()?
nullptr:depnode);
428 myUseTargetAttr =
false;
430 graph->
evalOpParm(myUseTargetAttr, nodeidx,
"usetargetattr", time, graph->
isDirect()?
nullptr:depnode);
431 myTargetAttr =
"udim"_UTsh;
432 if (
true && ( (
true&&!(((getUseTargetAttr()==0)))) ) )
433 graph->
evalOpParm(myTargetAttr, nodeidx,
"targetattr", time, graph->
isDirect()?
nullptr:depnode);
434 myTargetOverrides =
""_UTsh;
436 graph->
evalOpParm(myTargetOverrides, nodeidx,
"targetoverrides", time, graph->
isDirect()?
nullptr:depnode);
437 myUseIslandScaleAttr =
false;
439 graph->
evalOpParm(myUseIslandScaleAttr, nodeidx,
"useislandscaleattr", time, graph->
isDirect()?
nullptr:depnode);
440 myIslandScaleAttr =
"iscale"_UTsh;
441 if (
true && ( (
true&&!(((getUseIslandScaleAttr()==0)))) ) )
442 graph->
evalOpParm(myIslandScaleAttr, nodeidx,
"islandscaleattr", time, graph->
isDirect()?
nullptr:depnode);
443 myScaleOverrides =
""_UTsh;
445 graph->
evalOpParm(myScaleOverrides, nodeidx,
"scaleoverrides", time, graph->
isDirect()?
nullptr:depnode);
446 myUseIslandOffsetAttr =
false;
448 graph->
evalOpParm(myUseIslandOffsetAttr, nodeidx,
"useislandsetattr", time, graph->
isDirect()?
nullptr:depnode);
449 myIslandOffsetAttr =
"ioffset"_UTsh;
450 if (
true && ( (
true&&!(((getUseIslandOffsetAttr()==0)))) ) )
451 graph->
evalOpParm(myIslandOffsetAttr, nodeidx,
"islandoffsetattr", time, graph->
isDirect()?
nullptr:depnode);
452 myOffsetOverrides =
""_UTsh;
454 graph->
evalOpParm(myOffsetOverrides, nodeidx,
"offsetoverrides", time, graph->
isDirect()?
nullptr:depnode);
455 myCorrectAreas =
false;
457 graph->
evalOpParm(myCorrectAreas, nodeidx,
"correctareas", time, graph->
isDirect()?
nullptr:depnode);
460 graph->
evalOpParm(myAxisAlignment, nodeidx,
"axisalignislands", time, graph->
isDirect()?
nullptr:depnode);
463 graph->
evalOpParm(myScaling, nodeidx,
"scaling", time, graph->
isDirect()?
nullptr:depnode);
465 if (
true && ( (
true&&!(((
int64(getScaling())!=1)))) ) )
466 graph->
evalOpParm(myScale, nodeidx,
"scale", time, graph->
isDirect()?
nullptr:depnode);
469 graph->
evalOpParm(myRotationStep, nodeidx,
"rotstep", time, graph->
isDirect()?
nullptr:depnode);
471 if (
true && ( (
true&&!(((
int64(getRotationStep())!=7)))) ) )
472 graph->
evalOpParm(myCircleDivs, nodeidx,
"circledivs", time, graph->
isDirect()?
nullptr:depnode);
473 myPackBetween =
false;
475 graph->
evalOpParm(myPackBetween, nodeidx,
"packbetween", time, graph->
isDirect()?
nullptr:depnode);
476 myPackInCavities =
true;
478 graph->
evalOpParm(myPackInCavities, nodeidx,
"packincavities", time, graph->
isDirect()?
nullptr:depnode);
481 graph->
evalOpParm(myPadding, nodeidx,
"padding", time, graph->
isDirect()?
nullptr:depnode);
482 myPadBoundaries =
false;
484 graph->
evalOpParm(myPadBoundaries, nodeidx,
"paddingboundary", time, graph->
isDirect()?
nullptr:depnode);
485 myExpandPadding =
false;
487 graph->
evalOpParm(myExpandPadding, nodeidx,
"expandpadding", time, graph->
isDirect()?
nullptr:depnode);
490 graph->
evalOpParm(myIterations, nodeidx,
"iterations", time, graph->
isDirect()?
nullptr:depnode);
493 graph->
evalOpParm(myResolution, nodeidx,
"resolution", time, graph->
isDirect()?
nullptr:depnode);
494 myCustomResolution = 1024;
495 if (
true && ( (
true&&!(((
int64(getResolution())!=5)))) ) )
496 graph->
evalOpParm(myCustomResolution, nodeidx,
"customresolution", time, graph->
isDirect()?
nullptr:depnode);
497 myConnectivityTolerance = 1e-05;
499 graph->
evalOpParm(myConnectivityTolerance, nodeidx,
"uvtolerance", time, graph->
isDirect()?
nullptr:depnode);
500 myScaleTolerance = 0.005;
501 if (
true && ( (
true&&!(((
int64(getScaling())==1)))) ) )
502 graph->
evalOpParm(myScaleTolerance, nodeidx,
"scaletolerance", time, graph->
isDirect()?
nullptr:depnode);
504 if (
true && ( (
true&&!(((
int64(getIterations())==1)))) ) )
505 graph->
evalOpParm(myRandSeed, nodeidx,
"randseed", time, graph->
isDirect()?
nullptr:depnode);
508 graph->
evalOpParm(myTargetType, nodeidx,
"targettype", time, graph->
isDirect()?
nullptr:depnode);
509 myUDIMTileMethod = 0;
510 if (
true && ( (
true&&!(((
int64(getTargetType())!=1)))) ) )
511 graph->
evalOpParm(myUDIMTileMethod, nodeidx,
"udimtilemethod", time, graph->
isDirect()?
nullptr:depnode);
512 myUseDefaultTarget =
false;
513 if (
true && ( (
true&&!(((
int64(getTargetType())!=1))||((
int64(getUDIMTileMethod())!=1)))) ) )
514 graph->
evalOpParm(myUseDefaultTarget, nodeidx,
"usedefaulttarget", time, graph->
isDirect()?
nullptr:depnode);
516 if (
true && ( (
true&&!(((getUseDefaultTarget()==0))||((
int64(getTargetType())!=1))||((
int64(getUDIMTileMethod())!=1)))) ) )
517 graph->
evalOpParm(myDefaultTarget, nodeidx,
"defaulttarget", time, graph->
isDirect()?
nullptr:depnode);
518 myUseDefaultUdimTarget =
false;
519 if (
true && ( (
true&&!(((
int64(getTargetType())!=1))||((
int64(getUDIMTileMethod())!=1)))) ) )
520 graph->
evalOpParm(myUseDefaultUdimTarget, nodeidx,
"usedefaultudimtarget", time, graph->
isDirect()?
nullptr:depnode);
521 myDefaultUdimTarget = 1001;
522 if (
true && ( (
true&&!(((getUseDefaultUdimTarget()==0))||((
int64(getTargetType())!=1))||((
int64(getUDIMTileMethod())!=1)))) ) )
523 graph->
evalOpParm(myDefaultUdimTarget, nodeidx,
"defaultudimtarget", time, graph->
isDirect()?
nullptr:depnode);
524 if (
true && ( (!(((
int64(getTargetType())!=0))||((
int64(getTargetType())!=0)))) ) )
528 if (length < 0) length = 0;
529 myRects.setSize(length);
536 auto && _curentry = myRects(i);
538 _curentry.rect_use =
true;
539 if (
true && ( (!(((
int64(getTargetType())!=0))||((
int64(getTargetType())!=0)))) ) && ( (
true&&!(((
int64(getTargetType())!=0)))) ) )
540 graph->
evalOpParmInst(_curentry.rect_use, nodeidx,
"rect_use#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
542 if (
true && ( (!(((
int64(getTargetType())!=0))||((
int64(getTargetType())!=0)))) ) && ( (
true&&!(((
int64(getTargetType())!=0))||((_curentry.rect_use==0)))) ) )
543 graph->
evalOpParmInst(_curentry.rect_center, nodeidx,
"rect_center#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
545 if (
true && ( (!(((
int64(getTargetType())!=0))||((
int64(getTargetType())!=0)))) ) && ( (
true&&!(((
int64(getTargetType())!=0))||((_curentry.rect_use==0)))) ) )
546 graph->
evalOpParmInst(_curentry.rect_size, nodeidx,
"rect_size#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
553 if (
true && ( (
true&&!(((
int64(getTargetType())!=1))||((
int64(getUDIMTileMethod())!=1)))) ) )
554 graph->
evalOpParm(myTileSize, nodeidx,
"tilesize", time, graph->
isDirect()?
nullptr:depnode);
556 if (
true && ( (
true&&!(((
int64(getTargetType())!=1))||((
int64(getUDIMTileMethod())!=1)))) ) )
557 graph->
evalOpParm(myNumColumns, nodeidx,
"numcolumns", time, graph->
isDirect()?
nullptr:depnode);
558 myStartingUdim = 1001;
559 if (
true && ( (
true&&!(((
int64(getTargetType())!=1))||((
int64(getUDIMTileMethod())!=1)))) ) )
560 graph->
evalOpParm(myStartingUdim, nodeidx,
"startingudim", time, graph->
isDirect()?
nullptr:depnode);
561 myUdimtilestart = 1001;
562 if (
true && ( (
true&&!(((
int64(getTargetType())!=1))||((
int64(getUDIMTileMethod())!=0)))) ) )
563 graph->
evalOpParm(myUdimtilestart, nodeidx,
"udimtilestart", time, graph->
isDirect()?
nullptr:depnode);
564 myMaxudimtilecount =
false;
565 if (
true && ( (
true&&!(((
int64(getTargetType())!=1))||((
int64(getUDIMTileMethod())!=0))||((
int64(getScaling())!=1)))) ) )
566 graph->
evalOpParm(myMaxudimtilecount, nodeidx,
"udimextendfixedislands", time, graph->
isDirect()?
nullptr:depnode);
567 myTargetUVAttr =
"uv"_UTsh;
568 if (
true && ( (
true&&!(((
int64(getTargetType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0)))) ) )
569 graph->
evalOpParm(myTargetUVAttr, nodeidx,
"targetuvattrib", time, graph->
isDirect()?
nullptr:depnode);
570 myTargetProjPlane = 0;
571 if (
true && ( (
true&&!(((
int64(getTargetType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0)))) ) )
572 graph->
evalOpParm(myTargetProjPlane, nodeidx,
"targetprojplane", time, graph->
isDirect()?
nullptr:depnode);
573 myTargetGroup =
""_UTsh;
574 if (
true && ( (
true&&!((((graph->
getInput(nodeidx,1)>=0)==0))||((
int64(getTargetType())!=2)))) ) )
575 graph->
evalOpParm(myTargetGroup, nodeidx,
"targetgroup", time, graph->
isDirect()?
nullptr:depnode);
576 myTargetSeparatorEdges =
""_UTsh;
577 if (
true && ( (
true&&!(((
int64(getTargetType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0))||((
int64(getTargetType())!=2)))) ) )
578 graph->
evalOpParm(myTargetSeparatorEdges, nodeidx,
"targetseparatoredges", time, graph->
isDirect()?
nullptr:depnode);
579 myUseTargetIslandAttr =
false;
580 if (
true && ( (
true&&!(((
int64(getTargetType())!=2))||(((graph->
getInput(nodeidx,1)>=0)==0))||((
int64(getTargetType())!=2)))) ) )
581 graph->
evalOpParm(myUseTargetIslandAttr, nodeidx,
"usetargetislandattr", time, graph->
isDirect()?
nullptr:depnode);
582 myTargetIslandAttr =
"targetisland"_UTsh;
583 if (
true && ( (
true&&!(((
int64(getTargetType())!=2))||((getUseTargetIslandAttr()==0))||((
int64(getTargetType())!=2)))) ) )
584 graph->
evalOpParm(myTargetIslandAttr, nodeidx,
"targetislandattr", time, graph->
isDirect()?
nullptr:depnode);
585 myStackIslands =
false;
587 graph->
evalOpParm(myStackIslands, nodeidx,
"stackislands", time, graph->
isDirect()?
nullptr:depnode);
588 myStackMirrored =
false;
589 if (
true && ( (
true&&!(((getStackIslands()==0)))) ) )
590 graph->
evalOpParm(myStackMirrored, nodeidx,
"invertedoverlays", time, graph->
isDirect()?
nullptr:depnode);
591 myStackOnNonGroup =
false;
592 if (
true && ( (
true&&!(((getStackIslands()==0)))) ) )
593 graph->
evalOpParm(myStackOnNonGroup, nodeidx,
"stackonnongroup", time, graph->
isDirect()?
nullptr:depnode);
594 myStackingLengthTolerance = 0.02;
595 if (
true && ( (
true&&!(((getStackIslands()==0)))) ) )
596 graph->
evalOpParm(myStackingLengthTolerance, nodeidx,
"overlaytolerance", time, graph->
isDirect()?
nullptr:depnode);
597 myGenerateNonpackedPolys =
false;
599 graph->
evalOpParm(myGenerateNonpackedPolys, nodeidx,
"generatenonpackedpoly", time, graph->
isDirect()?
nullptr:depnode);
600 myNonpackedPolys =
"nonpacked"_UTsh;
601 if (
true && ( (
true&&!(((getGenerateNonpackedPolys()==0)))) ) )
602 graph->
evalOpParm(myNonpackedPolys, nodeidx,
"nonpackedpolys", time, graph->
isDirect()?
nullptr:depnode);
603 myGenerateIslandAttr =
false;
605 graph->
evalOpParm(myGenerateIslandAttr, nodeidx,
"generateislandattr", time, graph->
isDirect()?
nullptr:depnode);
606 myOutputIslandAttr =
"island"_UTsh;
607 if (
true && ( (
true&&!(((getGenerateIslandAttr()==0)))) ) )
608 graph->
evalOpParm(myOutputIslandAttr, nodeidx,
"outputislandattr", time, graph->
isDirect()?
nullptr:depnode);
609 myGenerateTargetAttr =
false;
611 graph->
evalOpParm(myGenerateTargetAttr, nodeidx,
"generatetargetattr", time, graph->
isDirect()?
nullptr:depnode);
612 myOutputTargetAttr =
"target"_UTsh;
613 if (
true && ( (
true&&!(((getGenerateTargetAttr()==0)))) ) )
614 graph->
evalOpParm(myOutputTargetAttr, nodeidx,
"outputtargetattr", time, graph->
isDirect()?
nullptr:depnode);
616 if (
true && ( (
true&&!(((
int64(getTargetType())!=1))||((
int64(getUDIMTileMethod())!=0))||((
int64(getScaling())==1)&&(getMaxudimtilecount()==1)))) ) )
617 graph->
evalOpParm(myUdimtilecount, nodeidx,
"udimtilecount", time, graph->
isDirect()?
nullptr:depnode);
633 template <
typename T>
640 if (idx.
size() != instance.
size()+1)
645 coerceValue(value, myUVAttr);
648 coerceValue(value, myUVProjPlane);
651 coerceValue(value, myGroup);
654 coerceValue(value, mySeparatorEdges);
657 coerceValue(value, myUseIslandAttr);
660 coerceValue(value, myIslandAttr);
663 coerceValue(value, myUseTargetAttr);
666 coerceValue(value, myTargetAttr);
669 coerceValue(value, myTargetOverrides);
672 coerceValue(value, myUseIslandScaleAttr);
675 coerceValue(value, myIslandScaleAttr);
678 coerceValue(value, myScaleOverrides);
681 coerceValue(value, myUseIslandOffsetAttr);
684 coerceValue(value, myIslandOffsetAttr);
687 coerceValue(value, myOffsetOverrides);
690 coerceValue(value, myCorrectAreas);
693 coerceValue(value, myAxisAlignment);
696 coerceValue(value, myScaling);
699 coerceValue(value, myScale);
702 coerceValue(value, myRotationStep);
705 coerceValue(value, myCircleDivs);
708 coerceValue(value, myPackBetween);
711 coerceValue(value, myPackInCavities);
714 coerceValue(value, myPadding);
717 coerceValue(value, myPadBoundaries);
720 coerceValue(value, myExpandPadding);
723 coerceValue(value, myIterations);
726 coerceValue(value, myResolution);
729 coerceValue(value, myCustomResolution);
732 coerceValue(value, myConnectivityTolerance);
735 coerceValue(value, myScaleTolerance);
738 coerceValue(value, myRandSeed);
741 coerceValue(value, myTargetType);
744 coerceValue(value, myUDIMTileMethod);
747 coerceValue(value, myUseDefaultTarget);
750 coerceValue(value, myDefaultTarget);
753 coerceValue(value, myUseDefaultUdimTarget);
756 coerceValue(value, myDefaultUdimTarget);
760 coerceValue(value, myRects.entries());
761 else if (instance[0] < myRects.entries())
763 auto && _data = myRects(instance[0]);
767 coerceValue(value, _data.rect_use);
770 coerceValue(value, _data.rect_center);
773 coerceValue(value, _data.rect_size);
780 coerceValue(value, myTileSize);
783 coerceValue(value, myNumColumns);
786 coerceValue(value, myStartingUdim);
789 coerceValue(value, myUdimtilestart);
792 coerceValue(value, myMaxudimtilecount);
795 coerceValue(value, myTargetUVAttr);
798 coerceValue(value, myTargetProjPlane);
801 coerceValue(value, myTargetGroup);
804 coerceValue(value, myTargetSeparatorEdges);
807 coerceValue(value, myUseTargetIslandAttr);
810 coerceValue(value, myTargetIslandAttr);
813 coerceValue(value, myStackIslands);
816 coerceValue(value, myStackMirrored);
819 coerceValue(value, myStackOnNonGroup);
822 coerceValue(value, myStackingLengthTolerance);
825 coerceValue(value, myGenerateNonpackedPolys);
828 coerceValue(value, myNonpackedPolys);
831 coerceValue(value, myGenerateIslandAttr);
834 coerceValue(value, myOutputIslandAttr);
837 coerceValue(value, myGenerateTargetAttr);
840 coerceValue(value, myOutputTargetAttr);
843 coerceValue(value, myUdimtilecount);
859 { doGetParmValue(idx, instance, value); }
861 { doGetParmValue(idx, instance, value); }
863 { doGetParmValue(idx, instance, value); }
865 { doGetParmValue(idx, instance, value); }
867 { doGetParmValue(idx, instance, value); }
869 { doGetParmValue(idx, instance, value); }
871 { doGetParmValue(idx, instance, value); }
873 { doGetParmValue(idx, instance, value); }
875 { doGetParmValue(idx, instance, value); }
877 { doGetParmValue(idx, instance, value); }
879 { doGetParmValue(idx, instance, value); }
881 template <
typename T>
888 if (idx.
size() != instance.
size()+1)
893 coerceValue(myUVAttr, ( ( value ) ));
896 coerceValue(myUVProjPlane, clampMinValue(0, clampMaxValue(2, value ) ));
899 coerceValue(myGroup, ( ( value ) ));
902 coerceValue(mySeparatorEdges, ( ( value ) ));
905 coerceValue(myUseIslandAttr, ( ( value ) ));
908 coerceValue(myIslandAttr, ( ( value ) ));
911 coerceValue(myUseTargetAttr, ( ( value ) ));
914 coerceValue(myTargetAttr, ( ( value ) ));
917 coerceValue(myTargetOverrides, ( ( value ) ));
920 coerceValue(myUseIslandScaleAttr, ( ( value ) ));
923 coerceValue(myIslandScaleAttr, ( ( value ) ));
926 coerceValue(myScaleOverrides, ( ( value ) ));
929 coerceValue(myUseIslandOffsetAttr, ( ( value ) ));
932 coerceValue(myIslandOffsetAttr, ( ( value ) ));
935 coerceValue(myOffsetOverrides, ( ( value ) ));
938 coerceValue(myCorrectAreas, ( ( value ) ));
941 coerceValue(myAxisAlignment, clampMinValue(0, clampMaxValue(2, value ) ));
944 coerceValue(myScaling, clampMinValue(0, clampMaxValue(1, value ) ));
947 coerceValue(myScale, clampMinValue(0, ( value ) ));
950 coerceValue(myRotationStep, clampMinValue(0, clampMaxValue(7, value ) ));
953 coerceValue(myCircleDivs, clampMinValue(1, ( value ) ));
956 coerceValue(myPackBetween, ( ( value ) ));
959 coerceValue(myPackInCavities, ( ( value ) ));
962 coerceValue(myPadding, clampMinValue(0, ( value ) ));
965 coerceValue(myPadBoundaries, ( ( value ) ));
968 coerceValue(myExpandPadding, ( ( value ) ));
971 coerceValue(myIterations, clampMinValue(1, ( value ) ));
974 coerceValue(myResolution, clampMinValue(0, clampMaxValue(5, value ) ));
977 coerceValue(myCustomResolution, clampMinValue(128, clampMaxValue(32768, value ) ));
980 coerceValue(myConnectivityTolerance, clampMinValue(0, ( value ) ));
983 coerceValue(myScaleTolerance, ( clampMaxValue(-15, value ) ));
986 coerceValue(myRandSeed, clampMinValue(0, ( value ) ));
989 coerceValue(myTargetType, clampMinValue(0, clampMaxValue(2, value ) ));
992 coerceValue(myUDIMTileMethod, clampMinValue(0, clampMaxValue(1, value ) ));
995 coerceValue(myUseDefaultTarget, ( ( value ) ));
998 coerceValue(myDefaultTarget, clampMinValue(0, ( value ) ));
1001 coerceValue(myUseDefaultUdimTarget, ( ( value ) ));
1004 coerceValue(myDefaultUdimTarget, clampMinValue(1001, ( value ) ));
1007 if (idx.
size() == 1)
1010 coerceValue(newsize, value);
1011 if (newsize < 0) newsize = 0;
1012 myRects.setSize(newsize);
1016 if (instance[0] < 0)
1018 myRects.setSizeIfNeeded(instance[0]+1);
1019 auto && _data = myRects(instance[0]);
1023 coerceValue(_data.rect_use, value);
1026 coerceValue(_data.rect_center, value);
1029 coerceValue(_data.rect_size, value);
1036 coerceValue(myTileSize, ( clampMaxValue(-5, value ) ));
1039 coerceValue(myNumColumns, clampMinValue(1, ( value ) ));
1042 coerceValue(myStartingUdim, ( ( value ) ));
1045 coerceValue(myUdimtilestart, clampMinValue(1001, ( value ) ));
1048 coerceValue(myMaxudimtilecount, ( ( value ) ));
1051 coerceValue(myTargetUVAttr, ( ( value ) ));
1054 coerceValue(myTargetProjPlane, clampMinValue(0, clampMaxValue(2, value ) ));
1057 coerceValue(myTargetGroup, ( ( value ) ));
1060 coerceValue(myTargetSeparatorEdges, ( ( value ) ));
1063 coerceValue(myUseTargetIslandAttr, ( ( value ) ));
1066 coerceValue(myTargetIslandAttr, ( ( value ) ));
1069 coerceValue(myStackIslands, ( ( value ) ));
1072 coerceValue(myStackMirrored, ( ( value ) ));
1075 coerceValue(myStackOnNonGroup, ( ( value ) ));
1078 coerceValue(myStackingLengthTolerance, clampMinValue(0, ( value ) ));
1081 coerceValue(myGenerateNonpackedPolys, ( ( value ) ));
1084 coerceValue(myNonpackedPolys, ( ( value ) ));
1087 coerceValue(myGenerateIslandAttr, ( ( value ) ));
1090 coerceValue(myOutputIslandAttr, ( ( value ) ));
1093 coerceValue(myGenerateTargetAttr, ( ( value ) ));
1096 coerceValue(myOutputTargetAttr, ( ( value ) ));
1099 coerceValue(myUdimtilecount, clampMinValue(1, ( value ) ));
1106 { doSetParmValue(idx, instance, value); }
1108 { doSetParmValue(idx, instance, value); }
1110 { doSetParmValue(idx, instance, value); }
1112 { doSetParmValue(idx, instance, value); }
1114 { doSetParmValue(idx, instance, value); }
1116 { doSetParmValue(idx, instance, value); }
1118 { doSetParmValue(idx, instance, value); }
1120 { doSetParmValue(idx, instance, value); }
1122 { doSetParmValue(idx, instance, value); }
1124 { doSetParmValue(idx, instance, value); }
1126 { doSetParmValue(idx, instance, value); }
1130 if (idx.
size() == 0)
1144 if (fieldnum.
size() < 1)
1146 switch (fieldnum[0])
1155 return "separatoredges";
1157 return "useislandattr";
1159 return "islandattr";
1161 return "usetargetattr";
1163 return "targetattr";
1165 return "targetoverrides";
1167 return "useislandscaleattr";
1169 return "islandscaleattr";
1171 return "scaleoverrides";
1173 return "useislandsetattr";
1175 return "islandoffsetattr";
1177 return "offsetoverrides";
1179 return "correctareas";
1181 return "axisalignislands";
1189 return "circledivs";
1191 return "packbetween";
1193 return "packincavities";
1197 return "paddingboundary";
1199 return "expandpadding";
1201 return "iterations";
1203 return "resolution";
1205 return "customresolution";
1207 return "uvtolerance";
1209 return "scaletolerance";
1213 return "targettype";
1215 return "udimtilemethod";
1217 return "usedefaulttarget";
1219 return "defaulttarget";
1221 return "usedefaultudimtarget";
1223 return "defaultudimtarget";
1225 if (fieldnum.
size() == 1)
1227 switch (fieldnum[1])
1232 return "rect_center#";
1234 return "rect_size#";
1241 return "numcolumns";
1243 return "startingudim";
1245 return "udimtilestart";
1247 return "udimextendfixedislands";
1249 return "targetuvattrib";
1251 return "targetprojplane";
1253 return "targetgroup";
1255 return "targetseparatoredges";
1257 return "usetargetislandattr";
1259 return "targetislandattr";
1261 return "stackislands";
1263 return "invertedoverlays";
1265 return "stackonnongroup";
1267 return "overlaytolerance";
1269 return "generatenonpackedpoly";
1271 return "nonpackedpolys";
1273 return "generateislandattr";
1275 return "outputislandattr";
1277 return "generatetargetattr";
1279 return "outputtargetattr";
1281 return "udimtilecount";
1289 if (fieldnum.
size() < 1)
1290 return PARM_UNSUPPORTED;
1291 switch (fieldnum[0])
1296 return PARM_INTEGER;
1302 return PARM_INTEGER;
1306 return PARM_INTEGER;
1312 return PARM_INTEGER;
1318 return PARM_INTEGER;
1324 return PARM_INTEGER;
1326 return PARM_INTEGER;
1328 return PARM_INTEGER;
1332 return PARM_INTEGER;
1334 return PARM_INTEGER;
1336 return PARM_INTEGER;
1338 return PARM_INTEGER;
1340 return PARM_INTEGER;
1342 return PARM_INTEGER;
1344 return PARM_INTEGER;
1346 return PARM_INTEGER;
1348 return PARM_INTEGER;
1350 return PARM_INTEGER;
1356 return PARM_INTEGER;
1358 return PARM_INTEGER;
1360 return PARM_INTEGER;
1362 return PARM_INTEGER;
1364 return PARM_INTEGER;
1366 return PARM_INTEGER;
1368 return PARM_INTEGER;
1370 if (fieldnum.
size() == 1)
1371 return PARM_MULTIPARM;
1372 switch (fieldnum[1])
1375 return PARM_INTEGER;
1377 return PARM_VECTOR2;
1379 return PARM_VECTOR2;
1382 return PARM_UNSUPPORTED;
1384 return PARM_VECTOR2;
1386 return PARM_INTEGER;
1388 return PARM_INTEGER;
1390 return PARM_INTEGER;
1392 return PARM_INTEGER;
1396 return PARM_INTEGER;
1402 return PARM_INTEGER;
1406 return PARM_INTEGER;
1408 return PARM_INTEGER;
1410 return PARM_INTEGER;
1414 return PARM_INTEGER;
1418 return PARM_INTEGER;
1422 return PARM_INTEGER;
1426 return PARM_INTEGER;
1429 return PARM_UNSUPPORTED;
1434 { is.
bread(&v, 1); }
1465 loadData(is, rampdata);
1483 int typelen = colon - data.
buffer();
1495 { UTwrite(os, &v); }
1497 {
int64 iv =
v; UTwrite(os, &iv); }
1499 { UTwrite<fpreal64>(os, &
v); }
1501 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1503 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1504 UTwrite<fpreal64>(os, &v.
z()); }
1506 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1507 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1519 if (s) s->save(ostr);
1520 result = ostr.
str();
1521 saveData(os, result);
1528 ostr << s->getDataTypeToken();
1530 s->saveBinary(ostr);
1532 result = ostr.
str();
1533 saveData(os, result);
1541 saveData(os, myUVAttr);
1542 saveData(os, myUVProjPlane);
1543 saveData(os, myGroup);
1544 saveData(os, mySeparatorEdges);
1545 saveData(os, myUseIslandAttr);
1546 saveData(os, myIslandAttr);
1547 saveData(os, myUseTargetAttr);
1548 saveData(os, myTargetAttr);
1549 saveData(os, myTargetOverrides);
1550 saveData(os, myUseIslandScaleAttr);
1551 saveData(os, myIslandScaleAttr);
1552 saveData(os, myScaleOverrides);
1553 saveData(os, myUseIslandOffsetAttr);
1554 saveData(os, myIslandOffsetAttr);
1555 saveData(os, myOffsetOverrides);
1556 saveData(os, myCorrectAreas);
1557 saveData(os, myAxisAlignment);
1558 saveData(os, myScaling);
1559 saveData(os, myScale);
1560 saveData(os, myRotationStep);
1561 saveData(os, myCircleDivs);
1562 saveData(os, myPackBetween);
1563 saveData(os, myPackInCavities);
1564 saveData(os, myPadding);
1565 saveData(os, myPadBoundaries);
1566 saveData(os, myExpandPadding);
1567 saveData(os, myIterations);
1568 saveData(os, myResolution);
1569 saveData(os, myCustomResolution);
1570 saveData(os, myConnectivityTolerance);
1571 saveData(os, myScaleTolerance);
1572 saveData(os, myRandSeed);
1573 saveData(os, myTargetType);
1574 saveData(os, myUDIMTileMethod);
1575 saveData(os, myUseDefaultTarget);
1576 saveData(os, myDefaultTarget);
1577 saveData(os, myUseDefaultUdimTarget);
1578 saveData(os, myDefaultUdimTarget);
1581 UTwrite(os, &length);
1584 auto && _curentry = myRects(i);
1586 saveData(os, _curentry.rect_use);
1587 saveData(os, _curentry.rect_center);
1588 saveData(os, _curentry.rect_size);
1592 saveData(os, myTileSize);
1593 saveData(os, myNumColumns);
1594 saveData(os, myStartingUdim);
1595 saveData(os, myUdimtilestart);
1596 saveData(os, myMaxudimtilecount);
1597 saveData(os, myTargetUVAttr);
1598 saveData(os, myTargetProjPlane);
1599 saveData(os, myTargetGroup);
1600 saveData(os, myTargetSeparatorEdges);
1601 saveData(os, myUseTargetIslandAttr);
1602 saveData(os, myTargetIslandAttr);
1603 saveData(os, myStackIslands);
1604 saveData(os, myStackMirrored);
1605 saveData(os, myStackOnNonGroup);
1606 saveData(os, myStackingLengthTolerance);
1607 saveData(os, myGenerateNonpackedPolys);
1608 saveData(os, myNonpackedPolys);
1609 saveData(os, myGenerateIslandAttr);
1610 saveData(os, myOutputIslandAttr);
1611 saveData(os, myGenerateTargetAttr);
1612 saveData(os, myOutputTargetAttr);
1613 saveData(os, myUdimtilecount);
1626 loadData(is, myUVAttr);
1627 loadData(is, myUVProjPlane);
1628 loadData(is, myGroup);
1629 loadData(is, mySeparatorEdges);
1630 loadData(is, myUseIslandAttr);
1631 loadData(is, myIslandAttr);
1632 loadData(is, myUseTargetAttr);
1633 loadData(is, myTargetAttr);
1634 loadData(is, myTargetOverrides);
1635 loadData(is, myUseIslandScaleAttr);
1636 loadData(is, myIslandScaleAttr);
1637 loadData(is, myScaleOverrides);
1638 loadData(is, myUseIslandOffsetAttr);
1639 loadData(is, myIslandOffsetAttr);
1640 loadData(is, myOffsetOverrides);
1641 loadData(is, myCorrectAreas);
1642 loadData(is, myAxisAlignment);
1643 loadData(is, myScaling);
1644 loadData(is, myScale);
1645 loadData(is, myRotationStep);
1646 loadData(is, myCircleDivs);
1647 loadData(is, myPackBetween);
1648 loadData(is, myPackInCavities);
1649 loadData(is, myPadding);
1650 loadData(is, myPadBoundaries);
1651 loadData(is, myExpandPadding);
1652 loadData(is, myIterations);
1653 loadData(is, myResolution);
1654 loadData(is, myCustomResolution);
1655 loadData(is, myConnectivityTolerance);
1656 loadData(is, myScaleTolerance);
1657 loadData(is, myRandSeed);
1658 loadData(is, myTargetType);
1659 loadData(is, myUDIMTileMethod);
1660 loadData(is, myUseDefaultTarget);
1661 loadData(is, myDefaultTarget);
1662 loadData(is, myUseDefaultUdimTarget);
1663 loadData(is, myDefaultUdimTarget);
1666 is.
read(&length, 1);
1667 myRects.setSize(length);
1670 auto && _curentry = myRects(i);
1672 loadData(is, _curentry.rect_use);
1673 loadData(is, _curentry.rect_center);
1674 loadData(is, _curentry.rect_size);
1678 loadData(is, myTileSize);
1679 loadData(is, myNumColumns);
1680 loadData(is, myStartingUdim);
1681 loadData(is, myUdimtilestart);
1682 loadData(is, myMaxudimtilecount);
1683 loadData(is, myTargetUVAttr);
1684 loadData(is, myTargetProjPlane);
1685 loadData(is, myTargetGroup);
1686 loadData(is, myTargetSeparatorEdges);
1687 loadData(is, myUseTargetIslandAttr);
1688 loadData(is, myTargetIslandAttr);
1689 loadData(is, myStackIslands);
1690 loadData(is, myStackMirrored);
1691 loadData(is, myStackOnNonGroup);
1692 loadData(is, myStackingLengthTolerance);
1693 loadData(is, myGenerateNonpackedPolys);
1694 loadData(is, myNonpackedPolys);
1695 loadData(is, myGenerateIslandAttr);
1696 loadData(is, myOutputIslandAttr);
1697 loadData(is, myGenerateTargetAttr);
1698 loadData(is, myOutputTargetAttr);
1699 loadData(is, myUdimtilecount);
1709 if (!thissop)
return getUVAttr();
1711 OP_Utils::evalOpParm(result, thissop,
"uvattrib", cookparms.
getCookTime(), 0);
1719 if (!thissop)
return getUVProjPlane();
1721 OP_Utils::evalOpParm(result, thissop,
"projplane", cookparms.
getCookTime(), 0);
1729 if (!thissop)
return getGroup();
1731 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
1739 if (!thissop)
return getSeparatorEdges();
1741 OP_Utils::evalOpParm(result, thissop,
"separatoredges", cookparms.
getCookTime(), 0);
1749 if (!thissop)
return getUseIslandAttr();
1751 OP_Utils::evalOpParm(result, thissop,
"useislandattr", cookparms.
getCookTime(), 0);
1759 if (!thissop)
return getIslandAttr();
1761 OP_Utils::evalOpParm(result, thissop,
"islandattr", cookparms.
getCookTime(), 0);
1769 if (!thissop)
return getUseTargetAttr();
1771 OP_Utils::evalOpParm(result, thissop,
"usetargetattr", cookparms.
getCookTime(), 0);
1779 if (!thissop)
return getTargetAttr();
1781 OP_Utils::evalOpParm(result, thissop,
"targetattr", cookparms.
getCookTime(), 0);
1789 if (!thissop)
return getTargetOverrides();
1791 OP_Utils::evalOpParm(result, thissop,
"targetoverrides", cookparms.
getCookTime(), 0);
1799 if (!thissop)
return getUseIslandScaleAttr();
1801 OP_Utils::evalOpParm(result, thissop,
"useislandscaleattr", cookparms.
getCookTime(), 0);
1809 if (!thissop)
return getIslandScaleAttr();
1811 OP_Utils::evalOpParm(result, thissop,
"islandscaleattr", cookparms.
getCookTime(), 0);
1819 if (!thissop)
return getScaleOverrides();
1821 OP_Utils::evalOpParm(result, thissop,
"scaleoverrides", cookparms.
getCookTime(), 0);
1829 if (!thissop)
return getUseIslandOffsetAttr();
1831 OP_Utils::evalOpParm(result, thissop,
"useislandsetattr", cookparms.
getCookTime(), 0);
1839 if (!thissop)
return getIslandOffsetAttr();
1841 OP_Utils::evalOpParm(result, thissop,
"islandoffsetattr", cookparms.
getCookTime(), 0);
1849 if (!thissop)
return getOffsetOverrides();
1851 OP_Utils::evalOpParm(result, thissop,
"offsetoverrides", cookparms.
getCookTime(), 0);
1859 if (!thissop)
return getCorrectAreas();
1861 OP_Utils::evalOpParm(result, thissop,
"correctareas", cookparms.
getCookTime(), 0);
1869 if (!thissop)
return getAxisAlignment();
1871 OP_Utils::evalOpParm(result, thissop,
"axisalignislands", cookparms.
getCookTime(), 0);
1879 if (!thissop)
return getScaling();
1881 OP_Utils::evalOpParm(result, thissop,
"scaling", cookparms.
getCookTime(), 0);
1891 OP_Utils::evalOpParm(result, thissop,
"scale", cookparms.
getCookTime(), 0);
1899 if (!thissop)
return getRotationStep();
1901 OP_Utils::evalOpParm(result, thissop,
"rotstep", cookparms.
getCookTime(), 0);
1909 if (!thissop)
return getCircleDivs();
1911 OP_Utils::evalOpParm(result, thissop,
"circledivs", cookparms.
getCookTime(), 0);
1919 if (!thissop)
return getPackBetween();
1921 OP_Utils::evalOpParm(result, thissop,
"packbetween", cookparms.
getCookTime(), 0);
1929 if (!thissop)
return getPackInCavities();
1931 OP_Utils::evalOpParm(result, thissop,
"packincavities", cookparms.
getCookTime(), 0);
1939 if (!thissop)
return getPadding();
1941 OP_Utils::evalOpParm(result, thissop,
"padding", cookparms.
getCookTime(), 0);
1949 if (!thissop)
return getPadBoundaries();
1951 OP_Utils::evalOpParm(result, thissop,
"paddingboundary", cookparms.
getCookTime(), 0);
1959 if (!thissop)
return getExpandPadding();
1961 OP_Utils::evalOpParm(result, thissop,
"expandpadding", cookparms.
getCookTime(), 0);
1969 if (!thissop)
return getIterations();
1971 OP_Utils::evalOpParm(result, thissop,
"iterations", cookparms.
getCookTime(), 0);
1979 if (!thissop)
return getResolution();
1981 OP_Utils::evalOpParm(result, thissop,
"resolution", cookparms.
getCookTime(), 0);
1989 if (!thissop)
return getCustomResolution();
1991 OP_Utils::evalOpParm(result, thissop,
"customresolution", cookparms.
getCookTime(), 0);
1999 if (!thissop)
return getConnectivityTolerance();
2001 OP_Utils::evalOpParm(result, thissop,
"uvtolerance", cookparms.
getCookTime(), 0);
2009 if (!thissop)
return getScaleTolerance();
2011 OP_Utils::evalOpParm(result, thissop,
"scaletolerance", cookparms.
getCookTime(), 0);
2019 if (!thissop)
return getRandSeed();
2021 OP_Utils::evalOpParm(result, thissop,
"randseed", cookparms.
getCookTime(), 0);
2029 if (!thissop)
return getTargetType();
2031 OP_Utils::evalOpParm(result, thissop,
"targettype", cookparms.
getCookTime(), 0);
2039 if (!thissop)
return getUDIMTileMethod();
2041 OP_Utils::evalOpParm(result, thissop,
"udimtilemethod", cookparms.
getCookTime(), 0);
2049 if (!thissop)
return getUseDefaultTarget();
2051 OP_Utils::evalOpParm(result, thissop,
"usedefaulttarget", cookparms.
getCookTime(), 0);
2059 if (!thissop)
return getDefaultTarget();
2061 OP_Utils::evalOpParm(result, thissop,
"defaulttarget", cookparms.
getCookTime(), 0);
2069 if (!thissop)
return getUseDefaultUdimTarget();
2071 OP_Utils::evalOpParm(result, thissop,
"usedefaultudimtarget", cookparms.
getCookTime(), 0);
2079 if (!thissop)
return getDefaultUdimTarget();
2081 OP_Utils::evalOpParm(result, thissop,
"defaultudimtarget", cookparms.
getCookTime(), 0);
2089 if (!thissop)
return getRects().entries();
2091 OP_Utils::evalOpParm(result, thissop,
"rects", cookparms.
getCookTime(), 0);
2095 {
return opinstRects_rect_use(cookparms, &_idx); }
2099 if (!thissop)
return (myRects(_idx[0]).rect_use);
2101 _parmidx[1-1] = _idx[1-1] + 0;
2104 OP_Utils::evalOpParmInst(result, thissop,
"rect_use#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2108 {
return opinstRects_rect_center(cookparms, &_idx); }
2112 if (!thissop)
return (myRects(_idx[0]).rect_center);
2114 _parmidx[1-1] = _idx[1-1] + 0;
2117 OP_Utils::evalOpParmInst(result, thissop,
"rect_center#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2121 {
return opinstRects_rect_size(cookparms, &_idx); }
2125 if (!thissop)
return (myRects(_idx[0]).rect_size);
2127 _parmidx[1-1] = _idx[1-1] + 0;
2130 OP_Utils::evalOpParmInst(result, thissop,
"rect_size#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2139 if (!thissop)
return getTileSize();
2141 OP_Utils::evalOpParm(result, thissop,
"tilesize", cookparms.
getCookTime(), 0);
2149 if (!thissop)
return getNumColumns();
2151 OP_Utils::evalOpParm(result, thissop,
"numcolumns", cookparms.
getCookTime(), 0);
2159 if (!thissop)
return getStartingUdim();
2161 OP_Utils::evalOpParm(result, thissop,
"startingudim", cookparms.
getCookTime(), 0);
2169 if (!thissop)
return getUdimtilestart();
2171 OP_Utils::evalOpParm(result, thissop,
"udimtilestart", cookparms.
getCookTime(), 0);
2179 if (!thissop)
return getMaxudimtilecount();
2181 OP_Utils::evalOpParm(result, thissop,
"udimextendfixedislands", cookparms.
getCookTime(), 0);
2189 if (!thissop)
return getTargetUVAttr();
2191 OP_Utils::evalOpParm(result, thissop,
"targetuvattrib", cookparms.
getCookTime(), 0);
2199 if (!thissop)
return getTargetProjPlane();
2201 OP_Utils::evalOpParm(result, thissop,
"targetprojplane", cookparms.
getCookTime(), 0);
2209 if (!thissop)
return getTargetGroup();
2211 OP_Utils::evalOpParm(result, thissop,
"targetgroup", cookparms.
getCookTime(), 0);
2219 if (!thissop)
return getTargetSeparatorEdges();
2221 OP_Utils::evalOpParm(result, thissop,
"targetseparatoredges", cookparms.
getCookTime(), 0);
2229 if (!thissop)
return getUseTargetIslandAttr();
2231 OP_Utils::evalOpParm(result, thissop,
"usetargetislandattr", cookparms.
getCookTime(), 0);
2239 if (!thissop)
return getTargetIslandAttr();
2241 OP_Utils::evalOpParm(result, thissop,
"targetislandattr", cookparms.
getCookTime(), 0);
2249 if (!thissop)
return getStackIslands();
2251 OP_Utils::evalOpParm(result, thissop,
"stackislands", cookparms.
getCookTime(), 0);
2259 if (!thissop)
return getStackMirrored();
2261 OP_Utils::evalOpParm(result, thissop,
"invertedoverlays", cookparms.
getCookTime(), 0);
2269 if (!thissop)
return getStackOnNonGroup();
2271 OP_Utils::evalOpParm(result, thissop,
"stackonnongroup", cookparms.
getCookTime(), 0);
2279 if (!thissop)
return getStackingLengthTolerance();
2281 OP_Utils::evalOpParm(result, thissop,
"overlaytolerance", cookparms.
getCookTime(), 0);
2289 if (!thissop)
return getGenerateNonpackedPolys();
2291 OP_Utils::evalOpParm(result, thissop,
"generatenonpackedpoly", cookparms.
getCookTime(), 0);
2299 if (!thissop)
return getNonpackedPolys();
2301 OP_Utils::evalOpParm(result, thissop,
"nonpackedpolys", cookparms.
getCookTime(), 0);
2309 if (!thissop)
return getGenerateIslandAttr();
2311 OP_Utils::evalOpParm(result, thissop,
"generateislandattr", cookparms.
getCookTime(), 0);
2319 if (!thissop)
return getOutputIslandAttr();
2321 OP_Utils::evalOpParm(result, thissop,
"outputislandattr", cookparms.
getCookTime(), 0);
2329 if (!thissop)
return getGenerateTargetAttr();
2331 OP_Utils::evalOpParm(result, thissop,
"generatetargetattr", cookparms.
getCookTime(), 0);
2339 if (!thissop)
return getOutputTargetAttr();
2341 OP_Utils::evalOpParm(result, thissop,
"outputtargetattr", cookparms.
getCookTime(), 0);
2349 if (!thissop)
return getUdimtilecount();
2351 OP_Utils::evalOpParm(result, thissop,
"udimtilecount", cookparms.
getCookTime(), 0);
2357 int64 myUVProjPlane;
2360 bool myUseIslandAttr;
2362 bool myUseTargetAttr;
2365 bool myUseIslandScaleAttr;
2368 bool myUseIslandOffsetAttr;
2371 bool myCorrectAreas;
2372 int64 myAxisAlignment;
2375 int64 myRotationStep;
2378 bool myPackInCavities;
2380 bool myPadBoundaries;
2381 bool myExpandPadding;
2384 int64 myCustomResolution;
2389 int64 myUDIMTileMethod;
2390 bool myUseDefaultTarget;
2391 int64 myDefaultTarget;
2392 bool myUseDefaultUdimTarget;
2393 int64 myDefaultUdimTarget;
2397 int64 myStartingUdim;
2398 int64 myUdimtilestart;
2399 bool myMaxudimtilecount;
2401 int64 myTargetProjPlane;
2404 bool myUseTargetIslandAttr;
2406 bool myStackIslands;
2407 bool myStackMirrored;
2408 bool myStackOnNonGroup;
2409 fpreal64 myStackingLengthTolerance;
2410 bool myGenerateNonpackedPolys;
2412 bool myGenerateIslandAttr;
2414 bool myGenerateTargetAttr;
2416 int64 myUdimtilecount;
virtual NodeIdx getInput(NodeIdx idx, OP_InputIdx input, bool markused=false) const =0
void setIslandScaleAttr(const UT_StringHolder &val)
bool opRects_rect_use(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setStackOnNonGroup(bool val)
TargetType getTargetType() const
bool getCorrectAreas() const
void loadFromOpSubclass(const LoadParms &loadparms) override
UT_Vector2D opRects_rect_size(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setUVProjPlane(UVProjPlane val)
void setPackBetween(bool val)
fpreal64 getScale() const
GLenum GLuint GLenum GLsizei const GLchar * buf
void setStackingLengthTolerance(fpreal64 val)
bool opGenerateTargetAttr(const SOP_NodeVerb::CookParms &cookparms) const
void setTargetAttr(const UT_StringHolder &val)
const UT_StringHolder & getTargetUVAttr() const
int64 getUdimtilecount() const
void setGenerateTargetAttr(bool val)
SOP_Node * getNode() const
const UT_StringHolder & getTargetIslandAttr() const
void setTargetType(TargetType val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
void setMaxudimtilecount(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
UT_StringHolder opScaleOverrides(const SOP_NodeVerb::CookParms &cookparms) const
void setStartingUdim(int64 val)
UT_Vector2D opinstRects_rect_size(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
bool getPackInCavities() const
const UT_StringHolder & getUVAttr() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
UT_Vector2T< fpreal64 > UT_Vector2D
static void saveData(std::ostream &os, fpreal64 v)
const UT_StringHolder & getIslandScaleAttr() const
GLsizei const GLfloat * value
bool operator!=(const Rects &src) const
void setTargetOverrides(const UT_StringHolder &val)
bool opStackOnNonGroup(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opTargetSeparatorEdges(const SOP_NodeVerb::CookParms &cookparms) const
bool operator!=(const SOP_UVLayout_3_0Parms &src) const
void setScale(fpreal64 val)
void setOutputIslandAttr(const UT_StringHolder &val)
bool opUseIslandOffsetAttr(const SOP_NodeVerb::CookParms &cookparms) const
bool getMaxudimtilecount() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
const OP_Context & context() const
void setScaling(Scaling val)
bool opPadBoundaries(const SOP_NodeVerb::CookParms &cookparms) const
int64 opUdimtilestart(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & z() noexcept
void setRotationStep(RotationStep val)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
fpreal64 opConnectivityTolerance(const SOP_NodeVerb::CookParms &cookparms) const
const UT_Array< Rects > & getRects() const
bool opCorrectAreas(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_StringHolder s)
void setDefaultTarget(int64 val)
SYS_FORCE_INLINE const char * buffer() const
fpreal64 getStackingLengthTolerance() const
GLuint GLsizei GLsizei * length
bool getUseTargetIslandAttr() const
void setIterations(int64 val)
void setPackInCavities(bool val)
RotationStep getRotationStep() const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
An output stream object that owns its own string buffer storage.
static void loadData(UT_IStream &is, int64 &v)
UT_Vector2D opinstRects_rect_center(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void setNumColumns(int64 val)
UT_Vector2D getTileSize() const
const char * getNestParmName(TempIndex fieldnum) const override
void setUdimtilestart(int64 val)
**But if you need a result
int64 getIterations() const
static void loadData(UT_IStream &is, UT_Vector2I &v)
UVProjPlane opUVProjPlane(const SOP_NodeVerb::CookParms &cookparms) const
int64 opDefaultUdimTarget(const SOP_NodeVerb::CookParms &cookparms) const
void setCustomResolution(int64 val)
UT_StringHolder opTargetIslandAttr(const SOP_NodeVerb::CookParms &cookparms) const
bool opStackMirrored(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
const UT_StringHolder & getTargetSeparatorEdges() const
bool getUseIslandScaleAttr() const
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
bool opUseDefaultUdimTarget(const SOP_NodeVerb::CookParms &cookparms) const
int64 opIterations(const SOP_NodeVerb::CookParms &cookparms) const
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
const UT_StringHolder & getSeparatorEdges() const
bool opinstRects_rect_use(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool getUseDefaultTarget() const
void setGenerateNonpackedPolys(bool val)
void setPadding(int64 val)
bool opStackIslands(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & x() noexcept
void setDefaultUdimTarget(int64 val)
static void loadData(UT_IStream &is, UT_Vector3I &v)
RotationStep opRotationStep(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
GLuint GLsizei const GLuint const GLintptr * offsets
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
UDIMTileMethod getUDIMTileMethod() const
SYS_FORCE_INLINE UT_StringHolder getToken(UVProjPlane enum_value)
bool getGenerateNonpackedPolys() const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
constexpr SYS_FORCE_INLINE T & x() noexcept
bool getStackIslands() const
bool getUseTargetAttr() const
bool opUseTargetAttr(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
void setGenerateIslandAttr(bool val)
static void loadData(UT_IStream &is, fpreal64 &v)
int64 opNumColumns(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getTargetGroup() const
void setCircleDivs(int64 val)
int64 opPadding(const SOP_NodeVerb::CookParms &cookparms) const
void setConnectivityTolerance(fpreal64 val)
UT_StringHolder opSeparatorEdges(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
void setResolution(Resolution val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
int64 getUdimtilestart() const
void setExpandPadding(bool val)
static void loadData(UT_IStream &is, UT_Vector4D &v)
void setScaleTolerance(fpreal64 val)
bool opExpandPadding(const SOP_NodeVerb::CookParms &cookparms) const
AxisAlignment opAxisAlignment(const SOP_NodeVerb::CookParms &cookparms) const
void setRandSeed(int64 val)
SYS_FORCE_INLINE const char * buffer() const
UT_StringHolder opTargetUVAttr(const SOP_NodeVerb::CookParms &cookparms) const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
bool opPackInCavities(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & z() noexcept
static void loadData(UT_IStream &is, bool &v)
static void saveData(std::ostream &os, bool v)
fpreal64 opScale(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D opTileSize(const SOP_NodeVerb::CookParms &cookparms) const
bool load(UT_IStream &is)
static void saveData(std::ostream &os, UT_Vector2D v)
UT_Vector2D opRects_rect_center(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setUseIslandScaleAttr(bool val)
exint read(bool *array, exint sz=1)
const OP_GraphProxy * graph() const
UT_StringHolder opIslandScaleAttr(const SOP_NodeVerb::CookParms &cookparms) const
exint getNestNumParms(TempIndex idx) const override
void setStackIslands(bool val)
UT_StringHolder opNonpackedPolys(const SOP_NodeVerb::CookParms &cookparms) const
void setUseIslandOffsetAttr(bool val)
bool opGenerateNonpackedPolys(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
void setIslandAttr(const UT_StringHolder &val)
virtual void evalOpParmInst(int64 &v, NodeIdx node, const char *parmname, const int *inst, const int *offsets, fpreal time, DEP_MicroNode *depnode, int nestlevel=1) const =0
int64 getNumColumns() const
UT_StringHolder opIslandOffsetAttr(const SOP_NodeVerb::CookParms &cookparms) const
bool opMaxudimtilecount(const SOP_NodeVerb::CookParms &cookparms) const
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
const UT_StringHolder & getOutputTargetAttr() const
int64 getCustomResolution() const
int64 getDefaultUdimTarget() const
void setGroup(const UT_StringHolder &val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
bool getUseIslandOffsetAttr() const
TargetType opTargetType(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
UT_StringHolder opIslandAttr(const SOP_NodeVerb::CookParms &cookparms) const
UVProjPlane getUVProjPlane() const
Resolution getResolution() const
bool opUseTargetIslandAttr(const SOP_NodeVerb::CookParms &cookparms) const
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
const UT_StringHolder & getOffsetOverrides() const
UT_StringHolder opOutputIslandAttr(const SOP_NodeVerb::CookParms &cookparms) const
TargetProjPlane getTargetProjPlane() const
UDIMTileMethod opUDIMTileMethod(const SOP_NodeVerb::CookParms &cookparms) const
bool getGenerateIslandAttr() const
static void saveData(std::ostream &os, UT_Vector3D v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
static void saveData(std::ostream &os, UT_Vector4D v)
SYS_FORCE_INLINE void strcat(const char *src)
void saveBinary(std::ostream &os) const
Save string to binary stream.
bool getUseDefaultUdimTarget() const
const UT_StringHolder & getGroup() const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
void setTargetUVAttr(const UT_StringHolder &val)
bool operator==(const Rects &src) const
int64 getStartingUdim() const
void save(std::ostream &os) const
GT_API const UT_StringHolder version
void setTileSize(UT_Vector2D val)
bool opPackBetween(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseDefaultTarget(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opTargetGroup(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix3D v)
int64 opRandSeed(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
exint entries() const
Alias of size(). size() is preferred.
static void loadData(UT_IStream &is, UT_Matrix4D &v)
bool opUseIslandScaleAttr(const SOP_NodeVerb::CookParms &cookparms) const
bool getUseIslandAttr() const
Scaling getScaling() const
void setUseDefaultTarget(bool val)
int64 getDefaultTarget() const
fpreal64 opScaleTolerance(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
static void loadData(UT_IStream &is, UT_Vector2D &v)
void setOutputTargetAttr(const UT_StringHolder &val)
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
bool getPackBetween() const
exint opRects(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opTargetOverrides(const SOP_NodeVerb::CookParms &cookparms) const
void setStackMirrored(bool val)
const UT_StringHolder & getIslandOffsetAttr() const
const UT_StringHolder & getOutputIslandAttr() const
const UT_StringHolder & getNonpackedPolys() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
int64 opUdimtilecount(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opOffsetOverrides(const SOP_NodeVerb::CookParms &cookparms) const
void copyFrom(const OP_NodeParms *src) override
void setUseTargetAttr(bool val)
static void saveData(std::ostream &os, UT_Matrix2D v)
void setUDIMTileMethod(UDIMTileMethod val)
UT_StringHolder opOutputTargetAttr(const SOP_NodeVerb::CookParms &cookparms) const
int64 getCircleDivs() const
DEP_MicroNode * depnode() const
void setRects(const UT_Array< Rects > &val)
LeafData & operator=(const LeafData &)=delete
Utility class for containing a color ramp.
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
void setNonpackedPolys(const UT_StringHolder &val)
int64 opStartingUdim(const SOP_NodeVerb::CookParms &cookparms) const
bool getGenerateTargetAttr() const
bool isParmColorRamp(exint idx) const override
static void loadData(UT_IStream &is, UT_Vector3D &v)
constexpr SYS_FORCE_INLINE T & w() noexcept
SYS_FORCE_INLINE void append(char character)
virtual UT_StringHolder baseGetSignature() const
Vec3< typename MatType::value_type > getScale(const MatType &mat)
Return a Vec3 representing the lengths of the passed matrix's upper 3×3's rows.
void setScaleOverrides(const UT_StringHolder &val)
fpreal64 getConnectivityTolerance() const
static void loadData(UT_IStream &is, UT_StringHolder &v)
const UT_StringHolder & getTargetOverrides() const
void setTargetSeparatorEdges(const UT_StringHolder &val)
fpreal getCookTime() const
fpreal64 opStackingLengthTolerance(const SOP_NodeVerb::CookParms &cookparms) const
ParmType getNestParmType(TempIndex fieldnum) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
void setSeparatorEdges(const UT_StringHolder &val)
const UT_StringHolder & getIslandAttr() const
void setCorrectAreas(bool val)
AxisAlignment getAxisAlignment() const
void setPadBoundaries(bool val)
static void saveData(std::ostream &os, UT_Matrix4D v)
UT_StringHolder opUVAttr(const SOP_NodeVerb::CookParms &cookparms) const
const char * findChar(int c) const
void setTargetProjPlane(TargetProjPlane val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
bool getStackOnNonGroup() const
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
Resolution opResolution(const SOP_NodeVerb::CookParms &cookparms) const
void setIslandOffsetAttr(const UT_StringHolder &val)
bool opUseIslandAttr(const SOP_NodeVerb::CookParms &cookparms) const
bool opGenerateIslandAttr(const SOP_NodeVerb::CookParms &cookparms) const
void setOffsetOverrides(const UT_StringHolder &val)
void setUVAttr(const UT_StringHolder &val)
static void saveData(std::ostream &os, int64 v)
bool getPadBoundaries() const
Scaling opScaling(const SOP_NodeVerb::CookParms &cookparms) const
int64 opDefaultTarget(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & y() noexcept
static void loadData(UT_IStream &is, UT_Vector4I &v)
void setUdimtilecount(int64 val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
UT_StringHolder opTargetAttr(const SOP_NodeVerb::CookParms &cookparms) const
TargetProjPlane opTargetProjPlane(const SOP_NodeVerb::CookParms &cookparms) const
bool getExpandPadding() const
virtual bool isDirect() const =0
Direct proxies mirror actual nodes:
void setTargetIslandAttr(const UT_StringHolder &val)
const UT_StringHolder & getTargetAttr() const
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
constexpr SYS_FORCE_INLINE T & y() noexcept
int64 getRandSeed() const
void setAxisAlignment(AxisAlignment val)
int64 opCustomResolution(const SOP_NodeVerb::CookParms &cookparms) const
void setUseTargetIslandAttr(bool val)
fpreal64 getScaleTolerance() const
SYS_FORCE_INLINE bool isstring() const
int64 opCircleDivs(const SOP_NodeVerb::CookParms &cookparms) const
void setUseIslandAttr(bool val)
bool getStackMirrored() const
const UT_StringHolder & getScaleOverrides() const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
UT_StringHolder createString(const UT_Array< Rects > &list) const
bool operator==(const SOP_UVLayout_3_0Parms &src) const
void setUseDefaultUdimTarget(bool val)
constexpr SYS_FORCE_INLINE T & x() noexcept
void setTargetGroup(const UT_StringHolder &val)