23 namespace SOP_OpenCLEnums
36 using namespace UT::Literal;
55 using namespace UT::Literal;
74 using namespace UT::Literal;
99 using namespace UT::Literal;
100 switch (enum_value) {
125 using namespace UT::Literal;
126 switch (enum_value) {
147 using namespace UT::Literal;
148 switch (enum_value) {
168 using namespace UT::Literal;
169 switch (enum_value) {
189 using namespace UT::Literal;
190 switch (enum_value) {
210 using namespace UT::Literal;
211 switch (enum_value) {
264 bindings_name =
""_UTsh;
267 bindings_rampsize = 1024;
269 bindings_volume =
""_UTsh;
270 bindings_vdbtype = 0;
271 bindings_forcealign =
true;
272 bindings_resolution =
false;
273 bindings_voxelsize =
false;
274 bindings_xformtoworld =
false;
275 bindings_xformtovoxel =
false;
276 bindings_attribute =
""_UTsh;
277 bindings_attribclass = 2;
278 bindings_attribtype = 0;
279 bindings_attribsize = 1;
280 bindings_precision = 2;
281 bindings_readable =
true;
282 bindings_writeable =
false;
283 bindings_optional =
false;
284 bindings_defval =
false;
290 bindings_attribbvh =
false;
291 bindings_attribosd =
false;
292 bindings_attribpointbvh =
false;
293 bindings_attribpointbvhmask =
""_UTsh;
294 bindings_timescale = 0;
346 for (
int i = 0; i < list.
entries(); i++)
356 if (list(i).bindings_ramp)
360 list(i).bindings_ramp->save(os);
374 buf.
appendSprintf(
"%s", (list(i).bindings_forcealign) ?
"true" :
"false");
376 buf.
appendSprintf(
"%s", (list(i).bindings_resolution) ?
"true" :
"false");
378 buf.
appendSprintf(
"%s", (list(i).bindings_voxelsize) ?
"true" :
"false");
380 buf.
appendSprintf(
"%s", (list(i).bindings_xformtoworld) ?
"true" :
"false");
382 buf.
appendSprintf(
"%s", (list(i).bindings_xformtovoxel) ?
"true" :
"false");
394 buf.
appendSprintf(
"%s", (list(i).bindings_readable) ?
"true" :
"false");
396 buf.
appendSprintf(
"%s", (list(i).bindings_writeable) ?
"true" :
"false");
398 buf.
appendSprintf(
"%s", (list(i).bindings_optional) ?
"true" :
"false");
400 buf.
appendSprintf(
"%s", (list(i).bindings_defval) ?
"true" :
"false");
406 buf.
appendSprintf(
"(%f, %f)", list(i).bindings_v2val.x(), list(i).bindings_v2val.y());
408 buf.
appendSprintf(
"(%f, %f, %f)", list(i).bindings_v3val.x(), list(i).bindings_v3val.y(), list(i).bindings_v3val.z());
410 buf.
appendSprintf(
"(%f, %f, %f, %f)", list(i).bindings_v4val.x(), list(i).bindings_v4val.y(), list(i).bindings_v4val.z(), list(i).bindings_v4val.w());
412 buf.
appendSprintf(
"%s", (list(i).bindings_attribbvh) ?
"true" :
"false");
414 buf.
appendSprintf(
"%s", (list(i).bindings_attribosd) ?
"true" :
"false");
416 buf.
appendSprintf(
"%s", (list(i).bindings_attribpointbvh) ?
"true" :
"false");
432 myKernelName =
"kernelName"_UTsh;
434 myKernelFile =
""_UTsh;
435 myKernelCode =
""_UTsh;
437 myKernelOptions =
""_UTsh;
438 myKernelOptionAttrib =
""_UTsh;
439 myUseWriteBackKernel =
false;
440 myWriteBackKernelName =
"writeBack"_UTsh;
445 myWorksets_begin =
""_UTsh;
446 myWorksets_length =
""_UTsh;
447 mySingleworkgroup =
false;
455 myImportPrequel =
true;
456 myBindings.setSize(1);
457 myGeneratedCode =
""_UTsh;
470 if (myKernelName != src.myKernelName)
return false;
471 if (myUseCode != src.myUseCode)
return false;
472 if (myKernelFile != src.myKernelFile)
return false;
473 if (myKernelCode != src.myKernelCode)
return false;
474 if (myAtBinding != src.myAtBinding)
return false;
475 if (myKernelOptions != src.myKernelOptions)
return false;
476 if (myKernelOptionAttrib != src.myKernelOptionAttrib)
return false;
477 if (myUseWriteBackKernel != src.myUseWriteBackKernel)
return false;
478 if (myWriteBackKernelName != src.myWriteBackKernelName)
return false;
479 if (myRecompile != src.myRecompile)
return false;
480 if (myRunOver != src.myRunOver)
return false;
481 if (myIterations != src.myIterations)
return false;
482 if (myIteration != src.myIteration)
return false;
483 if (myWorksets_begin != src.myWorksets_begin)
return false;
484 if (myWorksets_length != src.myWorksets_length)
return false;
485 if (mySingleworkgroup != src.mySingleworkgroup)
return false;
486 if (myFinish != src.myFinish)
return false;
487 if (myTime != src.myTime)
return false;
488 if (myTimeInc != src.myTimeInc)
return false;
489 if (myTimescale != src.myTimescale)
return false;
490 if (myTimemethod != src.myTimemethod)
return false;
491 if (myXnoise != src.myXnoise)
return false;
492 if (myPrecision != src.myPrecision)
return false;
493 if (myImportPrequel != src.myImportPrequel)
return false;
494 if (myBindings != src.myBindings)
return false;
495 if (myGeneratedCode != src.myGeneratedCode)
return false;
520 myKernelName =
"kernelName"_UTsh;
522 graph->
evalOpParm(myKernelName, nodeidx,
"kernelname", time, graph->
isDirect()?
nullptr:depnode);
525 graph->
evalOpParm(myUseCode, nodeidx,
"usecode", time, graph->
isDirect()?
nullptr:depnode);
526 myKernelFile =
""_UTsh;
527 if (
true && ( (
true&&!(((getUseCode()!=0)))) ) )
528 graph->
evalOpParm(myKernelFile, nodeidx,
"kernelfile", time, graph->
isDirect()?
nullptr:depnode);
529 myKernelCode =
""_UTsh;
530 if (
true && ( (
true&&!(((getUseCode()==0)))) ) )
531 graph->
evalOpParm(myKernelCode, nodeidx,
"kernelcode", time, graph->
isDirect()?
nullptr:depnode);
533 if (
true && ( (
true&&!(((getUseCode()==0)))) ) )
534 graph->
evalOpParm(myAtBinding, nodeidx,
"atbinding", time, graph->
isDirect()?
nullptr:depnode);
535 myKernelOptions =
""_UTsh;
537 graph->
evalOpParm(myKernelOptions, nodeidx,
"kerneloptions", time, graph->
isDirect()?
nullptr:depnode);
538 myKernelOptionAttrib =
""_UTsh;
540 graph->
evalOpParm(myKernelOptionAttrib, nodeidx,
"kerneloptionattrib", time, graph->
isDirect()?
nullptr:depnode);
541 myUseWriteBackKernel =
false;
543 graph->
evalOpParm(myUseWriteBackKernel, nodeidx,
"usewritebackkernel", time, graph->
isDirect()?
nullptr:depnode);
544 myWriteBackKernelName =
"writeBack"_UTsh;
545 if (
true && ( (
true&&!(((getUseWriteBackKernel()==0)))) ) )
546 graph->
evalOpParm(myWriteBackKernelName, nodeidx,
"writebackkernelname", time, graph->
isDirect()?
nullptr:depnode);
549 graph->
evalOpParm(myRecompile, nodeidx,
"recompile", time, graph->
isDirect()?
nullptr:depnode);
552 graph->
evalOpParm(myRunOver, nodeidx,
"runover", time, graph->
isDirect()?
nullptr:depnode);
555 graph->
evalOpParm(myIterations, nodeidx,
"iterations", time, graph->
isDirect()?
nullptr:depnode);
558 graph->
evalOpParm(myIteration, nodeidx,
"iteration", time, graph->
isDirect()?
nullptr:depnode);
559 myWorksets_begin =
""_UTsh;
560 if (
true && ( (
true&&!(((
int64(getRunOver())!=2)))) ) )
561 graph->
evalOpParm(myWorksets_begin, nodeidx,
"worksets_begin", time, graph->
isDirect()?
nullptr:depnode);
562 myWorksets_length =
""_UTsh;
563 if (
true && ( (
true&&!(((
int64(getRunOver())!=2)))) ) )
564 graph->
evalOpParm(myWorksets_length, nodeidx,
"worksets_length", time, graph->
isDirect()?
nullptr:depnode);
565 mySingleworkgroup =
false;
566 if (
true && ( (
true&&!(((
int64(getRunOver())!=2)))) ) )
567 graph->
evalOpParm(mySingleworkgroup, nodeidx,
"singleworkgroup", time, graph->
isDirect()?
nullptr:depnode);
570 graph->
evalOpParm(myFinish, nodeidx,
"finish", time, graph->
isDirect()?
nullptr:depnode);
576 graph->
evalOpParm(myTimeInc, nodeidx,
"timeinc", time, graph->
isDirect()?
nullptr:depnode);
578 if (
true && ( (
true&&!(((getTimeInc()==0)))) ) )
579 graph->
evalOpParm(myTimescale, nodeidx,
"timescale", time, graph->
isDirect()?
nullptr:depnode);
581 if (
true && ( (
true&&!(((getTimeInc()==0)))) ) )
582 graph->
evalOpParm(myTimemethod, nodeidx,
"timemethod", time, graph->
isDirect()?
nullptr:depnode);
585 graph->
evalOpParm(myXnoise, nodeidx,
"xnoise", time, graph->
isDirect()?
nullptr:depnode);
588 graph->
evalOpParm(myPrecision, nodeidx,
"precision", time, graph->
isDirect()?
nullptr:depnode);
589 myImportPrequel =
true;
591 graph->
evalOpParm(myImportPrequel, nodeidx,
"importprequel", time, graph->
isDirect()?
nullptr:depnode);
595 graph->
evalOpParm(length, nodeidx,
"bindings", time, graph->
isDirect()?
nullptr:depnode);
596 if (length < 0) length = 0;
597 myBindings.setSize(length);
604 auto && _curentry = myBindings(i);
606 _curentry.bindings_name =
""_UTsh;
608 graph->
evalOpParmInst(_curentry.bindings_name, nodeidx,
"bindings#_name", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
609 _curentry.bindings_type = 0;
611 graph->
evalOpParmInst(_curentry.bindings_type, nodeidx,
"bindings#_type", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
613 if (
true && ( (
true&&!(((_curentry.bindings_type!=4)))) ) )
614 graph->
evalOpParmInst(_curentry.bindings_ramp, nodeidx,
"bindings#_ramp", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
615 _curentry.bindings_rampsize = 1024;
616 if (
true && ( (
true&&!(((_curentry.bindings_type!=4)))) ) )
617 graph->
evalOpParmInst(_curentry.bindings_rampsize, nodeidx,
"bindings#_rampsize", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
618 _curentry.bindings_input = 0;
619 if (
true && ( (
true&&!(((_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7)&&(_curentry.bindings_type!=5)))) ) )
620 graph->
evalOpParmInst(_curentry.bindings_input, nodeidx,
"bindings#_input", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
621 _curentry.bindings_volume =
""_UTsh;
622 if (
true && ( (
true&&!(((_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7)))) ) )
623 graph->
evalOpParmInst(_curentry.bindings_volume, nodeidx,
"bindings#_volume", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
624 _curentry.bindings_vdbtype = 0;
625 if (
true && ( (
true&&!(((_curentry.bindings_type!=7)))) ) )
626 graph->
evalOpParmInst(_curentry.bindings_vdbtype, nodeidx,
"bindings#_vdbtype", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
627 _curentry.bindings_forcealign =
true;
628 if (
true && ( (
true&&!(((_curentry.bindings_type!=6)))) ) )
629 graph->
evalOpParmInst(_curentry.bindings_forcealign, nodeidx,
"bindings#_forcealign", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
630 _curentry.bindings_resolution =
false;
631 if (
true && ( (
true&&!(((_curentry.bindings_type!=6))||((_curentry.bindings_forcealign==1)))) ) )
632 graph->
evalOpParmInst(_curentry.bindings_resolution, nodeidx,
"bindings#_resolution", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
633 _curentry.bindings_voxelsize =
false;
634 if (
true && ( (
true&&!(((_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7))||((_curentry.bindings_forcealign==1)&&(_curentry.bindings_type==6)))) ) )
635 graph->
evalOpParmInst(_curentry.bindings_voxelsize, nodeidx,
"bindings#_voxelsize", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
636 _curentry.bindings_xformtoworld =
false;
637 if (
true && ( (
true&&!(((_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7))||((_curentry.bindings_forcealign==1)&&(_curentry.bindings_type==6)))) ) )
638 graph->
evalOpParmInst(_curentry.bindings_xformtoworld, nodeidx,
"bindings#_xformtoworld", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
639 _curentry.bindings_xformtovoxel =
false;
640 if (
true && ( (
true&&!(((_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7))||((_curentry.bindings_forcealign==1)&&(_curentry.bindings_type==6)))) ) )
641 graph->
evalOpParmInst(_curentry.bindings_xformtovoxel, nodeidx,
"bindings#_xformtovoxel", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
642 _curentry.bindings_attribute =
""_UTsh;
643 if (
true && ( (
true&&!(((_curentry.bindings_type!=5)))) ) )
644 graph->
evalOpParmInst(_curentry.bindings_attribute, nodeidx,
"bindings#_attribute", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
645 _curentry.bindings_attribclass = 2;
646 if (
true && ( (
true&&!(((_curentry.bindings_type!=5)))) ) )
647 graph->
evalOpParmInst(_curentry.bindings_attribclass, nodeidx,
"bindings#_attribclass", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
648 _curentry.bindings_attribtype = 0;
649 if (
true && ( (
true&&!(((_curentry.bindings_type!=5)))) ) )
650 graph->
evalOpParmInst(_curentry.bindings_attribtype, nodeidx,
"bindings#_attribtype", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
651 _curentry.bindings_attribsize = 1;
652 if (
true && ( (
true&&!(((_curentry.bindings_type!=5)))) ) )
653 graph->
evalOpParmInst(_curentry.bindings_attribsize, nodeidx,
"bindings#_attribsize", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
654 _curentry.bindings_precision = 2;
656 graph->
evalOpParmInst(_curentry.bindings_precision, nodeidx,
"bindings#_precision", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
657 _curentry.bindings_readable =
true;
658 if (
true && ( (
true&&!(((_curentry.bindings_type!=5)&&(_curentry.bindings_type!=6)))) ) )
659 graph->
evalOpParmInst(_curentry.bindings_readable, nodeidx,
"bindings#_readable", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
660 _curentry.bindings_writeable =
false;
661 if (
true && ( (
true&&!(((_curentry.bindings_type!=5)&&(_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7)))) ) )
662 graph->
evalOpParmInst(_curentry.bindings_writeable, nodeidx,
"bindings#_writeable", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
663 _curentry.bindings_optional =
false;
664 if (
true && ( (
true&&!(((_curentry.bindings_type!=5)&&(_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7)))) ) )
665 graph->
evalOpParmInst(_curentry.bindings_optional, nodeidx,
"bindings#_optional", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
666 _curentry.bindings_defval =
false;
667 if (
true && ( (
true&&!(((_curentry.bindings_type!=5)&&(_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7))||((_curentry.bindings_optional==0))||((_curentry.bindings_attribtype!=1)&&(_curentry.bindings_attribtype!=0)))) ) )
668 graph->
evalOpParmInst(_curentry.bindings_defval, nodeidx,
"bindings#_defval", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
669 _curentry.bindings_intval = 0;
670 if (
true && ( (
true&&!(((_curentry.bindings_type!=0)&&(_curentry.bindings_type!=5))||((_curentry.bindings_type==5)&&(_curentry.bindings_optional==0))||((_curentry.bindings_type==5)&&(_curentry.bindings_defval==0))||((_curentry.bindings_type==5)&&(_curentry.bindings_attribtype!=1)))) ) )
671 graph->
evalOpParmInst(_curentry.bindings_intval, nodeidx,
"bindings#_intval", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
672 _curentry.bindings_fval = 0;
673 if (
true && ( (
true&&!(((_curentry.bindings_type!=1)&&(_curentry.bindings_type!=5)&&(_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7))||((_curentry.bindings_type==5)&&(_curentry.bindings_optional==0))||((_curentry.bindings_type==5)&&(_curentry.bindings_defval==0))||((_curentry.bindings_type==5)&&(_curentry.bindings_attribtype!=0))||((_curentry.bindings_type==5)&&(_curentry.bindings_attribtype==0)&&(_curentry.bindings_attribsize==2))||((_curentry.bindings_type==5)&&(_curentry.bindings_attribtype==0)&&(_curentry.bindings_attribsize==3))||((_curentry.bindings_type==5)&&(_curentry.bindings_attribtype==0)&&(_curentry.bindings_attribsize==4))||((_curentry.bindings_type==6)&&(_curentry.bindings_optional==0))||((_curentry.bindings_type==6)&&(_curentry.bindings_defval==0))||((_curentry.bindings_type==7)&&(_curentry.bindings_optional==0))||((_curentry.bindings_type==7)&&(_curentry.bindings_defval==0)))) ) )
674 graph->
evalOpParmInst(_curentry.bindings_fval, nodeidx,
"bindings#_fval", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
676 if (
true && ( (
true&&!(((_curentry.bindings_type!=5))||((_curentry.bindings_type==5)&&(_curentry.bindings_optional==0))||((_curentry.bindings_type==5)&&(_curentry.bindings_defval==0))||((_curentry.bindings_type==5)&&(_curentry.bindings_attribtype!=0))||((_curentry.bindings_type==5)&&(_curentry.bindings_attribtype==0)&&(_curentry.bindings_attribsize!=2)))) ) )
677 graph->
evalOpParmInst(_curentry.bindings_v2val, nodeidx,
"bindings#_v2val", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
679 if (
true && ( (
true&&!(((_curentry.bindings_type!=2)&&(_curentry.bindings_type!=5))||((_curentry.bindings_type==5)&&(_curentry.bindings_optional==0))||((_curentry.bindings_type==5)&&(_curentry.bindings_defval==0))||((_curentry.bindings_type==5)&&(_curentry.bindings_attribtype!=0))||((_curentry.bindings_type==5)&&(_curentry.bindings_attribtype==0)&&(_curentry.bindings_attribsize!=3)))) ) )
680 graph->
evalOpParmInst(_curentry.bindings_v3val, nodeidx,
"bindings#_v3val", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
682 if (
true && ( (
true&&!(((_curentry.bindings_type!=3)&&(_curentry.bindings_type!=5))||((_curentry.bindings_type==5)&&(_curentry.bindings_optional==0))||((_curentry.bindings_type==5)&&(_curentry.bindings_defval==0))||((_curentry.bindings_type==5)&&(_curentry.bindings_attribtype!=0))||((_curentry.bindings_type==5)&&(_curentry.bindings_attribtype==0)&&(_curentry.bindings_attribsize!=4)))) ) )
683 graph->
evalOpParmInst(_curentry.bindings_v4val, nodeidx,
"bindings#_v4val", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
684 _curentry.bindings_attribbvh =
false;
685 if (
true && ( (
true&&!(((_curentry.bindings_type!=5))||((_curentry.bindings_attribclass!=2)&&(_curentry.bindings_attribclass!=3))||((_curentry.bindings_attribtype!=0))||((_curentry.bindings_attribsize!=3)))) ) )
686 graph->
evalOpParmInst(_curentry.bindings_attribbvh, nodeidx,
"bindings#_attribbvh", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
687 _curentry.bindings_attribosd =
false;
688 if (
true && ( (
true&&!(((_curentry.bindings_type!=5))||((_curentry.bindings_attribclass!=2))||((_curentry.bindings_attribtype!=0)))) ) )
689 graph->
evalOpParmInst(_curentry.bindings_attribosd, nodeidx,
"bindings#_attribosd", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
690 _curentry.bindings_attribpointbvh =
false;
691 if (
true && ( (
true&&!(((_curentry.bindings_type!=5))||((_curentry.bindings_attribclass!=2))||((_curentry.bindings_attribtype!=0))||((_curentry.bindings_attribsize!=3)))) ) )
692 graph->
evalOpParmInst(_curentry.bindings_attribpointbvh, nodeidx,
"bindings#_attribpointbvh", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
693 _curentry.bindings_attribpointbvhmask =
""_UTsh;
694 if (
true && ( (
true&&!(((_curentry.bindings_type!=5))||((_curentry.bindings_attribpointbvh==0))||((_curentry.bindings_attribclass!=2))||((_curentry.bindings_attribtype!=0))||((_curentry.bindings_attribsize!=3)))) ) )
695 graph->
evalOpParmInst(_curentry.bindings_attribpointbvhmask, nodeidx,
"bindings#_attribpointbvhmask", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
696 _curentry.bindings_timescale = 0;
697 if (
true && ( (
true&&!(((_curentry.bindings_type!=1)))) ) )
698 graph->
evalOpParmInst(_curentry.bindings_timescale, nodeidx,
"bindings#_timescale", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
704 myGeneratedCode =
""_UTsh;
705 if (
true && ( (
true&&!((((graph->
getInput(nodeidx,0)>=0)==0))||(((graph->
getInput(nodeidx,0)>=0)==1)))) ) )
706 graph->
evalOpParm(myGeneratedCode, nodeidx,
"generatedcode", time, graph->
isDirect()?
nullptr:depnode);
722 template <
typename T>
729 if (idx.
size() != instance.
size()+1)
734 coerceValue(value, myKernelName);
737 coerceValue(value, myUseCode);
740 coerceValue(value, myKernelFile);
743 coerceValue(value, myKernelCode);
746 coerceValue(value, myAtBinding);
749 coerceValue(value, myKernelOptions);
752 coerceValue(value, myKernelOptionAttrib);
755 coerceValue(value, myUseWriteBackKernel);
758 coerceValue(value, myWriteBackKernelName);
761 coerceValue(value, myRecompile);
764 coerceValue(value, myRunOver);
767 coerceValue(value, myIterations);
770 coerceValue(value, myIteration);
773 coerceValue(value, myWorksets_begin);
776 coerceValue(value, myWorksets_length);
779 coerceValue(value, mySingleworkgroup);
782 coerceValue(value, myFinish);
785 coerceValue(value, myTime);
788 coerceValue(value, myTimeInc);
791 coerceValue(value, myTimescale);
794 coerceValue(value, myTimemethod);
797 coerceValue(value, myXnoise);
800 coerceValue(value, myPrecision);
803 coerceValue(value, myImportPrequel);
807 coerceValue(value, myBindings.entries());
808 else if (instance[0] < myBindings.entries())
810 auto && _data = myBindings(instance[0]);
814 coerceValue(value, _data.bindings_name);
817 coerceValue(value, _data.bindings_type);
820 coerceValue(value, _data.bindings_ramp);
823 coerceValue(value, _data.bindings_rampsize);
826 coerceValue(value, _data.bindings_input);
829 coerceValue(value, _data.bindings_volume);
832 coerceValue(value, _data.bindings_vdbtype);
835 coerceValue(value, _data.bindings_forcealign);
838 coerceValue(value, _data.bindings_resolution);
841 coerceValue(value, _data.bindings_voxelsize);
844 coerceValue(value, _data.bindings_xformtoworld);
847 coerceValue(value, _data.bindings_xformtovoxel);
850 coerceValue(value, _data.bindings_attribute);
853 coerceValue(value, _data.bindings_attribclass);
856 coerceValue(value, _data.bindings_attribtype);
859 coerceValue(value, _data.bindings_attribsize);
862 coerceValue(value, _data.bindings_precision);
865 coerceValue(value, _data.bindings_readable);
868 coerceValue(value, _data.bindings_writeable);
871 coerceValue(value, _data.bindings_optional);
874 coerceValue(value, _data.bindings_defval);
877 coerceValue(value, _data.bindings_intval);
880 coerceValue(value, _data.bindings_fval);
883 coerceValue(value, _data.bindings_v2val);
886 coerceValue(value, _data.bindings_v3val);
889 coerceValue(value, _data.bindings_v4val);
892 coerceValue(value, _data.bindings_attribbvh);
895 coerceValue(value, _data.bindings_attribosd);
898 coerceValue(value, _data.bindings_attribpointbvh);
901 coerceValue(value, _data.bindings_attribpointbvhmask);
904 coerceValue(value, _data.bindings_timescale);
911 coerceValue(value, myGeneratedCode);
927 { doGetParmValue(idx, instance, value); }
929 { doGetParmValue(idx, instance, value); }
931 { doGetParmValue(idx, instance, value); }
933 { doGetParmValue(idx, instance, value); }
935 { doGetParmValue(idx, instance, value); }
937 { doGetParmValue(idx, instance, value); }
939 { doGetParmValue(idx, instance, value); }
941 { doGetParmValue(idx, instance, value); }
943 { doGetParmValue(idx, instance, value); }
945 { doGetParmValue(idx, instance, value); }
947 { doGetParmValue(idx, instance, value); }
949 template <
typename T>
956 if (idx.
size() != instance.
size()+1)
961 coerceValue(myKernelName, ( ( value ) ));
964 coerceValue(myUseCode, ( ( value ) ));
967 coerceValue(myKernelFile, ( ( value ) ));
970 coerceValue(myKernelCode, ( ( value ) ));
973 coerceValue(myAtBinding, ( ( value ) ));
976 coerceValue(myKernelOptions, ( ( value ) ));
979 coerceValue(myKernelOptionAttrib, ( ( value ) ));
982 coerceValue(myUseWriteBackKernel, ( ( value ) ));
985 coerceValue(myWriteBackKernelName, ( ( value ) ));
988 coerceValue(myRecompile, ( ( value ) ));
991 coerceValue(myRunOver, clampMinValue(0, clampMaxValue(3, value ) ));
994 coerceValue(myIterations, ( ( value ) ));
997 coerceValue(myIteration, ( ( value ) ));
1000 coerceValue(myWorksets_begin, ( ( value ) ));
1003 coerceValue(myWorksets_length, ( ( value ) ));
1006 coerceValue(mySingleworkgroup, ( ( value ) ));
1009 coerceValue(myFinish, ( ( value ) ));
1012 coerceValue(myTime, ( ( value ) ));
1015 coerceValue(myTimeInc, ( ( value ) ));
1018 coerceValue(myTimescale, ( ( value ) ));
1021 coerceValue(myTimemethod, clampMinValue(0, clampMaxValue(1, value ) ));
1024 coerceValue(myXnoise, ( ( value ) ));
1027 coerceValue(myPrecision, clampMinValue(0, clampMaxValue(3, value ) ));
1030 coerceValue(myImportPrequel, ( ( value ) ));
1033 if (idx.
size() == 1)
1036 coerceValue(newsize, value);
1037 if (newsize < 0) newsize = 0;
1038 myBindings.setSize(newsize);
1042 if (instance[0] < 0)
1044 myBindings.setSizeIfNeeded(instance[0]+1);
1045 auto && _data = myBindings(instance[0]);
1049 coerceValue(_data.bindings_name, value);
1052 coerceValue(_data.bindings_type, value);
1055 coerceValue(_data.bindings_ramp, value);
1058 coerceValue(_data.bindings_rampsize, value);
1061 coerceValue(_data.bindings_input, value);
1064 coerceValue(_data.bindings_volume, value);
1067 coerceValue(_data.bindings_vdbtype, value);
1070 coerceValue(_data.bindings_forcealign, value);
1073 coerceValue(_data.bindings_resolution, value);
1076 coerceValue(_data.bindings_voxelsize, value);
1079 coerceValue(_data.bindings_xformtoworld, value);
1082 coerceValue(_data.bindings_xformtovoxel, value);
1085 coerceValue(_data.bindings_attribute, value);
1088 coerceValue(_data.bindings_attribclass, value);
1091 coerceValue(_data.bindings_attribtype, value);
1094 coerceValue(_data.bindings_attribsize, value);
1097 coerceValue(_data.bindings_precision, value);
1100 coerceValue(_data.bindings_readable, value);
1103 coerceValue(_data.bindings_writeable, value);
1106 coerceValue(_data.bindings_optional, value);
1109 coerceValue(_data.bindings_defval, value);
1112 coerceValue(_data.bindings_intval, value);
1115 coerceValue(_data.bindings_fval, value);
1118 coerceValue(_data.bindings_v2val, value);
1121 coerceValue(_data.bindings_v3val, value);
1124 coerceValue(_data.bindings_v4val, value);
1127 coerceValue(_data.bindings_attribbvh, value);
1130 coerceValue(_data.bindings_attribosd, value);
1133 coerceValue(_data.bindings_attribpointbvh, value);
1136 coerceValue(_data.bindings_attribpointbvhmask, value);
1139 coerceValue(_data.bindings_timescale, value);
1146 coerceValue(myGeneratedCode, ( ( value ) ));
1153 { doSetParmValue(idx, instance, value); }
1155 { doSetParmValue(idx, instance, value); }
1157 { doSetParmValue(idx, instance, value); }
1159 { doSetParmValue(idx, instance, value); }
1161 { doSetParmValue(idx, instance, value); }
1163 { doSetParmValue(idx, instance, value); }
1165 { doSetParmValue(idx, instance, value); }
1167 { doSetParmValue(idx, instance, value); }
1169 { doSetParmValue(idx, instance, value); }
1171 { doSetParmValue(idx, instance, value); }
1173 { doSetParmValue(idx, instance, value); }
1177 if (idx.
size() == 0)
1191 if (fieldnum.
size() < 1)
1193 switch (fieldnum[0])
1196 return "kernelname";
1200 return "kernelfile";
1202 return "kernelcode";
1206 return "kerneloptions";
1208 return "kerneloptionattrib";
1210 return "usewritebackkernel";
1212 return "writebackkernelname";
1218 return "iterations";
1222 return "worksets_begin";
1224 return "worksets_length";
1226 return "singleworkgroup";
1236 return "timemethod";
1242 return "importprequel";
1244 if (fieldnum.
size() == 1)
1246 switch (fieldnum[1])
1249 return "bindings#_name";
1251 return "bindings#_type";
1253 return "bindings#_ramp";
1255 return "bindings#_rampsize";
1257 return "bindings#_input";
1259 return "bindings#_volume";
1261 return "bindings#_vdbtype";
1263 return "bindings#_forcealign";
1265 return "bindings#_resolution";
1267 return "bindings#_voxelsize";
1269 return "bindings#_xformtoworld";
1271 return "bindings#_xformtovoxel";
1273 return "bindings#_attribute";
1275 return "bindings#_attribclass";
1277 return "bindings#_attribtype";
1279 return "bindings#_attribsize";
1281 return "bindings#_precision";
1283 return "bindings#_readable";
1285 return "bindings#_writeable";
1287 return "bindings#_optional";
1289 return "bindings#_defval";
1291 return "bindings#_intval";
1293 return "bindings#_fval";
1295 return "bindings#_v2val";
1297 return "bindings#_v3val";
1299 return "bindings#_v4val";
1301 return "bindings#_attribbvh";
1303 return "bindings#_attribosd";
1305 return "bindings#_attribpointbvh";
1307 return "bindings#_attribpointbvhmask";
1309 return "bindings#_timescale";
1314 return "generatedcode";
1322 if (fieldnum.
size() < 1)
1323 return PARM_UNSUPPORTED;
1324 switch (fieldnum[0])
1329 return PARM_INTEGER;
1335 return PARM_INTEGER;
1341 return PARM_INTEGER;
1345 return PARM_INTEGER;
1347 return PARM_INTEGER;
1349 return PARM_INTEGER;
1351 return PARM_INTEGER;
1357 return PARM_INTEGER;
1359 return PARM_INTEGER;
1361 return PARM_INTEGER;
1363 return PARM_INTEGER;
1367 return PARM_INTEGER;
1369 return PARM_INTEGER;
1371 return PARM_INTEGER;
1373 return PARM_INTEGER;
1375 if (fieldnum.
size() == 1)
1376 return PARM_MULTIPARM;
1377 switch (fieldnum[1])
1382 return PARM_INTEGER;
1386 return PARM_INTEGER;
1388 return PARM_INTEGER;
1392 return PARM_INTEGER;
1394 return PARM_INTEGER;
1396 return PARM_INTEGER;
1398 return PARM_INTEGER;
1400 return PARM_INTEGER;
1402 return PARM_INTEGER;
1406 return PARM_INTEGER;
1408 return PARM_INTEGER;
1410 return PARM_INTEGER;
1412 return PARM_INTEGER;
1414 return PARM_INTEGER;
1416 return PARM_INTEGER;
1418 return PARM_INTEGER;
1420 return PARM_INTEGER;
1422 return PARM_INTEGER;
1426 return PARM_VECTOR2;
1428 return PARM_VECTOR3;
1430 return PARM_VECTOR4;
1432 return PARM_INTEGER;
1434 return PARM_INTEGER;
1436 return PARM_INTEGER;
1440 return PARM_INTEGER;
1443 return PARM_UNSUPPORTED;
1448 return PARM_UNSUPPORTED;
1453 { is.
bread(&v, 1); }
1484 loadData(is, rampdata);
1502 int typelen = colon - data.
buffer();
1514 { UTwrite(os, &v); }
1516 {
int64 iv =
v; UTwrite(os, &iv); }
1518 { UTwrite<fpreal64>(os, &
v); }
1520 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1522 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1523 UTwrite<fpreal64>(os, &v.
z()); }
1525 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1526 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1538 if (s) s->save(ostr);
1539 result = ostr.
str();
1540 saveData(os, result);
1547 ostr << s->getDataTypeToken();
1549 s->saveBinary(ostr);
1551 result = ostr.
str();
1552 saveData(os, result);
1560 saveData(os, myKernelName);
1561 saveData(os, myUseCode);
1562 saveData(os, myKernelFile);
1563 saveData(os, myKernelCode);
1564 saveData(os, myAtBinding);
1565 saveData(os, myKernelOptions);
1566 saveData(os, myKernelOptionAttrib);
1567 saveData(os, myUseWriteBackKernel);
1568 saveData(os, myWriteBackKernelName);
1569 saveData(os, myRecompile);
1570 saveData(os, myRunOver);
1571 saveData(os, myIterations);
1572 saveData(os, myIteration);
1573 saveData(os, myWorksets_begin);
1574 saveData(os, myWorksets_length);
1575 saveData(os, mySingleworkgroup);
1576 saveData(os, myFinish);
1577 saveData(os, myTime);
1578 saveData(os, myTimeInc);
1579 saveData(os, myTimescale);
1580 saveData(os, myTimemethod);
1581 saveData(os, myXnoise);
1582 saveData(os, myPrecision);
1583 saveData(os, myImportPrequel);
1586 UTwrite(os, &length);
1589 auto && _curentry = myBindings(i);
1591 saveData(os, _curentry.bindings_name);
1592 saveData(os, _curentry.bindings_type);
1593 saveData(os, _curentry.bindings_ramp);
1594 saveData(os, _curentry.bindings_rampsize);
1595 saveData(os, _curentry.bindings_input);
1596 saveData(os, _curentry.bindings_volume);
1597 saveData(os, _curentry.bindings_vdbtype);
1598 saveData(os, _curentry.bindings_forcealign);
1599 saveData(os, _curentry.bindings_resolution);
1600 saveData(os, _curentry.bindings_voxelsize);
1601 saveData(os, _curentry.bindings_xformtoworld);
1602 saveData(os, _curentry.bindings_xformtovoxel);
1603 saveData(os, _curentry.bindings_attribute);
1604 saveData(os, _curentry.bindings_attribclass);
1605 saveData(os, _curentry.bindings_attribtype);
1606 saveData(os, _curentry.bindings_attribsize);
1607 saveData(os, _curentry.bindings_precision);
1608 saveData(os, _curentry.bindings_readable);
1609 saveData(os, _curentry.bindings_writeable);
1610 saveData(os, _curentry.bindings_optional);
1611 saveData(os, _curentry.bindings_defval);
1612 saveData(os, _curentry.bindings_intval);
1613 saveData(os, _curentry.bindings_fval);
1614 saveData(os, _curentry.bindings_v2val);
1615 saveData(os, _curentry.bindings_v3val);
1616 saveData(os, _curentry.bindings_v4val);
1617 saveData(os, _curentry.bindings_attribbvh);
1618 saveData(os, _curentry.bindings_attribosd);
1619 saveData(os, _curentry.bindings_attribpointbvh);
1620 saveData(os, _curentry.bindings_attribpointbvhmask);
1621 saveData(os, _curentry.bindings_timescale);
1625 saveData(os, myGeneratedCode);
1638 loadData(is, myKernelName);
1639 loadData(is, myUseCode);
1640 loadData(is, myKernelFile);
1641 loadData(is, myKernelCode);
1642 loadData(is, myAtBinding);
1643 loadData(is, myKernelOptions);
1644 loadData(is, myKernelOptionAttrib);
1645 loadData(is, myUseWriteBackKernel);
1646 loadData(is, myWriteBackKernelName);
1647 loadData(is, myRecompile);
1648 loadData(is, myRunOver);
1649 loadData(is, myIterations);
1650 loadData(is, myIteration);
1651 loadData(is, myWorksets_begin);
1652 loadData(is, myWorksets_length);
1653 loadData(is, mySingleworkgroup);
1654 loadData(is, myFinish);
1655 loadData(is, myTime);
1656 loadData(is, myTimeInc);
1657 loadData(is, myTimescale);
1658 loadData(is, myTimemethod);
1659 loadData(is, myXnoise);
1660 loadData(is, myPrecision);
1661 loadData(is, myImportPrequel);
1664 is.
read(&length, 1);
1665 myBindings.setSize(length);
1668 auto && _curentry = myBindings(i);
1670 loadData(is, _curentry.bindings_name);
1671 loadData(is, _curentry.bindings_type);
1672 loadData(is, _curentry.bindings_ramp);
1673 loadData(is, _curentry.bindings_rampsize);
1674 loadData(is, _curentry.bindings_input);
1675 loadData(is, _curentry.bindings_volume);
1676 loadData(is, _curentry.bindings_vdbtype);
1677 loadData(is, _curentry.bindings_forcealign);
1678 loadData(is, _curentry.bindings_resolution);
1679 loadData(is, _curentry.bindings_voxelsize);
1680 loadData(is, _curentry.bindings_xformtoworld);
1681 loadData(is, _curentry.bindings_xformtovoxel);
1682 loadData(is, _curentry.bindings_attribute);
1683 loadData(is, _curentry.bindings_attribclass);
1684 loadData(is, _curentry.bindings_attribtype);
1685 loadData(is, _curentry.bindings_attribsize);
1686 loadData(is, _curentry.bindings_precision);
1687 loadData(is, _curentry.bindings_readable);
1688 loadData(is, _curentry.bindings_writeable);
1689 loadData(is, _curentry.bindings_optional);
1690 loadData(is, _curentry.bindings_defval);
1691 loadData(is, _curentry.bindings_intval);
1692 loadData(is, _curentry.bindings_fval);
1693 loadData(is, _curentry.bindings_v2val);
1694 loadData(is, _curentry.bindings_v3val);
1695 loadData(is, _curentry.bindings_v4val);
1696 loadData(is, _curentry.bindings_attribbvh);
1697 loadData(is, _curentry.bindings_attribosd);
1698 loadData(is, _curentry.bindings_attribpointbvh);
1699 loadData(is, _curentry.bindings_attribpointbvhmask);
1700 loadData(is, _curentry.bindings_timescale);
1704 loadData(is, myGeneratedCode);
1714 if (!thissop)
return getKernelName();
1716 OP_Utils::evalOpParm(result, thissop,
"kernelname", cookparms.
getCookTime(), 0);
1724 if (!thissop)
return getUseCode();
1726 OP_Utils::evalOpParm(result, thissop,
"usecode", cookparms.
getCookTime(), 0);
1734 if (!thissop)
return getKernelFile();
1736 OP_Utils::evalOpParm(result, thissop,
"kernelfile", cookparms.
getCookTime(), 0);
1744 if (!thissop)
return getKernelCode();
1746 OP_Utils::evalOpParm(result, thissop,
"kernelcode", cookparms.
getCookTime(), 0);
1754 if (!thissop)
return getAtBinding();
1756 OP_Utils::evalOpParm(result, thissop,
"atbinding", cookparms.
getCookTime(), 0);
1764 if (!thissop)
return getKernelOptions();
1766 OP_Utils::evalOpParm(result, thissop,
"kerneloptions", cookparms.
getCookTime(), 0);
1774 if (!thissop)
return getKernelOptionAttrib();
1776 OP_Utils::evalOpParm(result, thissop,
"kerneloptionattrib", cookparms.
getCookTime(), 0);
1784 if (!thissop)
return getUseWriteBackKernel();
1786 OP_Utils::evalOpParm(result, thissop,
"usewritebackkernel", cookparms.
getCookTime(), 0);
1794 if (!thissop)
return getWriteBackKernelName();
1796 OP_Utils::evalOpParm(result, thissop,
"writebackkernelname", cookparms.
getCookTime(), 0);
1804 if (!thissop)
return getRecompile();
1806 OP_Utils::evalOpParm(result, thissop,
"recompile", cookparms.
getCookTime(), 0);
1814 if (!thissop)
return getRunOver();
1816 OP_Utils::evalOpParm(result, thissop,
"runover", cookparms.
getCookTime(), 0);
1824 if (!thissop)
return getIterations();
1826 OP_Utils::evalOpParm(result, thissop,
"iterations", cookparms.
getCookTime(), 0);
1834 if (!thissop)
return getIteration();
1836 OP_Utils::evalOpParm(result, thissop,
"iteration", cookparms.
getCookTime(), 0);
1844 if (!thissop)
return getWorksets_begin();
1846 OP_Utils::evalOpParm(result, thissop,
"worksets_begin", cookparms.
getCookTime(), 0);
1854 if (!thissop)
return getWorksets_length();
1856 OP_Utils::evalOpParm(result, thissop,
"worksets_length", cookparms.
getCookTime(), 0);
1864 if (!thissop)
return getSingleworkgroup();
1866 OP_Utils::evalOpParm(result, thissop,
"singleworkgroup", cookparms.
getCookTime(), 0);
1874 if (!thissop)
return getFinish();
1876 OP_Utils::evalOpParm(result, thissop,
"finish", cookparms.
getCookTime(), 0);
1884 if (!thissop)
return getTime();
1886 OP_Utils::evalOpParm(result, thissop,
"time", cookparms.
getCookTime(), 0);
1894 if (!thissop)
return getTimeInc();
1896 OP_Utils::evalOpParm(result, thissop,
"timeinc", cookparms.
getCookTime(), 0);
1904 if (!thissop)
return getTimescale();
1906 OP_Utils::evalOpParm(result, thissop,
"timescale", cookparms.
getCookTime(), 0);
1914 if (!thissop)
return getTimemethod();
1916 OP_Utils::evalOpParm(result, thissop,
"timemethod", cookparms.
getCookTime(), 0);
1924 if (!thissop)
return getXnoise();
1926 OP_Utils::evalOpParm(result, thissop,
"xnoise", cookparms.
getCookTime(), 0);
1934 if (!thissop)
return getPrecision();
1936 OP_Utils::evalOpParm(result, thissop,
"precision", cookparms.
getCookTime(), 0);
1944 if (!thissop)
return getImportPrequel();
1946 OP_Utils::evalOpParm(result, thissop,
"importprequel", cookparms.
getCookTime(), 0);
1954 if (!thissop)
return getBindings().entries();
1956 OP_Utils::evalOpParm(result, thissop,
"bindings", cookparms.
getCookTime(), 0);
1960 {
return opinstBindings_bindings_name(cookparms, &_idx); }
1964 if (!thissop)
return (myBindings(_idx[0]).bindings_name);
1966 _parmidx[1-1] = _idx[1-1] + 1;
1969 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_name", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1973 {
return opinstBindings_bindings_type(cookparms, &_idx); }
1977 if (!thissop)
return (myBindings(_idx[0]).bindings_type);
1979 _parmidx[1-1] = _idx[1-1] + 1;
1982 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_type", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1986 {
return opinstBindings_bindings_ramp(cookparms, &_idx); }
1990 if (!thissop)
return (myBindings(_idx[0]).bindings_ramp);
1992 _parmidx[1-1] = _idx[1-1] + 1;
1995 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_ramp", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1999 {
return opinstBindings_bindings_rampsize(cookparms, &_idx); }
2003 if (!thissop)
return (myBindings(_idx[0]).bindings_rampsize);
2005 _parmidx[1-1] = _idx[1-1] + 1;
2008 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_rampsize", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2012 {
return opinstBindings_bindings_input(cookparms, &_idx); }
2016 if (!thissop)
return (myBindings(_idx[0]).bindings_input);
2018 _parmidx[1-1] = _idx[1-1] + 1;
2021 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_input", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2025 {
return opinstBindings_bindings_volume(cookparms, &_idx); }
2029 if (!thissop)
return (myBindings(_idx[0]).bindings_volume);
2031 _parmidx[1-1] = _idx[1-1] + 1;
2034 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_volume", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2038 {
return opinstBindings_bindings_vdbtype(cookparms, &_idx); }
2042 if (!thissop)
return (myBindings(_idx[0]).bindings_vdbtype);
2044 _parmidx[1-1] = _idx[1-1] + 1;
2047 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_vdbtype", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2051 {
return opinstBindings_bindings_forcealign(cookparms, &_idx); }
2055 if (!thissop)
return (myBindings(_idx[0]).bindings_forcealign);
2057 _parmidx[1-1] = _idx[1-1] + 1;
2060 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_forcealign", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2064 {
return opinstBindings_bindings_resolution(cookparms, &_idx); }
2068 if (!thissop)
return (myBindings(_idx[0]).bindings_resolution);
2070 _parmidx[1-1] = _idx[1-1] + 1;
2073 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_resolution", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2077 {
return opinstBindings_bindings_voxelsize(cookparms, &_idx); }
2081 if (!thissop)
return (myBindings(_idx[0]).bindings_voxelsize);
2083 _parmidx[1-1] = _idx[1-1] + 1;
2086 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_voxelsize", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2090 {
return opinstBindings_bindings_xformtoworld(cookparms, &_idx); }
2094 if (!thissop)
return (myBindings(_idx[0]).bindings_xformtoworld);
2096 _parmidx[1-1] = _idx[1-1] + 1;
2099 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_xformtoworld", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2103 {
return opinstBindings_bindings_xformtovoxel(cookparms, &_idx); }
2107 if (!thissop)
return (myBindings(_idx[0]).bindings_xformtovoxel);
2109 _parmidx[1-1] = _idx[1-1] + 1;
2112 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_xformtovoxel", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2116 {
return opinstBindings_bindings_attribute(cookparms, &_idx); }
2120 if (!thissop)
return (myBindings(_idx[0]).bindings_attribute);
2122 _parmidx[1-1] = _idx[1-1] + 1;
2125 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_attribute", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2129 {
return opinstBindings_bindings_attribclass(cookparms, &_idx); }
2133 if (!thissop)
return (myBindings(_idx[0]).bindings_attribclass);
2135 _parmidx[1-1] = _idx[1-1] + 1;
2138 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_attribclass", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2142 {
return opinstBindings_bindings_attribtype(cookparms, &_idx); }
2146 if (!thissop)
return (myBindings(_idx[0]).bindings_attribtype);
2148 _parmidx[1-1] = _idx[1-1] + 1;
2151 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_attribtype", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2155 {
return opinstBindings_bindings_attribsize(cookparms, &_idx); }
2159 if (!thissop)
return (myBindings(_idx[0]).bindings_attribsize);
2161 _parmidx[1-1] = _idx[1-1] + 1;
2164 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_attribsize", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2168 {
return opinstBindings_bindings_precision(cookparms, &_idx); }
2172 if (!thissop)
return (myBindings(_idx[0]).bindings_precision);
2174 _parmidx[1-1] = _idx[1-1] + 1;
2177 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_precision", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2181 {
return opinstBindings_bindings_readable(cookparms, &_idx); }
2185 if (!thissop)
return (myBindings(_idx[0]).bindings_readable);
2187 _parmidx[1-1] = _idx[1-1] + 1;
2190 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_readable", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2194 {
return opinstBindings_bindings_writeable(cookparms, &_idx); }
2198 if (!thissop)
return (myBindings(_idx[0]).bindings_writeable);
2200 _parmidx[1-1] = _idx[1-1] + 1;
2203 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_writeable", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2207 {
return opinstBindings_bindings_optional(cookparms, &_idx); }
2211 if (!thissop)
return (myBindings(_idx[0]).bindings_optional);
2213 _parmidx[1-1] = _idx[1-1] + 1;
2216 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_optional", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2220 {
return opinstBindings_bindings_defval(cookparms, &_idx); }
2224 if (!thissop)
return (myBindings(_idx[0]).bindings_defval);
2226 _parmidx[1-1] = _idx[1-1] + 1;
2229 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_defval", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2233 {
return opinstBindings_bindings_intval(cookparms, &_idx); }
2237 if (!thissop)
return (myBindings(_idx[0]).bindings_intval);
2239 _parmidx[1-1] = _idx[1-1] + 1;
2242 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_intval", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2246 {
return opinstBindings_bindings_fval(cookparms, &_idx); }
2250 if (!thissop)
return (myBindings(_idx[0]).bindings_fval);
2252 _parmidx[1-1] = _idx[1-1] + 1;
2255 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_fval", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2259 {
return opinstBindings_bindings_v2val(cookparms, &_idx); }
2263 if (!thissop)
return (myBindings(_idx[0]).bindings_v2val);
2265 _parmidx[1-1] = _idx[1-1] + 1;
2268 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_v2val", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2272 {
return opinstBindings_bindings_v3val(cookparms, &_idx); }
2276 if (!thissop)
return (myBindings(_idx[0]).bindings_v3val);
2278 _parmidx[1-1] = _idx[1-1] + 1;
2281 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_v3val", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2285 {
return opinstBindings_bindings_v4val(cookparms, &_idx); }
2289 if (!thissop)
return (myBindings(_idx[0]).bindings_v4val);
2291 _parmidx[1-1] = _idx[1-1] + 1;
2294 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_v4val", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2298 {
return opinstBindings_bindings_attribbvh(cookparms, &_idx); }
2302 if (!thissop)
return (myBindings(_idx[0]).bindings_attribbvh);
2304 _parmidx[1-1] = _idx[1-1] + 1;
2307 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_attribbvh", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2311 {
return opinstBindings_bindings_attribosd(cookparms, &_idx); }
2315 if (!thissop)
return (myBindings(_idx[0]).bindings_attribosd);
2317 _parmidx[1-1] = _idx[1-1] + 1;
2320 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_attribosd", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2324 {
return opinstBindings_bindings_attribpointbvh(cookparms, &_idx); }
2328 if (!thissop)
return (myBindings(_idx[0]).bindings_attribpointbvh);
2330 _parmidx[1-1] = _idx[1-1] + 1;
2333 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_attribpointbvh", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2337 {
return opinstBindings_bindings_attribpointbvhmask(cookparms, &_idx); }
2341 if (!thissop)
return (myBindings(_idx[0]).bindings_attribpointbvhmask);
2343 _parmidx[1-1] = _idx[1-1] + 1;
2346 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_attribpointbvhmask", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2350 {
return opinstBindings_bindings_timescale(cookparms, &_idx); }
2354 if (!thissop)
return (myBindings(_idx[0]).bindings_timescale);
2356 _parmidx[1-1] = _idx[1-1] + 1;
2359 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_timescale", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2368 if (!thissop)
return getGeneratedCode();
2370 OP_Utils::evalOpParm(result, thissop,
"generatedcode", cookparms.
getCookTime(), 0);
2382 bool myUseWriteBackKernel;
2390 bool mySingleworkgroup;
2398 bool myImportPrequel;
const UT_StringHolder & getWorksets_length() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
virtual NodeIdx getInput(NodeIdx idx, OP_InputIdx input, bool markused=false) const =0
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
bool getRecompile() const
bool opXnoise(const SOP_NodeVerb::CookParms &cookparms) const
bool opinstBindings_bindings_optional(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool getUseWriteBackKernel() const
GLenum GLuint GLenum GLsizei const GLchar * buf
UT_StringHolder opGeneratedCode(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3D &v)
void setAtBinding(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
void setIteration(bool val)
UT_Vector3D opBindings_bindings_v3val(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
SYS_FORCE_INLINE UT_StringHolder getToken(RunOver enum_value)
int64 bindings_attribsize
void setKernelCode(const UT_StringHolder &val)
SOP_Node * getNode() const
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
bool opinstBindings_bindings_defval(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void setWorksets_begin(const UT_StringHolder &val)
bool opBindings_bindings_attribbvh(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
int64 opinstBindings_bindings_rampsize(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
int64 opinstBindings_bindings_attribclass(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
UT_Vector3D opinstBindings_bindings_v3val(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool opUseCode(const SOP_NodeVerb::CookParms &cookparms) const
bool bindings_xformtoworld
UT_StringHolder opBindings_bindings_name(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
Timemethod opTimemethod(const SOP_NodeVerb::CookParms &cookparms) const
UT_SharedPtr< UT_Ramp > opinstBindings_bindings_ramp(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
UT_StringHolder opKernelName(const SOP_NodeVerb::CookParms &cookparms) const
GT_API const UT_StringHolder time
bool opIteration(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & y() noexcept
const UT_StringHolder & getKernelOptionAttrib() const
int64 bindings_attribtype
int64 opBindings_bindings_input(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void saveData(std::ostream &os, int64 v)
UT_Vector2T< fpreal64 > UT_Vector2D
UT_Vector3D bindings_v3val
void setTimemethod(Timemethod val)
GLsizei const GLfloat * value
int64 opinstBindings_bindings_type(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
static void loadData(UT_IStream &is, UT_Vector4D &v)
ParmType getNestParmType(TempIndex fieldnum) const override
void setRecompile(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
int64 opBindings_bindings_rampsize(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const
const OP_Context & context() const
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
void setKernelFile(const UT_StringHolder &val)
void setKernelName(const UT_StringHolder &val)
bool opBindings_bindings_forcealign(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
constexpr SYS_FORCE_INLINE T & z() noexcept
static void loadData(UT_IStream &is, UT_Vector2D &v)
static void saveData(std::ostream &os, fpreal64 v)
bool operator!=(const Bindings &src) const
SYS_FORCE_INLINE const char * buffer() const
bool opinstBindings_bindings_attribosd(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool opFinish(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
int64 opBindings_bindings_type(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
UT_StringHolder opinstBindings_bindings_attribute(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
GLuint GLsizei GLsizei * length
fpreal64 opTimescale(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opWorksets_length(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getWriteBackKernelName() const
An output stream object that owns its own string buffer storage.
const char * getNestParmName(TempIndex fieldnum) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
UT_StringHolder bindings_volume
static void loadData(UT_IStream &is, UT_Vector3I &v)
const UT_StringHolder & getKernelOptions() const
int64 getIterations() const
**But if you need a result
static void saveData(std::ostream &os, UT_Vector2D v)
fpreal64 opinstBindings_bindings_fval(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
UT_StringHolder opinstBindings_bindings_volume(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
int64 opBindings_bindings_attribclass(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
void setImportPrequel(bool val)
bool opImportPrequel(const SOP_NodeVerb::CookParms &cookparms) const
bool bindings_xformtovoxel
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
UT_StringHolder opKernelOptionAttrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opBindings_bindings_attribute(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
int64 opinstBindings_bindings_intval(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
constexpr SYS_FORCE_INLINE T & x() noexcept
void save(std::ostream &os) const
UT_StringHolder opBindings_bindings_attribpointbvhmask(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setKernelOptions(const UT_StringHolder &val)
GLuint GLsizei const GLuint const GLintptr * offsets
void setTimescale(fpreal64 val)
const UT_StringHolder & getWorksets_begin() const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
constexpr SYS_FORCE_INLINE T & x() noexcept
RunOver getRunOver() const
UT_StringHolder opWorksets_begin(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
static void saveData(std::ostream &os, UT_Matrix3D v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
fpreal64 getTimescale() const
const UT_StringHolder & getKernelFile() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
exint opBindings(const SOP_NodeVerb::CookParms &cookparms) const
bool opTime(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
bool getAtBinding() const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
bool getIteration() const
int64 opinstBindings_bindings_vdbtype(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
static void saveData(std::ostream &os, UT_Vector4D v)
UT_SharedPtr< UT_Ramp > bindings_ramp
int64 opBindings_bindings_attribtype(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void loadData(UT_IStream &is, UT_Vector4I &v)
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
constexpr SYS_FORCE_INLINE T & z() noexcept
UT_Vector2D opinstBindings_bindings_v2val(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
Precision getPrecision() const
UT_StringHolder opinstBindings_bindings_attribpointbvhmask(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool opinstBindings_bindings_attribbvh(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool opinstBindings_bindings_attribpointbvh(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void setWorksets_length(const UT_StringHolder &val)
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
UT_StringHolder opWriteBackKernelName(const SOP_NodeVerb::CookParms &cookparms) const
bool opinstBindings_bindings_xformtoworld(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
exint read(bool *array, exint sz=1)
const OP_GraphProxy * graph() const
void setUseCode(bool val)
bool opBindings_bindings_defval(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool opBindings_bindings_voxelsize(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setPrecision(Precision val)
static void saveData(std::ostream &os, UT_StringHolder s)
bool opinstBindings_bindings_xformtovoxel(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
static void loadData(UT_IStream &is, UT_Vector2I &v)
void loadFromOpSubclass(const LoadParms &loadparms) override
UT_StringHolder opKernelFile(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector4D opBindings_bindings_v4val(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
UT_StringHolder bindings_name
static void saveData(std::ostream &os, UT_Vector3D v)
void setWriteBackKernelName(const UT_StringHolder &val)
bool getSingleworkgroup() const
bool opinstBindings_bindings_voxelsize(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
UT_Vector2D opBindings_bindings_v2val(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
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
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
UT_Vector3T< fpreal64 > UT_Vector3D
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
bool opUseWriteBackKernel(const SOP_NodeVerb::CookParms &cookparms) const
bool opBindings_bindings_xformtoworld(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool opBindings_bindings_xformtovoxel(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void loadData(UT_IStream &is, int64 &v)
bool getImportPrequel() const
int64 opBindings_bindings_vdbtype(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
void copyFrom(const OP_NodeParms *src) override
UT_StringHolder opBindings_bindings_volume(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool opSingleworkgroup(const SOP_NodeVerb::CookParms &cookparms) const
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
int64 bindings_attribclass
bool opBindings_bindings_writeable(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
exint getNestNumParms(TempIndex idx) const override
bool opTimeInc(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
SYS_FORCE_INLINE void strcat(const char *src)
void saveBinary(std::ostream &os) const
Save string to binary stream.
UT_StringHolder createString(const UT_Array< Bindings > &list) const
int64 opBindings_bindings_precision(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
GT_API const UT_StringHolder version
int64 opinstBindings_bindings_input(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
exint entries() const
Alias of size(). size() is preferred.
UT_StringHolder bindings_attribute
void setGeneratedCode(const UT_StringHolder &val)
bool operator==(const SOP_OpenCLParms &src) const
UT_Vector4D opinstBindings_bindings_v4val(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool operator==(const Bindings &src) const
bool isParmColorRamp(exint idx) const override
int64 opinstBindings_bindings_attribtype(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void setIterations(int64 val)
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
const UT_StringHolder & getKernelCode() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
static void loadData(UT_IStream &is, fpreal64 &v)
void setRunOver(RunOver val)
int64 opBindings_bindings_intval(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setSingleworkgroup(bool val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
bool opinstBindings_bindings_readable(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool opRecompile(const SOP_NodeVerb::CookParms &cookparms) const
DEP_MicroNode * depnode() const
int64 opinstBindings_bindings_precision(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
Timemethod getTimemethod() const
LeafData & operator=(const LeafData &)=delete
Utility class for containing a color ramp.
bool opAtBinding(const SOP_NodeVerb::CookParms &cookparms) const
bool load(UT_IStream &is)
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
const UT_StringHolder & getKernelName() const
constexpr SYS_FORCE_INLINE T & w() noexcept
SYS_FORCE_INLINE void append(char character)
bool opinstBindings_bindings_resolution(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void setBindings(const UT_Array< Bindings > &val)
UT_StringHolder opinstBindings_bindings_name(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void setUseWriteBackKernel(bool val)
virtual UT_StringHolder baseGetSignature() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
const UT_Array< Bindings > & getBindings() const
int64 opinstBindings_bindings_timescale(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
int64 opIterations(const SOP_NodeVerb::CookParms &cookparms) const
Precision opPrecision(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getGeneratedCode() const
UT_Vector2D bindings_v2val
bool opBindings_bindings_attribosd(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
fpreal getCookTime() const
UT_StringHolder opKernelCode(const SOP_NodeVerb::CookParms &cookparms) const
bool operator!=(const SOP_OpenCLParms &src) const
int64 opinstBindings_bindings_attribsize(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
static void saveData(std::ostream &os, bool v)
const char * findChar(int c) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
bool opBindings_bindings_resolution(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
int64 opBindings_bindings_timescale(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool opBindings_bindings_readable(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
exint bread(uint8 *buffer, exint asize=1)
fpreal64 opBindings_bindings_fval(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void saveData(std::ostream &os, UT_Matrix4D v)
UT_SharedPtr< UT_Ramp > opBindings_bindings_ramp(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
UT_Vector4T< fpreal64 > UT_Vector4D
bool bindings_attribpointbvh
constexpr SYS_FORCE_INLINE T & y() noexcept
static void loadData(UT_IStream &is, UT_Matrix2D &v)
bool opinstBindings_bindings_forcealign(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
void setKernelOptionAttrib(const UT_StringHolder &val)
virtual bool isDirect() const =0
Direct proxies mirror actual nodes:
UT_StringHolder opKernelOptions(const SOP_NodeVerb::CookParms &cookparms) const
bool opBindings_bindings_optional(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setTimeInc(bool val)
constexpr SYS_FORCE_INLINE T & y() noexcept
bool opBindings_bindings_attribpointbvh(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
SYS_FORCE_INLINE bool isstring() const
UT_StringHolder bindings_attribpointbvhmask
UT_Vector4D bindings_v4val
static void saveData(std::ostream &os, UT_Matrix2D v)
static void loadData(UT_IStream &is, bool &v)
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
int64 opBindings_bindings_attribsize(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
RunOver opRunOver(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_StringHolder &v)
bool opinstBindings_bindings_writeable(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
constexpr SYS_FORCE_INLINE T & x() noexcept