20 using namespace UT::Literal;
23 namespace SOP_OpenCLEnums
118 bindings_name =
""_sh;
124 bindings_timescale = 0;
126 bindings_rampsize = 1024;
127 bindings_volume =
""_sh;
128 bindings_forcealign =
true;
129 bindings_resolution =
false;
130 bindings_voxelsize =
false;
131 bindings_xformtoworld =
false;
132 bindings_xformtovoxel =
false;
133 bindings_attribute =
""_sh;
134 bindings_attribclass = 2;
135 bindings_attribtype = 0;
136 bindings_attribsize = 1;
137 bindings_precision = 2;
138 bindings_readable =
true;
139 bindings_writeable =
false;
140 bindings_optional =
false;
185 for (
int i = 0; i < list.
entries(); i++)
199 buf.
appendSprintf(
"(%f, %f, %f)", list(i).bindings_v3val.x(), list(i).bindings_v3val.y(), list(i).bindings_v3val.z());
201 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());
205 if (list(i).bindings_ramp)
209 list(i).bindings_ramp->save(os);
219 buf.
appendSprintf(
"%s", (list(i).bindings_forcealign) ?
"true" :
"false");
221 buf.
appendSprintf(
"%s", (list(i).bindings_resolution) ?
"true" :
"false");
223 buf.
appendSprintf(
"%s", (list(i).bindings_voxelsize) ?
"true" :
"false");
225 buf.
appendSprintf(
"%s", (list(i).bindings_xformtoworld) ?
"true" :
"false");
227 buf.
appendSprintf(
"%s", (list(i).bindings_xformtovoxel) ?
"true" :
"false");
239 buf.
appendSprintf(
"%s", (list(i).bindings_readable) ?
"true" :
"false");
241 buf.
appendSprintf(
"%s", (list(i).bindings_writeable) ?
"true" :
"false");
243 buf.
appendSprintf(
"%s", (list(i).bindings_optional) ?
"true" :
"false");
255 myKernelname =
"kernelName"_sh;
257 myKernelfile =
""_sh;
258 myKernelcode =
""_sh;
259 myKerneloptions =
""_sh;
260 myKerneloptionattrib =
""_sh;
261 myUsewritebackkernel =
false;
262 myWritebackkernelname =
"writeBack"_sh;
266 myWorksets_begin =
""_sh;
267 myWorksets_length =
""_sh;
268 mySingleworkgroup =
false;
285 if (myKernelname != src.myKernelname)
return false;
286 if (myUsecode != src.myUsecode)
return false;
287 if (myKernelfile != src.myKernelfile)
return false;
288 if (myKernelcode != src.myKernelcode)
return false;
289 if (myKerneloptions != src.myKerneloptions)
return false;
290 if (myKerneloptionattrib != src.myKerneloptionattrib)
return false;
291 if (myUsewritebackkernel != src.myUsewritebackkernel)
return false;
292 if (myWritebackkernelname != src.myWritebackkernelname)
return false;
293 if (myRecompile != src.myRecompile)
return false;
294 if (myRunOver != src.myRunOver)
return false;
295 if (myIterations != src.myIterations)
return false;
296 if (myWorksets_begin != src.myWorksets_begin)
return false;
297 if (myWorksets_length != src.myWorksets_length)
return false;
298 if (mySingleworkgroup != src.mySingleworkgroup)
return false;
299 if (myFinish != src.myFinish)
return false;
300 if (myTime != src.myTime)
return false;
301 if (myTimeinc != src.myTimeinc)
return false;
302 if (myTimescale != src.myTimescale)
return false;
303 if (myTimemethod != src.myTimemethod)
return false;
304 if (myXnoise != src.myXnoise)
return false;
305 if (myPrecision != src.myPrecision)
return false;
306 if (myBindings != src.myBindings)
return false;
327 myKernelname =
"kernelName"_sh;
329 graph->
evalOpParm(myKernelname, nodeidx,
"kernelname", time, 0);
332 graph->
evalOpParm(myUsecode, nodeidx,
"usecode", time, 0);
333 myKernelfile =
""_sh;
334 if (
true && ( (!(((getUsecode()!=0)))) ) )
335 graph->
evalOpParm(myKernelfile, nodeidx,
"kernelfile", time, 0);
336 myKernelcode =
""_sh;
337 if (
true && ( (!(((getUsecode()==0)))) ) )
338 graph->
evalOpParm(myKernelcode, nodeidx,
"kernelcode", time, 0);
339 myKerneloptions =
""_sh;
341 graph->
evalOpParm(myKerneloptions, nodeidx,
"kerneloptions", time, 0);
342 myKerneloptionattrib =
""_sh;
344 graph->
evalOpParm(myKerneloptionattrib, nodeidx,
"kerneloptionattrib", time, 0);
345 myUsewritebackkernel =
false;
347 graph->
evalOpParm(myUsewritebackkernel, nodeidx,
"usewritebackkernel", time, 0);
348 myWritebackkernelname =
"writeBack"_sh;
349 if (
true && ( (!(((getUsewritebackkernel()==0)))) ) )
350 graph->
evalOpParm(myWritebackkernelname, nodeidx,
"writebackkernelname", time, 0);
353 graph->
evalOpParm(myRecompile, nodeidx,
"recompile", time, 0);
356 graph->
evalOpParm(myRunOver, nodeidx,
"runover", time, 0);
359 graph->
evalOpParm(myIterations, nodeidx,
"iterations", time, 0);
360 myWorksets_begin =
""_sh;
361 if (
true && ( (!(((
int64(getRunOver())!=2)))) ) )
362 graph->
evalOpParm(myWorksets_begin, nodeidx,
"worksets_begin", time, 0);
363 myWorksets_length =
""_sh;
364 if (
true && ( (!(((
int64(getRunOver())!=2)))) ) )
365 graph->
evalOpParm(myWorksets_length, nodeidx,
"worksets_length", time, 0);
366 mySingleworkgroup =
false;
367 if (
true && ( (!(((
int64(getRunOver())!=2)))) ) )
368 graph->
evalOpParm(mySingleworkgroup, nodeidx,
"singleworkgroup", time, 0);
371 graph->
evalOpParm(myFinish, nodeidx,
"finish", time, 0);
374 graph->
evalOpParm(myTime, nodeidx,
"time", time, 0);
377 graph->
evalOpParm(myTimeinc, nodeidx,
"timeinc", time, 0);
379 if (
true && ( (!(((getTimeinc()==0)))) ) )
380 graph->
evalOpParm(myTimescale, nodeidx,
"timescale", time, 0);
382 if (
true && ( (!(((getTimeinc()==0)))) ) )
383 graph->
evalOpParm(myTimemethod, nodeidx,
"timemethod", time, 0);
386 graph->
evalOpParm(myXnoise, nodeidx,
"xnoise", time, 0);
389 graph->
evalOpParm(myPrecision, nodeidx,
"precision", time, 0);
393 graph->
evalOpParm(length, nodeidx,
"bindings", time, 0);
394 myBindings.entries(length);
398 auto && _curentry = myBindings(i);
400 myBindings(i).bindings_name =
""_sh;
402 graph->
evalOpParmInst(myBindings(i).bindings_name, nodeidx,
"bindings#_name", &parmidx, time, 0);
403 myBindings(i).bindings_type = 0;
405 graph->
evalOpParmInst(myBindings(i).bindings_type, nodeidx,
"bindings#_type", &parmidx, time, 0);
406 myBindings(i).bindings_intval = 0;
407 if (
true && ( (!(((_curentry.bindings_type!=0)))) ) )
408 graph->
evalOpParmInst(myBindings(i).bindings_intval, nodeidx,
"bindings#_intval", &parmidx, time, 0);
409 myBindings(i).bindings_fval = 0;
410 if (
true && ( (!(((_curentry.bindings_type!=1)))) ) )
411 graph->
evalOpParmInst(myBindings(i).bindings_fval, nodeidx,
"bindings#_fval", &parmidx, time, 0);
413 if (
true && ( (!(((_curentry.bindings_type!=2)))) ) )
414 graph->
evalOpParmInst(myBindings(i).bindings_v3val, nodeidx,
"bindings#_v3val", &parmidx, time, 0);
415 myBindings(i).bindings_v4val =
UT_Vector4D(0,0,0,0);
416 if (
true && ( (!(((_curentry.bindings_type!=3)))) ) )
417 graph->
evalOpParmInst(myBindings(i).bindings_v4val, nodeidx,
"bindings#_v4val", &parmidx, time, 0);
418 myBindings(i).bindings_timescale = 0;
419 if (
true && ( (!(((_curentry.bindings_type!=1)))) ) )
420 graph->
evalOpParmInst(myBindings(i).bindings_timescale, nodeidx,
"bindings#_timescale", &parmidx, time, 0);
422 if (
true && ( (!(((_curentry.bindings_type!=4)))) ) )
423 graph->
evalOpParmInst(myBindings(i).bindings_ramp, nodeidx,
"bindings#_ramp", &parmidx, time, 0);
424 myBindings(i).bindings_rampsize = 1024;
425 if (
true && ( (!(((_curentry.bindings_type!=4)))) ) )
426 graph->
evalOpParmInst(myBindings(i).bindings_rampsize, nodeidx,
"bindings#_rampsize", &parmidx, time, 0);
427 myBindings(i).bindings_volume =
""_sh;
428 if (
true && ( (!(((_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7)))) ) )
429 graph->
evalOpParmInst(myBindings(i).bindings_volume, nodeidx,
"bindings#_volume", &parmidx, time, 0);
430 myBindings(i).bindings_forcealign =
true;
431 if (
true && ( (!(((_curentry.bindings_type!=6)))) ) )
432 graph->
evalOpParmInst(myBindings(i).bindings_forcealign, nodeidx,
"bindings#_forcealign", &parmidx, time, 0);
433 myBindings(i).bindings_resolution =
false;
434 if (
true && ( (!(((_curentry.bindings_type!=6))||((_curentry.bindings_forcealign==1)))) ) )
435 graph->
evalOpParmInst(myBindings(i).bindings_resolution, nodeidx,
"bindings#_resolution", &parmidx, time, 0);
436 myBindings(i).bindings_voxelsize =
false;
437 if (
true && ( (!(((_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7))||((_curentry.bindings_forcealign==1)&&(_curentry.bindings_type==6)))) ) )
438 graph->
evalOpParmInst(myBindings(i).bindings_voxelsize, nodeidx,
"bindings#_voxelsize", &parmidx, time, 0);
439 myBindings(i).bindings_xformtoworld =
false;
440 if (
true && ( (!(((_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7))||((_curentry.bindings_forcealign==1)&&(_curentry.bindings_type==6)))) ) )
441 graph->
evalOpParmInst(myBindings(i).bindings_xformtoworld, nodeidx,
"bindings#_xformtoworld", &parmidx, time, 0);
442 myBindings(i).bindings_xformtovoxel =
false;
443 if (
true && ( (!(((_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7))||((_curentry.bindings_forcealign==1)&&(_curentry.bindings_type==6)))) ) )
444 graph->
evalOpParmInst(myBindings(i).bindings_xformtovoxel, nodeidx,
"bindings#_xformtovoxel", &parmidx, time, 0);
445 myBindings(i).bindings_attribute =
""_sh;
446 if (
true && ( (!(((_curentry.bindings_type!=5)))) ) )
447 graph->
evalOpParmInst(myBindings(i).bindings_attribute, nodeidx,
"bindings#_attribute", &parmidx, time, 0);
448 myBindings(i).bindings_attribclass = 2;
449 if (
true && ( (!(((_curentry.bindings_type!=5)))) ) )
450 graph->
evalOpParmInst(myBindings(i).bindings_attribclass, nodeidx,
"bindings#_attribclass", &parmidx, time, 0);
451 myBindings(i).bindings_attribtype = 0;
452 if (
true && ( (!(((_curentry.bindings_type!=5)))) ) )
453 graph->
evalOpParmInst(myBindings(i).bindings_attribtype, nodeidx,
"bindings#_attribtype", &parmidx, time, 0);
454 myBindings(i).bindings_attribsize = 1;
455 if (
true && ( (!(((_curentry.bindings_type!=5)))) ) )
456 graph->
evalOpParmInst(myBindings(i).bindings_attribsize, nodeidx,
"bindings#_attribsize", &parmidx, time, 0);
457 myBindings(i).bindings_precision = 2;
459 graph->
evalOpParmInst(myBindings(i).bindings_precision, nodeidx,
"bindings#_precision", &parmidx, time, 0);
460 myBindings(i).bindings_readable =
true;
461 if (
true && ( (!(((_curentry.bindings_type!=5)&&(_curentry.bindings_type!=6)))) ) )
462 graph->
evalOpParmInst(myBindings(i).bindings_readable, nodeidx,
"bindings#_readable", &parmidx, time, 0);
463 myBindings(i).bindings_writeable =
false;
464 if (
true && ( (!(((_curentry.bindings_type!=5)&&(_curentry.bindings_type!=6)))) ) )
465 graph->
evalOpParmInst(myBindings(i).bindings_writeable, nodeidx,
"bindings#_writeable", &parmidx, time, 0);
466 myBindings(i).bindings_optional =
false;
467 if (
true && ( (!(((_curentry.bindings_type!=5)&&(_curentry.bindings_type!=6)&&(_curentry.bindings_type!=7)))) ) )
468 graph->
evalOpParmInst(myBindings(i).bindings_optional, nodeidx,
"bindings#_optional", &parmidx, time, 0);
489 template <
typename T>
496 if (idx.
size() != instance.
size()+1)
501 coerceValue(value, myKernelname);
504 coerceValue(value, myUsecode);
507 coerceValue(value, myKernelfile);
510 coerceValue(value, myKernelcode);
513 coerceValue(value, myKerneloptions);
516 coerceValue(value, myKerneloptionattrib);
519 coerceValue(value, myUsewritebackkernel);
522 coerceValue(value, myWritebackkernelname);
525 coerceValue(value, myRecompile);
528 coerceValue(value, myRunOver);
531 coerceValue(value, myIterations);
534 coerceValue(value, myWorksets_begin);
537 coerceValue(value, myWorksets_length);
540 coerceValue(value, mySingleworkgroup);
543 coerceValue(value, myFinish);
546 coerceValue(value, myTime);
549 coerceValue(value, myTimeinc);
552 coerceValue(value, myTimescale);
555 coerceValue(value, myTimemethod);
558 coerceValue(value, myXnoise);
561 coerceValue(value, myPrecision);
565 coerceValue(value, myBindings.entries());
566 else if (instance[0] < myBindings.entries())
568 auto && _data = myBindings(instance[0]);
572 coerceValue(value, _data.bindings_name);
575 coerceValue(value, _data.bindings_type);
578 coerceValue(value, _data.bindings_intval);
581 coerceValue(value, _data.bindings_fval);
584 coerceValue(value, _data.bindings_v3val);
587 coerceValue(value, _data.bindings_v4val);
590 coerceValue(value, _data.bindings_timescale);
593 coerceValue(value, _data.bindings_ramp);
596 coerceValue(value, _data.bindings_rampsize);
599 coerceValue(value, _data.bindings_volume);
602 coerceValue(value, _data.bindings_forcealign);
605 coerceValue(value, _data.bindings_resolution);
608 coerceValue(value, _data.bindings_voxelsize);
611 coerceValue(value, _data.bindings_xformtoworld);
614 coerceValue(value, _data.bindings_xformtovoxel);
617 coerceValue(value, _data.bindings_attribute);
620 coerceValue(value, _data.bindings_attribclass);
623 coerceValue(value, _data.bindings_attribtype);
626 coerceValue(value, _data.bindings_attribsize);
629 coerceValue(value, _data.bindings_precision);
632 coerceValue(value, _data.bindings_readable);
635 coerceValue(value, _data.bindings_writeable);
638 coerceValue(value, _data.bindings_optional);
649 { doGetParmValue(idx, instance, value); }
651 { doGetParmValue(idx, instance, value); }
653 { doGetParmValue(idx, instance, value); }
655 { doGetParmValue(idx, instance, value); }
657 { doGetParmValue(idx, instance, value); }
659 { doGetParmValue(idx, instance, value); }
661 { doGetParmValue(idx, instance, value); }
663 { doGetParmValue(idx, instance, value); }
665 { doGetParmValue(idx, instance, value); }
667 { doGetParmValue(idx, instance, value); }
669 { doGetParmValue(idx, instance, value); }
671 template <
typename T>
678 if (idx.
size() != instance.
size()+1)
683 coerceValue(myKernelname, value);
686 coerceValue(myUsecode, value);
689 coerceValue(myKernelfile, value);
692 coerceValue(myKernelcode, value);
695 coerceValue(myKerneloptions, value);
698 coerceValue(myKerneloptionattrib, value);
701 coerceValue(myUsewritebackkernel, value);
704 coerceValue(myWritebackkernelname, value);
707 coerceValue(myRecompile, value);
710 coerceValue(myRunOver, value);
713 coerceValue(myIterations, value);
716 coerceValue(myWorksets_begin, value);
719 coerceValue(myWorksets_length, value);
722 coerceValue(mySingleworkgroup, value);
725 coerceValue(myFinish, value);
728 coerceValue(myTime, value);
731 coerceValue(myTimeinc, value);
734 coerceValue(myTimescale, value);
737 coerceValue(myTimemethod, value);
740 coerceValue(myXnoise, value);
743 coerceValue(myPrecision, value);
749 coerceValue(newsize, value);
750 myBindings.setSize(newsize);
754 myBindings.setSizeIfNeeded(instance[0]+1);
755 auto && _data = myBindings(instance[0]);
759 coerceValue(_data.bindings_name, value);
762 coerceValue(_data.bindings_type, value);
765 coerceValue(_data.bindings_intval, value);
768 coerceValue(_data.bindings_fval, value);
771 coerceValue(_data.bindings_v3val, value);
774 coerceValue(_data.bindings_v4val, value);
777 coerceValue(_data.bindings_timescale, value);
780 coerceValue(_data.bindings_ramp, value);
783 coerceValue(_data.bindings_rampsize, value);
786 coerceValue(_data.bindings_volume, value);
789 coerceValue(_data.bindings_forcealign, value);
792 coerceValue(_data.bindings_resolution, value);
795 coerceValue(_data.bindings_voxelsize, value);
798 coerceValue(_data.bindings_xformtoworld, value);
801 coerceValue(_data.bindings_xformtovoxel, value);
804 coerceValue(_data.bindings_attribute, value);
807 coerceValue(_data.bindings_attribclass, value);
810 coerceValue(_data.bindings_attribtype, value);
813 coerceValue(_data.bindings_attribsize, value);
816 coerceValue(_data.bindings_precision, value);
819 coerceValue(_data.bindings_readable, value);
822 coerceValue(_data.bindings_writeable, value);
825 coerceValue(_data.bindings_optional, value);
836 { doSetParmValue(idx, instance, value); }
838 { doSetParmValue(idx, instance, value); }
840 { doSetParmValue(idx, instance, value); }
842 { doSetParmValue(idx, instance, value); }
844 { doSetParmValue(idx, instance, value); }
846 { doSetParmValue(idx, instance, value); }
848 { doSetParmValue(idx, instance, value); }
850 { doSetParmValue(idx, instance, value); }
852 { doSetParmValue(idx, instance, value); }
854 { doSetParmValue(idx, instance, value); }
856 { doSetParmValue(idx, instance, value); }
874 if (fieldnum.
size() < 1)
887 return "kerneloptions";
889 return "kerneloptionattrib";
891 return "usewritebackkernel";
893 return "writebackkernelname";
901 return "worksets_begin";
903 return "worksets_length";
905 return "singleworkgroup";
921 if (fieldnum.
size() == 1)
926 return "bindings#_name";
928 return "bindings#_type";
930 return "bindings#_intval";
932 return "bindings#_fval";
934 return "bindings#_v3val";
936 return "bindings#_v4val";
938 return "bindings#_timescale";
940 return "bindings#_ramp";
942 return "bindings#_rampsize";
944 return "bindings#_volume";
946 return "bindings#_forcealign";
948 return "bindings#_resolution";
950 return "bindings#_voxelsize";
952 return "bindings#_xformtoworld";
954 return "bindings#_xformtovoxel";
956 return "bindings#_attribute";
958 return "bindings#_attribclass";
960 return "bindings#_attribtype";
962 return "bindings#_attribsize";
964 return "bindings#_precision";
966 return "bindings#_readable";
968 return "bindings#_writeable";
970 return "bindings#_optional";
981 if (fieldnum.
size() < 1)
982 return PARM_UNSUPPORTED;
1002 return PARM_INTEGER;
1004 return PARM_INTEGER;
1006 return PARM_INTEGER;
1012 return PARM_INTEGER;
1014 return PARM_INTEGER;
1016 return PARM_INTEGER;
1018 return PARM_INTEGER;
1022 return PARM_INTEGER;
1024 return PARM_INTEGER;
1026 return PARM_INTEGER;
1028 if (fieldnum.
size() == 1)
1029 return PARM_MULTIPARM;
1030 switch (fieldnum[1])
1035 return PARM_INTEGER;
1037 return PARM_INTEGER;
1041 return PARM_VECTOR3;
1043 return PARM_VECTOR4;
1045 return PARM_INTEGER;
1049 return PARM_INTEGER;
1053 return PARM_INTEGER;
1055 return PARM_INTEGER;
1057 return PARM_INTEGER;
1059 return PARM_INTEGER;
1061 return PARM_INTEGER;
1065 return PARM_INTEGER;
1067 return PARM_INTEGER;
1069 return PARM_INTEGER;
1071 return PARM_INTEGER;
1073 return PARM_INTEGER;
1075 return PARM_INTEGER;
1077 return PARM_INTEGER;
1080 return PARM_UNSUPPORTED;
1083 return PARM_UNSUPPORTED;
1088 { is.
bread(&v, 1); }
1119 loadData(is, rampdata);
1137 int typelen = colon - data.
buffer();
1149 { UTwrite(os, &v); }
1151 {
int64 iv =
v; UTwrite(os, &iv); }
1153 { UTwrite<fpreal64>(os, &
v); }
1155 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1157 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1158 UTwrite<fpreal64>(os, &v.
z()); }
1160 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1161 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1173 if (s) s->save(ostr);
1174 result = ostr.
str();
1175 saveData(os, result);
1182 ostr << s->getDataTypeToken();
1184 s->saveBinary(ostr);
1186 result = ostr.
str();
1187 saveData(os, result);
1195 saveData(os, myKernelname);
1196 saveData(os, myUsecode);
1197 saveData(os, myKernelfile);
1198 saveData(os, myKernelcode);
1199 saveData(os, myKerneloptions);
1200 saveData(os, myKerneloptionattrib);
1201 saveData(os, myUsewritebackkernel);
1202 saveData(os, myWritebackkernelname);
1203 saveData(os, myRecompile);
1204 saveData(os, myRunOver);
1205 saveData(os, myIterations);
1206 saveData(os, myWorksets_begin);
1207 saveData(os, myWorksets_length);
1208 saveData(os, mySingleworkgroup);
1209 saveData(os, myFinish);
1210 saveData(os, myTime);
1211 saveData(os, myTimeinc);
1212 saveData(os, myTimescale);
1213 saveData(os, myTimemethod);
1214 saveData(os, myXnoise);
1215 saveData(os, myPrecision);
1218 UTwrite(os, &length);
1221 saveData(os, myBindings(i).bindings_name);
1222 saveData(os, myBindings(i).bindings_type);
1223 saveData(os, myBindings(i).bindings_intval);
1224 saveData(os, myBindings(i).bindings_fval);
1225 saveData(os, myBindings(i).bindings_v3val);
1226 saveData(os, myBindings(i).bindings_v4val);
1227 saveData(os, myBindings(i).bindings_timescale);
1228 saveData(os, myBindings(i).bindings_ramp);
1229 saveData(os, myBindings(i).bindings_rampsize);
1230 saveData(os, myBindings(i).bindings_volume);
1231 saveData(os, myBindings(i).bindings_forcealign);
1232 saveData(os, myBindings(i).bindings_resolution);
1233 saveData(os, myBindings(i).bindings_voxelsize);
1234 saveData(os, myBindings(i).bindings_xformtoworld);
1235 saveData(os, myBindings(i).bindings_xformtovoxel);
1236 saveData(os, myBindings(i).bindings_attribute);
1237 saveData(os, myBindings(i).bindings_attribclass);
1238 saveData(os, myBindings(i).bindings_attribtype);
1239 saveData(os, myBindings(i).bindings_attribsize);
1240 saveData(os, myBindings(i).bindings_precision);
1241 saveData(os, myBindings(i).bindings_readable);
1242 saveData(os, myBindings(i).bindings_writeable);
1243 saveData(os, myBindings(i).bindings_optional);
1259 loadData(is, myKernelname);
1260 loadData(is, myUsecode);
1261 loadData(is, myKernelfile);
1262 loadData(is, myKernelcode);
1263 loadData(is, myKerneloptions);
1264 loadData(is, myKerneloptionattrib);
1265 loadData(is, myUsewritebackkernel);
1266 loadData(is, myWritebackkernelname);
1267 loadData(is, myRecompile);
1268 loadData(is, myRunOver);
1269 loadData(is, myIterations);
1270 loadData(is, myWorksets_begin);
1271 loadData(is, myWorksets_length);
1272 loadData(is, mySingleworkgroup);
1273 loadData(is, myFinish);
1274 loadData(is, myTime);
1275 loadData(is, myTimeinc);
1276 loadData(is, myTimescale);
1277 loadData(is, myTimemethod);
1278 loadData(is, myXnoise);
1279 loadData(is, myPrecision);
1282 is.
read(&length, 1);
1283 myBindings.entries(length);
1286 loadData(is, myBindings(i).bindings_name);
1287 loadData(is, myBindings(i).bindings_type);
1288 loadData(is, myBindings(i).bindings_intval);
1289 loadData(is, myBindings(i).bindings_fval);
1290 loadData(is, myBindings(i).bindings_v3val);
1291 loadData(is, myBindings(i).bindings_v4val);
1292 loadData(is, myBindings(i).bindings_timescale);
1293 loadData(is, myBindings(i).bindings_ramp);
1294 loadData(is, myBindings(i).bindings_rampsize);
1295 loadData(is, myBindings(i).bindings_volume);
1296 loadData(is, myBindings(i).bindings_forcealign);
1297 loadData(is, myBindings(i).bindings_resolution);
1298 loadData(is, myBindings(i).bindings_voxelsize);
1299 loadData(is, myBindings(i).bindings_xformtoworld);
1300 loadData(is, myBindings(i).bindings_xformtovoxel);
1301 loadData(is, myBindings(i).bindings_attribute);
1302 loadData(is, myBindings(i).bindings_attribclass);
1303 loadData(is, myBindings(i).bindings_attribtype);
1304 loadData(is, myBindings(i).bindings_attribsize);
1305 loadData(is, myBindings(i).bindings_precision);
1306 loadData(is, myBindings(i).bindings_readable);
1307 loadData(is, myBindings(i).bindings_writeable);
1308 loadData(is, myBindings(i).bindings_optional);
1321 if (!thissop)
return getKernelname();
1323 OP_Utils::evalOpParm(result, thissop,
"kernelname", cookparms.
getCookTime(), 0);
1331 if (!thissop)
return getUsecode();
1333 OP_Utils::evalOpParm(result, thissop,
"usecode", cookparms.
getCookTime(), 0);
1341 if (!thissop)
return getKernelfile();
1343 OP_Utils::evalOpParm(result, thissop,
"kernelfile", cookparms.
getCookTime(), 0);
1351 if (!thissop)
return getKernelcode();
1353 OP_Utils::evalOpParm(result, thissop,
"kernelcode", cookparms.
getCookTime(), 0);
1361 if (!thissop)
return getKerneloptions();
1363 OP_Utils::evalOpParm(result, thissop,
"kerneloptions", cookparms.
getCookTime(), 0);
1371 if (!thissop)
return getKerneloptionattrib();
1373 OP_Utils::evalOpParm(result, thissop,
"kerneloptionattrib", cookparms.
getCookTime(), 0);
1381 if (!thissop)
return getUsewritebackkernel();
1383 OP_Utils::evalOpParm(result, thissop,
"usewritebackkernel", cookparms.
getCookTime(), 0);
1391 if (!thissop)
return getWritebackkernelname();
1393 OP_Utils::evalOpParm(result, thissop,
"writebackkernelname", cookparms.
getCookTime(), 0);
1401 if (!thissop)
return getRecompile();
1403 OP_Utils::evalOpParm(result, thissop,
"recompile", cookparms.
getCookTime(), 0);
1411 if (!thissop)
return getRunOver();
1413 OP_Utils::evalOpParm(result, thissop,
"runover", cookparms.
getCookTime(), 0);
1421 if (!thissop)
return getIterations();
1423 OP_Utils::evalOpParm(result, thissop,
"iterations", cookparms.
getCookTime(), 0);
1431 if (!thissop)
return getWorksets_begin();
1433 OP_Utils::evalOpParm(result, thissop,
"worksets_begin", cookparms.
getCookTime(), 0);
1441 if (!thissop)
return getWorksets_length();
1443 OP_Utils::evalOpParm(result, thissop,
"worksets_length", cookparms.
getCookTime(), 0);
1451 if (!thissop)
return getSingleworkgroup();
1453 OP_Utils::evalOpParm(result, thissop,
"singleworkgroup", cookparms.
getCookTime(), 0);
1461 if (!thissop)
return getFinish();
1463 OP_Utils::evalOpParm(result, thissop,
"finish", cookparms.
getCookTime(), 0);
1471 if (!thissop)
return getTime();
1473 OP_Utils::evalOpParm(result, thissop,
"time", cookparms.
getCookTime(), 0);
1481 if (!thissop)
return getTimeinc();
1483 OP_Utils::evalOpParm(result, thissop,
"timeinc", cookparms.
getCookTime(), 0);
1491 if (!thissop)
return getTimescale();
1493 OP_Utils::evalOpParm(result, thissop,
"timescale", cookparms.
getCookTime(), 0);
1501 if (!thissop)
return getTimemethod();
1503 OP_Utils::evalOpParm(result, thissop,
"timemethod", cookparms.
getCookTime(), 0);
1511 if (!thissop)
return getXnoise();
1513 OP_Utils::evalOpParm(result, thissop,
"xnoise", cookparms.
getCookTime(), 0);
1521 if (!thissop)
return getPrecision();
1523 OP_Utils::evalOpParm(result, thissop,
"precision", cookparms.
getCookTime(), 0);
1531 if (!thissop)
return getBindings().entries();
1533 OP_Utils::evalOpParm(result, thissop,
"bindings", cookparms.
getCookTime(), 0);
1539 if (!thissop)
return (myBindings(_idx).bindings_name);
1540 int _parmidx = _idx + 1;
1542 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_name", &_parmidx, cookparms.
getCookTime(), 0);
1548 if (!thissop)
return (myBindings(_idx).bindings_type);
1549 int _parmidx = _idx + 1;
1551 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_type", &_parmidx, cookparms.
getCookTime(), 0);
1557 if (!thissop)
return (myBindings(_idx).bindings_intval);
1558 int _parmidx = _idx + 1;
1560 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_intval", &_parmidx, cookparms.
getCookTime(), 0);
1566 if (!thissop)
return (myBindings(_idx).bindings_fval);
1567 int _parmidx = _idx + 1;
1569 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_fval", &_parmidx, cookparms.
getCookTime(), 0);
1575 if (!thissop)
return (myBindings(_idx).bindings_v3val);
1576 int _parmidx = _idx + 1;
1578 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_v3val", &_parmidx, cookparms.
getCookTime(), 0);
1584 if (!thissop)
return (myBindings(_idx).bindings_v4val);
1585 int _parmidx = _idx + 1;
1587 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_v4val", &_parmidx, cookparms.
getCookTime(), 0);
1593 if (!thissop)
return (myBindings(_idx).bindings_timescale);
1594 int _parmidx = _idx + 1;
1596 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_timescale", &_parmidx, cookparms.
getCookTime(), 0);
1602 if (!thissop)
return (myBindings(_idx).bindings_ramp);
1603 int _parmidx = _idx + 1;
1605 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_ramp", &_parmidx, cookparms.
getCookTime(), 0);
1611 if (!thissop)
return (myBindings(_idx).bindings_rampsize);
1612 int _parmidx = _idx + 1;
1614 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_rampsize", &_parmidx, cookparms.
getCookTime(), 0);
1620 if (!thissop)
return (myBindings(_idx).bindings_volume);
1621 int _parmidx = _idx + 1;
1623 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_volume", &_parmidx, cookparms.
getCookTime(), 0);
1629 if (!thissop)
return (myBindings(_idx).bindings_forcealign);
1630 int _parmidx = _idx + 1;
1632 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_forcealign", &_parmidx, cookparms.
getCookTime(), 0);
1638 if (!thissop)
return (myBindings(_idx).bindings_resolution);
1639 int _parmidx = _idx + 1;
1641 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_resolution", &_parmidx, cookparms.
getCookTime(), 0);
1647 if (!thissop)
return (myBindings(_idx).bindings_voxelsize);
1648 int _parmidx = _idx + 1;
1650 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_voxelsize", &_parmidx, cookparms.
getCookTime(), 0);
1656 if (!thissop)
return (myBindings(_idx).bindings_xformtoworld);
1657 int _parmidx = _idx + 1;
1659 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_xformtoworld", &_parmidx, cookparms.
getCookTime(), 0);
1665 if (!thissop)
return (myBindings(_idx).bindings_xformtovoxel);
1666 int _parmidx = _idx + 1;
1668 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_xformtovoxel", &_parmidx, cookparms.
getCookTime(), 0);
1674 if (!thissop)
return (myBindings(_idx).bindings_attribute);
1675 int _parmidx = _idx + 1;
1677 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_attribute", &_parmidx, cookparms.
getCookTime(), 0);
1683 if (!thissop)
return (myBindings(_idx).bindings_attribclass);
1684 int _parmidx = _idx + 1;
1686 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_attribclass", &_parmidx, cookparms.
getCookTime(), 0);
1692 if (!thissop)
return (myBindings(_idx).bindings_attribtype);
1693 int _parmidx = _idx + 1;
1695 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_attribtype", &_parmidx, cookparms.
getCookTime(), 0);
1701 if (!thissop)
return (myBindings(_idx).bindings_attribsize);
1702 int _parmidx = _idx + 1;
1704 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_attribsize", &_parmidx, cookparms.
getCookTime(), 0);
1710 if (!thissop)
return (myBindings(_idx).bindings_precision);
1711 int _parmidx = _idx + 1;
1713 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_precision", &_parmidx, cookparms.
getCookTime(), 0);
1719 if (!thissop)
return (myBindings(_idx).bindings_readable);
1720 int _parmidx = _idx + 1;
1722 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_readable", &_parmidx, cookparms.
getCookTime(), 0);
1728 if (!thissop)
return (myBindings(_idx).bindings_writeable);
1729 int _parmidx = _idx + 1;
1731 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_writeable", &_parmidx, cookparms.
getCookTime(), 0);
1737 if (!thissop)
return (myBindings(_idx).bindings_optional);
1738 int _parmidx = _idx + 1;
1740 OP_Utils::evalOpParmInst(result, thissop,
"bindings#_optional", &_parmidx, cookparms.
getCookTime(), 0);
1752 bool myUsewritebackkernel;
1759 bool mySingleworkgroup;
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
UT_StringHolder opKerneloptionattrib(const SOP_NodeVerb::CookParms &cookparms) const
bool opXnoise(const SOP_NodeVerb::CookParms &cookparms) const
int64 opBindings_bindings_type(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
bool opBindings_bindings_forcealign(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
static void loadData(UT_IStream &is, UT_Vector3D &v)
UT_StringHolder opKernelname(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
bool opBindings_bindings_readable(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
void buildFromOp(const SOP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
int64 bindings_attribsize
SOP_Node * getNode() const
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
bool opBindings_bindings_xformtoworld(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
int64 opBindings_bindings_intval(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
void setKernelname(const UT_StringHolder &val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
UT_StringHolder opKerneloptions(const SOP_NodeVerb::CookParms &cookparms) const
void setWorksets_begin(const UT_StringHolder &val)
virtual void evalOpParmInst(int64 &v, NodeIdx node, const char *parmname, int *inst, fpreal time, DEP_MicroNode *depnode) const =0
bool bindings_xformtoworld
Timemethod opTimemethod(const SOP_NodeVerb::CookParms &cookparms) const
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
int64 bindings_attribtype
static void saveData(std::ostream &os, int64 v)
bool opBindings_bindings_writeable(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
UT_Vector3D bindings_v3val
void setTimemethod(Timemethod val)
UT_StringHolder opKernelcode(const SOP_NodeVerb::CookParms &cookparms) const
GLuint const GLfloat * val
static void loadData(UT_IStream &is, UT_Vector4D &v)
ParmType getNestParmType(TempIndex fieldnum) const override
const UT_StringHolder & getKernelname() const
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_precision(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
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
const SOP_GraphProxy * graph() const
bool opFinish(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
int64 opBindings_bindings_timescale(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
fpreal64 opTimescale(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opWorksets_length(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getKernelfile() 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)
int64 getIterations() const
static void saveData(std::ostream &os, UT_Vector2D v)
void setUsewritebackkernel(bool val)
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
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)
const UT_StringHolder & getKerneloptionattrib() const
void save(std::ostream &os) const
bool opUsewritebackkernel(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector4D opBindings_bindings_v4val(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
void setTimescale(fpreal64 val)
const UT_StringHolder & getWorksets_begin() const
bool opBindings_bindings_optional(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
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
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
bool opTimeinc(const SOP_NodeVerb::CookParms &cookparms) const
exint opBindings(const SOP_NodeVerb::CookParms &cookparms) const
typedef INT(WINAPI *PFNWGLGETGPUINFOAMDPROC)(UINT id
bool opTime(const SOP_NodeVerb::CookParms &cookparms) const
void setUsecode(bool val)
static void saveData(std::ostream &os, PRM_DataItemHandle s)
void setKerneloptions(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
static void saveData(std::ostream &os, UT_Vector4D v)
UT_SharedPtr< UT_Ramp > bindings_ramp
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
GLint GLenum GLsizei GLint GLsizei const void * data
UT_StringHolder opKernelfile(const SOP_NodeVerb::CookParms &cookparms) const
Precision getPrecision() const
fpreal64 opBindings_bindings_fval(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
void setWorksets_length(const UT_StringHolder &val)
exint read(bool *array, exint sz=1)
bool opUsecode(const SOP_NodeVerb::CookParms &cookparms) const
int64 opBindings_bindings_attribclass(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
int64 opBindings_bindings_attribsize(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
bool opBindings_bindings_resolution(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
void setPrecision(Precision val)
static void saveData(std::ostream &os, UT_StringHolder s)
static void loadData(UT_IStream &is, UT_Vector2I &v)
void loadFromOpSubclass(const LoadParms &loadparms) override
const UT_StringHolder & getKerneloptions() const
UT_StringHolder bindings_name
GLuint GLsizei GLsizei * length
static void saveData(std::ostream &os, UT_Vector3D v)
bool getSingleworkgroup() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
void setKerneloptionattrib(const UT_StringHolder &val)
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
static void loadData(UT_IStream &is, int64 &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
bool opSingleworkgroup(const SOP_NodeVerb::CookParms &cookparms) const
void setKernelcode(const UT_StringHolder &val)
int64 bindings_attribclass
const UT_StringHolder & getKernelcode() const
exint getNestNumParms(TempIndex idx) const override
void setTimeinc(bool val)
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
GT_API const UT_StringHolder version
DEP_MicroNode * depnode() const
exint entries() const
Alias of size(). size() is preferred.
UT_StringHolder bindings_attribute
UT_StringHolder opWritebackkernelname(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const SOP_OpenCLParms &src) const
bool operator==(const Bindings &src) const
const UT_StringHolder & getWritebackkernelname() 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
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
void setKernelfile(const UT_StringHolder &val)
static void loadData(UT_IStream &is, fpreal64 &v)
void setRunOver(RunOver val)
UT_StringHolder opBindings_bindings_attribute(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
void setSingleworkgroup(bool val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
bool opRecompile(const SOP_NodeVerb::CookParms &cookparms) const
Timemethod getTimemethod() const
Utility class for containing a color ramp.
int64 opBindings_bindings_rampsize(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
bool load(UT_IStream &is)
bool opBindings_bindings_voxelsize(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
SYS_FORCE_INLINE void append(char character)
GLdouble GLdouble GLdouble r
void setBindings(const UT_Array< Bindings > &val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
const UT_Array< Bindings > & getBindings() const
int64 opIterations(const SOP_NodeVerb::CookParms &cookparms) const
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
Precision opPrecision(const SOP_NodeVerb::CookParms &cookparms) const
UT_SharedPtr< UT_Ramp > opBindings_bindings_ramp(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
fpreal getCookTime() const
void copyFrom(const SOP_NodeParms *src) override
bool operator!=(const SOP_OpenCLParms &src) const
bool getUsewritebackkernel() 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
UT_Vector3D opBindings_bindings_v3val(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
UT_StringHolder opBindings_bindings_volume(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
static void saveData(std::ostream &os, UT_Matrix4D v)
UT_Vector4T< fpreal64 > UT_Vector4D
void setWritebackkernelname(const UT_StringHolder &val)
GLenum GLuint GLsizei const GLchar * buf
~SOP_OpenCLParms() override
static void loadData(UT_IStream &is, UT_Matrix2D &v)
int64 opBindings_bindings_attribtype(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
GLsizei const GLfloat * value
const OP_Context & context() const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
bool opBindings_bindings_xformtovoxel(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
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)
RunOver opRunOver(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opBindings_bindings_name(const SOP_NodeVerb::CookParms &cookparms, exint _idx) const
static void loadData(UT_IStream &is, UT_StringHolder &v)