23 namespace SOP_GroupRangeEnums
35 using namespace UT::Literal;
55 using namespace UT::Literal;
76 using namespace UT::Literal;
97 using namespace UT::Literal;
147 groupname =
"group#"_UTsh;
161 connectedgeo =
false;
168 colallowonbnd =
true;
170 keeponlypartnum =
true;
177 if (enable != src.
enable)
return false;
178 if (groupname != src.
groupname)
return false;
179 if (group != src.
group)
return false;
180 if (grouptype != src.
grouptype)
return false;
181 if (mergeop != src.
mergeop)
return false;
182 if (method != src.
method)
return false;
184 if (
end != src.
end)
return false;
186 if (partition != src.
partition)
return false;
193 if (useattrib != src.
useattrib)
return false;
194 if (attrib != src.
attrib)
return false;
195 if (tol != src.
tol)
return false;
197 if (colgroup != src.
colgroup)
return false;
200 if (usepartnum != src.
usepartnum)
return false;
202 if (partnum != src.
partnum)
return false;
218 for (
int i = 0; i < list.
entries(); i++)
224 buf.
appendSprintf(
"%s", (list(i).enable) ?
"true" :
"false");
254 buf.
appendSprintf(
"%s", (list(i).connectedgeo) ?
"true" :
"false");
256 buf.
appendSprintf(
"%s", (list(i).useattrib) ?
"true" :
"false");
262 buf.
appendSprintf(
"%s", (list(i).usecolgroup) ?
"true" :
"false");
268 buf.
appendSprintf(
"%s", (list(i).colallowonbnd) ?
"true" :
"false");
270 buf.
appendSprintf(
"%s", (list(i).usepartnum) ?
"true" :
"false");
272 buf.
appendSprintf(
"%s", (list(i).keeponlypartnum) ?
"true" :
"false");
286 myNumrange.setSize(1);
299 if (myNumrange != src.myNumrange)
return false;
322 graph->
evalOpParm(length, nodeidx,
"numrange", time, graph->
isDirect()?
nullptr:depnode);
323 if (length < 0) length = 0;
324 myNumrange.setSize(length);
331 auto && _curentry = myNumrange(i);
333 _curentry.enable =
true;
335 graph->
evalOpParmInst(_curentry.enable, nodeidx,
"enable#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
336 _curentry.groupname =
"group#"_UTsh;
337 if (
true && ( (
true&&!(((_curentry.enable==0)))) ) )
338 graph->
evalOpParmInst(_curentry.groupname, nodeidx,
"groupname#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
339 _curentry.group =
""_UTsh;
341 graph->
evalOpParmInst(_curentry.group, nodeidx,
"group#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
342 _curentry.grouptype = 1;
344 graph->
evalOpParmInst(_curentry.grouptype, nodeidx,
"grouptype#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
345 _curentry.mergeop = 0;
347 graph->
evalOpParmInst(_curentry.mergeop, nodeidx,
"mergeop#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
348 _curentry.method = 1;
350 graph->
evalOpParmInst(_curentry.method, nodeidx,
"method#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
352 if (
true && ( (
true&&!(((_curentry.method==3)))) ) )
353 graph->
evalOpParmInst(_curentry.start, nodeidx,
"start#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
355 if (
true && ( (
true&&!(((_curentry.method!=0)&&(_curentry.method!=1)))) ) )
356 graph->
evalOpParmInst(_curentry.end, nodeidx,
"end#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
357 _curentry.length = 1;
358 if (
true && ( (
true&&!(((_curentry.method!=2)))) ) )
359 graph->
evalOpParmInst(_curentry.length, nodeidx,
"length#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
360 _curentry.partition = 0;
361 if (
true && ( (
true&&!(((_curentry.method!=3)))) ) )
362 graph->
evalOpParmInst(_curentry.partition, nodeidx,
"partition#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
363 _curentry.numpartition = 1;
364 if (
true && ( (
true&&!(((_curentry.method!=3)))) ) )
365 graph->
evalOpParmInst(_curentry.numpartition, nodeidx,
"numpartition#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
366 _curentry.invert =
false;
368 graph->
evalOpParmInst(_curentry.invert, nodeidx,
"invert#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
369 _curentry.selectamount = 1;
371 graph->
evalOpParmInst(_curentry.selectamount, nodeidx,
"selectamount#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
372 _curentry.selecttotal = 1;
374 graph->
evalOpParmInst(_curentry.selecttotal, nodeidx,
"selecttotal#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
375 _curentry.selectoffset = 0;
377 graph->
evalOpParmInst(_curentry.selectoffset, nodeidx,
"selectoffset#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
378 _curentry.connectedgeo =
false;
380 graph->
evalOpParmInst(_curentry.connectedgeo, nodeidx,
"connectedgeo#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
381 _curentry.useattrib =
false;
383 graph->
evalOpParmInst(_curentry.useattrib, nodeidx,
"useattrib#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
384 _curentry.attrib =
""_UTsh;
385 if (
true && ( (
true&&!(((_curentry.useattrib==0)))) ) )
386 graph->
evalOpParmInst(_curentry.attrib, nodeidx,
"attrib#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
388 if (
true && ( (
true&&!(((_curentry.useattrib==0)))) ) )
389 graph->
evalOpParmInst(_curentry.tol, nodeidx,
"tol#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
390 _curentry.usecolgroup =
false;
392 graph->
evalOpParmInst(_curentry.usecolgroup, nodeidx,
"usecolgroup#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
393 _curentry.colgroup =
""_UTsh;
394 if (
true && ( (
true&&!(((_curentry.usecolgroup==0)))) ) )
395 graph->
evalOpParmInst(_curentry.colgroup, nodeidx,
"colgroup#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
396 _curentry.colgrouptype = 0;
397 if (
true && ( (
true&&!(((_curentry.usecolgroup==0)))) ) )
398 graph->
evalOpParmInst(_curentry.colgrouptype, nodeidx,
"colgrouptype#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
399 _curentry.colallowonbnd =
true;
400 if (
true && ( (
true&&!(((_curentry.usecolgroup==0)))) ) )
401 graph->
evalOpParmInst(_curentry.colallowonbnd, nodeidx,
"colallowonbnd#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
402 _curentry.usepartnum =
false;
404 graph->
evalOpParmInst(_curentry.usepartnum, nodeidx,
"usepartnum#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
405 _curentry.keeponlypartnum =
true;
406 if (
true && ( (
true&&!(((_curentry.usepartnum==0)))) ) )
407 graph->
evalOpParmInst(_curentry.keeponlypartnum, nodeidx,
"keeponlypartnum#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
408 _curentry.partnum = 0;
409 if (
true && ( (
true&&!(((_curentry.usepartnum==0)))) ) )
410 graph->
evalOpParmInst(_curentry.partnum, nodeidx,
"partnum#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
431 template <
typename T>
438 if (idx.
size() != instance.
size()+1)
444 coerceValue(value, myNumrange.entries());
445 else if (instance[0] < myNumrange.entries())
447 auto && _data = myNumrange(instance[0]);
451 coerceValue(value, _data.enable);
454 coerceValue(value, _data.groupname);
457 coerceValue(value, _data.group);
460 coerceValue(value, _data.grouptype);
463 coerceValue(value, _data.mergeop);
466 coerceValue(value, _data.method);
469 coerceValue(value, _data.start);
472 coerceValue(value, _data.end);
475 coerceValue(value, _data.length);
478 coerceValue(value, _data.partition);
481 coerceValue(value, _data.numpartition);
484 coerceValue(value, _data.invert);
487 coerceValue(value, _data.selectamount);
490 coerceValue(value, _data.selecttotal);
493 coerceValue(value, _data.selectoffset);
496 coerceValue(value, _data.connectedgeo);
499 coerceValue(value, _data.useattrib);
502 coerceValue(value, _data.attrib);
505 coerceValue(value, _data.tol);
508 coerceValue(value, _data.usecolgroup);
511 coerceValue(value, _data.colgroup);
514 coerceValue(value, _data.colgrouptype);
517 coerceValue(value, _data.colallowonbnd);
520 coerceValue(value, _data.usepartnum);
523 coerceValue(value, _data.keeponlypartnum);
526 coerceValue(value, _data.partnum);
546 { doGetParmValue(idx, instance, value); }
548 { doGetParmValue(idx, instance, value); }
550 { doGetParmValue(idx, instance, value); }
552 { doGetParmValue(idx, instance, value); }
554 { doGetParmValue(idx, instance, value); }
556 { doGetParmValue(idx, instance, value); }
558 { doGetParmValue(idx, instance, value); }
560 { doGetParmValue(idx, instance, value); }
562 { doGetParmValue(idx, instance, value); }
564 { doGetParmValue(idx, instance, value); }
566 { doGetParmValue(idx, instance, value); }
568 template <
typename T>
575 if (idx.
size() != instance.
size()+1)
583 coerceValue(newsize, value);
584 if (newsize < 0) newsize = 0;
585 myNumrange.setSize(newsize);
591 myNumrange.setSizeIfNeeded(instance[0]+1);
592 auto && _data = myNumrange(instance[0]);
596 coerceValue(_data.enable, value);
599 coerceValue(_data.groupname, value);
602 coerceValue(_data.group, value);
605 coerceValue(_data.grouptype, value);
608 coerceValue(_data.mergeop, value);
611 coerceValue(_data.method, value);
614 coerceValue(_data.start, value);
617 coerceValue(_data.end, value);
620 coerceValue(_data.length, value);
623 coerceValue(_data.partition, value);
626 coerceValue(_data.numpartition, value);
629 coerceValue(_data.invert, value);
632 coerceValue(_data.selectamount, value);
635 coerceValue(_data.selecttotal, value);
638 coerceValue(_data.selectoffset, value);
641 coerceValue(_data.connectedgeo, value);
644 coerceValue(_data.useattrib, value);
647 coerceValue(_data.attrib, value);
650 coerceValue(_data.tol, value);
653 coerceValue(_data.usecolgroup, value);
656 coerceValue(_data.colgroup, value);
659 coerceValue(_data.colgrouptype, value);
662 coerceValue(_data.colallowonbnd, value);
665 coerceValue(_data.usepartnum, value);
668 coerceValue(_data.keeponlypartnum, value);
671 coerceValue(_data.partnum, value);
682 { doSetParmValue(idx, instance, value); }
684 { doSetParmValue(idx, instance, value); }
686 { doSetParmValue(idx, instance, value); }
688 { doSetParmValue(idx, instance, value); }
690 { doSetParmValue(idx, instance, value); }
692 { doSetParmValue(idx, instance, value); }
694 { doSetParmValue(idx, instance, value); }
696 { doSetParmValue(idx, instance, value); }
698 { doSetParmValue(idx, instance, value); }
700 { doSetParmValue(idx, instance, value); }
702 { doSetParmValue(idx, instance, value); }
720 if (fieldnum.
size() < 1)
725 if (fieldnum.
size() == 1)
750 return "numpartition#";
754 return "selectamount#";
756 return "selecttotal#";
758 return "selectoffset#";
760 return "connectedgeo#";
768 return "usecolgroup#";
772 return "colgrouptype#";
774 return "colallowonbnd#";
776 return "usepartnum#";
778 return "keeponlypartnum#";
791 if (fieldnum.
size() < 1)
792 return PARM_UNSUPPORTED;
796 if (fieldnum.
size() == 1)
797 return PARM_MULTIPARM;
854 return PARM_UNSUPPORTED;
857 return PARM_UNSUPPORTED;
893 loadData(is, rampdata);
911 int typelen = colon - data.
buffer();
925 {
int64 iv =
v; UTwrite(os, &iv); }
927 { UTwrite<fpreal64>(os, &
v); }
929 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
931 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
932 UTwrite<fpreal64>(os, &v.
z()); }
934 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
935 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
947 if (s) s->save(ostr);
949 saveData(os, result);
956 ostr << s->getDataTypeToken();
961 saveData(os, result);
965 void save(std::ostream &os)
const
971 UTwrite(os, &length);
974 auto && _curentry = myNumrange(i);
976 saveData(os, _curentry.enable);
977 saveData(os, _curentry.groupname);
978 saveData(os, _curentry.group);
979 saveData(os, _curentry.grouptype);
980 saveData(os, _curentry.mergeop);
981 saveData(os, _curentry.method);
982 saveData(os, _curentry.start);
983 saveData(os, _curentry.end);
984 saveData(os, _curentry.length);
985 saveData(os, _curentry.partition);
986 saveData(os, _curentry.numpartition);
987 saveData(os, _curentry.invert);
988 saveData(os, _curentry.selectamount);
989 saveData(os, _curentry.selecttotal);
990 saveData(os, _curentry.selectoffset);
991 saveData(os, _curentry.connectedgeo);
992 saveData(os, _curentry.useattrib);
993 saveData(os, _curentry.attrib);
994 saveData(os, _curentry.tol);
995 saveData(os, _curentry.usecolgroup);
996 saveData(os, _curentry.colgroup);
997 saveData(os, _curentry.colgrouptype);
998 saveData(os, _curentry.colallowonbnd);
999 saveData(os, _curentry.usepartnum);
1000 saveData(os, _curentry.keeponlypartnum);
1001 saveData(os, _curentry.partnum);
1019 is.
read(&length, 1);
1020 myNumrange.setSize(length);
1023 auto && _curentry = myNumrange(i);
1025 loadData(is, _curentry.enable);
1026 loadData(is, _curentry.groupname);
1027 loadData(is, _curentry.group);
1028 loadData(is, _curentry.grouptype);
1029 loadData(is, _curentry.mergeop);
1030 loadData(is, _curentry.method);
1031 loadData(is, _curentry.start);
1032 loadData(is, _curentry.end);
1033 loadData(is, _curentry.length);
1034 loadData(is, _curentry.partition);
1035 loadData(is, _curentry.numpartition);
1036 loadData(is, _curentry.invert);
1037 loadData(is, _curentry.selectamount);
1038 loadData(is, _curentry.selecttotal);
1039 loadData(is, _curentry.selectoffset);
1040 loadData(is, _curentry.connectedgeo);
1041 loadData(is, _curentry.useattrib);
1042 loadData(is, _curentry.attrib);
1043 loadData(is, _curentry.tol);
1044 loadData(is, _curentry.usecolgroup);
1045 loadData(is, _curentry.colgroup);
1046 loadData(is, _curentry.colgrouptype);
1047 loadData(is, _curentry.colallowonbnd);
1048 loadData(is, _curentry.usepartnum);
1049 loadData(is, _curentry.keeponlypartnum);
1050 loadData(is, _curentry.partnum);
1063 if (!thissop)
return getNumrange().entries();
1065 OP_Utils::evalOpParm(result, thissop,
"numrange", cookparms.
getCookTime(), 0);
1069 {
return opinstNumrange_enable(cookparms, &_idx); }
1073 if (!thissop)
return (myNumrange(_idx[0]).enable);
1075 _parmidx[1-1] = _idx[1-1] + 1;
1078 OP_Utils::evalOpParmInst(result, thissop,
"enable#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1082 {
return opinstNumrange_groupname(cookparms, &_idx); }
1086 if (!thissop)
return (myNumrange(_idx[0]).groupname);
1088 _parmidx[1-1] = _idx[1-1] + 1;
1091 OP_Utils::evalOpParmInst(result, thissop,
"groupname#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1095 {
return opinstNumrange_group(cookparms, &_idx); }
1099 if (!thissop)
return (myNumrange(_idx[0]).group);
1101 _parmidx[1-1] = _idx[1-1] + 1;
1104 OP_Utils::evalOpParmInst(result, thissop,
"group#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1108 {
return opinstNumrange_grouptype(cookparms, &_idx); }
1112 if (!thissop)
return (myNumrange(_idx[0]).grouptype);
1114 _parmidx[1-1] = _idx[1-1] + 1;
1117 OP_Utils::evalOpParmInst(result, thissop,
"grouptype#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1121 {
return opinstNumrange_mergeop(cookparms, &_idx); }
1125 if (!thissop)
return (myNumrange(_idx[0]).mergeop);
1127 _parmidx[1-1] = _idx[1-1] + 1;
1130 OP_Utils::evalOpParmInst(result, thissop,
"mergeop#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1134 {
return opinstNumrange_method(cookparms, &_idx); }
1138 if (!thissop)
return (myNumrange(_idx[0]).method);
1140 _parmidx[1-1] = _idx[1-1] + 1;
1143 OP_Utils::evalOpParmInst(result, thissop,
"method#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1147 {
return opinstNumrange_start(cookparms, &_idx); }
1151 if (!thissop)
return (myNumrange(_idx[0]).
start);
1153 _parmidx[1-1] = _idx[1-1] + 1;
1156 OP_Utils::evalOpParmInst(result, thissop,
"start#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1160 {
return opinstNumrange_end(cookparms, &_idx); }
1164 if (!thissop)
return (myNumrange(_idx[0]).
end);
1166 _parmidx[1-1] = _idx[1-1] + 1;
1169 OP_Utils::evalOpParmInst(result, thissop,
"end#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1173 {
return opinstNumrange_length(cookparms, &_idx); }
1177 if (!thissop)
return (myNumrange(_idx[0]).
length);
1179 _parmidx[1-1] = _idx[1-1] + 1;
1182 OP_Utils::evalOpParmInst(result, thissop,
"length#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1186 {
return opinstNumrange_partition(cookparms, &_idx); }
1190 if (!thissop)
return (myNumrange(_idx[0]).partition);
1192 _parmidx[1-1] = _idx[1-1] + 1;
1195 OP_Utils::evalOpParmInst(result, thissop,
"partition#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1199 {
return opinstNumrange_numpartition(cookparms, &_idx); }
1203 if (!thissop)
return (myNumrange(_idx[0]).numpartition);
1205 _parmidx[1-1] = _idx[1-1] + 1;
1208 OP_Utils::evalOpParmInst(result, thissop,
"numpartition#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1212 {
return opinstNumrange_invert(cookparms, &_idx); }
1216 if (!thissop)
return (myNumrange(_idx[0]).
invert);
1218 _parmidx[1-1] = _idx[1-1] + 1;
1221 OP_Utils::evalOpParmInst(result, thissop,
"invert#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1225 {
return opinstNumrange_selectamount(cookparms, &_idx); }
1229 if (!thissop)
return (myNumrange(_idx[0]).selectamount);
1231 _parmidx[1-1] = _idx[1-1] + 1;
1234 OP_Utils::evalOpParmInst(result, thissop,
"selectamount#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1238 {
return opinstNumrange_selecttotal(cookparms, &_idx); }
1242 if (!thissop)
return (myNumrange(_idx[0]).selecttotal);
1244 _parmidx[1-1] = _idx[1-1] + 1;
1247 OP_Utils::evalOpParmInst(result, thissop,
"selecttotal#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1251 {
return opinstNumrange_selectoffset(cookparms, &_idx); }
1255 if (!thissop)
return (myNumrange(_idx[0]).selectoffset);
1257 _parmidx[1-1] = _idx[1-1] + 1;
1260 OP_Utils::evalOpParmInst(result, thissop,
"selectoffset#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1264 {
return opinstNumrange_connectedgeo(cookparms, &_idx); }
1268 if (!thissop)
return (myNumrange(_idx[0]).connectedgeo);
1270 _parmidx[1-1] = _idx[1-1] + 1;
1273 OP_Utils::evalOpParmInst(result, thissop,
"connectedgeo#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1277 {
return opinstNumrange_useattrib(cookparms, &_idx); }
1281 if (!thissop)
return (myNumrange(_idx[0]).useattrib);
1283 _parmidx[1-1] = _idx[1-1] + 1;
1286 OP_Utils::evalOpParmInst(result, thissop,
"useattrib#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1290 {
return opinstNumrange_attrib(cookparms, &_idx); }
1294 if (!thissop)
return (myNumrange(_idx[0]).attrib);
1296 _parmidx[1-1] = _idx[1-1] + 1;
1299 OP_Utils::evalOpParmInst(result, thissop,
"attrib#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1303 {
return opinstNumrange_tol(cookparms, &_idx); }
1307 if (!thissop)
return (myNumrange(_idx[0]).tol);
1309 _parmidx[1-1] = _idx[1-1] + 1;
1312 OP_Utils::evalOpParmInst(result, thissop,
"tol#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1316 {
return opinstNumrange_usecolgroup(cookparms, &_idx); }
1320 if (!thissop)
return (myNumrange(_idx[0]).usecolgroup);
1322 _parmidx[1-1] = _idx[1-1] + 1;
1325 OP_Utils::evalOpParmInst(result, thissop,
"usecolgroup#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1329 {
return opinstNumrange_colgroup(cookparms, &_idx); }
1333 if (!thissop)
return (myNumrange(_idx[0]).colgroup);
1335 _parmidx[1-1] = _idx[1-1] + 1;
1338 OP_Utils::evalOpParmInst(result, thissop,
"colgroup#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1342 {
return opinstNumrange_colgrouptype(cookparms, &_idx); }
1346 if (!thissop)
return (myNumrange(_idx[0]).colgrouptype);
1348 _parmidx[1-1] = _idx[1-1] + 1;
1351 OP_Utils::evalOpParmInst(result, thissop,
"colgrouptype#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1355 {
return opinstNumrange_colallowonbnd(cookparms, &_idx); }
1359 if (!thissop)
return (myNumrange(_idx[0]).colallowonbnd);
1361 _parmidx[1-1] = _idx[1-1] + 1;
1364 OP_Utils::evalOpParmInst(result, thissop,
"colallowonbnd#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1368 {
return opinstNumrange_usepartnum(cookparms, &_idx); }
1372 if (!thissop)
return (myNumrange(_idx[0]).usepartnum);
1374 _parmidx[1-1] = _idx[1-1] + 1;
1377 OP_Utils::evalOpParmInst(result, thissop,
"usepartnum#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1381 {
return opinstNumrange_keeponlypartnum(cookparms, &_idx); }
1385 if (!thissop)
return (myNumrange(_idx[0]).keeponlypartnum);
1387 _parmidx[1-1] = _idx[1-1] + 1;
1390 OP_Utils::evalOpParmInst(result, thissop,
"keeponlypartnum#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1394 {
return opinstNumrange_partnum(cookparms, &_idx); }
1398 if (!thissop)
return (myNumrange(_idx[0]).partnum);
1400 _parmidx[1-1] = _idx[1-1] + 1;
1403 OP_Utils::evalOpParmInst(result, thissop,
"partnum#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
bool opinstNumrange_connectedgeo(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
GLenum GLuint GLenum GLsizei const GLchar * buf
UT_StringHolder opNumrange_attrib(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void loadData(UT_IStream &is, UT_Vector3I &v)
static void saveData(std::ostream &os, bool v)
int64 opNumrange_partition(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool isParmColorRamp(exint idx) const override
SOP_Node * getNode() const
static void saveData(std::ostream &os, fpreal64 v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
UT_StringHolder opinstNumrange_groupname(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
int64 opNumrange_method(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void saveData(std::ostream &os, int64 v)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
static void loadData(UT_IStream &is, UT_Vector2I &v)
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
int64 opNumrange_start(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
UT_StringHolder createString(const UT_Array< Numrange > &list) const
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
int64 opinstNumrange_selecttotal(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
GLsizei const GLfloat * value
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
bool opNumrange_invert(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool operator==(const SOP_GroupRangeParms &src) const
bool opinstNumrange_colallowonbnd(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const
const OP_Context & context() const
constexpr SYS_FORCE_INLINE T & z() noexcept
SYS_FORCE_INLINE const char * buffer() const
int64 opinstNumrange_partnum(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
GLuint GLsizei GLsizei * length
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
UT_StringHolder opNumrange_groupname(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
An output stream object that owns its own string buffer storage.
UT_StringHolder opNumrange_colgroup(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool opNumrange_colallowonbnd(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
**But if you need a result
static void saveData(std::ostream &os, UT_StringHolder s)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
int64 opinstNumrange_method(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
int64 opinstNumrange_partition(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
int64 opNumrange_selecttotal(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
int64 opNumrange_selectamount(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
constexpr SYS_FORCE_INLINE T & x() noexcept
void save(std::ostream &os) const
void loadFromOpSubclass(const LoadParms &loadparms) override
GLuint GLsizei const GLuint const GLintptr * offsets
bool opinstNumrange_usepartnum(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
constexpr SYS_FORCE_INLINE T & x() noexcept
static void loadData(UT_IStream &is, bool &v)
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
int64 opNumrange_end(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
const char * getNestParmName(TempIndex fieldnum) const override
int64 opNumrange_partnum(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void loadData(UT_IStream &is, UT_Vector4D &v)
int64 opNumrange_selectoffset(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
UT_StringHolder opinstNumrange_colgroup(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
bool operator!=(const Numrange &src) const
constexpr SYS_FORCE_INLINE T & z() noexcept
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
static void loadData(UT_IStream &is, UT_Matrix4D &v)
SYS_FORCE_INLINE UT_StringHolder getToken(Grouptype enum_value)
bool opinstNumrange_usecolgroup(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
int64 opinstNumrange_mergeop(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
static void saveData(std::ostream &os, UT_Matrix3D v)
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
exint getNestNumParms(TempIndex idx) const override
int64 opinstNumrange_colgrouptype(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
exint read(bool *array, exint sz=1)
const OP_GraphProxy * graph() const
bool opNumrange_connectedgeo(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void saveData(std::ostream &os, UT_Matrix4D v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
virtual void evalOpParmInst(int64 &v, NodeIdx node, const char *parmname, const int *inst, const int *offsets, fpreal time, DEP_MicroNode *depnode, int nestlevel=1) const =0
int64 opinstNumrange_numpartition(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
static void saveData(std::ostream &os, UT_Matrix2D v)
const UT_Array< Numrange > & getNumrange() const
int64 opinstNumrange_selectamount(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool opNumrange_usepartnum(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
int64 opNumrange_mergeop(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
UT_StringHolder groupname
UT_StringHolder opNumrange_group(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
static void loadData(UT_IStream &is, int64 &v)
static void saveData(std::ostream &os, UT_Vector4D v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
SYS_FORCE_INLINE void strcat(const char *src)
static void loadData(UT_IStream &is, fpreal64 &v)
void saveBinary(std::ostream &os) const
Save string to binary stream.
static void loadData(UT_IStream &is, UT_StringHolder &v)
GT_API const UT_StringHolder version
exint entries() const
Alias of size(). size() is preferred.
fpreal64 opNumrange_tol(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool opNumrange_keeponlypartnum(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool opinstNumrange_useattrib(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void copyFrom(const OP_NodeParms *src) override
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
bool opinstNumrange_enable(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
int64 opinstNumrange_start(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
static void saveData(std::ostream &os, UT_Vector2D v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
bool opinstNumrange_invert(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
DEP_MicroNode * depnode() const
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
LeafData & operator=(const LeafData &)=delete
ParmType getNestParmType(TempIndex fieldnum) const override
int64 opinstNumrange_grouptype(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
Utility class for containing a color ramp.
int64 opinstNumrange_length(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
int64 opinstNumrange_selectoffset(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
constexpr SYS_FORCE_INLINE T & w() noexcept
SYS_FORCE_INLINE void append(char character)
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
UT_StringHolder opinstNumrange_attrib(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool opNumrange_usecolgroup(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setNumrange(const UT_Array< Numrange > &val)
static void loadData(UT_IStream &is, UT_Vector2D &v)
virtual UT_StringHolder baseGetSignature() const
static void saveData(std::ostream &os, UT_Vector3D v)
fpreal getCookTime() const
int64 opinstNumrange_end(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
int64 opNumrange_colgrouptype(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
int64 opNumrange_grouptype(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
const char * findChar(int c) const
bool opNumrange_useattrib(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool opinstNumrange_keeponlypartnum(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool operator==(const Numrange &src) const
constexpr SYS_FORCE_INLINE T & y() noexcept
exint opNumrange(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opinstNumrange_group(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
bool opNumrange_enable(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void loadData(UT_IStream &is, UT_Vector4I &v)
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
virtual bool isDirect() const =0
Direct proxies mirror actual nodes:
bool load(UT_IStream &is)
constexpr SYS_FORCE_INLINE T & y() noexcept
SYS_FORCE_INLINE bool isstring() const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
static void saveData(std::ostream &os, PRM_DataItemHandle s)
bool operator!=(const SOP_GroupRangeParms &src) const
int64 opNumrange_length(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
fpreal64 opinstNumrange_tol(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
constexpr SYS_FORCE_INLINE T & x() noexcept
static void loadData(UT_IStream &is, UT_Vector3D &v)
int64 opNumrange_numpartition(const SOP_NodeVerb::CookParms &cookparms, int _idx) const