23 namespace SOP_SortEnums
47 using namespace UT::Literal;
88 using namespace UT::Literal;
122 myPointobjpath =
""_UTsh;
125 myPointattrib =
""_UTsh;
126 myPointattribcomp = 0;
127 myPointorder =
"indices"_UTsh;
128 myPointreverse =
false;
129 myUsepointindices =
false;
130 myPointindices =
"indices"_UTsh;
131 myCombinepointindices =
false;
132 myPrimgroup =
""_UTsh;
137 myPrimobjpath =
""_UTsh;
140 myPrimattrib =
""_UTsh;
141 myPrimattribcomp = 0;
142 myPrimorder =
"indices"_UTsh;
143 myPrimreverse =
false;
144 myUseprimindices =
false;
145 myPrimindices =
"indices"_UTsh;
146 myCombineprimindices =
false;
147 myVertexPrimOrder =
true;
160 if (myPtgroup != src.myPtgroup)
return false;
161 if (myPtsort != src.myPtsort)
return false;
162 if (myPointseed != src.myPointseed)
return false;
163 if (myPointoffset != src.myPointoffset)
return false;
164 if (myPointprox != src.myPointprox)
return false;
165 if (myPointobjpath != src.myPointobjpath)
return false;
166 if (myPointdir != src.myPointdir)
return false;
167 if (myPointexpr != src.myPointexpr)
return false;
168 if (myPointattrib != src.myPointattrib)
return false;
169 if (myPointattribcomp != src.myPointattribcomp)
return false;
170 if (myPointorder != src.myPointorder)
return false;
171 if (myPointreverse != src.myPointreverse)
return false;
172 if (myUsepointindices != src.myUsepointindices)
return false;
173 if (myPointindices != src.myPointindices)
return false;
174 if (myCombinepointindices != src.myCombinepointindices)
return false;
175 if (myPrimgroup != src.myPrimgroup)
return false;
176 if (myPrimsort != src.myPrimsort)
return false;
177 if (myPrimseed != src.myPrimseed)
return false;
178 if (myPrimoffset != src.myPrimoffset)
return false;
179 if (myPrimprox != src.myPrimprox)
return false;
180 if (myPrimobjpath != src.myPrimobjpath)
return false;
181 if (myPrimdir != src.myPrimdir)
return false;
182 if (myPrimexpr != src.myPrimexpr)
return false;
183 if (myPrimattrib != src.myPrimattrib)
return false;
184 if (myPrimattribcomp != src.myPrimattribcomp)
return false;
185 if (myPrimorder != src.myPrimorder)
return false;
186 if (myPrimreverse != src.myPrimreverse)
return false;
187 if (myUseprimindices != src.myUseprimindices)
return false;
188 if (myPrimindices != src.myPrimindices)
return false;
189 if (myCombineprimindices != src.myCombineprimindices)
return false;
190 if (myVertexPrimOrder != src.myVertexPrimOrder)
return false;
210 graph->
evalOpParm(myPtgroup, nodeidx,
"ptgroup", time, graph->
isDirect()?
nullptr:depnode);
213 graph->
evalOpParm(myPtsort, nodeidx,
"ptsort", time, graph->
isDirect()?
nullptr:depnode);
215 if (
true && ( (
true&&!(((
int64(getPtsort())!=6)))) ) )
216 graph->
evalOpParm(myPointseed, nodeidx,
"pointseed", time, graph->
isDirect()?
nullptr:depnode);
218 if (
true && ( (
true&&!(((
int64(getPtsort())!=7)))) ) )
219 graph->
evalOpParm(myPointoffset, nodeidx,
"pointoffset", time, graph->
isDirect()?
nullptr:depnode);
221 if (
true && ( (
true&&!(((
int64(getPtsort())!=8)))) ) )
222 graph->
evalOpParm(myPointprox, nodeidx,
"pointprox", time, graph->
isDirect()?
nullptr:depnode);
223 myPointobjpath =
""_UTsh;
224 if (
true && ( (
true&&!(((
int64(getPtsort())!=9)))) ) )
225 graph->
evalOpParm(myPointobjpath, nodeidx,
"pointobjpath", time, graph->
isDirect()?
nullptr:depnode);
227 if (
true && ( (
true&&!(((
int64(getPtsort())!=9)))) ) )
228 graph->
evalOpParm(myPointdir, nodeidx,
"pointdir", time, graph->
isDirect()?
nullptr:depnode);
230 if (
true && ( (
true&&!(((
int64(getPtsort())!=10)))) ) )
231 graph->
evalOpParm(myPointexpr, nodeidx,
"pointexpr", time, graph->
isDirect()?
nullptr:depnode);
232 myPointattrib =
""_UTsh;
233 if (
true && ( (
true&&!(((
int64(getPtsort())!=12)))) ) )
234 graph->
evalOpParm(myPointattrib, nodeidx,
"pointattrib", time, graph->
isDirect()?
nullptr:depnode);
235 myPointattribcomp = 0;
236 if (
true && ( (
true&&!(((
int64(getPtsort())!=12)))) ) )
237 graph->
evalOpParm(myPointattribcomp, nodeidx,
"pointattribcomp", time, graph->
isDirect()?
nullptr:depnode);
238 myPointorder =
"indices"_UTsh;
239 if (
true && ( (
true&&!(((
int64(getPtsort())!=14)))) ) )
240 graph->
evalOpParm(myPointorder, nodeidx,
"pointorder", time, graph->
isDirect()?
nullptr:depnode);
241 myPointreverse =
false;
243 graph->
evalOpParm(myPointreverse, nodeidx,
"pointreverse", time, graph->
isDirect()?
nullptr:depnode);
244 myUsepointindices =
false;
245 if (
true && ( (
true&&!(((
int64(getPtsort())==14)))) ) )
246 graph->
evalOpParm(myUsepointindices, nodeidx,
"usepointindices", time, graph->
isDirect()?
nullptr:depnode);
247 myPointindices =
"indices"_UTsh;
248 if (
true && ( (
true&&!(((getUsepointindices()==0))||((
int64(getPtsort())==14))||((
int64(getPtsort())==14)))) ) )
249 graph->
evalOpParm(myPointindices, nodeidx,
"pointindices", time, graph->
isDirect()?
nullptr:depnode);
250 myCombinepointindices =
false;
251 if (
true && ( (
true&&!(((getUsepointindices()==0))||((
int64(getPtsort())==14))||((
int64(getPtsort())==14)))) ) )
252 graph->
evalOpParm(myCombinepointindices, nodeidx,
"combinepointindices", time, graph->
isDirect()?
nullptr:depnode);
253 myPrimgroup =
""_UTsh;
255 graph->
evalOpParm(myPrimgroup, nodeidx,
"primgroup", time, graph->
isDirect()?
nullptr:depnode);
258 graph->
evalOpParm(myPrimsort, nodeidx,
"primsort", time, graph->
isDirect()?
nullptr:depnode);
260 if (
true && ( (
true&&!(((
int64(getPrimsort())!=5)))) ) )
261 graph->
evalOpParm(myPrimseed, nodeidx,
"primseed", time, graph->
isDirect()?
nullptr:depnode);
263 if (
true && ( (
true&&!(((
int64(getPrimsort())!=6)))) ) )
264 graph->
evalOpParm(myPrimoffset, nodeidx,
"primoffset", time, graph->
isDirect()?
nullptr:depnode);
266 if (
true && ( (
true&&!(((
int64(getPrimsort())!=7)))) ) )
267 graph->
evalOpParm(myPrimprox, nodeidx,
"primprox", time, graph->
isDirect()?
nullptr:depnode);
268 myPrimobjpath =
""_UTsh;
269 if (
true && ( (
true&&!(((
int64(getPrimsort())!=8)))) ) )
270 graph->
evalOpParm(myPrimobjpath, nodeidx,
"primobjpath", time, graph->
isDirect()?
nullptr:depnode);
272 if (
true && ( (
true&&!(((
int64(getPrimsort())!=8)))) ) )
273 graph->
evalOpParm(myPrimdir, nodeidx,
"primdir", time, graph->
isDirect()?
nullptr:depnode);
275 if (
true && ( (
true&&!(((
int64(getPrimsort())!=9)))) ) )
276 graph->
evalOpParm(myPrimexpr, nodeidx,
"primexpr", time, graph->
isDirect()?
nullptr:depnode);
277 myPrimattrib =
""_UTsh;
278 if (
true && ( (
true&&!(((
int64(getPrimsort())!=11)))) ) )
279 graph->
evalOpParm(myPrimattrib, nodeidx,
"primattrib", time, graph->
isDirect()?
nullptr:depnode);
280 myPrimattribcomp = 0;
281 if (
true && ( (
true&&!(((
int64(getPrimsort())!=11)))) ) )
282 graph->
evalOpParm(myPrimattribcomp, nodeidx,
"primattribcomp", time, graph->
isDirect()?
nullptr:depnode);
283 myPrimorder =
"indices"_UTsh;
284 if (
true && ( (
true&&!(((
int64(getPrimsort())!=12)))) ) )
285 graph->
evalOpParm(myPrimorder, nodeidx,
"primorder", time, graph->
isDirect()?
nullptr:depnode);
286 myPrimreverse =
false;
288 graph->
evalOpParm(myPrimreverse, nodeidx,
"primreverse", time, graph->
isDirect()?
nullptr:depnode);
289 myUseprimindices =
false;
290 if (
true && ( (
true&&!(((
int64(getPrimsort())==12)))) ) )
291 graph->
evalOpParm(myUseprimindices, nodeidx,
"useprimindices", time, graph->
isDirect()?
nullptr:depnode);
292 myPrimindices =
"indices"_UTsh;
293 if (
true && ( (
true&&!(((getUseprimindices()==0))||((
int64(getPrimsort())==12))||((
int64(getPrimsort())==12)))) ) )
294 graph->
evalOpParm(myPrimindices, nodeidx,
"primindices", time, graph->
isDirect()?
nullptr:depnode);
295 myCombineprimindices =
false;
296 if (
true && ( (
true&&!(((getUseprimindices()==0))||((
int64(getPrimsort())==12))||((
int64(getPrimsort())==12)))) ) )
297 graph->
evalOpParm(myCombineprimindices, nodeidx,
"combineprimindices", time, graph->
isDirect()?
nullptr:depnode);
298 myVertexPrimOrder =
true;
300 graph->
evalOpParm(myVertexPrimOrder, nodeidx,
"vertexprimorder", time, graph->
isDirect()?
nullptr:depnode);
316 template <
typename T>
323 if (idx.
size() != instance.
size()+1)
328 coerceValue(value, myPtgroup);
331 coerceValue(value, myPtsort);
334 coerceValue(value, myPointseed);
337 coerceValue(value, myPointoffset);
340 coerceValue(value, myPointprox);
343 coerceValue(value, myPointobjpath);
346 coerceValue(value, myPointdir);
349 coerceValue(value, myPointexpr);
352 coerceValue(value, myPointattrib);
355 coerceValue(value, myPointattribcomp);
358 coerceValue(value, myPointorder);
361 coerceValue(value, myPointreverse);
364 coerceValue(value, myUsepointindices);
367 coerceValue(value, myPointindices);
370 coerceValue(value, myCombinepointindices);
373 coerceValue(value, myPrimgroup);
376 coerceValue(value, myPrimsort);
379 coerceValue(value, myPrimseed);
382 coerceValue(value, myPrimoffset);
385 coerceValue(value, myPrimprox);
388 coerceValue(value, myPrimobjpath);
391 coerceValue(value, myPrimdir);
394 coerceValue(value, myPrimexpr);
397 coerceValue(value, myPrimattrib);
400 coerceValue(value, myPrimattribcomp);
403 coerceValue(value, myPrimorder);
406 coerceValue(value, myPrimreverse);
409 coerceValue(value, myUseprimindices);
412 coerceValue(value, myPrimindices);
415 coerceValue(value, myCombineprimindices);
418 coerceValue(value, myVertexPrimOrder);
434 { doGetParmValue(idx, instance, value); }
436 { doGetParmValue(idx, instance, value); }
438 { doGetParmValue(idx, instance, value); }
440 { doGetParmValue(idx, instance, value); }
442 { doGetParmValue(idx, instance, value); }
444 { doGetParmValue(idx, instance, value); }
446 { doGetParmValue(idx, instance, value); }
448 { doGetParmValue(idx, instance, value); }
450 { doGetParmValue(idx, instance, value); }
452 { doGetParmValue(idx, instance, value); }
454 { doGetParmValue(idx, instance, value); }
456 template <
typename T>
463 if (idx.
size() != instance.
size()+1)
468 coerceValue(myPtgroup, ( ( value ) ));
471 coerceValue(myPtsort, clampMinValue(0, clampMaxValue(14, value ) ));
474 coerceValue(myPointseed, ( ( value ) ));
477 coerceValue(myPointoffset, ( ( value ) ));
480 coerceValue(myPointprox, ( ( value ) ));
483 coerceValue(myPointobjpath, ( ( value ) ));
486 coerceValue(myPointdir, ( ( value ) ));
489 coerceValue(myPointexpr, ( ( value ) ));
492 coerceValue(myPointattrib, ( ( value ) ));
495 coerceValue(myPointattribcomp, ( ( value ) ));
498 coerceValue(myPointorder, ( ( value ) ));
501 coerceValue(myPointreverse, ( ( value ) ));
504 coerceValue(myUsepointindices, ( ( value ) ));
507 coerceValue(myPointindices, ( ( value ) ));
510 coerceValue(myCombinepointindices, ( ( value ) ));
513 coerceValue(myPrimgroup, ( ( value ) ));
516 coerceValue(myPrimsort, clampMinValue(0, clampMaxValue(12, value ) ));
519 coerceValue(myPrimseed, ( ( value ) ));
522 coerceValue(myPrimoffset, ( ( value ) ));
525 coerceValue(myPrimprox, ( ( value ) ));
528 coerceValue(myPrimobjpath, ( ( value ) ));
531 coerceValue(myPrimdir, ( ( value ) ));
534 coerceValue(myPrimexpr, ( ( value ) ));
537 coerceValue(myPrimattrib, ( ( value ) ));
540 coerceValue(myPrimattribcomp, ( ( value ) ));
543 coerceValue(myPrimorder, ( ( value ) ));
546 coerceValue(myPrimreverse, ( ( value ) ));
549 coerceValue(myUseprimindices, ( ( value ) ));
552 coerceValue(myPrimindices, ( ( value ) ));
555 coerceValue(myCombineprimindices, ( ( value ) ));
558 coerceValue(myVertexPrimOrder, ( ( value ) ));
565 { doSetParmValue(idx, instance, value); }
567 { doSetParmValue(idx, instance, value); }
569 { doSetParmValue(idx, instance, value); }
571 { doSetParmValue(idx, instance, value); }
573 { doSetParmValue(idx, instance, value); }
575 { doSetParmValue(idx, instance, value); }
577 { doSetParmValue(idx, instance, value); }
579 { doSetParmValue(idx, instance, value); }
581 { doSetParmValue(idx, instance, value); }
583 { doSetParmValue(idx, instance, value); }
585 { doSetParmValue(idx, instance, value); }
601 if (fieldnum.
size() < 1)
612 return "pointoffset";
616 return "pointobjpath";
622 return "pointattrib";
624 return "pointattribcomp";
628 return "pointreverse";
630 return "usepointindices";
632 return "pointindices";
634 return "combinepointindices";
646 return "primobjpath";
654 return "primattribcomp";
658 return "primreverse";
660 return "useprimindices";
662 return "primindices";
664 return "combineprimindices";
666 return "vertexprimorder";
674 if (fieldnum.
size() < 1)
675 return PARM_UNSUPPORTED;
742 return PARM_UNSUPPORTED;
778 loadData(is, rampdata);
796 int typelen = colon - data.
buffer();
810 {
int64 iv =
v; UTwrite(os, &iv); }
812 { UTwrite<fpreal64>(os, &
v); }
814 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
816 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
817 UTwrite<fpreal64>(os, &v.
z()); }
819 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
820 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
832 if (s) s->save(ostr);
834 saveData(os, result);
841 ostr << s->getDataTypeToken();
846 saveData(os, result);
850 void save(std::ostream &os)
const
854 saveData(os, myPtgroup);
855 saveData(os, myPtsort);
856 saveData(os, myPointseed);
857 saveData(os, myPointoffset);
858 saveData(os, myPointprox);
859 saveData(os, myPointobjpath);
860 saveData(os, myPointdir);
861 saveData(os, myPointexpr);
862 saveData(os, myPointattrib);
863 saveData(os, myPointattribcomp);
864 saveData(os, myPointorder);
865 saveData(os, myPointreverse);
866 saveData(os, myUsepointindices);
867 saveData(os, myPointindices);
868 saveData(os, myCombinepointindices);
869 saveData(os, myPrimgroup);
870 saveData(os, myPrimsort);
871 saveData(os, myPrimseed);
872 saveData(os, myPrimoffset);
873 saveData(os, myPrimprox);
874 saveData(os, myPrimobjpath);
875 saveData(os, myPrimdir);
876 saveData(os, myPrimexpr);
877 saveData(os, myPrimattrib);
878 saveData(os, myPrimattribcomp);
879 saveData(os, myPrimorder);
880 saveData(os, myPrimreverse);
881 saveData(os, myUseprimindices);
882 saveData(os, myPrimindices);
883 saveData(os, myCombineprimindices);
884 saveData(os, myVertexPrimOrder);
897 loadData(is, myPtgroup);
898 loadData(is, myPtsort);
899 loadData(is, myPointseed);
900 loadData(is, myPointoffset);
901 loadData(is, myPointprox);
902 loadData(is, myPointobjpath);
903 loadData(is, myPointdir);
904 loadData(is, myPointexpr);
905 loadData(is, myPointattrib);
906 loadData(is, myPointattribcomp);
907 loadData(is, myPointorder);
908 loadData(is, myPointreverse);
909 loadData(is, myUsepointindices);
910 loadData(is, myPointindices);
911 loadData(is, myCombinepointindices);
912 loadData(is, myPrimgroup);
913 loadData(is, myPrimsort);
914 loadData(is, myPrimseed);
915 loadData(is, myPrimoffset);
916 loadData(is, myPrimprox);
917 loadData(is, myPrimobjpath);
918 loadData(is, myPrimdir);
919 loadData(is, myPrimexpr);
920 loadData(is, myPrimattrib);
921 loadData(is, myPrimattribcomp);
922 loadData(is, myPrimorder);
923 loadData(is, myPrimreverse);
924 loadData(is, myUseprimindices);
925 loadData(is, myPrimindices);
926 loadData(is, myCombineprimindices);
927 loadData(is, myVertexPrimOrder);
937 if (!thissop)
return getPtgroup();
939 OP_Utils::evalOpParm(result, thissop,
"ptgroup", cookparms.
getCookTime(), 0);
947 if (!thissop)
return getPtsort();
949 OP_Utils::evalOpParm(result, thissop,
"ptsort", cookparms.
getCookTime(), 0);
957 if (!thissop)
return getPointseed();
959 OP_Utils::evalOpParm(result, thissop,
"pointseed", cookparms.
getCookTime(), 0);
967 if (!thissop)
return getPointoffset();
969 OP_Utils::evalOpParm(result, thissop,
"pointoffset", cookparms.
getCookTime(), 0);
977 if (!thissop)
return getPointprox();
979 OP_Utils::evalOpParm(result, thissop,
"pointprox", cookparms.
getCookTime(), 0);
987 if (!thissop)
return getPointobjpath();
989 OP_Utils::evalOpParm(result, thissop,
"pointobjpath", cookparms.
getCookTime(), 0);
997 if (!thissop)
return getPointdir();
999 OP_Utils::evalOpParm(result, thissop,
"pointdir", cookparms.
getCookTime(), 0);
1007 if (!thissop)
return getPointexpr();
1009 OP_Utils::evalOpParm(result, thissop,
"pointexpr", cookparms.
getCookTime(), 0);
1017 if (!thissop)
return getPointattrib();
1019 OP_Utils::evalOpParm(result, thissop,
"pointattrib", cookparms.
getCookTime(), 0);
1027 if (!thissop)
return getPointattribcomp();
1029 OP_Utils::evalOpParm(result, thissop,
"pointattribcomp", cookparms.
getCookTime(), 0);
1037 if (!thissop)
return getPointorder();
1039 OP_Utils::evalOpParm(result, thissop,
"pointorder", cookparms.
getCookTime(), 0);
1047 if (!thissop)
return getPointreverse();
1049 OP_Utils::evalOpParm(result, thissop,
"pointreverse", cookparms.
getCookTime(), 0);
1057 if (!thissop)
return getUsepointindices();
1059 OP_Utils::evalOpParm(result, thissop,
"usepointindices", cookparms.
getCookTime(), 0);
1067 if (!thissop)
return getPointindices();
1069 OP_Utils::evalOpParm(result, thissop,
"pointindices", cookparms.
getCookTime(), 0);
1077 if (!thissop)
return getCombinepointindices();
1079 OP_Utils::evalOpParm(result, thissop,
"combinepointindices", cookparms.
getCookTime(), 0);
1087 if (!thissop)
return getPrimgroup();
1089 OP_Utils::evalOpParm(result, thissop,
"primgroup", cookparms.
getCookTime(), 0);
1097 if (!thissop)
return getPrimsort();
1099 OP_Utils::evalOpParm(result, thissop,
"primsort", cookparms.
getCookTime(), 0);
1107 if (!thissop)
return getPrimseed();
1109 OP_Utils::evalOpParm(result, thissop,
"primseed", cookparms.
getCookTime(), 0);
1117 if (!thissop)
return getPrimoffset();
1119 OP_Utils::evalOpParm(result, thissop,
"primoffset", cookparms.
getCookTime(), 0);
1127 if (!thissop)
return getPrimprox();
1129 OP_Utils::evalOpParm(result, thissop,
"primprox", cookparms.
getCookTime(), 0);
1137 if (!thissop)
return getPrimobjpath();
1139 OP_Utils::evalOpParm(result, thissop,
"primobjpath", cookparms.
getCookTime(), 0);
1147 if (!thissop)
return getPrimdir();
1149 OP_Utils::evalOpParm(result, thissop,
"primdir", cookparms.
getCookTime(), 0);
1157 if (!thissop)
return getPrimexpr();
1159 OP_Utils::evalOpParm(result, thissop,
"primexpr", cookparms.
getCookTime(), 0);
1167 if (!thissop)
return getPrimattrib();
1169 OP_Utils::evalOpParm(result, thissop,
"primattrib", cookparms.
getCookTime(), 0);
1177 if (!thissop)
return getPrimattribcomp();
1179 OP_Utils::evalOpParm(result, thissop,
"primattribcomp", cookparms.
getCookTime(), 0);
1187 if (!thissop)
return getPrimorder();
1189 OP_Utils::evalOpParm(result, thissop,
"primorder", cookparms.
getCookTime(), 0);
1197 if (!thissop)
return getPrimreverse();
1199 OP_Utils::evalOpParm(result, thissop,
"primreverse", cookparms.
getCookTime(), 0);
1207 if (!thissop)
return getUseprimindices();
1209 OP_Utils::evalOpParm(result, thissop,
"useprimindices", cookparms.
getCookTime(), 0);
1217 if (!thissop)
return getPrimindices();
1219 OP_Utils::evalOpParm(result, thissop,
"primindices", cookparms.
getCookTime(), 0);
1227 if (!thissop)
return getCombineprimindices();
1229 OP_Utils::evalOpParm(result, thissop,
"combineprimindices", cookparms.
getCookTime(), 0);
1237 if (!thissop)
return getVertexPrimOrder();
1239 OP_Utils::evalOpParm(result, thissop,
"vertexprimorder", cookparms.
getCookTime(), 0);
1247 int64 myPointoffset;
1253 int64 myPointattribcomp;
1255 bool myPointreverse;
1256 bool myUsepointindices;
1258 bool myCombinepointindices;
1268 int64 myPrimattribcomp;
1271 bool myUseprimindices;
1273 bool myCombineprimindices;
1274 bool myVertexPrimOrder;
void setPointreverse(bool val)
void setPointobjpath(const UT_StringHolder &val)
int64 opPrimattribcomp(const SOP_NodeVerb::CookParms &cookparms) const
bool getVertexPrimOrder() const
int64 getPointseed() const
void setPrimindices(const UT_StringHolder &val)
static void saveData(std::ostream &os, UT_Matrix4D v)
UT_StringHolder opPrimgroup(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, int64 &v)
UT_Vector3D getPrimdir() const
void save(std::ostream &os) const
SOP_Node * getNode() const
void setPrimreverse(bool val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
void setPointexpr(fpreal64 val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
bool opUsepointindices(const SOP_NodeVerb::CookParms &cookparms) const
void setPtgroup(const UT_StringHolder &val)
static void loadData(UT_IStream &is, bool &v)
static void loadData(UT_IStream &is, UT_StringHolder &v)
int64 opPointattribcomp(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const SOP_SortParms &src) const
const UT_StringHolder & getPointobjpath() const
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
GLsizei const GLfloat * value
ParmType getNestParmType(TempIndex fieldnum) const override
static void saveData(std::ostream &os, fpreal64 v)
bool opCombineprimindices(const SOP_NodeVerb::CookParms &cookparms) const
const OP_Context & context() const
static void saveData(std::ostream &os, UT_Vector4D v)
fpreal64 getPrimexpr() const
Primsort opPrimsort(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opPrimindices(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & z() noexcept
void setPointoffset(int64 val)
SYS_FORCE_INLINE const char * buffer() const
int64 getPointattribcomp() const
bool getUsepointindices() const
UT_Vector3D opPointprox(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix3D v)
void setPrimexpr(fpreal64 val)
int64 opPrimoffset(const SOP_NodeVerb::CookParms &cookparms) const
An output stream object that owns its own string buffer storage.
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
static void loadData(UT_IStream &is, UT_Vector4D &v)
UT_StringHolder opPrimobjpath(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
**But if you need a result
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
bool opPrimreverse(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
static void loadData(UT_IStream &is, UT_Matrix2D &v)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
bool opUseprimindices(const SOP_NodeVerb::CookParms &cookparms) const
void setPointattribcomp(int64 val)
void setPrimattribcomp(int64 val)
fpreal64 opPointexpr(const SOP_NodeVerb::CookParms &cookparms) const
Primsort getPrimsort() const
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
static void loadData(UT_IStream &is, fpreal64 &v)
constexpr SYS_FORCE_INLINE T & x() noexcept
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
UT_Vector3D opPointdir(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
static void loadData(UT_IStream &is, UT_Vector3I &v)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
constexpr SYS_FORCE_INLINE T & x() noexcept
bool opVertexPrimOrder(const SOP_NodeVerb::CookParms &cookparms) const
void setPointdir(UT_Vector3D val)
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
bool getPointreverse() const
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
int64 opPointoffset(const SOP_NodeVerb::CookParms &cookparms) const
void setPrimseed(int64 val)
bool getUseprimindices() const
const UT_StringHolder & getPointindices() const
void copyFrom(const OP_NodeParms *src) override
static void saveData(std::ostream &os, UT_Vector3D v)
UT_Vector3D getPointprox() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
const UT_StringHolder & getPrimattrib() const
constexpr SYS_FORCE_INLINE T & z() noexcept
static void loadData(UT_IStream &is, UT_Vector4I &v)
int64 getPrimattribcomp() const
void setCombineprimindices(bool val)
int64 getPrimseed() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
const OP_GraphProxy * graph() const
void setPrimorder(const UT_StringHolder &val)
const UT_StringHolder & getPointorder() const
bool getCombinepointindices() const
static void saveData(std::ostream &os, UT_Vector2D v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
void setPrimdir(UT_Vector3D val)
int64 getPointoffset() const
UT_StringHolder opPointorder(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
Ptsort opPtsort(const SOP_NodeVerb::CookParms &cookparms) const
void setPointattrib(const UT_StringHolder &val)
UT_StringHolder opPrimattrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3T< fpreal64 > UT_Vector3D
bool load(UT_IStream &is)
bool opCombinepointindices(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
static void saveData(std::ostream &os, PRM_DataItemHandle s)
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
bool getPrimreverse() const
UT_Vector3D getPointdir() const
static void loadData(UT_IStream &is, UT_Vector2D &v)
void saveBinary(std::ostream &os) const
Save string to binary stream.
void setPtsort(Ptsort val)
void setPointindices(const UT_StringHolder &val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
int64 opPrimseed(const SOP_NodeVerb::CookParms &cookparms) const
GT_API const UT_StringHolder version
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
UT_StringHolder opPointindices(const SOP_NodeVerb::CookParms &cookparms) const
int64 getPrimoffset() const
UT_Vector3D opPrimprox(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
static void loadData(UT_IStream &is, UT_Matrix3D &v)
const char * getNestParmName(TempIndex fieldnum) const override
const UT_StringHolder & getPointattrib() const
UT_StringHolder opPointattrib(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getPrimgroup() const
SYS_FORCE_INLINE UT_StringHolder getToken(Ptsort enum_value)
void setPrimobjpath(const UT_StringHolder &val)
bool getCombineprimindices() const
void setPrimoffset(int64 val)
void setPointorder(const UT_StringHolder &val)
UT_StringHolder opPtgroup(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getPrimorder() const
void setPrimprox(UT_Vector3D val)
const UT_StringHolder & getPrimobjpath() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
int64 opPointseed(const SOP_NodeVerb::CookParms &cookparms) const
DEP_MicroNode * depnode() const
LeafData & operator=(const LeafData &)=delete
static void saveData(std::ostream &os, UT_Matrix2D v)
Utility class for containing a color ramp.
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
constexpr SYS_FORCE_INLINE T & w() noexcept
virtual UT_StringHolder baseGetSignature() const
void setPrimsort(Primsort val)
void setVertexPrimOrder(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
static void saveData(std::ostream &os, int64 v)
fpreal64 opPrimexpr(const SOP_NodeVerb::CookParms &cookparms) const
fpreal getCookTime() const
bool opPointreverse(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, bool v)
void setPrimattrib(const UT_StringHolder &val)
void loadFromOpSubclass(const LoadParms &loadparms) override
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
const char * findChar(int c) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
exint getNestNumParms(TempIndex idx) const override
static void saveData(std::ostream &os, UT_StringHolder s)
void setPrimgroup(const UT_StringHolder &val)
UT_Vector3D getPrimprox() const
static void loadData(UT_IStream &is, UT_Vector2I &v)
void setPointseed(int64 val)
constexpr SYS_FORCE_INLINE T & y() noexcept
void setPointprox(UT_Vector3D val)
UT_StringHolder opPrimorder(const SOP_NodeVerb::CookParms &cookparms) const
bool isParmColorRamp(exint idx) const override
virtual bool isDirect() const =0
Direct proxies mirror actual nodes:
bool operator!=(const SOP_SortParms &src) const
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
UT_StringHolder opPointobjpath(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
fpreal64 getPointexpr() const
UT_Vector3D opPrimdir(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getPrimindices() const
constexpr SYS_FORCE_INLINE T & y() noexcept
const UT_StringHolder & getPtgroup() const
SYS_FORCE_INLINE bool isstring() const
static void loadData(UT_IStream &is, UT_Vector3D &v)
void setUsepointindices(bool val)
void setCombinepointindices(bool val)
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
void setUseprimindices(bool val)
constexpr SYS_FORCE_INLINE T & x() noexcept
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override