23 namespace SOP_CameraEnums
38 using namespace UT::Literal;
63 using namespace UT::Literal;
85 using namespace UT::Literal;
103 using namespace UT::Literal;
104 switch (enum_value) {
124 using namespace UT::Literal;
125 switch (enum_value) {
172 if (enable != src.
enable)
return false;
173 if (key != src.
key)
return false;
175 if (vals != src.
vals)
return false;
176 if (vali != src.
vali)
return false;
177 if (valf != src.
valf)
return false;
178 if (val2f != src.
val2f)
return false;
179 if (val3f != src.
val3f)
return false;
180 if (val4f != src.
val4f)
return false;
196 for (
int i = 0; i < list.
entries(); i++)
202 buf.
appendSprintf(
"%s", (list(i).enable) ?
"true" :
"false");
214 buf.
appendSprintf(
"(%f, %f)", list(i).val2f.x(), list(i).val2f.y());
216 buf.
appendSprintf(
"(%f, %f, %f)", list(i).val3f.x(), list(i).val3f.y(), list(i).val3f.z());
218 buf.
appendSprintf(
"(%f, %f, %f, %f)", list(i).val4f.x(), list(i).val4f.y(), list(i).val4f.z(), list(i).val4f.w());
230 myName =
"cam1"_UTsh;
246 myAperture = 41.4214;
258 myShutteropen = -0.25;
259 myShutterclose = 0.25;
262 myEntries.setSize(0);
275 if (myName != src.myName)
return false;
276 if (myXord != src.myXord)
return false;
277 if (myRord != src.myRord)
return false;
278 if (myT != src.myT)
return false;
279 if (myR != src.myR)
return false;
280 if (myP != src.myP)
return false;
281 if (myPr != src.myPr)
return false;
282 if (myDolookat != src.myDolookat)
return false;
283 if (myLookatposition != src.myLookatposition)
return false;
284 if (myUpvecmethod != src.myUpvecmethod)
return false;
285 if (myUpvec != src.myUpvec)
return false;
286 if (myTwist != src.myTwist)
return false;
287 if (myRes != src.myRes)
return false;
288 if (myResmenu != src.myResmenu)
return false;
289 if (myProjection != src.myProjection)
return false;
290 if (myFocal != src.myFocal)
return false;
291 if (myAperture != src.myAperture)
return false;
292 if (myOrthowidth != src.myOrthowidth)
return false;
293 if (myNearclip != src.myNearclip)
return false;
294 if (myFarclip != src.myFarclip)
return false;
295 if (myWin != src.myWin)
return false;
296 if (myWinsize != src.myWinsize)
return false;
297 if (myCropl != src.myCropl)
return false;
298 if (myCropr != src.myCropr)
return false;
299 if (myCropb != src.myCropb)
return false;
300 if (myCropt != src.myCropt)
return false;
301 if (myImgdist != src.myImgdist)
return false;
302 if (myGuidescale != src.myGuidescale)
return false;
303 if (myShutteropen != src.myShutteropen)
return false;
304 if (myShutterclose != src.myShutterclose)
return false;
305 if (myFocus != src.myFocus)
return false;
306 if (myFstop != src.myFstop)
return false;
307 if (myEntries != src.myEntries)
return false;
328 myName =
"cam1"_UTsh;
351 graph->
evalOpParm(myDolookat, nodeidx,
"dolookat", time, graph->
isDirect()?
nullptr:depnode);
353 if (
true && ( (
true&&!(((getDolookat()==0)))) ) )
354 graph->
evalOpParm(myLookatposition, nodeidx,
"lookatposition", time, graph->
isDirect()?
nullptr:depnode);
356 if (
true && ( (
true&&!(((getDolookat()==0)))) ) )
357 graph->
evalOpParm(myUpvecmethod, nodeidx,
"upvecmethod", time, graph->
isDirect()?
nullptr:depnode);
359 if (
true && ( (
true&&!(((getDolookat()==0))||((
int64(getUpvecmethod())!=2)))) ) )
360 graph->
evalOpParm(myUpvec, nodeidx,
"upvec", time, graph->
isDirect()?
nullptr:depnode);
362 if (
true && ( (
true&&!(((getDolookat()==0)))) ) )
363 graph->
evalOpParm(myTwist, nodeidx,
"twist", time, graph->
isDirect()?
nullptr:depnode);
369 graph->
evalOpParm(myResmenu, nodeidx,
"resmenu", time, graph->
isDirect()?
nullptr:depnode);
372 graph->
evalOpParm(myProjection, nodeidx,
"projection", time, graph->
isDirect()?
nullptr:depnode);
374 if (
true && ( (
true&&!(((
int64(getProjection())==1)))) ) )
375 graph->
evalOpParm(myFocal, nodeidx,
"focal", time, graph->
isDirect()?
nullptr:depnode);
376 myAperture = 41.4214;
377 if (
true && ( (
true&&!(((
int64(getProjection())==1)))) ) )
378 graph->
evalOpParm(myAperture, nodeidx,
"aperture", time, graph->
isDirect()?
nullptr:depnode);
380 if (
true && ( (
true&&!(((
int64(getProjection())==0)))) ) )
381 graph->
evalOpParm(myOrthowidth, nodeidx,
"orthowidth", time, graph->
isDirect()?
nullptr:depnode);
384 graph->
evalOpParm(myNearclip, nodeidx,
"nearclip", time, graph->
isDirect()?
nullptr:depnode);
387 graph->
evalOpParm(myFarclip, nodeidx,
"farclip", time, graph->
isDirect()?
nullptr:depnode);
393 graph->
evalOpParm(myWinsize, nodeidx,
"winsize", time, graph->
isDirect()?
nullptr:depnode);
396 graph->
evalOpParm(myCropl, nodeidx,
"cropl", time, graph->
isDirect()?
nullptr:depnode);
399 graph->
evalOpParm(myCropr, nodeidx,
"cropr", time, graph->
isDirect()?
nullptr:depnode);
402 graph->
evalOpParm(myCropb, nodeidx,
"cropb", time, graph->
isDirect()?
nullptr:depnode);
405 graph->
evalOpParm(myCropt, nodeidx,
"cropt", time, graph->
isDirect()?
nullptr:depnode);
408 graph->
evalOpParm(myImgdist, nodeidx,
"imgdist", time, graph->
isDirect()?
nullptr:depnode);
411 graph->
evalOpParm(myGuidescale, nodeidx,
"guidescale", time, graph->
isDirect()?
nullptr:depnode);
412 myShutteropen = -0.25;
414 graph->
evalOpParm(myShutteropen, nodeidx,
"shutteropen", time, graph->
isDirect()?
nullptr:depnode);
415 myShutterclose = 0.25;
417 graph->
evalOpParm(myShutterclose, nodeidx,
"shutterclose", time, graph->
isDirect()?
nullptr:depnode);
420 graph->
evalOpParm(myFocus, nodeidx,
"focus", time, graph->
isDirect()?
nullptr:depnode);
423 graph->
evalOpParm(myFstop, nodeidx,
"fstop", time, graph->
isDirect()?
nullptr:depnode);
427 graph->
evalOpParm(length, nodeidx,
"entries", time, graph->
isDirect()?
nullptr:depnode);
428 if (length < 0) length = 0;
429 myEntries.setSize(length);
436 auto && _curentry = myEntries(i);
438 _curentry.enable =
true;
440 graph->
evalOpParmInst(_curentry.enable, nodeidx,
"enable#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
441 _curentry.key =
""_UTsh;
442 if (
true && ( (
true&&!(((_curentry.enable==0)))) ) )
443 graph->
evalOpParmInst(_curentry.key, nodeidx,
"key#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
445 if (
true && ( (
true&&!(((_curentry.enable==0)))) ) )
446 graph->
evalOpParmInst(_curentry.type, nodeidx,
"type#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
447 _curentry.vals =
""_UTsh;
448 if (
true && ( (
true&&!(((_curentry.type!=5))||((_curentry.enable==0))||((_curentry.type!=5)))) ) )
449 graph->
evalOpParmInst(_curentry.vals, nodeidx,
"vals#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
451 if (
true && ( (
true&&!(((_curentry.type!=0))||((_curentry.enable==0))||((_curentry.type!=0)))) ) )
452 graph->
evalOpParmInst(_curentry.vali, nodeidx,
"vali#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
454 if (
true && ( (
true&&!(((_curentry.type!=1))||((_curentry.enable==0))||((_curentry.type!=1)))) ) )
455 graph->
evalOpParmInst(_curentry.valf, nodeidx,
"valf#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
457 if (
true && ( (
true&&!(((_curentry.type!=2))||((_curentry.enable==0))||((_curentry.type!=2)))) ) )
458 graph->
evalOpParmInst(_curentry.val2f, nodeidx,
"val2f#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
460 if (
true && ( (
true&&!(((_curentry.type!=3))||((_curentry.enable==0))||((_curentry.type!=3)))) ) )
461 graph->
evalOpParmInst(_curentry.val3f, nodeidx,
"val3f#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
463 if (
true && ( (
true&&!(((_curentry.type!=4))||((_curentry.enable==0))||((_curentry.type!=4)))) ) )
464 graph->
evalOpParmInst(_curentry.val4f, nodeidx,
"val4f#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
485 template <
typename T>
492 if (idx.
size() != instance.
size()+1)
497 coerceValue(value, myName);
500 coerceValue(value, myXord);
503 coerceValue(value, myRord);
506 coerceValue(value, myT);
509 coerceValue(value, myR);
512 coerceValue(value, myP);
515 coerceValue(value, myPr);
518 coerceValue(value, myDolookat);
521 coerceValue(value, myLookatposition);
524 coerceValue(value, myUpvecmethod);
527 coerceValue(value, myUpvec);
530 coerceValue(value, myTwist);
533 coerceValue(value, myRes);
536 coerceValue(value, myResmenu);
539 coerceValue(value, myProjection);
542 coerceValue(value, myFocal);
545 coerceValue(value, myAperture);
548 coerceValue(value, myOrthowidth);
551 coerceValue(value, myNearclip);
554 coerceValue(value, myFarclip);
557 coerceValue(value, myWin);
560 coerceValue(value, myWinsize);
563 coerceValue(value, myCropl);
566 coerceValue(value, myCropr);
569 coerceValue(value, myCropb);
572 coerceValue(value, myCropt);
575 coerceValue(value, myImgdist);
578 coerceValue(value, myGuidescale);
581 coerceValue(value, myShutteropen);
584 coerceValue(value, myShutterclose);
587 coerceValue(value, myFocus);
590 coerceValue(value, myFstop);
594 coerceValue(value, myEntries.entries());
595 else if (instance[0] < myEntries.entries())
597 auto && _data = myEntries(instance[0]);
601 coerceValue(value, _data.enable);
604 coerceValue(value, _data.key);
607 coerceValue(value, _data.type);
610 coerceValue(value, _data.vals);
613 coerceValue(value, _data.vali);
616 coerceValue(value, _data.valf);
619 coerceValue(value, _data.val2f);
622 coerceValue(value, _data.val3f);
625 coerceValue(value, _data.val4f);
645 { doGetParmValue(idx, instance, value); }
647 { doGetParmValue(idx, instance, value); }
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 template <
typename T>
674 if (idx.
size() != instance.
size()+1)
679 coerceValue(myName, ( ( value ) ));
682 coerceValue(myXord, clampMinValue(0, clampMaxValue(5, value ) ));
685 coerceValue(myRord, clampMinValue(0, clampMaxValue(5, value ) ));
688 coerceValue(myT, ( ( value ) ));
691 coerceValue(myR, ( ( value ) ));
694 coerceValue(myP, ( ( value ) ));
697 coerceValue(myPr, ( ( value ) ));
700 coerceValue(myDolookat, ( ( value ) ));
703 coerceValue(myLookatposition, ( ( value ) ));
706 coerceValue(myUpvecmethod, clampMinValue(0, clampMaxValue(2, value ) ));
709 coerceValue(myUpvec, ( ( value ) ));
712 coerceValue(myTwist, ( ( value ) ));
715 coerceValue(myRes, ( ( value ) ));
718 coerceValue(myResmenu, ( ( value ) ));
721 coerceValue(myProjection, clampMinValue(0, clampMaxValue(1, value ) ));
724 coerceValue(myFocal, ( ( value ) ));
727 coerceValue(myAperture, ( ( value ) ));
730 coerceValue(myOrthowidth, ( ( value ) ));
733 coerceValue(myNearclip, ( ( value ) ));
736 coerceValue(myFarclip, ( ( value ) ));
739 coerceValue(myWin, ( ( value ) ));
742 coerceValue(myWinsize, ( ( value ) ));
745 coerceValue(myCropl, ( ( value ) ));
748 coerceValue(myCropr, ( ( value ) ));
751 coerceValue(myCropb, ( ( value ) ));
754 coerceValue(myCropt, ( ( value ) ));
757 coerceValue(myImgdist, ( ( value ) ));
760 coerceValue(myGuidescale, ( ( value ) ));
763 coerceValue(myShutteropen, ( ( value ) ));
766 coerceValue(myShutterclose, ( ( value ) ));
769 coerceValue(myFocus, ( ( value ) ));
772 coerceValue(myFstop, ( ( value ) ));
778 coerceValue(newsize, value);
779 if (newsize < 0) newsize = 0;
780 myEntries.setSize(newsize);
786 myEntries.setSizeIfNeeded(instance[0]+1);
787 auto && _data = myEntries(instance[0]);
791 coerceValue(_data.enable, value);
794 coerceValue(_data.key, value);
797 coerceValue(_data.type, value);
800 coerceValue(_data.vals, value);
803 coerceValue(_data.vali, value);
806 coerceValue(_data.valf, value);
809 coerceValue(_data.val2f, value);
812 coerceValue(_data.val3f, value);
815 coerceValue(_data.val4f, value);
826 { doSetParmValue(idx, instance, value); }
828 { doSetParmValue(idx, instance, value); }
830 { doSetParmValue(idx, instance, value); }
832 { doSetParmValue(idx, instance, value); }
834 { doSetParmValue(idx, instance, 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); }
864 if (fieldnum.
size() < 1)
885 return "lookatposition";
887 return "upvecmethod";
925 return "shutteropen";
927 return "shutterclose";
933 if (fieldnum.
size() == 1)
965 if (fieldnum.
size() < 1)
966 return PARM_UNSUPPORTED;
1010 return PARM_VECTOR2;
1012 return PARM_VECTOR2;
1034 if (fieldnum.
size() == 1)
1035 return PARM_MULTIPARM;
1036 switch (fieldnum[1])
1039 return PARM_INTEGER;
1043 return PARM_INTEGER;
1047 return PARM_INTEGER;
1051 return PARM_VECTOR2;
1053 return PARM_VECTOR3;
1055 return PARM_VECTOR4;
1058 return PARM_UNSUPPORTED;
1061 return PARM_UNSUPPORTED;
1066 { is.
bread(&v, 1); }
1097 loadData(is, rampdata);
1115 int typelen = colon - data.
buffer();
1127 { UTwrite(os, &v); }
1129 {
int64 iv =
v; UTwrite(os, &iv); }
1131 { UTwrite<fpreal64>(os, &
v); }
1133 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1135 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1136 UTwrite<fpreal64>(os, &v.
z()); }
1138 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1139 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1151 if (s) s->save(ostr);
1152 result = ostr.
str();
1153 saveData(os, result);
1160 ostr << s->getDataTypeToken();
1162 s->saveBinary(ostr);
1164 result = ostr.
str();
1165 saveData(os, result);
1173 saveData(os, myName);
1174 saveData(os, myXord);
1175 saveData(os, myRord);
1180 saveData(os, myDolookat);
1181 saveData(os, myLookatposition);
1182 saveData(os, myUpvecmethod);
1183 saveData(os, myUpvec);
1184 saveData(os, myTwist);
1185 saveData(os, myRes);
1186 saveData(os, myResmenu);
1187 saveData(os, myProjection);
1188 saveData(os, myFocal);
1189 saveData(os, myAperture);
1190 saveData(os, myOrthowidth);
1191 saveData(os, myNearclip);
1192 saveData(os, myFarclip);
1193 saveData(os, myWin);
1194 saveData(os, myWinsize);
1195 saveData(os, myCropl);
1196 saveData(os, myCropr);
1197 saveData(os, myCropb);
1198 saveData(os, myCropt);
1199 saveData(os, myImgdist);
1200 saveData(os, myGuidescale);
1201 saveData(os, myShutteropen);
1202 saveData(os, myShutterclose);
1203 saveData(os, myFocus);
1204 saveData(os, myFstop);
1207 UTwrite(os, &length);
1210 auto && _curentry = myEntries(i);
1212 saveData(os, _curentry.enable);
1213 saveData(os, _curentry.key);
1214 saveData(os, _curentry.type);
1215 saveData(os, _curentry.vals);
1216 saveData(os, _curentry.vali);
1217 saveData(os, _curentry.valf);
1218 saveData(os, _curentry.val2f);
1219 saveData(os, _curentry.val3f);
1220 saveData(os, _curentry.val4f);
1236 loadData(is, myName);
1237 loadData(is, myXord);
1238 loadData(is, myRord);
1243 loadData(is, myDolookat);
1244 loadData(is, myLookatposition);
1245 loadData(is, myUpvecmethod);
1246 loadData(is, myUpvec);
1247 loadData(is, myTwist);
1248 loadData(is, myRes);
1249 loadData(is, myResmenu);
1250 loadData(is, myProjection);
1251 loadData(is, myFocal);
1252 loadData(is, myAperture);
1253 loadData(is, myOrthowidth);
1254 loadData(is, myNearclip);
1255 loadData(is, myFarclip);
1256 loadData(is, myWin);
1257 loadData(is, myWinsize);
1258 loadData(is, myCropl);
1259 loadData(is, myCropr);
1260 loadData(is, myCropb);
1261 loadData(is, myCropt);
1262 loadData(is, myImgdist);
1263 loadData(is, myGuidescale);
1264 loadData(is, myShutteropen);
1265 loadData(is, myShutterclose);
1266 loadData(is, myFocus);
1267 loadData(is, myFstop);
1270 is.
read(&length, 1);
1271 myEntries.setSize(length);
1274 auto && _curentry = myEntries(i);
1276 loadData(is, _curentry.enable);
1277 loadData(is, _curentry.key);
1278 loadData(is, _curentry.type);
1279 loadData(is, _curentry.vals);
1280 loadData(is, _curentry.vali);
1281 loadData(is, _curentry.valf);
1282 loadData(is, _curentry.val2f);
1283 loadData(is, _curentry.val3f);
1284 loadData(is, _curentry.val4f);
1297 if (!thissop)
return getName();
1299 OP_Utils::evalOpParm(result, thissop,
"name", cookparms.
getCookTime(), 0);
1307 if (!thissop)
return getXord();
1309 OP_Utils::evalOpParm(result, thissop,
"xOrd", cookparms.
getCookTime(), 0);
1310 return Xord(result);
1317 if (!thissop)
return getRord();
1319 OP_Utils::evalOpParm(result, thissop,
"rOrd", cookparms.
getCookTime(), 0);
1320 return Rord(result);
1327 if (!thissop)
return getT();
1329 OP_Utils::evalOpParm(result, thissop,
"t", cookparms.
getCookTime(), 0);
1337 if (!thissop)
return getR();
1339 OP_Utils::evalOpParm(result, thissop,
"r", cookparms.
getCookTime(), 0);
1347 if (!thissop)
return getP();
1349 OP_Utils::evalOpParm(result, thissop,
"p", cookparms.
getCookTime(), 0);
1357 if (!thissop)
return getPr();
1359 OP_Utils::evalOpParm(result, thissop,
"pr", cookparms.
getCookTime(), 0);
1367 if (!thissop)
return getDolookat();
1369 OP_Utils::evalOpParm(result, thissop,
"dolookat", cookparms.
getCookTime(), 0);
1377 if (!thissop)
return getLookatposition();
1379 OP_Utils::evalOpParm(result, thissop,
"lookatposition", cookparms.
getCookTime(), 0);
1387 if (!thissop)
return getUpvecmethod();
1389 OP_Utils::evalOpParm(result, thissop,
"upvecmethod", cookparms.
getCookTime(), 0);
1397 if (!thissop)
return getUpvec();
1399 OP_Utils::evalOpParm(result, thissop,
"upvec", cookparms.
getCookTime(), 0);
1407 if (!thissop)
return getTwist();
1409 OP_Utils::evalOpParm(result, thissop,
"twist", cookparms.
getCookTime(), 0);
1417 if (!thissop)
return getRes();
1419 OP_Utils::evalOpParm(result, thissop,
"res", cookparms.
getCookTime(), 0);
1427 if (!thissop)
return getResmenu();
1429 OP_Utils::evalOpParm(result, thissop,
"resmenu", cookparms.
getCookTime(), 0);
1437 if (!thissop)
return getProjection();
1439 OP_Utils::evalOpParm(result, thissop,
"projection", cookparms.
getCookTime(), 0);
1447 if (!thissop)
return getFocal();
1449 OP_Utils::evalOpParm(result, thissop,
"focal", cookparms.
getCookTime(), 0);
1457 if (!thissop)
return getAperture();
1459 OP_Utils::evalOpParm(result, thissop,
"aperture", cookparms.
getCookTime(), 0);
1467 if (!thissop)
return getOrthowidth();
1469 OP_Utils::evalOpParm(result, thissop,
"orthowidth", cookparms.
getCookTime(), 0);
1477 if (!thissop)
return getNearclip();
1479 OP_Utils::evalOpParm(result, thissop,
"nearclip", cookparms.
getCookTime(), 0);
1487 if (!thissop)
return getFarclip();
1489 OP_Utils::evalOpParm(result, thissop,
"farclip", cookparms.
getCookTime(), 0);
1497 if (!thissop)
return getWin();
1499 OP_Utils::evalOpParm(result, thissop,
"win", cookparms.
getCookTime(), 0);
1507 if (!thissop)
return getWinsize();
1509 OP_Utils::evalOpParm(result, thissop,
"winsize", cookparms.
getCookTime(), 0);
1517 if (!thissop)
return getCropl();
1519 OP_Utils::evalOpParm(result, thissop,
"cropl", cookparms.
getCookTime(), 0);
1527 if (!thissop)
return getCropr();
1529 OP_Utils::evalOpParm(result, thissop,
"cropr", cookparms.
getCookTime(), 0);
1537 if (!thissop)
return getCropb();
1539 OP_Utils::evalOpParm(result, thissop,
"cropb", cookparms.
getCookTime(), 0);
1547 if (!thissop)
return getCropt();
1549 OP_Utils::evalOpParm(result, thissop,
"cropt", cookparms.
getCookTime(), 0);
1557 if (!thissop)
return getImgdist();
1559 OP_Utils::evalOpParm(result, thissop,
"imgdist", cookparms.
getCookTime(), 0);
1567 if (!thissop)
return getGuidescale();
1569 OP_Utils::evalOpParm(result, thissop,
"guidescale", cookparms.
getCookTime(), 0);
1577 if (!thissop)
return getShutteropen();
1579 OP_Utils::evalOpParm(result, thissop,
"shutteropen", cookparms.
getCookTime(), 0);
1587 if (!thissop)
return getShutterclose();
1589 OP_Utils::evalOpParm(result, thissop,
"shutterclose", cookparms.
getCookTime(), 0);
1597 if (!thissop)
return getFocus();
1599 OP_Utils::evalOpParm(result, thissop,
"focus", cookparms.
getCookTime(), 0);
1607 if (!thissop)
return getFstop();
1609 OP_Utils::evalOpParm(result, thissop,
"fstop", cookparms.
getCookTime(), 0);
1617 if (!thissop)
return getEntries().entries();
1619 OP_Utils::evalOpParm(result, thissop,
"entries", cookparms.
getCookTime(), 0);
1623 {
return opinstEntries_enable(cookparms, &_idx); }
1627 if (!thissop)
return (myEntries(_idx[0]).enable);
1629 _parmidx[1-1] = _idx[1-1] + 1;
1632 OP_Utils::evalOpParmInst(result, thissop,
"enable#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1636 {
return opinstEntries_key(cookparms, &_idx); }
1640 if (!thissop)
return (myEntries(_idx[0]).key);
1642 _parmidx[1-1] = _idx[1-1] + 1;
1645 OP_Utils::evalOpParmInst(result, thissop,
"key#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1649 {
return opinstEntries_type(cookparms, &_idx); }
1653 if (!thissop)
return (myEntries(_idx[0]).
type);
1655 _parmidx[1-1] = _idx[1-1] + 1;
1658 OP_Utils::evalOpParmInst(result, thissop,
"type#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1662 {
return opinstEntries_vals(cookparms, &_idx); }
1666 if (!thissop)
return (myEntries(_idx[0]).vals);
1668 _parmidx[1-1] = _idx[1-1] + 1;
1671 OP_Utils::evalOpParmInst(result, thissop,
"vals#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1675 {
return opinstEntries_vali(cookparms, &_idx); }
1679 if (!thissop)
return (myEntries(_idx[0]).vali);
1681 _parmidx[1-1] = _idx[1-1] + 1;
1684 OP_Utils::evalOpParmInst(result, thissop,
"vali#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1688 {
return opinstEntries_valf(cookparms, &_idx); }
1692 if (!thissop)
return (myEntries(_idx[0]).valf);
1694 _parmidx[1-1] = _idx[1-1] + 1;
1697 OP_Utils::evalOpParmInst(result, thissop,
"valf#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1701 {
return opinstEntries_val2f(cookparms, &_idx); }
1705 if (!thissop)
return (myEntries(_idx[0]).val2f);
1707 _parmidx[1-1] = _idx[1-1] + 1;
1710 OP_Utils::evalOpParmInst(result, thissop,
"val2f#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1714 {
return opinstEntries_val3f(cookparms, &_idx); }
1718 if (!thissop)
return (myEntries(_idx[0]).val3f);
1720 _parmidx[1-1] = _idx[1-1] + 1;
1723 OP_Utils::evalOpParmInst(result, thissop,
"val3f#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1727 {
return opinstEntries_val4f(cookparms, &_idx); }
1731 if (!thissop)
return (myEntries(_idx[0]).val4f);
1733 _parmidx[1-1] = _idx[1-1] + 1;
1736 OP_Utils::evalOpParmInst(result, thissop,
"val4f#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1751 int64 myUpvecmethod;
static void loadData(UT_IStream &is, UT_StringHolder &v)
fpreal64 opGuidescale(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, bool &v)
fpreal64 getShutterclose() const
void setEntries(const UT_Array< Entries > &val)
fpreal64 opinstEntries_valf(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
GLenum GLuint GLenum GLsizei const GLchar * buf
bool operator==(const SOP_CameraParms &src) const
int64 opinstEntries_vali(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
UT_StringHolder createString(const UT_Array< Entries > &list) const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
SOP_Node * getNode() const
const UT_Array< Entries > & getEntries() const
fpreal64 getNearclip() const
static void loadData(UT_IStream &is, UT_Vector4D &v)
UT_Vector3D getLookatposition() const
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
void setUpvec(UT_Vector3D val)
fpreal64 getCropt() const
int64 opEntries_vali(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
fpreal64 opTwist(const SOP_NodeVerb::CookParms &cookparms) const
GT_API const UT_StringHolder time
fpreal64 getCropr() const
constexpr SYS_FORCE_INLINE T & y() noexcept
UT_Vector2D opinstEntries_val2f(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
Projection getProjection() const
UT_Vector2T< fpreal64 > UT_Vector2D
fpreal64 opShutteropen(const SOP_NodeVerb::CookParms &cookparms) const
GLsizei const GLfloat * value
bool load(UT_IStream &is)
UT_Vector2D opWinsize(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getFocus() const
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const
const OP_Context & context() const
UT_Vector2I getRes() const
void loadFromOpSubclass(const LoadParms &loadparms) override
constexpr SYS_FORCE_INLINE T & z() noexcept
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
SYS_FORCE_INLINE const char * buffer() const
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
Upvecmethod getUpvecmethod() const
fpreal64 opShutterclose(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
fpreal64 opFarclip(const SOP_NodeVerb::CookParms &cookparms) const
GLuint GLsizei GLsizei * length
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
static void saveData(std::ostream &os, bool v)
An output stream object that owns its own string buffer storage.
void setName(const UT_StringHolder &val)
static void saveData(std::ostream &os, int64 v)
fpreal64 getFarclip() const
**But if you need a result
void setShutterclose(fpreal64 val)
void setCropl(fpreal64 val)
Projection opProjection(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
const char * getNestParmName(TempIndex fieldnum) const override
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
UT_Vector2D opEntries_val2f(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
fpreal64 opNearclip(const SOP_NodeVerb::CookParms &cookparms) const
void setFocus(fpreal64 val)
void setLookatposition(UT_Vector3D val)
fpreal64 opCropr(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opCropb(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D getUpvec() const
UT_Vector3D opR(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector2D &v)
constexpr SYS_FORCE_INLINE T & x() noexcept
UT_Vector4D opinstEntries_val4f(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
const UT_StringHolder & getName() const
ParmType getNestParmType(TempIndex fieldnum) const override
static void loadData(UT_IStream &is, UT_Matrix2D &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
GLuint GLsizei const GLuint const GLintptr * offsets
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
constexpr SYS_FORCE_INLINE T & x() noexcept
UT_Vector3D opEntries_val3f(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setCropr(fpreal64 val)
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
bool opinstEntries_enable(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
static void saveData(std::ostream &os, UT_Vector3D v)
void save(std::ostream &os) const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
void setTwist(fpreal64 val)
void setPr(UT_Vector3D val)
fpreal64 getOrthowidth() const
UT_Vector3D opLookatposition(const SOP_NodeVerb::CookParms &cookparms) const
GLint GLint GLsizei GLint GLenum GLenum type
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
void setDolookat(bool val)
UT_Vector3D getPr() const
fpreal64 opFocal(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector4I &v)
static void saveData(std::ostream &os, fpreal64 v)
void setWinsize(UT_Vector2D val)
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
int64 opinstEntries_type(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
constexpr SYS_FORCE_INLINE T & z() noexcept
fpreal64 opOrthowidth(const SOP_NodeVerb::CookParms &cookparms) const
void setOrthowidth(fpreal64 val)
PXL_API const char * getName(const ColorSpace *space)
Return the name of the color space.
UT_Vector3D opPr(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
UT_StringHolder opName(const SOP_NodeVerb::CookParms &cookparms) const
exint read(bool *array, exint sz=1)
const OP_GraphProxy * graph() const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
bool isParmColorRamp(exint idx) const override
fpreal64 opCropt(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opEntries_valf(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
UT_Vector4D opEntries_val4f(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setP(UT_Vector3D val)
virtual void evalOpParmInst(int64 &v, NodeIdx node, const char *parmname, const int *inst, const int *offsets, fpreal time, DEP_MicroNode *depnode, int nestlevel=1) const =0
void setRes(UT_Vector2I val)
fpreal64 getFstop() const
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
UT_Vector3T< fpreal64 > UT_Vector3D
UT_Vector2D opWin(const SOP_NodeVerb::CookParms &cookparms) const
Xord opXord(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getImgdist() const
void setProjection(Projection val)
UT_StringHolder opinstEntries_vals(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool operator!=(const Entries &src) const
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
static void loadData(UT_IStream &is, UT_Matrix4D &v)
void setR(UT_Vector3D val)
fpreal64 opFocus(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE void strcat(const char *src)
fpreal64 getGuidescale() const
void saveBinary(std::ostream &os) const
Save string to binary stream.
UT_StringHolder opEntries_vals(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setNearclip(fpreal64 val)
exint opEntries(const SOP_NodeVerb::CookParms &cookparms) const
Rord opRord(const SOP_NodeVerb::CookParms &cookparms) const
GT_API const UT_StringHolder version
static void saveData(std::ostream &os, UT_Matrix2D v)
static void loadData(UT_IStream &is, UT_Vector2I &v)
SYS_FORCE_INLINE UT_StringHolder getToken(Xord enum_value)
exint entries() const
Alias of size(). size() is preferred.
void setGuidescale(fpreal64 val)
static void loadData(UT_IStream &is, int64 &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
static void saveData(std::ostream &os, UT_Matrix4D v)
UT_StringHolder opEntries_key(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
fpreal64 opAperture(const SOP_NodeVerb::CookParms &cookparms) const
void setFocal(fpreal64 val)
int64 opEntries_type(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setImgdist(fpreal64 val)
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
UT_Vector3D opinstEntries_val3f(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
static void saveData(std::ostream &os, UT_Vector4D v)
void setAperture(fpreal64 val)
static void loadData(UT_IStream &is, UT_Vector3D &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
exint getNestNumParms(TempIndex idx) const override
DEP_MicroNode * depnode() const
void setT(UT_Vector3D val)
LeafData & operator=(const LeafData &)=delete
static void saveData(std::ostream &os, PRM_DataItemHandle s)
Utility class for containing a color ramp.
fpreal64 getTwist() const
bool operator==(const Entries &src) const
static void loadData(UT_IStream &is, UT_Vector3I &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
fpreal64 getCropb() const
static void saveData(std::ostream &os, UT_Vector2D v)
constexpr SYS_FORCE_INLINE T & w() noexcept
SYS_FORCE_INLINE void append(char character)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
UT_Vector3D opT(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D getWin() const
virtual UT_StringHolder baseGetSignature() const
bool opDolookat(const SOP_NodeVerb::CookParms &cookparms) const
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
UT_Vector3D opUpvec(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_StringHolder s)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
void setCropt(fpreal64 val)
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
bool operator!=(const SOP_CameraParms &src) const
fpreal getCookTime() const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
fpreal64 opCropl(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2I opRes(const SOP_NodeVerb::CookParms &cookparms) const
Upvecmethod opUpvecmethod(const SOP_NodeVerb::CookParms &cookparms) const
const char * findChar(int c) const
void setWin(UT_Vector2D val)
static void saveData(std::ostream &os, UT_Matrix3D v)
void setUpvecmethod(Upvecmethod val)
exint bread(uint8 *buffer, exint asize=1)
UT_StringHolder opinstEntries_key(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void setFstop(fpreal64 val)
void setResmenu(int64 val)
UT_Vector4T< fpreal64 > UT_Vector4D
void copyFrom(const OP_NodeParms *src) override
UT_Vector2D getWinsize() const
constexpr SYS_FORCE_INLINE T & y() noexcept
fpreal64 getCropl() const
void setShutteropen(fpreal64 val)
fpreal64 getAperture() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
virtual bool isDirect() const =0
Direct proxies mirror actual nodes:
void setFarclip(fpreal64 val)
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
bool opEntries_enable(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
fpreal64 getFocal() const
fpreal64 opImgdist(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & y() noexcept
fpreal64 getShutteropen() const
SYS_FORCE_INLINE bool isstring() const
void setCropb(fpreal64 val)
fpreal64 opFstop(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
static void loadData(UT_IStream &is, fpreal64 &v)
int64 opResmenu(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D opP(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
constexpr SYS_FORCE_INLINE T & x() noexcept