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) {
123 using namespace UT::Literal;
124 switch (enum_value) {
143 using namespace UT::Literal;
144 switch (enum_value) {
164 using namespace UT::Literal;
165 switch (enum_value) {
185 using namespace UT::Literal;
186 switch (enum_value) {
206 using namespace UT::Literal;
207 switch (enum_value) {
256 bindings_name =
""_UTsh;
259 bindings_rampsize = 1024;
261 bindings_volume =
""_UTsh;
262 bindings_vdbtype = 0;
263 bindings_forcealign =
true;
264 bindings_resolution =
false;
265 bindings_voxelsize =
false;
266 bindings_xformtoworld =
false;
267 bindings_xformtovoxel =
false;
268 bindings_attribute =
""_UTsh;
269 bindings_attribclass = 2;
270 bindings_attribtype = 0;
271 bindings_attribsize = 1;
272 bindings_precision = 2;
273 bindings_readable =
true;
274 bindings_writeable =
false;
275 bindings_optional =
false;
276 bindings_defval =
false;
282 bindings_timescale = 0;
330 for (
int i = 0; i < list.
entries(); i++)
340 if (list(i).bindings_ramp)
344 list(i).bindings_ramp->save(os);
358 buf.
appendSprintf(
"%s", (list(i).bindings_forcealign) ?
"true" :
"false");
360 buf.
appendSprintf(
"%s", (list(i).bindings_resolution) ?
"true" :
"false");
362 buf.
appendSprintf(
"%s", (list(i).bindings_voxelsize) ?
"true" :
"false");
364 buf.
appendSprintf(
"%s", (list(i).bindings_xformtoworld) ?
"true" :
"false");
366 buf.
appendSprintf(
"%s", (list(i).bindings_xformtovoxel) ?
"true" :
"false");
378 buf.
appendSprintf(
"%s", (list(i).bindings_readable) ?
"true" :
"false");
380 buf.
appendSprintf(
"%s", (list(i).bindings_writeable) ?
"true" :
"false");
382 buf.
appendSprintf(
"%s", (list(i).bindings_optional) ?
"true" :
"false");
384 buf.
appendSprintf(
"%s", (list(i).bindings_defval) ?
"true" :
"false");
390 buf.
appendSprintf(
"(%f, %f)", list(i).bindings_v2val.x(), list(i).bindings_v2val.y());
392 buf.
appendSprintf(
"(%f, %f, %f)", list(i).bindings_v3val.x(), list(i).bindings_v3val.y(), list(i).bindings_v3val.z());
394 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());
408 myKernelName =
"kernelName"_UTsh;
410 myKernelFile =
""_UTsh;
411 myKernelCode =
""_UTsh;
413 myKernelOptions =
""_UTsh;
414 myKernelOptionAttrib =
""_UTsh;
415 myUseWriteBackKernel =
false;
416 myWriteBackKernelName =
"writeBack"_UTsh;
421 myWorksets_begin =
""_UTsh;
422 myWorksets_length =
""_UTsh;
423 mySingleworkgroup =
false;
431 myImportPrequel =
true;
432 myBindings.setSize(1);
433 myGeneratedCode =
""_UTsh;
446 if (myKernelName != src.myKernelName)
return false;
447 if (myUseCode != src.myUseCode)
return false;
448 if (myKernelFile != src.myKernelFile)
return false;
449 if (myKernelCode != src.myKernelCode)
return false;
450 if (myAtBinding != src.myAtBinding)
return false;
451 if (myKernelOptions != src.myKernelOptions)
return false;
452 if (myKernelOptionAttrib != src.myKernelOptionAttrib)
return false;
453 if (myUseWriteBackKernel != src.myUseWriteBackKernel)
return false;
454 if (myWriteBackKernelName != src.myWriteBackKernelName)
return false;
455 if (myRecompile != src.myRecompile)
return false;
456 if (myRunOver != src.myRunOver)
return false;
457 if (myIterations != src.myIterations)
return false;
458 if (myIteration != src.myIteration)
return false;
459 if (myWorksets_begin != src.myWorksets_begin)
return false;
460 if (myWorksets_length != src.myWorksets_length)
return false;
461 if (mySingleworkgroup != src.mySingleworkgroup)
return false;
462 if (myFinish != src.myFinish)
return false;
463 if (myTime != src.myTime)
return false;
464 if (myTimeInc != src.myTimeInc)
return false;
465 if (myTimescale != src.myTimescale)
return false;
466 if (myTimemethod != src.myTimemethod)
return false;
467 if (myXnoise != src.myXnoise)
return false;
468 if (myPrecision != src.myPrecision)
return false;
469 if (myImportPrequel != src.myImportPrequel)
return false;
470 if (myBindings != src.myBindings)
return false;
471 if (myGeneratedCode != src.myGeneratedCode)
return false;
493 myKernelName =
"kernelName"_UTsh;
495 graph->
evalOpParm(myKernelName, nodeidx,
"kernelname", time, 0);
498 graph->
evalOpParm(myUseCode, nodeidx,
"usecode", time, 0);
499 myKernelFile =
""_UTsh;
500 if (
true && ( (
true&&!(((getUseCode()!=0)))) ) )
501 graph->
evalOpParm(myKernelFile, nodeidx,
"kernelfile", time, 0);
502 myKernelCode =
""_UTsh;
503 if (
true && ( (
true&&!(((getUseCode()==0)))) ) )
504 graph->
evalOpParm(myKernelCode, nodeidx,
"kernelcode", time, 0);
506 if (
true && ( (
true&&!(((getUseCode()==0)))) ) )
507 graph->
evalOpParm(myAtBinding, nodeidx,
"atbinding", time, 0);
508 myKernelOptions =
""_UTsh;
510 graph->
evalOpParm(myKernelOptions, nodeidx,
"kerneloptions", time, 0);
511 myKernelOptionAttrib =
""_UTsh;
513 graph->
evalOpParm(myKernelOptionAttrib, nodeidx,
"kerneloptionattrib", time, 0);
514 myUseWriteBackKernel =
false;
516 graph->
evalOpParm(myUseWriteBackKernel, nodeidx,
"usewritebackkernel", time, 0);
517 myWriteBackKernelName =
"writeBack"_UTsh;
518 if (
true && ( (
true&&!(((getUseWriteBackKernel()==0)))) ) )
519 graph->
evalOpParm(myWriteBackKernelName, nodeidx,
"writebackkernelname", time, 0);
522 graph->
evalOpParm(myRecompile, nodeidx,
"recompile", time, 0);
525 graph->
evalOpParm(myRunOver, nodeidx,
"runover", time, 0);
528 graph->
evalOpParm(myIterations, nodeidx,
"iterations", time, 0);
531 graph->
evalOpParm(myIteration, nodeidx,
"iteration", time, 0);
532 myWorksets_begin =
""_UTsh;
533 if (
true && ( (
true&&!(((
int64(getRunOver())!=2)))) ) )
534 graph->
evalOpParm(myWorksets_begin, nodeidx,
"worksets_begin", time, 0);
535 myWorksets_length =
""_UTsh;
536 if (
true && ( (
true&&!(((
int64(getRunOver())!=2)))) ) )
537 graph->
evalOpParm(myWorksets_length, nodeidx,
"worksets_length", time, 0);
538 mySingleworkgroup =
false;
539 if (
true && ( (
true&&!(((
int64(getRunOver())!=2)))) ) )
540 graph->
evalOpParm(mySingleworkgroup, nodeidx,
"singleworkgroup", time, 0);
543 graph->
evalOpParm(myFinish, nodeidx,
"finish", time, 0);
546 graph->
evalOpParm(myTime, nodeidx,
"time", time, 0);
549 graph->
evalOpParm(myTimeInc, nodeidx,
"timeinc", time, 0);
551 if (
true && ( (
true&&!(((getTimeInc()==0)))) ) )
552 graph->
evalOpParm(myTimescale, nodeidx,
"timescale", time, 0);
554 if (
true && ( (
true&&!(((getTimeInc()==0)))) ) )
555 graph->
evalOpParm(myTimemethod, nodeidx,
"timemethod", time, 0);
558 graph->
evalOpParm(myXnoise, nodeidx,
"xnoise", time, 0);
561 graph->
evalOpParm(myPrecision, nodeidx,
"precision", time, 0);
562 myImportPrequel =
true;
564 graph->
evalOpParm(myImportPrequel, nodeidx,
"importprequel", time, 0);
568 graph->
evalOpParm(length, nodeidx,
"bindings", time, 0);
569 if (length < 0) length = 0;
570 myBindings.setSize(length);
577 auto && _curentry = myBindings(i);
579 _curentry.bindings_name =
""_UTsh;
581 graph->
evalOpParmInst(_curentry.bindings_name, nodeidx,
"bindings#_name", parmidx, offsets, time, 0, 2-1);
582 _curentry.bindings_type = 0;
584 graph->
evalOpParmInst(_curentry.bindings_type, nodeidx,
"bindings#_type", parmidx, offsets, time, 0, 2-1);
586 if (
true && ( (
true&&!(((_curentry.bindings_type!=4)))) ) )
587 graph->
evalOpParmInst(_curentry.bindings_ramp, nodeidx,
"bindings#_ramp", parmidx, offsets, time, 0, 2-1);
588 _curentry.bindings_rampsize = 1024;
589 if (
true && ( (
true&&!(((_curentry.bindings_type!=4)))) ) )
590 graph->
evalOpParmInst(_curentry.bindings_rampsize, nodeidx,
"bindings#_rampsize", parmidx, offsets, time, 0, 2-1);
591 _curentry.bindings_input = 0;
592 if (
true && ( (
true&&!(((_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7)&&(_curentry.bindings_type!=5)))) ) )
593 graph->
evalOpParmInst(_curentry.bindings_input, nodeidx,
"bindings#_input", parmidx, offsets, time, 0, 2-1);
594 _curentry.bindings_volume =
""_UTsh;
595 if (
true && ( (
true&&!(((_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7)))) ) )
596 graph->
evalOpParmInst(_curentry.bindings_volume, nodeidx,
"bindings#_volume", parmidx, offsets, time, 0, 2-1);
597 _curentry.bindings_vdbtype = 0;
598 if (
true && ( (
true&&!(((_curentry.bindings_type!=7)))) ) )
599 graph->
evalOpParmInst(_curentry.bindings_vdbtype, nodeidx,
"bindings#_vdbtype", parmidx, offsets, time, 0, 2-1);
600 _curentry.bindings_forcealign =
true;
601 if (
true && ( (
true&&!(((_curentry.bindings_type!=6)))) ) )
602 graph->
evalOpParmInst(_curentry.bindings_forcealign, nodeidx,
"bindings#_forcealign", parmidx, offsets, time, 0, 2-1);
603 _curentry.bindings_resolution =
false;
604 if (
true && ( (
true&&!(((_curentry.bindings_type!=6))||((_curentry.bindings_forcealign==1)))) ) )
605 graph->
evalOpParmInst(_curentry.bindings_resolution, nodeidx,
"bindings#_resolution", parmidx, offsets, time, 0, 2-1);
606 _curentry.bindings_voxelsize =
false;
607 if (
true && ( (
true&&!(((_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7))||((_curentry.bindings_forcealign==1)&&(_curentry.bindings_type==6)))) ) )
608 graph->
evalOpParmInst(_curentry.bindings_voxelsize, nodeidx,
"bindings#_voxelsize", parmidx, offsets, time, 0, 2-1);
609 _curentry.bindings_xformtoworld =
false;
610 if (
true && ( (
true&&!(((_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7))||((_curentry.bindings_forcealign==1)&&(_curentry.bindings_type==6)))) ) )
611 graph->
evalOpParmInst(_curentry.bindings_xformtoworld, nodeidx,
"bindings#_xformtoworld", parmidx, offsets, time, 0, 2-1);
612 _curentry.bindings_xformtovoxel =
false;
613 if (
true && ( (
true&&!(((_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7))||((_curentry.bindings_forcealign==1)&&(_curentry.bindings_type==6)))) ) )
614 graph->
evalOpParmInst(_curentry.bindings_xformtovoxel, nodeidx,
"bindings#_xformtovoxel", parmidx, offsets, time, 0, 2-1);
615 _curentry.bindings_attribute =
""_UTsh;
616 if (
true && ( (
true&&!(((_curentry.bindings_type!=5)))) ) )
617 graph->
evalOpParmInst(_curentry.bindings_attribute, nodeidx,
"bindings#_attribute", parmidx, offsets, time, 0, 2-1);
618 _curentry.bindings_attribclass = 2;
619 if (
true && ( (
true&&!(((_curentry.bindings_type!=5)))) ) )
620 graph->
evalOpParmInst(_curentry.bindings_attribclass, nodeidx,
"bindings#_attribclass", parmidx, offsets, time, 0, 2-1);
621 _curentry.bindings_attribtype = 0;
622 if (
true && ( (
true&&!(((_curentry.bindings_type!=5)))) ) )
623 graph->
evalOpParmInst(_curentry.bindings_attribtype, nodeidx,
"bindings#_attribtype", parmidx, offsets, time, 0, 2-1);
624 _curentry.bindings_attribsize = 1;
625 if (
true && ( (
true&&!(((_curentry.bindings_type!=5)))) ) )
626 graph->
evalOpParmInst(_curentry.bindings_attribsize, nodeidx,
"bindings#_attribsize", parmidx, offsets, time, 0, 2-1);
627 _curentry.bindings_precision = 2;
629 graph->
evalOpParmInst(_curentry.bindings_precision, nodeidx,
"bindings#_precision", parmidx, offsets, time, 0, 2-1);
630 _curentry.bindings_readable =
true;
631 if (
true && ( (
true&&!(((_curentry.bindings_type!=5)&&(_curentry.bindings_type!=6)))) ) )
632 graph->
evalOpParmInst(_curentry.bindings_readable, nodeidx,
"bindings#_readable", parmidx, offsets, time, 0, 2-1);
633 _curentry.bindings_writeable =
false;
634 if (
true && ( (
true&&!(((_curentry.bindings_type!=5)&&(_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7)))) ) )
635 graph->
evalOpParmInst(_curentry.bindings_writeable, nodeidx,
"bindings#_writeable", parmidx, offsets, time, 0, 2-1);
636 _curentry.bindings_optional =
false;
637 if (
true && ( (
true&&!(((_curentry.bindings_type!=5)&&(_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7)))) ) )
638 graph->
evalOpParmInst(_curentry.bindings_optional, nodeidx,
"bindings#_optional", parmidx, offsets, time, 0, 2-1);
639 _curentry.bindings_defval =
false;
640 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)))) ) )
641 graph->
evalOpParmInst(_curentry.bindings_defval, nodeidx,
"bindings#_defval", parmidx, offsets, time, 0, 2-1);
642 _curentry.bindings_intval = 0;
643 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)))) ) )
644 graph->
evalOpParmInst(_curentry.bindings_intval, nodeidx,
"bindings#_intval", parmidx, offsets, time, 0, 2-1);
645 _curentry.bindings_fval = 0;
646 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)))) ) )
647 graph->
evalOpParmInst(_curentry.bindings_fval, nodeidx,
"bindings#_fval", parmidx, offsets, time, 0, 2-1);
649 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)))) ) )
650 graph->
evalOpParmInst(_curentry.bindings_v2val, nodeidx,
"bindings#_v2val", parmidx, offsets, time, 0, 2-1);
652 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)))) ) )
653 graph->
evalOpParmInst(_curentry.bindings_v3val, nodeidx,
"bindings#_v3val", parmidx, offsets, time, 0, 2-1);
655 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)))) ) )
656 graph->
evalOpParmInst(_curentry.bindings_v4val, nodeidx,
"bindings#_v4val", parmidx, offsets, time, 0, 2-1);
657 _curentry.bindings_timescale = 0;
658 if (
true && ( (
true&&!(((_curentry.bindings_type!=1)))) ) )
659 graph->
evalOpParmInst(_curentry.bindings_timescale, nodeidx,
"bindings#_timescale", parmidx, offsets, time, 0, 2-1);
665 myGeneratedCode =
""_UTsh;
666 if (
true && ( (
true&&!((((graph->
getInput(nodeidx,0)>=0)==0))||(((graph->
getInput(nodeidx,0)>=0)==1)))) ) )
667 graph->
evalOpParm(myGeneratedCode, nodeidx,
"generatedcode", time, 0);
683 template <
typename T>
690 if (idx.
size() != instance.
size()+1)
695 coerceValue(value, myKernelName);
698 coerceValue(value, myUseCode);
701 coerceValue(value, myKernelFile);
704 coerceValue(value, myKernelCode);
707 coerceValue(value, myAtBinding);
710 coerceValue(value, myKernelOptions);
713 coerceValue(value, myKernelOptionAttrib);
716 coerceValue(value, myUseWriteBackKernel);
719 coerceValue(value, myWriteBackKernelName);
722 coerceValue(value, myRecompile);
725 coerceValue(value, myRunOver);
728 coerceValue(value, myIterations);
731 coerceValue(value, myIteration);
734 coerceValue(value, myWorksets_begin);
737 coerceValue(value, myWorksets_length);
740 coerceValue(value, mySingleworkgroup);
743 coerceValue(value, myFinish);
746 coerceValue(value, myTime);
749 coerceValue(value, myTimeInc);
752 coerceValue(value, myTimescale);
755 coerceValue(value, myTimemethod);
758 coerceValue(value, myXnoise);
761 coerceValue(value, myPrecision);
764 coerceValue(value, myImportPrequel);
768 coerceValue(value, myBindings.entries());
769 else if (instance[0] < myBindings.entries())
771 auto && _data = myBindings(instance[0]);
775 coerceValue(value, _data.bindings_name);
778 coerceValue(value, _data.bindings_type);
781 coerceValue(value, _data.bindings_ramp);
784 coerceValue(value, _data.bindings_rampsize);
787 coerceValue(value, _data.bindings_input);
790 coerceValue(value, _data.bindings_volume);
793 coerceValue(value, _data.bindings_vdbtype);
796 coerceValue(value, _data.bindings_forcealign);
799 coerceValue(value, _data.bindings_resolution);
802 coerceValue(value, _data.bindings_voxelsize);
805 coerceValue(value, _data.bindings_xformtoworld);
808 coerceValue(value, _data.bindings_xformtovoxel);
811 coerceValue(value, _data.bindings_attribute);
814 coerceValue(value, _data.bindings_attribclass);
817 coerceValue(value, _data.bindings_attribtype);
820 coerceValue(value, _data.bindings_attribsize);
823 coerceValue(value, _data.bindings_precision);
826 coerceValue(value, _data.bindings_readable);
829 coerceValue(value, _data.bindings_writeable);
832 coerceValue(value, _data.bindings_optional);
835 coerceValue(value, _data.bindings_defval);
838 coerceValue(value, _data.bindings_intval);
841 coerceValue(value, _data.bindings_fval);
844 coerceValue(value, _data.bindings_v2val);
847 coerceValue(value, _data.bindings_v3val);
850 coerceValue(value, _data.bindings_v4val);
853 coerceValue(value, _data.bindings_timescale);
860 coerceValue(value, myGeneratedCode);
876 { doGetParmValue(idx, instance, value); }
878 { doGetParmValue(idx, instance, value); }
880 { doGetParmValue(idx, instance, value); }
882 { doGetParmValue(idx, instance, value); }
884 { doGetParmValue(idx, instance, value); }
886 { doGetParmValue(idx, instance, value); }
888 { doGetParmValue(idx, instance, value); }
890 { doGetParmValue(idx, instance, value); }
892 { doGetParmValue(idx, instance, value); }
894 { doGetParmValue(idx, instance, value); }
896 { doGetParmValue(idx, instance, value); }
898 template <
typename T>
905 if (idx.
size() != instance.
size()+1)
910 coerceValue(myKernelName, ( ( value ) ));
913 coerceValue(myUseCode, ( ( value ) ));
916 coerceValue(myKernelFile, ( ( value ) ));
919 coerceValue(myKernelCode, ( ( value ) ));
922 coerceValue(myAtBinding, ( ( value ) ));
925 coerceValue(myKernelOptions, ( ( value ) ));
928 coerceValue(myKernelOptionAttrib, ( ( value ) ));
931 coerceValue(myUseWriteBackKernel, ( ( value ) ));
934 coerceValue(myWriteBackKernelName, ( ( value ) ));
937 coerceValue(myRecompile, ( ( value ) ));
940 coerceValue(myRunOver, clampMinValue(0, clampMaxValue(3, value ) ));
943 coerceValue(myIterations, ( ( value ) ));
946 coerceValue(myIteration, ( ( value ) ));
949 coerceValue(myWorksets_begin, ( ( value ) ));
952 coerceValue(myWorksets_length, ( ( value ) ));
955 coerceValue(mySingleworkgroup, ( ( value ) ));
958 coerceValue(myFinish, ( ( value ) ));
961 coerceValue(myTime, ( ( value ) ));
964 coerceValue(myTimeInc, ( ( value ) ));
967 coerceValue(myTimescale, ( ( value ) ));
970 coerceValue(myTimemethod, clampMinValue(0, clampMaxValue(1, value ) ));
973 coerceValue(myXnoise, ( ( value ) ));
976 coerceValue(myPrecision, clampMinValue(0, clampMaxValue(3, value ) ));
979 coerceValue(myImportPrequel, ( ( value ) ));
985 coerceValue(newsize, value);
986 if (newsize < 0) newsize = 0;
987 myBindings.setSize(newsize);
993 myBindings.setSizeIfNeeded(instance[0]+1);
994 auto && _data = myBindings(instance[0]);
998 coerceValue(_data.bindings_name, value);
1001 coerceValue(_data.bindings_type, value);
1004 coerceValue(_data.bindings_ramp, value);
1007 coerceValue(_data.bindings_rampsize, value);
1010 coerceValue(_data.bindings_input, value);
1013 coerceValue(_data.bindings_volume, value);
1016 coerceValue(_data.bindings_vdbtype, value);
1019 coerceValue(_data.bindings_forcealign, value);
1022 coerceValue(_data.bindings_resolution, value);
1025 coerceValue(_data.bindings_voxelsize, value);
1028 coerceValue(_data.bindings_xformtoworld, value);
1031 coerceValue(_data.bindings_xformtovoxel, value);
1034 coerceValue(_data.bindings_attribute, value);
1037 coerceValue(_data.bindings_attribclass, value);
1040 coerceValue(_data.bindings_attribtype, value);
1043 coerceValue(_data.bindings_attribsize, value);
1046 coerceValue(_data.bindings_precision, value);
1049 coerceValue(_data.bindings_readable, value);
1052 coerceValue(_data.bindings_writeable, value);
1055 coerceValue(_data.bindings_optional, value);
1058 coerceValue(_data.bindings_defval, value);
1061 coerceValue(_data.bindings_intval, value);
1064 coerceValue(_data.bindings_fval, value);
1067 coerceValue(_data.bindings_v2val, value);
1070 coerceValue(_data.bindings_v3val, value);
1073 coerceValue(_data.bindings_v4val, value);
1076 coerceValue(_data.bindings_timescale, value);
1083 coerceValue(myGeneratedCode, ( ( value ) ));
1090 { doSetParmValue(idx, instance, value); }
1092 { doSetParmValue(idx, instance, value); }
1094 { doSetParmValue(idx, instance, value); }
1096 { doSetParmValue(idx, instance, value); }
1098 { doSetParmValue(idx, instance, value); }
1100 { doSetParmValue(idx, instance, value); }
1102 { doSetParmValue(idx, instance, value); }
1104 { doSetParmValue(idx, instance, value); }
1106 { doSetParmValue(idx, instance, value); }
1108 { doSetParmValue(idx, instance, value); }
1110 { doSetParmValue(idx, instance, value); }
1114 if (idx.
size() == 0)
1128 if (fieldnum.
size() < 1)
1130 switch (fieldnum[0])
1133 return "kernelname";
1137 return "kernelfile";
1139 return "kernelcode";
1143 return "kerneloptions";
1145 return "kerneloptionattrib";
1147 return "usewritebackkernel";
1149 return "writebackkernelname";
1155 return "iterations";
1159 return "worksets_begin";
1161 return "worksets_length";
1163 return "singleworkgroup";
1173 return "timemethod";
1179 return "importprequel";
1181 if (fieldnum.
size() == 1)
1183 switch (fieldnum[1])
1186 return "bindings#_name";
1188 return "bindings#_type";
1190 return "bindings#_ramp";
1192 return "bindings#_rampsize";
1194 return "bindings#_input";
1196 return "bindings#_volume";
1198 return "bindings#_vdbtype";
1200 return "bindings#_forcealign";
1202 return "bindings#_resolution";
1204 return "bindings#_voxelsize";
1206 return "bindings#_xformtoworld";
1208 return "bindings#_xformtovoxel";
1210 return "bindings#_attribute";
1212 return "bindings#_attribclass";
1214 return "bindings#_attribtype";
1216 return "bindings#_attribsize";
1218 return "bindings#_precision";
1220 return "bindings#_readable";
1222 return "bindings#_writeable";
1224 return "bindings#_optional";
1226 return "bindings#_defval";
1228 return "bindings#_intval";
1230 return "bindings#_fval";
1232 return "bindings#_v2val";
1234 return "bindings#_v3val";
1236 return "bindings#_v4val";
1238 return "bindings#_timescale";
1243 return "generatedcode";
1251 if (fieldnum.
size() < 1)
1252 return PARM_UNSUPPORTED;
1253 switch (fieldnum[0])
1258 return PARM_INTEGER;
1264 return PARM_INTEGER;
1270 return PARM_INTEGER;
1274 return PARM_INTEGER;
1276 return PARM_INTEGER;
1278 return PARM_INTEGER;
1280 return PARM_INTEGER;
1286 return PARM_INTEGER;
1288 return PARM_INTEGER;
1290 return PARM_INTEGER;
1292 return PARM_INTEGER;
1296 return PARM_INTEGER;
1298 return PARM_INTEGER;
1300 return PARM_INTEGER;
1302 return PARM_INTEGER;
1304 if (fieldnum.
size() == 1)
1305 return PARM_MULTIPARM;
1306 switch (fieldnum[1])
1311 return PARM_INTEGER;
1315 return PARM_INTEGER;
1317 return PARM_INTEGER;
1321 return PARM_INTEGER;
1323 return PARM_INTEGER;
1325 return PARM_INTEGER;
1327 return PARM_INTEGER;
1329 return PARM_INTEGER;
1331 return PARM_INTEGER;
1335 return PARM_INTEGER;
1337 return PARM_INTEGER;
1339 return PARM_INTEGER;
1341 return PARM_INTEGER;
1343 return PARM_INTEGER;
1345 return PARM_INTEGER;
1347 return PARM_INTEGER;
1349 return PARM_INTEGER;
1351 return PARM_INTEGER;
1355 return PARM_VECTOR2;
1357 return PARM_VECTOR3;
1359 return PARM_VECTOR4;
1361 return PARM_INTEGER;
1364 return PARM_UNSUPPORTED;
1369 return PARM_UNSUPPORTED;
1374 { is.
bread(&v, 1); }
1405 loadData(is, rampdata);
1423 int typelen = colon - data.
buffer();
1435 { UTwrite(os, &v); }
1437 {
int64 iv =
v; UTwrite(os, &iv); }
1439 { UTwrite<fpreal64>(os, &
v); }
1441 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1443 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1444 UTwrite<fpreal64>(os, &v.
z()); }
1446 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1447 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1459 if (s) s->save(ostr);
1460 result = ostr.
str();
1461 saveData(os, result);
1468 ostr << s->getDataTypeToken();
1470 s->saveBinary(ostr);
1472 result = ostr.
str();
1473 saveData(os, result);
1481 saveData(os, myKernelName);
1482 saveData(os, myUseCode);
1483 saveData(os, myKernelFile);
1484 saveData(os, myKernelCode);
1485 saveData(os, myAtBinding);
1486 saveData(os, myKernelOptions);
1487 saveData(os, myKernelOptionAttrib);
1488 saveData(os, myUseWriteBackKernel);
1489 saveData(os, myWriteBackKernelName);
1490 saveData(os, myRecompile);
1491 saveData(os, myRunOver);
1492 saveData(os, myIterations);
1493 saveData(os, myIteration);
1494 saveData(os, myWorksets_begin);
1495 saveData(os, myWorksets_length);
1496 saveData(os, mySingleworkgroup);
1497 saveData(os, myFinish);
1498 saveData(os, myTime);
1499 saveData(os, myTimeInc);
1500 saveData(os, myTimescale);
1501 saveData(os, myTimemethod);
1502 saveData(os, myXnoise);
1503 saveData(os, myPrecision);
1504 saveData(os, myImportPrequel);
1507 UTwrite(os, &length);
1510 auto && _curentry = myBindings(i);
1512 saveData(os, _curentry.bindings_name);
1513 saveData(os, _curentry.bindings_type);
1514 saveData(os, _curentry.bindings_ramp);
1515 saveData(os, _curentry.bindings_rampsize);
1516 saveData(os, _curentry.bindings_input);
1517 saveData(os, _curentry.bindings_volume);
1518 saveData(os, _curentry.bindings_vdbtype);
1519 saveData(os, _curentry.bindings_forcealign);
1520 saveData(os, _curentry.bindings_resolution);
1521 saveData(os, _curentry.bindings_voxelsize);
1522 saveData(os, _curentry.bindings_xformtoworld);
1523 saveData(os, _curentry.bindings_xformtovoxel);
1524 saveData(os, _curentry.bindings_attribute);
1525 saveData(os, _curentry.bindings_attribclass);
1526 saveData(os, _curentry.bindings_attribtype);
1527 saveData(os, _curentry.bindings_attribsize);
1528 saveData(os, _curentry.bindings_precision);
1529 saveData(os, _curentry.bindings_readable);
1530 saveData(os, _curentry.bindings_writeable);
1531 saveData(os, _curentry.bindings_optional);
1532 saveData(os, _curentry.bindings_defval);
1533 saveData(os, _curentry.bindings_intval);
1534 saveData(os, _curentry.bindings_fval);
1535 saveData(os, _curentry.bindings_v2val);
1536 saveData(os, _curentry.bindings_v3val);
1537 saveData(os, _curentry.bindings_v4val);
1538 saveData(os, _curentry.bindings_timescale);
1542 saveData(os, myGeneratedCode);
1555 loadData(is, myKernelName);
1556 loadData(is, myUseCode);
1557 loadData(is, myKernelFile);
1558 loadData(is, myKernelCode);
1559 loadData(is, myAtBinding);
1560 loadData(is, myKernelOptions);
1561 loadData(is, myKernelOptionAttrib);
1562 loadData(is, myUseWriteBackKernel);
1563 loadData(is, myWriteBackKernelName);
1564 loadData(is, myRecompile);
1565 loadData(is, myRunOver);
1566 loadData(is, myIterations);
1567 loadData(is, myIteration);
1568 loadData(is, myWorksets_begin);
1569 loadData(is, myWorksets_length);
1570 loadData(is, mySingleworkgroup);
1571 loadData(is, myFinish);
1572 loadData(is, myTime);
1573 loadData(is, myTimeInc);
1574 loadData(is, myTimescale);
1575 loadData(is, myTimemethod);
1576 loadData(is, myXnoise);
1577 loadData(is, myPrecision);
1578 loadData(is, myImportPrequel);
1581 is.
read(&length, 1);
1582 myBindings.setSize(length);
1585 auto && _curentry = myBindings(i);
1587 loadData(is, _curentry.bindings_name);
1588 loadData(is, _curentry.bindings_type);
1589 loadData(is, _curentry.bindings_ramp);
1590 loadData(is, _curentry.bindings_rampsize);
1591 loadData(is, _curentry.bindings_input);
1592 loadData(is, _curentry.bindings_volume);
1593 loadData(is, _curentry.bindings_vdbtype);
1594 loadData(is, _curentry.bindings_forcealign);
1595 loadData(is, _curentry.bindings_resolution);
1596 loadData(is, _curentry.bindings_voxelsize);
1597 loadData(is, _curentry.bindings_xformtoworld);
1598 loadData(is, _curentry.bindings_xformtovoxel);
1599 loadData(is, _curentry.bindings_attribute);
1600 loadData(is, _curentry.bindings_attribclass);
1601 loadData(is, _curentry.bindings_attribtype);
1602 loadData(is, _curentry.bindings_attribsize);
1603 loadData(is, _curentry.bindings_precision);
1604 loadData(is, _curentry.bindings_readable);
1605 loadData(is, _curentry.bindings_writeable);
1606 loadData(is, _curentry.bindings_optional);
1607 loadData(is, _curentry.bindings_defval);
1608 loadData(is, _curentry.bindings_intval);
1609 loadData(is, _curentry.bindings_fval);
1610 loadData(is, _curentry.bindings_v2val);
1611 loadData(is, _curentry.bindings_v3val);
1612 loadData(is, _curentry.bindings_v4val);
1613 loadData(is, _curentry.bindings_timescale);
1617 loadData(is, myGeneratedCode);
1627 if (!thissop)
return getKernelName();
1629 OP_Utils::evalOpParm(result, thissop,
"kernelname", cookparms.
getCookTime(), 0);
1637 if (!thissop)
return getUseCode();
1639 OP_Utils::evalOpParm(result, thissop,
"usecode", cookparms.
getCookTime(), 0);
1647 if (!thissop)
return getKernelFile();
1649 OP_Utils::evalOpParm(result, thissop,
"kernelfile", cookparms.
getCookTime(), 0);
1657 if (!thissop)
return getKernelCode();
1659 OP_Utils::evalOpParm(result, thissop,
"kernelcode", cookparms.
getCookTime(), 0);
1667 if (!thissop)
return getAtBinding();
1669 OP_Utils::evalOpParm(result, thissop,
"atbinding", cookparms.
getCookTime(), 0);
1677 if (!thissop)
return getKernelOptions();
1679 OP_Utils::evalOpParm(result, thissop,
"kerneloptions", cookparms.
getCookTime(), 0);
1687 if (!thissop)
return getKernelOptionAttrib();
1689 OP_Utils::evalOpParm(result, thissop,
"kerneloptionattrib", cookparms.
getCookTime(), 0);
1697 if (!thissop)
return getUseWriteBackKernel();
1699 OP_Utils::evalOpParm(result, thissop,
"usewritebackkernel", cookparms.
getCookTime(), 0);
1707 if (!thissop)
return getWriteBackKernelName();
1709 OP_Utils::evalOpParm(result, thissop,
"writebackkernelname", cookparms.
getCookTime(), 0);
1717 if (!thissop)
return getRecompile();
1719 OP_Utils::evalOpParm(result, thissop,
"recompile", cookparms.
getCookTime(), 0);
1727 if (!thissop)
return getRunOver();
1729 OP_Utils::evalOpParm(result, thissop,
"runover", cookparms.
getCookTime(), 0);
1737 if (!thissop)
return getIterations();
1739 OP_Utils::evalOpParm(result, thissop,
"iterations", cookparms.
getCookTime(), 0);
1747 if (!thissop)
return getIteration();
1749 OP_Utils::evalOpParm(result, thissop,
"iteration", cookparms.
getCookTime(), 0);
1757 if (!thissop)
return getWorksets_begin();
1759 OP_Utils::evalOpParm(result, thissop,
"worksets_begin", cookparms.
getCookTime(), 0);
1767 if (!thissop)
return getWorksets_length();
1769 OP_Utils::evalOpParm(result, thissop,
"worksets_length", cookparms.
getCookTime(), 0);
1777 if (!thissop)
return getSingleworkgroup();
1779 OP_Utils::evalOpParm(result, thissop,
"singleworkgroup", cookparms.
getCookTime(), 0);
1787 if (!thissop)
return getFinish();
1789 OP_Utils::evalOpParm(result, thissop,
"finish", cookparms.
getCookTime(), 0);
1797 if (!thissop)
return getTime();
1799 OP_Utils::evalOpParm(result, thissop,
"time", cookparms.
getCookTime(), 0);
1807 if (!thissop)
return getTimeInc();
1809 OP_Utils::evalOpParm(result, thissop,
"timeinc", cookparms.
getCookTime(), 0);
1817 if (!thissop)
return getTimescale();
1819 OP_Utils::evalOpParm(result, thissop,
"timescale", cookparms.
getCookTime(), 0);
1827 if (!thissop)
return getTimemethod();
1829 OP_Utils::evalOpParm(result, thissop,
"timemethod", cookparms.
getCookTime(), 0);
1837 if (!thissop)
return getXnoise();
1839 OP_Utils::evalOpParm(result, thissop,
"xnoise", cookparms.
getCookTime(), 0);
1847 if (!thissop)
return getPrecision();
1849 OP_Utils::evalOpParm(result, thissop,
"precision", cookparms.
getCookTime(), 0);
1857 if (!thissop)
return getImportPrequel();
1859 OP_Utils::evalOpParm(result, thissop,
"importprequel", cookparms.
getCookTime(), 0);
1867 if (!thissop)
return getBindings().entries();
1869 OP_Utils::evalOpParm(result, thissop,
"bindings", cookparms.
getCookTime(), 0);
1873 {
return opinstBindings_bindings_name(cookparms, &_idx); }
1877 if (!thissop)
return (myBindings(_idx[0]).bindings_name);
1879 _parmidx[1-1] = _idx[1-1] + 1;
1882 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_name", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1886 {
return opinstBindings_bindings_type(cookparms, &_idx); }
1890 if (!thissop)
return (myBindings(_idx[0]).bindings_type);
1892 _parmidx[1-1] = _idx[1-1] + 1;
1895 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_type", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1899 {
return opinstBindings_bindings_ramp(cookparms, &_idx); }
1903 if (!thissop)
return (myBindings(_idx[0]).bindings_ramp);
1905 _parmidx[1-1] = _idx[1-1] + 1;
1908 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_ramp", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1912 {
return opinstBindings_bindings_rampsize(cookparms, &_idx); }
1916 if (!thissop)
return (myBindings(_idx[0]).bindings_rampsize);
1918 _parmidx[1-1] = _idx[1-1] + 1;
1921 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_rampsize", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1925 {
return opinstBindings_bindings_input(cookparms, &_idx); }
1929 if (!thissop)
return (myBindings(_idx[0]).bindings_input);
1931 _parmidx[1-1] = _idx[1-1] + 1;
1934 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_input", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1938 {
return opinstBindings_bindings_volume(cookparms, &_idx); }
1942 if (!thissop)
return (myBindings(_idx[0]).bindings_volume);
1944 _parmidx[1-1] = _idx[1-1] + 1;
1947 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_volume", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1951 {
return opinstBindings_bindings_vdbtype(cookparms, &_idx); }
1955 if (!thissop)
return (myBindings(_idx[0]).bindings_vdbtype);
1957 _parmidx[1-1] = _idx[1-1] + 1;
1960 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_vdbtype", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1964 {
return opinstBindings_bindings_forcealign(cookparms, &_idx); }
1968 if (!thissop)
return (myBindings(_idx[0]).bindings_forcealign);
1970 _parmidx[1-1] = _idx[1-1] + 1;
1973 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_forcealign", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1977 {
return opinstBindings_bindings_resolution(cookparms, &_idx); }
1981 if (!thissop)
return (myBindings(_idx[0]).bindings_resolution);
1983 _parmidx[1-1] = _idx[1-1] + 1;
1986 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_resolution", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1990 {
return opinstBindings_bindings_voxelsize(cookparms, &_idx); }
1994 if (!thissop)
return (myBindings(_idx[0]).bindings_voxelsize);
1996 _parmidx[1-1] = _idx[1-1] + 1;
1999 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_voxelsize", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2003 {
return opinstBindings_bindings_xformtoworld(cookparms, &_idx); }
2007 if (!thissop)
return (myBindings(_idx[0]).bindings_xformtoworld);
2009 _parmidx[1-1] = _idx[1-1] + 1;
2012 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_xformtoworld", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2016 {
return opinstBindings_bindings_xformtovoxel(cookparms, &_idx); }
2020 if (!thissop)
return (myBindings(_idx[0]).bindings_xformtovoxel);
2022 _parmidx[1-1] = _idx[1-1] + 1;
2025 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_xformtovoxel", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2029 {
return opinstBindings_bindings_attribute(cookparms, &_idx); }
2033 if (!thissop)
return (myBindings(_idx[0]).bindings_attribute);
2035 _parmidx[1-1] = _idx[1-1] + 1;
2038 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_attribute", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2042 {
return opinstBindings_bindings_attribclass(cookparms, &_idx); }
2046 if (!thissop)
return (myBindings(_idx[0]).bindings_attribclass);
2048 _parmidx[1-1] = _idx[1-1] + 1;
2051 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_attribclass", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2055 {
return opinstBindings_bindings_attribtype(cookparms, &_idx); }
2059 if (!thissop)
return (myBindings(_idx[0]).bindings_attribtype);
2061 _parmidx[1-1] = _idx[1-1] + 1;
2064 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_attribtype", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2068 {
return opinstBindings_bindings_attribsize(cookparms, &_idx); }
2072 if (!thissop)
return (myBindings(_idx[0]).bindings_attribsize);
2074 _parmidx[1-1] = _idx[1-1] + 1;
2077 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_attribsize", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2081 {
return opinstBindings_bindings_precision(cookparms, &_idx); }
2085 if (!thissop)
return (myBindings(_idx[0]).bindings_precision);
2087 _parmidx[1-1] = _idx[1-1] + 1;
2090 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_precision", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2094 {
return opinstBindings_bindings_readable(cookparms, &_idx); }
2098 if (!thissop)
return (myBindings(_idx[0]).bindings_readable);
2100 _parmidx[1-1] = _idx[1-1] + 1;
2103 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_readable", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2107 {
return opinstBindings_bindings_writeable(cookparms, &_idx); }
2111 if (!thissop)
return (myBindings(_idx[0]).bindings_writeable);
2113 _parmidx[1-1] = _idx[1-1] + 1;
2116 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_writeable", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2120 {
return opinstBindings_bindings_optional(cookparms, &_idx); }
2124 if (!thissop)
return (myBindings(_idx[0]).bindings_optional);
2126 _parmidx[1-1] = _idx[1-1] + 1;
2129 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_optional", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2133 {
return opinstBindings_bindings_defval(cookparms, &_idx); }
2137 if (!thissop)
return (myBindings(_idx[0]).bindings_defval);
2139 _parmidx[1-1] = _idx[1-1] + 1;
2142 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_defval", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2146 {
return opinstBindings_bindings_intval(cookparms, &_idx); }
2150 if (!thissop)
return (myBindings(_idx[0]).bindings_intval);
2152 _parmidx[1-1] = _idx[1-1] + 1;
2155 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_intval", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2159 {
return opinstBindings_bindings_fval(cookparms, &_idx); }
2163 if (!thissop)
return (myBindings(_idx[0]).bindings_fval);
2165 _parmidx[1-1] = _idx[1-1] + 1;
2168 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_fval", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2172 {
return opinstBindings_bindings_v2val(cookparms, &_idx); }
2176 if (!thissop)
return (myBindings(_idx[0]).bindings_v2val);
2178 _parmidx[1-1] = _idx[1-1] + 1;
2181 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_v2val", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2185 {
return opinstBindings_bindings_v3val(cookparms, &_idx); }
2189 if (!thissop)
return (myBindings(_idx[0]).bindings_v3val);
2191 _parmidx[1-1] = _idx[1-1] + 1;
2194 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_v3val", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2198 {
return opinstBindings_bindings_v4val(cookparms, &_idx); }
2202 if (!thissop)
return (myBindings(_idx[0]).bindings_v4val);
2204 _parmidx[1-1] = _idx[1-1] + 1;
2207 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_v4val", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2211 {
return opinstBindings_bindings_timescale(cookparms, &_idx); }
2215 if (!thissop)
return (myBindings(_idx[0]).bindings_timescale);
2217 _parmidx[1-1] = _idx[1-1] + 1;
2220 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_timescale", _parmidx, cookparms.
getCookTime(), 0, 2-1);
2229 if (!thissop)
return getGeneratedCode();
2231 OP_Utils::evalOpParm(result, thissop,
"generatedcode", cookparms.
getCookTime(), 0);
2243 bool myUseWriteBackKernel;
2251 bool mySingleworkgroup;
2259 bool myImportPrequel;
const UT_StringHolder & getWorksets_length() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
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)
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
exint bread(int32 *buffer, exint asize=1)
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)
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 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
virtual NodeIdx getInput(NodeIdx idx, int input, bool markused=false) const =0
constexpr SYS_FORCE_INLINE T & x() noexcept
void save(std::ostream &os) const
void setKernelOptions(const UT_StringHolder &val)
GLuint GLsizei const GLuint const GLintptr * offsets
void setTimescale(fpreal64 val)
const UT_StringHolder & getWorksets_begin() const
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
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)
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
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
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
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)
UT_StringHolder opKernelOptions(const SOP_NodeVerb::CookParms &cookparms) const
bool opBindings_bindings_optional(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
void setTimeInc(bool val)
constexpr SYS_FORCE_INLINE T & y() noexcept
SYS_FORCE_INLINE bool isstring() const
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