23 namespace SOP_RayEnums
34 using namespace UT::Literal;
51 using namespace UT::Literal;
69 using namespace UT::Literal;
89 using namespace UT::Literal;
111 myCollision =
""_UTsh;
115 myDirAttrib =
"N"_UTsh;
121 myReverserays =
false;
126 myMaxraydistcheck =
false;
133 myHitgrp =
"rayHitGroup"_UTsh;
134 myUseprimnumattrib =
false;
135 myPrimnumattrib =
"hitprim"_UTsh;
136 myUseprimuvwattrib =
false;
137 myPrimuvwattrib =
"hitprimuv"_UTsh;
138 myGetptattribs =
false;
139 myPtattribnames =
"*"_UTsh;
140 myVertexattribnames =
""_UTsh;
141 myPrimitiveattribnames =
""_UTsh;
142 myDetailattribnames =
""_UTsh;
155 if (myGroup != src.myGroup)
return false;
156 if (myEntity != src.myEntity)
return false;
157 if (myCollision != src.myCollision)
return false;
158 if (myMethod != src.myMethod)
return false;
159 if (myDirMethod != src.myDirMethod)
return false;
160 if (myDir != src.myDir)
return false;
161 if (myDirAttrib != src.myDirAttrib)
return false;
162 if (myShowguide != src.myShowguide)
return false;
163 if (myDotrans != src.myDotrans)
return false;
164 if (myLookfar != src.myLookfar)
return false;
165 if (myPutnml != src.myPutnml)
return false;
166 if (myPutdist != src.myPutdist)
return false;
167 if (myReverserays != src.myReverserays)
return false;
168 if (myRtolerance != src.myRtolerance)
return false;
169 if (myScale != src.myScale)
return false;
170 if (myLift != src.myLift)
return false;
171 if (myBias != src.myBias)
return false;
172 if (myMaxraydistcheck != src.myMaxraydistcheck)
return false;
173 if (myMaxraydist != src.myMaxraydist)
return false;
174 if (mySample != src.mySample)
return false;
175 if (myJitter != src.myJitter)
return false;
176 if (myCombinetype != src.myCombinetype)
return false;
177 if (mySeed != src.mySeed)
return false;
178 if (myNewgrp != src.myNewgrp)
return false;
179 if (myHitgrp != src.myHitgrp)
return false;
180 if (myUseprimnumattrib != src.myUseprimnumattrib)
return false;
181 if (myPrimnumattrib != src.myPrimnumattrib)
return false;
182 if (myUseprimuvwattrib != src.myUseprimuvwattrib)
return false;
183 if (myPrimuvwattrib != src.myPrimuvwattrib)
return false;
184 if (myGetptattribs != src.myGetptattribs)
return false;
185 if (myPtattribnames != src.myPtattribnames)
return false;
186 if (myVertexattribnames != src.myVertexattribnames)
return false;
187 if (myPrimitiveattribnames != src.myPrimitiveattribnames)
return false;
188 if (myDetailattribnames != src.myDetailattribnames)
return false;
207 graph->
evalOpParm(myGroup, nodeidx,
"group", time, 0);
210 graph->
evalOpParm(myEntity, nodeidx,
"entity", time, 0);
211 myCollision =
""_UTsh;
213 graph->
evalOpParm(myCollision, nodeidx,
"collision", time, 0);
216 graph->
evalOpParm(myMethod, nodeidx,
"method", time, 0);
218 if (
true && ( (
true&&!(((
int64(getMethod())!=1)))) ) )
219 graph->
evalOpParm(myDirMethod, nodeidx,
"dirmethod", time, 0);
221 if (
true && ( (
true&&!(((
int64(getMethod())!=1))||((
int64(getDirMethod())!=0)))) ) )
222 graph->
evalOpParm(myDir, nodeidx,
"dir", time, 0);
223 myDirAttrib =
"N"_UTsh;
224 if (
true && ( (
true&&!(((
int64(getMethod())!=1))||((
int64(getDirMethod())!=2)))) ) )
225 graph->
evalOpParm(myDirAttrib, nodeidx,
"dirattrib", time, 0);
227 if (
true && ( (
true&&!(((
int64(getMethod())>=0)))) ) )
228 graph->
evalOpParm(myShowguide, nodeidx,
"showguide", time, 0);
231 graph->
evalOpParm(myDotrans, nodeidx,
"dotrans", time, 0);
233 if (
true && ( (
true&&!(((
int64(getMethod())!=1)))) ) )
234 graph->
evalOpParm(myLookfar, nodeidx,
"lookfar", time, 0);
237 graph->
evalOpParm(myPutnml, nodeidx,
"putnml", time, 0);
240 graph->
evalOpParm(myPutdist, nodeidx,
"putdist", time, 0);
241 myReverserays =
false;
242 if (
true && ( (
true&&!(((
int64(getMethod())!=1)))) ) )
243 graph->
evalOpParm(myReverserays, nodeidx,
"reverserays", time, 0);
245 if (
true && ( (
true&&!(((
int64(getMethod())!=1)))) ) )
246 graph->
evalOpParm(myRtolerance, nodeidx,
"rtolerance", time, 0);
248 if (
true && ( (
true&&!(((getDotrans()==0)))) ) )
249 graph->
evalOpParm(myScale, nodeidx,
"scale", time, 0);
252 graph->
evalOpParm(myLift, nodeidx,
"lift", time, 0);
254 if (
true && ( (
true&&!(((
int64(getMethod())!=1)))) ) )
255 graph->
evalOpParm(myBias, nodeidx,
"bias", time, 0);
256 myMaxraydistcheck =
false;
258 graph->
evalOpParm(myMaxraydistcheck, nodeidx,
"maxraydistcheck", time, 0);
260 if (
true && ( (
true&&!(((getMaxraydistcheck()==0)))) ) )
261 graph->
evalOpParm(myMaxraydist, nodeidx,
"maxraydist", time, 0);
263 if (
true && ( (
true&&!(((
int64(getMethod())!=1)))) ) )
264 graph->
evalOpParm(mySample, nodeidx,
"sample", time, 0);
266 if (
true && ( (
true&&!(((
int64(getMethod())!=1)))) ) )
267 graph->
evalOpParm(myJitter, nodeidx,
"jitter", time, 0);
269 if (
true && ( (
true&&!(((
int64(getMethod())!=1)))) ) )
270 graph->
evalOpParm(myCombinetype, nodeidx,
"combinetype", time, 0);
272 if (
true && ( (
true&&!(((
int64(getMethod())!=1)))) ) )
273 graph->
evalOpParm(mySeed, nodeidx,
"seed", time, 0);
276 graph->
evalOpParm(myNewgrp, nodeidx,
"newgrp", time, 0);
277 myHitgrp =
"rayHitGroup"_UTsh;
278 if (
true && ( (
true&&!(((getNewgrp()==0)))) ) )
279 graph->
evalOpParm(myHitgrp, nodeidx,
"hitgrp", time, 0);
280 myUseprimnumattrib =
false;
282 graph->
evalOpParm(myUseprimnumattrib, nodeidx,
"useprimnumattrib", time, 0);
283 myPrimnumattrib =
"hitprim"_UTsh;
284 if (
true && ( (
true&&!(((getUseprimnumattrib()==0)))) ) )
285 graph->
evalOpParm(myPrimnumattrib, nodeidx,
"primnumattrib", time, 0);
286 myUseprimuvwattrib =
false;
288 graph->
evalOpParm(myUseprimuvwattrib, nodeidx,
"useprimuvwattrib", time, 0);
289 myPrimuvwattrib =
"hitprimuv"_UTsh;
290 if (
true && ( (
true&&!(((getUseprimuvwattrib()==0)))) ) )
291 graph->
evalOpParm(myPrimuvwattrib, nodeidx,
"primuvwattrib", time, 0);
292 myGetptattribs =
false;
294 graph->
evalOpParm(myGetptattribs, nodeidx,
"getptattribs", time, 0);
295 myPtattribnames =
"*"_UTsh;
296 if (
true && ( (
true&&!(((getGetptattribs()==0)))) ) )
297 graph->
evalOpParm(myPtattribnames, nodeidx,
"ptattribnames", time, 0);
298 myVertexattribnames =
""_UTsh;
299 if (
true && ( (
true&&!(((getGetptattribs()==0)))) ) )
300 graph->
evalOpParm(myVertexattribnames, nodeidx,
"vertexattribnames", time, 0);
301 myPrimitiveattribnames =
""_UTsh;
302 if (
true && ( (
true&&!(((getGetptattribs()==0)))) ) )
303 graph->
evalOpParm(myPrimitiveattribnames, nodeidx,
"primitiveattribnames", time, 0);
304 myDetailattribnames =
""_UTsh;
305 if (
true && ( (
true&&!(((getGetptattribs()==0)))) ) )
306 graph->
evalOpParm(myDetailattribnames, nodeidx,
"detailattribnames", time, 0);
322 template <
typename T>
329 if (idx.
size() != instance.
size()+1)
334 coerceValue(value, myGroup);
337 coerceValue(value, myEntity);
340 coerceValue(value, myCollision);
343 coerceValue(value, myMethod);
346 coerceValue(value, myDirMethod);
349 coerceValue(value, myDir);
352 coerceValue(value, myDirAttrib);
355 coerceValue(value, myShowguide);
358 coerceValue(value, myDotrans);
361 coerceValue(value, myLookfar);
364 coerceValue(value, myPutnml);
367 coerceValue(value, myPutdist);
370 coerceValue(value, myReverserays);
373 coerceValue(value, myRtolerance);
376 coerceValue(value, myScale);
379 coerceValue(value, myLift);
382 coerceValue(value, myBias);
385 coerceValue(value, myMaxraydistcheck);
388 coerceValue(value, myMaxraydist);
391 coerceValue(value, mySample);
394 coerceValue(value, myJitter);
397 coerceValue(value, myCombinetype);
400 coerceValue(value, mySeed);
403 coerceValue(value, myNewgrp);
406 coerceValue(value, myHitgrp);
409 coerceValue(value, myUseprimnumattrib);
412 coerceValue(value, myPrimnumattrib);
415 coerceValue(value, myUseprimuvwattrib);
418 coerceValue(value, myPrimuvwattrib);
421 coerceValue(value, myGetptattribs);
424 coerceValue(value, myPtattribnames);
427 coerceValue(value, myVertexattribnames);
430 coerceValue(value, myPrimitiveattribnames);
433 coerceValue(value, myDetailattribnames);
449 { doGetParmValue(idx, instance, value); }
451 { doGetParmValue(idx, instance, value); }
453 { doGetParmValue(idx, instance, value); }
455 { doGetParmValue(idx, instance, value); }
457 { doGetParmValue(idx, instance, value); }
459 { doGetParmValue(idx, instance, value); }
461 { doGetParmValue(idx, instance, value); }
463 { doGetParmValue(idx, instance, value); }
465 { doGetParmValue(idx, instance, value); }
467 { doGetParmValue(idx, instance, value); }
469 { doGetParmValue(idx, instance, value); }
471 template <
typename T>
478 if (idx.
size() != instance.
size()+1)
483 coerceValue(myGroup, ( ( value ) ));
486 coerceValue(myEntity, clampMinValue(0, clampMaxValue(1, value ) ));
489 coerceValue(myCollision, ( ( value ) ));
492 coerceValue(myMethod, clampMinValue(0, clampMaxValue(1, value ) ));
495 coerceValue(myDirMethod, clampMinValue(0, clampMaxValue(2, value ) ));
498 coerceValue(myDir, ( ( value ) ));
501 coerceValue(myDirAttrib, ( ( value ) ));
504 coerceValue(myShowguide, ( ( value ) ));
507 coerceValue(myDotrans, ( ( value ) ));
510 coerceValue(myLookfar, ( ( value ) ));
513 coerceValue(myPutnml, ( ( value ) ));
516 coerceValue(myPutdist, ( ( value ) ));
519 coerceValue(myReverserays, ( ( value ) ));
522 coerceValue(myRtolerance, clampMinValue(0, clampMaxValue(1, value ) ));
525 coerceValue(myScale, ( ( value ) ));
528 coerceValue(myLift, ( ( value ) ));
531 coerceValue(myBias, ( ( value ) ));
534 coerceValue(myMaxraydistcheck, ( ( value ) ));
537 coerceValue(myMaxraydist, ( ( value ) ));
540 coerceValue(mySample, clampMinValue(1, ( value ) ));
543 coerceValue(myJitter, ( ( value ) ));
546 coerceValue(myCombinetype, clampMinValue(0, clampMaxValue(3, value ) ));
549 coerceValue(mySeed, clampMinValue(0, ( value ) ));
552 coerceValue(myNewgrp, ( ( value ) ));
555 coerceValue(myHitgrp, ( ( value ) ));
558 coerceValue(myUseprimnumattrib, ( ( value ) ));
561 coerceValue(myPrimnumattrib, ( ( value ) ));
564 coerceValue(myUseprimuvwattrib, ( ( value ) ));
567 coerceValue(myPrimuvwattrib, ( ( value ) ));
570 coerceValue(myGetptattribs, ( ( value ) ));
573 coerceValue(myPtattribnames, ( ( value ) ));
576 coerceValue(myVertexattribnames, ( ( value ) ));
579 coerceValue(myPrimitiveattribnames, ( ( value ) ));
582 coerceValue(myDetailattribnames, ( ( value ) ));
589 { doSetParmValue(idx, instance, value); }
591 { doSetParmValue(idx, instance, value); }
593 { doSetParmValue(idx, instance, value); }
595 { doSetParmValue(idx, instance, value); }
597 { doSetParmValue(idx, instance, value); }
599 { doSetParmValue(idx, instance, value); }
601 { doSetParmValue(idx, instance, value); }
603 { doSetParmValue(idx, instance, value); }
605 { doSetParmValue(idx, instance, value); }
607 { doSetParmValue(idx, instance, value); }
609 { doSetParmValue(idx, instance, value); }
625 if (fieldnum.
size() < 1)
654 return "reverserays";
664 return "maxraydistcheck";
672 return "combinetype";
680 return "useprimnumattrib";
682 return "primnumattrib";
684 return "useprimuvwattrib";
686 return "primuvwattrib";
688 return "getptattribs";
690 return "ptattribnames";
692 return "vertexattribnames";
694 return "primitiveattribnames";
696 return "detailattribnames";
704 if (fieldnum.
size() < 1)
705 return PARM_UNSUPPORTED;
778 return PARM_UNSUPPORTED;
814 loadData(is, rampdata);
832 int typelen = colon - data.
buffer();
846 {
int64 iv =
v; UTwrite(os, &iv); }
848 { UTwrite<fpreal64>(os, &
v); }
850 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
852 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
853 UTwrite<fpreal64>(os, &v.
z()); }
855 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
856 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
868 if (s) s->save(ostr);
870 saveData(os, result);
877 ostr << s->getDataTypeToken();
882 saveData(os, result);
886 void save(std::ostream &os)
const
890 saveData(os, myGroup);
891 saveData(os, myEntity);
892 saveData(os, myCollision);
893 saveData(os, myMethod);
894 saveData(os, myDirMethod);
896 saveData(os, myDirAttrib);
897 saveData(os, myShowguide);
898 saveData(os, myDotrans);
899 saveData(os, myLookfar);
900 saveData(os, myPutnml);
901 saveData(os, myPutdist);
902 saveData(os, myReverserays);
903 saveData(os, myRtolerance);
904 saveData(os, myScale);
905 saveData(os, myLift);
906 saveData(os, myBias);
907 saveData(os, myMaxraydistcheck);
908 saveData(os, myMaxraydist);
909 saveData(os, mySample);
910 saveData(os, myJitter);
911 saveData(os, myCombinetype);
912 saveData(os, mySeed);
913 saveData(os, myNewgrp);
914 saveData(os, myHitgrp);
915 saveData(os, myUseprimnumattrib);
916 saveData(os, myPrimnumattrib);
917 saveData(os, myUseprimuvwattrib);
918 saveData(os, myPrimuvwattrib);
919 saveData(os, myGetptattribs);
920 saveData(os, myPtattribnames);
921 saveData(os, myVertexattribnames);
922 saveData(os, myPrimitiveattribnames);
923 saveData(os, myDetailattribnames);
936 loadData(is, myGroup);
937 loadData(is, myEntity);
938 loadData(is, myCollision);
939 loadData(is, myMethod);
940 loadData(is, myDirMethod);
942 loadData(is, myDirAttrib);
943 loadData(is, myShowguide);
944 loadData(is, myDotrans);
945 loadData(is, myLookfar);
946 loadData(is, myPutnml);
947 loadData(is, myPutdist);
948 loadData(is, myReverserays);
949 loadData(is, myRtolerance);
950 loadData(is, myScale);
951 loadData(is, myLift);
952 loadData(is, myBias);
953 loadData(is, myMaxraydistcheck);
954 loadData(is, myMaxraydist);
955 loadData(is, mySample);
956 loadData(is, myJitter);
957 loadData(is, myCombinetype);
958 loadData(is, mySeed);
959 loadData(is, myNewgrp);
960 loadData(is, myHitgrp);
961 loadData(is, myUseprimnumattrib);
962 loadData(is, myPrimnumattrib);
963 loadData(is, myUseprimuvwattrib);
964 loadData(is, myPrimuvwattrib);
965 loadData(is, myGetptattribs);
966 loadData(is, myPtattribnames);
967 loadData(is, myVertexattribnames);
968 loadData(is, myPrimitiveattribnames);
969 loadData(is, myDetailattribnames);
979 if (!thissop)
return getGroup();
981 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
989 if (!thissop)
return getEntity();
991 OP_Utils::evalOpParm(result, thissop,
"entity", cookparms.
getCookTime(), 0);
999 if (!thissop)
return getCollision();
1001 OP_Utils::evalOpParm(result, thissop,
"collision", cookparms.
getCookTime(), 0);
1009 if (!thissop)
return getMethod();
1011 OP_Utils::evalOpParm(result, thissop,
"method", cookparms.
getCookTime(), 0);
1019 if (!thissop)
return getDirMethod();
1021 OP_Utils::evalOpParm(result, thissop,
"dirmethod", cookparms.
getCookTime(), 0);
1029 if (!thissop)
return getDir();
1031 OP_Utils::evalOpParm(result, thissop,
"dir", cookparms.
getCookTime(), 0);
1039 if (!thissop)
return getDirAttrib();
1041 OP_Utils::evalOpParm(result, thissop,
"dirattrib", cookparms.
getCookTime(), 0);
1049 if (!thissop)
return getShowguide();
1051 OP_Utils::evalOpParm(result, thissop,
"showguide", cookparms.
getCookTime(), 0);
1059 if (!thissop)
return getDotrans();
1061 OP_Utils::evalOpParm(result, thissop,
"dotrans", cookparms.
getCookTime(), 0);
1069 if (!thissop)
return getLookfar();
1071 OP_Utils::evalOpParm(result, thissop,
"lookfar", cookparms.
getCookTime(), 0);
1079 if (!thissop)
return getPutnml();
1081 OP_Utils::evalOpParm(result, thissop,
"putnml", cookparms.
getCookTime(), 0);
1089 if (!thissop)
return getPutdist();
1091 OP_Utils::evalOpParm(result, thissop,
"putdist", cookparms.
getCookTime(), 0);
1099 if (!thissop)
return getReverserays();
1101 OP_Utils::evalOpParm(result, thissop,
"reverserays", cookparms.
getCookTime(), 0);
1109 if (!thissop)
return getRtolerance();
1111 OP_Utils::evalOpParm(result, thissop,
"rtolerance", cookparms.
getCookTime(), 0);
1121 OP_Utils::evalOpParm(result, thissop,
"scale", cookparms.
getCookTime(), 0);
1129 if (!thissop)
return getLift();
1131 OP_Utils::evalOpParm(result, thissop,
"lift", cookparms.
getCookTime(), 0);
1139 if (!thissop)
return getBias();
1141 OP_Utils::evalOpParm(result, thissop,
"bias", cookparms.
getCookTime(), 0);
1149 if (!thissop)
return getMaxraydistcheck();
1151 OP_Utils::evalOpParm(result, thissop,
"maxraydistcheck", cookparms.
getCookTime(), 0);
1159 if (!thissop)
return getMaxraydist();
1161 OP_Utils::evalOpParm(result, thissop,
"maxraydist", cookparms.
getCookTime(), 0);
1169 if (!thissop)
return getSample();
1171 OP_Utils::evalOpParm(result, thissop,
"sample", cookparms.
getCookTime(), 0);
1179 if (!thissop)
return getJitter();
1181 OP_Utils::evalOpParm(result, thissop,
"jitter", cookparms.
getCookTime(), 0);
1189 if (!thissop)
return getCombinetype();
1191 OP_Utils::evalOpParm(result, thissop,
"combinetype", cookparms.
getCookTime(), 0);
1199 if (!thissop)
return getSeed();
1201 OP_Utils::evalOpParm(result, thissop,
"seed", cookparms.
getCookTime(), 0);
1209 if (!thissop)
return getNewgrp();
1211 OP_Utils::evalOpParm(result, thissop,
"newgrp", cookparms.
getCookTime(), 0);
1219 if (!thissop)
return getHitgrp();
1221 OP_Utils::evalOpParm(result, thissop,
"hitgrp", cookparms.
getCookTime(), 0);
1229 if (!thissop)
return getUseprimnumattrib();
1231 OP_Utils::evalOpParm(result, thissop,
"useprimnumattrib", cookparms.
getCookTime(), 0);
1239 if (!thissop)
return getPrimnumattrib();
1241 OP_Utils::evalOpParm(result, thissop,
"primnumattrib", cookparms.
getCookTime(), 0);
1249 if (!thissop)
return getUseprimuvwattrib();
1251 OP_Utils::evalOpParm(result, thissop,
"useprimuvwattrib", cookparms.
getCookTime(), 0);
1259 if (!thissop)
return getPrimuvwattrib();
1261 OP_Utils::evalOpParm(result, thissop,
"primuvwattrib", cookparms.
getCookTime(), 0);
1269 if (!thissop)
return getGetptattribs();
1271 OP_Utils::evalOpParm(result, thissop,
"getptattribs", cookparms.
getCookTime(), 0);
1279 if (!thissop)
return getPtattribnames();
1281 OP_Utils::evalOpParm(result, thissop,
"ptattribnames", cookparms.
getCookTime(), 0);
1289 if (!thissop)
return getVertexattribnames();
1291 OP_Utils::evalOpParm(result, thissop,
"vertexattribnames", cookparms.
getCookTime(), 0);
1299 if (!thissop)
return getPrimitiveattribnames();
1301 OP_Utils::evalOpParm(result, thissop,
"primitiveattribnames", cookparms.
getCookTime(), 0);
1309 if (!thissop)
return getDetailattribnames();
1311 OP_Utils::evalOpParm(result, thissop,
"detailattribnames", cookparms.
getCookTime(), 0);
1333 bool myMaxraydistcheck;
1337 int64 myCombinetype;
1341 bool myUseprimnumattrib;
1343 bool myUseprimuvwattrib;
1345 bool myGetptattribs;
static void saveData(std::ostream &os, int64 v)
static void loadData(UT_IStream &is, UT_Vector3D &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
void setPrimitiveattribnames(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_Vector2I &v)
bool getUseprimnumattrib() const
void setLift(fpreal64 val)
SOP_Node * getNode() const
void setHitgrp(const UT_StringHolder &val)
UT_StringHolder opCollision(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
const UT_StringHolder & getDetailattribnames() const
fpreal64 getJitter() const
bool opLookfar(const SOP_NodeVerb::CookParms &cookparms) const
void setVertexattribnames(const UT_StringHolder &val)
UT_StringHolder opPrimuvwattrib(const SOP_NodeVerb::CookParms &cookparms) const
exint bread(int32 *buffer, exint asize=1)
static void loadData(UT_IStream &is, UT_Vector2D &v)
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
static void loadData(UT_IStream &is, int64 &v)
void setCombinetype(Combinetype val)
DirMethod opDirMethod(const SOP_NodeVerb::CookParms &cookparms) const
Method opMethod(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
void setBias(fpreal64 val)
void setPutdist(bool val)
const OP_Context & context() const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
bool opShowguide(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & z() noexcept
static void loadData(UT_IStream &is, UT_StringHolder &v)
SYS_FORCE_INLINE const char * buffer() const
DirMethod getDirMethod() const
void setMaxraydist(fpreal64 val)
fpreal64 opBias(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
An output stream object that owns its own string buffer storage.
**But if you need a result
static void loadData(UT_IStream &is, UT_Vector4D &v)
void setDotrans(bool val)
static void loadData(UT_IStream &is, UT_Matrix3D &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
bool getShowguide() const
UT_StringHolder opPtattribnames(const SOP_NodeVerb::CookParms &cookparms) const
bool getReverserays() 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.
const UT_StringHolder & getDirAttrib() const
fpreal64 getScale() const
bool operator==(const SOP_RayParms &src) const
void setDirMethod(DirMethod val)
void setGroup(const UT_StringHolder &val)
constexpr SYS_FORCE_INLINE T & x() noexcept
Combinetype getCombinetype() const
const UT_StringHolder & getHitgrp() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
fpreal64 opScale(const SOP_NodeVerb::CookParms &cookparms) const
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
constexpr SYS_FORCE_INLINE T & x() noexcept
void setSample(int64 val)
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
void setLookfar(bool val)
UT_StringHolder opPrimnumattrib(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opMaxraydist(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
Entity opEntity(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
const UT_StringHolder & getVertexattribnames() const
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
void setCollision(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
SYS_FORCE_INLINE const char * buffer() const
void setMaxraydistcheck(bool val)
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
constexpr SYS_FORCE_INLINE T & z() noexcept
void setMethod(Method val)
void setRtolerance(fpreal64 val)
Combinetype opCombinetype(const SOP_NodeVerb::CookParms &cookparms) const
bool opDotrans(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opRtolerance(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3I &v)
const OP_GraphProxy * graph() const
static void saveData(std::ostream &os, UT_Vector3D v)
bool opNewgrp(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseprimuvwattrib(const SOP_NodeVerb::CookParms &cookparms) const
void setUseprimnumattrib(bool val)
const char * getNestParmName(TempIndex fieldnum) const override
UT_StringHolder opPrimitiveattribnames(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D getDir() const
const UT_StringHolder & getPrimitiveattribnames() const
void loadFromOpSubclass(const LoadParms &loadparms) override
void setDetailattribnames(const UT_StringHolder &val)
void setUseprimuvwattrib(bool val)
static void saveData(std::ostream &os, UT_Matrix4D v)
UT_Vector3T< fpreal64 > UT_Vector3D
void setEntity(Entity val)
SYS_FORCE_INLINE UT_StringHolder getToken(Entity enum_value)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
bool getUseprimuvwattrib() const
void setGetptattribs(bool val)
void setShowguide(bool val)
bool opGetptattribs(const SOP_NodeVerb::CookParms &cookparms) const
void saveBinary(std::ostream &os) const
Save string to binary stream.
void setReverserays(bool val)
static void saveData(std::ostream &os, UT_Vector4D v)
GT_API const UT_StringHolder version
ParmType getNestParmType(TempIndex fieldnum) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
bool opMaxraydistcheck(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_StringHolder s)
UT_Vector3D opDir(const SOP_NodeVerb::CookParms &cookparms) const
void setDirAttrib(const UT_StringHolder &val)
void setJitter(fpreal64 val)
void setScale(fpreal64 val)
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
fpreal64 opJitter(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getMaxraydist() const
static void saveData(std::ostream &os, UT_Matrix3D v)
void setPrimuvwattrib(const UT_StringHolder &val)
bool isParmColorRamp(exint idx) const override
void save(std::ostream &os) const
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
void setPrimnumattrib(const UT_StringHolder &val)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
fpreal64 opLift(const SOP_NodeVerb::CookParms &cookparms) const
DEP_MicroNode * depnode() const
exint getNestNumParms(TempIndex idx) const override
LeafData & operator=(const LeafData &)=delete
Utility class for containing a color ramp.
void setDir(UT_Vector3D val)
static void saveData(std::ostream &os, UT_Matrix2D v)
constexpr SYS_FORCE_INLINE T & w() noexcept
Vec3< typename MatType::value_type > getScale(const MatType &mat)
Return a Vec3 representing the lengths of the passed matrix's upper 3×3's rows.
UT_StringHolder opDetailattribnames(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opVertexattribnames(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opHitgrp(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, bool &v)
const UT_StringHolder & getPtattribnames() const
fpreal getCookTime() const
void setPtattribnames(const UT_StringHolder &val)
bool opReverserays(const SOP_NodeVerb::CookParms &cookparms) const
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
bool getMaxraydistcheck() const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
const UT_StringHolder & getGroup() const
fpreal64 getRtolerance() const
const char * findChar(int c) const
UT_StringHolder opDirAttrib(const SOP_NodeVerb::CookParms &cookparms) const
bool getGetptattribs() const
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
void copyFrom(const OP_NodeParms *src) override
const UT_StringHolder & getCollision() const
constexpr SYS_FORCE_INLINE T & y() noexcept
static void saveData(std::ostream &os, UT_Vector2D v)
static void saveData(std::ostream &os, fpreal64 v)
const UT_StringHolder & getPrimuvwattrib() const
bool operator!=(const SOP_RayParms &src) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
bool opUseprimnumattrib(const SOP_NodeVerb::CookParms &cookparms) const
bool load(UT_IStream &is)
static void loadData(UT_IStream &is, fpreal64 &v)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
static void loadData(UT_IStream &is, UT_Matrix4D &v)
bool opPutnml(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & y() noexcept
SYS_FORCE_INLINE bool isstring() const
bool opPutdist(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
const UT_StringHolder & getPrimnumattrib() const
int64 opSeed(const SOP_NodeVerb::CookParms &cookparms) const
int64 opSample(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, bool v)
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
static void loadData(UT_IStream &is, UT_Vector4I &v)
constexpr SYS_FORCE_INLINE T & x() noexcept