23 namespace SOP_RayEnums
60 myCollision =
""_UTsh;
64 myDirAttrib =
"N"_UTsh;
70 myReverserays =
false;
75 myMaxraydistcheck =
false;
82 myHitgrp =
"rayHitGroup"_UTsh;
83 myUseprimnumattrib =
false;
84 myPrimnumattrib =
"hitprim"_UTsh;
85 myUseprimuvwattrib =
false;
86 myPrimuvwattrib =
"hitprimuv"_UTsh;
87 myGetptattribs =
false;
88 myPtattribnames =
"*"_UTsh;
89 myVertexattribnames =
""_UTsh;
90 myPrimitiveattribnames =
""_UTsh;
91 myDetailattribnames =
""_UTsh;
104 if (myGroup != src.myGroup)
return false;
105 if (myEntity != src.myEntity)
return false;
106 if (myCollision != src.myCollision)
return false;
107 if (myMethod != src.myMethod)
return false;
108 if (myDirMethod != src.myDirMethod)
return false;
109 if (myDir != src.myDir)
return false;
110 if (myDirAttrib != src.myDirAttrib)
return false;
111 if (myShowguide != src.myShowguide)
return false;
112 if (myDotrans != src.myDotrans)
return false;
113 if (myLookfar != src.myLookfar)
return false;
114 if (myPutnml != src.myPutnml)
return false;
115 if (myPutdist != src.myPutdist)
return false;
116 if (myReverserays != src.myReverserays)
return false;
117 if (myRtolerance != src.myRtolerance)
return false;
118 if (myScale != src.myScale)
return false;
119 if (myLift != src.myLift)
return false;
120 if (myBias != src.myBias)
return false;
121 if (myMaxraydistcheck != src.myMaxraydistcheck)
return false;
122 if (myMaxraydist != src.myMaxraydist)
return false;
123 if (mySample != src.mySample)
return false;
124 if (myJitter != src.myJitter)
return false;
125 if (myCombinetype != src.myCombinetype)
return false;
126 if (mySeed != src.mySeed)
return false;
127 if (myNewgrp != src.myNewgrp)
return false;
128 if (myHitgrp != src.myHitgrp)
return false;
129 if (myUseprimnumattrib != src.myUseprimnumattrib)
return false;
130 if (myPrimnumattrib != src.myPrimnumattrib)
return false;
131 if (myUseprimuvwattrib != src.myUseprimuvwattrib)
return false;
132 if (myPrimuvwattrib != src.myPrimuvwattrib)
return false;
133 if (myGetptattribs != src.myGetptattribs)
return false;
134 if (myPtattribnames != src.myPtattribnames)
return false;
135 if (myVertexattribnames != src.myVertexattribnames)
return false;
136 if (myPrimitiveattribnames != src.myPrimitiveattribnames)
return false;
137 if (myDetailattribnames != src.myDetailattribnames)
return false;
156 graph->
evalOpParm(myGroup, nodeidx,
"group", time, 0);
159 graph->
evalOpParm(myEntity, nodeidx,
"entity", time, 0);
160 myCollision =
""_UTsh;
162 graph->
evalOpParm(myCollision, nodeidx,
"collision", time, 0);
165 graph->
evalOpParm(myMethod, nodeidx,
"method", time, 0);
167 if (
true && ( (
true&&!(((
int64(getMethod())!=1)))) ) )
168 graph->
evalOpParm(myDirMethod, nodeidx,
"dirmethod", time, 0);
170 if (
true && ( (
true&&!(((
int64(getMethod())!=1))||((
int64(getDirMethod())!=0)))) ) )
171 graph->
evalOpParm(myDir, nodeidx,
"dir", time, 0);
172 myDirAttrib =
"N"_UTsh;
173 if (
true && ( (
true&&!(((
int64(getMethod())!=1))||((
int64(getDirMethod())!=2)))) ) )
174 graph->
evalOpParm(myDirAttrib, nodeidx,
"dirattrib", time, 0);
176 if (
true && ( (
true&&!(((
int64(getMethod())>=0)))) ) )
177 graph->
evalOpParm(myShowguide, nodeidx,
"showguide", time, 0);
180 graph->
evalOpParm(myDotrans, nodeidx,
"dotrans", time, 0);
182 if (
true && ( (
true&&!(((
int64(getMethod())!=1)))) ) )
183 graph->
evalOpParm(myLookfar, nodeidx,
"lookfar", time, 0);
186 graph->
evalOpParm(myPutnml, nodeidx,
"putnml", time, 0);
189 graph->
evalOpParm(myPutdist, nodeidx,
"putdist", time, 0);
190 myReverserays =
false;
191 if (
true && ( (
true&&!(((
int64(getMethod())!=1)))) ) )
192 graph->
evalOpParm(myReverserays, nodeidx,
"reverserays", time, 0);
194 if (
true && ( (
true&&!(((
int64(getMethod())!=1)))) ) )
195 graph->
evalOpParm(myRtolerance, nodeidx,
"rtolerance", time, 0);
197 if (
true && ( (
true&&!(((getDotrans()==0)))) ) )
198 graph->
evalOpParm(myScale, nodeidx,
"scale", time, 0);
201 graph->
evalOpParm(myLift, nodeidx,
"lift", time, 0);
203 if (
true && ( (
true&&!(((
int64(getMethod())!=1)))) ) )
204 graph->
evalOpParm(myBias, nodeidx,
"bias", time, 0);
205 myMaxraydistcheck =
false;
207 graph->
evalOpParm(myMaxraydistcheck, nodeidx,
"maxraydistcheck", time, 0);
209 if (
true && ( (
true&&!(((getMaxraydistcheck()==0)))) ) )
210 graph->
evalOpParm(myMaxraydist, nodeidx,
"maxraydist", time, 0);
212 if (
true && ( (
true&&!(((
int64(getMethod())!=1)))) ) )
213 graph->
evalOpParm(mySample, nodeidx,
"sample", time, 0);
215 if (
true && ( (
true&&!(((
int64(getMethod())!=1)))) ) )
216 graph->
evalOpParm(myJitter, nodeidx,
"jitter", time, 0);
218 if (
true && ( (
true&&!(((
int64(getMethod())!=1)))) ) )
219 graph->
evalOpParm(myCombinetype, nodeidx,
"combinetype", time, 0);
221 if (
true && ( (
true&&!(((
int64(getMethod())!=1)))) ) )
222 graph->
evalOpParm(mySeed, nodeidx,
"seed", time, 0);
225 graph->
evalOpParm(myNewgrp, nodeidx,
"newgrp", time, 0);
226 myHitgrp =
"rayHitGroup"_UTsh;
227 if (
true && ( (
true&&!(((getNewgrp()==0)))) ) )
228 graph->
evalOpParm(myHitgrp, nodeidx,
"hitgrp", time, 0);
229 myUseprimnumattrib =
false;
231 graph->
evalOpParm(myUseprimnumattrib, nodeidx,
"useprimnumattrib", time, 0);
232 myPrimnumattrib =
"hitprim"_UTsh;
233 if (
true && ( (
true&&!(((getUseprimnumattrib()==0)))) ) )
234 graph->
evalOpParm(myPrimnumattrib, nodeidx,
"primnumattrib", time, 0);
235 myUseprimuvwattrib =
false;
237 graph->
evalOpParm(myUseprimuvwattrib, nodeidx,
"useprimuvwattrib", time, 0);
238 myPrimuvwattrib =
"hitprimuv"_UTsh;
239 if (
true && ( (
true&&!(((getUseprimuvwattrib()==0)))) ) )
240 graph->
evalOpParm(myPrimuvwattrib, nodeidx,
"primuvwattrib", time, 0);
241 myGetptattribs =
false;
243 graph->
evalOpParm(myGetptattribs, nodeidx,
"getptattribs", time, 0);
244 myPtattribnames =
"*"_UTsh;
245 if (
true && ( (
true&&!(((getGetptattribs()==0)))) ) )
246 graph->
evalOpParm(myPtattribnames, nodeidx,
"ptattribnames", time, 0);
247 myVertexattribnames =
""_UTsh;
248 if (
true && ( (
true&&!(((getGetptattribs()==0)))) ) )
249 graph->
evalOpParm(myVertexattribnames, nodeidx,
"vertexattribnames", time, 0);
250 myPrimitiveattribnames =
""_UTsh;
251 if (
true && ( (
true&&!(((getGetptattribs()==0)))) ) )
252 graph->
evalOpParm(myPrimitiveattribnames, nodeidx,
"primitiveattribnames", time, 0);
253 myDetailattribnames =
""_UTsh;
254 if (
true && ( (
true&&!(((getGetptattribs()==0)))) ) )
255 graph->
evalOpParm(myDetailattribnames, nodeidx,
"detailattribnames", time, 0);
271 template <
typename T>
278 if (idx.
size() != instance.
size()+1)
398 { doGetParmValue(idx, instance, value); }
400 { doGetParmValue(idx, instance, value); }
402 { doGetParmValue(idx, instance, value); }
404 { doGetParmValue(idx, instance, value); }
406 { doGetParmValue(idx, instance, value); }
408 { doGetParmValue(idx, instance, value); }
410 { doGetParmValue(idx, instance, value); }
412 { doGetParmValue(idx, instance, value); }
414 { doGetParmValue(idx, instance, value); }
416 { doGetParmValue(idx, instance, value); }
418 { doGetParmValue(idx, instance, value); }
420 template <
typename T>
427 if (idx.
size() != instance.
size()+1)
528 coerceValue(myPrimitiveattribnames, ( ( value ) ));
538 { doSetParmValue(idx, instance, value); }
540 { doSetParmValue(idx, instance, value); }
542 { doSetParmValue(idx, instance, value); }
544 { doSetParmValue(idx, instance, value); }
546 { doSetParmValue(idx, instance, value); }
548 { doSetParmValue(idx, instance, value); }
550 { doSetParmValue(idx, instance, value); }
552 { doSetParmValue(idx, instance, value); }
554 { doSetParmValue(idx, instance, value); }
556 { doSetParmValue(idx, instance, value); }
558 { doSetParmValue(idx, instance, value); }
574 if (fieldnum.
size() < 1)
603 return "reverserays";
613 return "maxraydistcheck";
621 return "combinetype";
629 return "useprimnumattrib";
631 return "primnumattrib";
633 return "useprimuvwattrib";
635 return "primuvwattrib";
637 return "getptattribs";
639 return "ptattribnames";
641 return "vertexattribnames";
643 return "primitiveattribnames";
645 return "detailattribnames";
653 if (fieldnum.
size() < 1)
654 return PARM_UNSUPPORTED;
746 {
for (
int r = 0;
r < 2;
r++)
for (
int c = 0; c < 2; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
748 {
for (
int r = 0;
r < 3;
r++)
for (
int c = 0; c < 3; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
750 {
for (
int r = 0;
r < 4;
r++)
for (
int c = 0; c < 4; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
763 loadData(is, rampdata);
781 int typelen = colon - data.
buffer();
795 {
int64 iv =
v; UTwrite(os, &iv); }
797 { UTwrite<fpreal64>(os, &
v); }
799 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
801 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
802 UTwrite<fpreal64>(os, &v.
z()); }
804 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
805 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
817 if (s) s->save(ostr);
819 saveData(os, result);
826 ostr << s->getDataTypeToken();
831 saveData(os, result);
835 void save(std::ostream &os)
const
839 saveData(os, myGroup);
840 saveData(os, myEntity);
841 saveData(os, myCollision);
842 saveData(os, myMethod);
843 saveData(os, myDirMethod);
845 saveData(os, myDirAttrib);
846 saveData(os, myShowguide);
847 saveData(os, myDotrans);
848 saveData(os, myLookfar);
849 saveData(os, myPutnml);
850 saveData(os, myPutdist);
851 saveData(os, myReverserays);
852 saveData(os, myRtolerance);
853 saveData(os, myScale);
854 saveData(os, myLift);
855 saveData(os, myBias);
856 saveData(os, myMaxraydistcheck);
857 saveData(os, myMaxraydist);
858 saveData(os, mySample);
859 saveData(os, myJitter);
860 saveData(os, myCombinetype);
861 saveData(os, mySeed);
862 saveData(os, myNewgrp);
863 saveData(os, myHitgrp);
864 saveData(os, myUseprimnumattrib);
865 saveData(os, myPrimnumattrib);
866 saveData(os, myUseprimuvwattrib);
867 saveData(os, myPrimuvwattrib);
868 saveData(os, myGetptattribs);
869 saveData(os, myPtattribnames);
870 saveData(os, myVertexattribnames);
871 saveData(os, myPrimitiveattribnames);
872 saveData(os, myDetailattribnames);
885 loadData(is, myGroup);
886 loadData(is, myEntity);
887 loadData(is, myCollision);
888 loadData(is, myMethod);
889 loadData(is, myDirMethod);
891 loadData(is, myDirAttrib);
892 loadData(is, myShowguide);
893 loadData(is, myDotrans);
894 loadData(is, myLookfar);
895 loadData(is, myPutnml);
896 loadData(is, myPutdist);
897 loadData(is, myReverserays);
898 loadData(is, myRtolerance);
899 loadData(is, myScale);
900 loadData(is, myLift);
901 loadData(is, myBias);
902 loadData(is, myMaxraydistcheck);
903 loadData(is, myMaxraydist);
904 loadData(is, mySample);
905 loadData(is, myJitter);
906 loadData(is, myCombinetype);
907 loadData(is, mySeed);
908 loadData(is, myNewgrp);
909 loadData(is, myHitgrp);
910 loadData(is, myUseprimnumattrib);
911 loadData(is, myPrimnumattrib);
912 loadData(is, myUseprimuvwattrib);
913 loadData(is, myPrimuvwattrib);
914 loadData(is, myGetptattribs);
915 loadData(is, myPtattribnames);
916 loadData(is, myVertexattribnames);
917 loadData(is, myPrimitiveattribnames);
918 loadData(is, myDetailattribnames);
928 if (!thissop)
return getGroup();
930 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
938 if (!thissop)
return getEntity();
940 OP_Utils::evalOpParm(result, thissop,
"entity", cookparms.
getCookTime(), 0);
948 if (!thissop)
return getCollision();
950 OP_Utils::evalOpParm(result, thissop,
"collision", cookparms.
getCookTime(), 0);
958 if (!thissop)
return getMethod();
960 OP_Utils::evalOpParm(result, thissop,
"method", cookparms.
getCookTime(), 0);
968 if (!thissop)
return getDirMethod();
970 OP_Utils::evalOpParm(result, thissop,
"dirmethod", cookparms.
getCookTime(), 0);
978 if (!thissop)
return getDir();
980 OP_Utils::evalOpParm(result, thissop,
"dir", cookparms.
getCookTime(), 0);
988 if (!thissop)
return getDirAttrib();
990 OP_Utils::evalOpParm(result, thissop,
"dirattrib", cookparms.
getCookTime(), 0);
998 if (!thissop)
return getShowguide();
1000 OP_Utils::evalOpParm(result, thissop,
"showguide", cookparms.
getCookTime(), 0);
1008 if (!thissop)
return getDotrans();
1010 OP_Utils::evalOpParm(result, thissop,
"dotrans", cookparms.
getCookTime(), 0);
1018 if (!thissop)
return getLookfar();
1020 OP_Utils::evalOpParm(result, thissop,
"lookfar", cookparms.
getCookTime(), 0);
1028 if (!thissop)
return getPutnml();
1030 OP_Utils::evalOpParm(result, thissop,
"putnml", cookparms.
getCookTime(), 0);
1038 if (!thissop)
return getPutdist();
1040 OP_Utils::evalOpParm(result, thissop,
"putdist", cookparms.
getCookTime(), 0);
1048 if (!thissop)
return getReverserays();
1050 OP_Utils::evalOpParm(result, thissop,
"reverserays", cookparms.
getCookTime(), 0);
1058 if (!thissop)
return getRtolerance();
1060 OP_Utils::evalOpParm(result, thissop,
"rtolerance", cookparms.
getCookTime(), 0);
1070 OP_Utils::evalOpParm(result, thissop,
"scale", cookparms.
getCookTime(), 0);
1078 if (!thissop)
return getLift();
1080 OP_Utils::evalOpParm(result, thissop,
"lift", cookparms.
getCookTime(), 0);
1088 if (!thissop)
return getBias();
1090 OP_Utils::evalOpParm(result, thissop,
"bias", cookparms.
getCookTime(), 0);
1098 if (!thissop)
return getMaxraydistcheck();
1100 OP_Utils::evalOpParm(result, thissop,
"maxraydistcheck", cookparms.
getCookTime(), 0);
1108 if (!thissop)
return getMaxraydist();
1110 OP_Utils::evalOpParm(result, thissop,
"maxraydist", cookparms.
getCookTime(), 0);
1118 if (!thissop)
return getSample();
1120 OP_Utils::evalOpParm(result, thissop,
"sample", cookparms.
getCookTime(), 0);
1128 if (!thissop)
return getJitter();
1130 OP_Utils::evalOpParm(result, thissop,
"jitter", cookparms.
getCookTime(), 0);
1138 if (!thissop)
return getCombinetype();
1140 OP_Utils::evalOpParm(result, thissop,
"combinetype", cookparms.
getCookTime(), 0);
1148 if (!thissop)
return getSeed();
1150 OP_Utils::evalOpParm(result, thissop,
"seed", cookparms.
getCookTime(), 0);
1158 if (!thissop)
return getNewgrp();
1160 OP_Utils::evalOpParm(result, thissop,
"newgrp", cookparms.
getCookTime(), 0);
1168 if (!thissop)
return getHitgrp();
1170 OP_Utils::evalOpParm(result, thissop,
"hitgrp", cookparms.
getCookTime(), 0);
1178 if (!thissop)
return getUseprimnumattrib();
1180 OP_Utils::evalOpParm(result, thissop,
"useprimnumattrib", cookparms.
getCookTime(), 0);
1188 if (!thissop)
return getPrimnumattrib();
1190 OP_Utils::evalOpParm(result, thissop,
"primnumattrib", cookparms.
getCookTime(), 0);
1198 if (!thissop)
return getUseprimuvwattrib();
1200 OP_Utils::evalOpParm(result, thissop,
"useprimuvwattrib", cookparms.
getCookTime(), 0);
1208 if (!thissop)
return getPrimuvwattrib();
1210 OP_Utils::evalOpParm(result, thissop,
"primuvwattrib", cookparms.
getCookTime(), 0);
1218 if (!thissop)
return getGetptattribs();
1220 OP_Utils::evalOpParm(result, thissop,
"getptattribs", cookparms.
getCookTime(), 0);
1228 if (!thissop)
return getPtattribnames();
1230 OP_Utils::evalOpParm(result, thissop,
"ptattribnames", cookparms.
getCookTime(), 0);
1238 if (!thissop)
return getVertexattribnames();
1240 OP_Utils::evalOpParm(result, thissop,
"vertexattribnames", cookparms.
getCookTime(), 0);
1248 if (!thissop)
return getPrimitiveattribnames();
1250 OP_Utils::evalOpParm(result, thissop,
"primitiveattribnames", cookparms.
getCookTime(), 0);
1258 if (!thissop)
return getDetailattribnames();
1260 OP_Utils::evalOpParm(result, thissop,
"detailattribnames", cookparms.
getCookTime(), 0);
1282 bool myMaxraydistcheck;
1286 int64 myCombinetype;
1290 bool myUseprimnumattrib;
1292 bool myUseprimuvwattrib;
1294 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
T clampMaxValue(fpreal maxvalue, const T &src) 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)
T clampMinValue(fpreal minvalue, const T &src) const
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)
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
void coerceValue(T &result, const S &src) const
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
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
OP_NodeParms & operator=(const OP_NodeParms &)=default
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