22 using namespace UT::Literal;
25 namespace SOP_AttribTransferEnums
51 myDetailattribs =
false;
52 myDetailattriblist =
""_sh;
53 myPrimitiveattribs =
true;
54 myPrimattriblist =
""_sh;
55 myPointattribs =
true;
56 myPointattriblist =
""_sh;
57 myVertexattribs =
false;
58 myVertexattriblist =
""_sh;
59 myCopyvariable =
true;
60 myMatchpattrib =
false;
61 myKernel =
"elendt"_sh;
77 if (mySrcgroups != src.mySrcgroups)
return false;
78 if (mySrcgrouptype != src.mySrcgrouptype)
return false;
79 if (myDstgroups != src.myDstgroups)
return false;
80 if (myDstgrouptype != src.myDstgrouptype)
return false;
81 if (myDetailattribs != src.myDetailattribs)
return false;
82 if (myDetailattriblist != src.myDetailattriblist)
return false;
83 if (myPrimitiveattribs != src.myPrimitiveattribs)
return false;
84 if (myPrimattriblist != src.myPrimattriblist)
return false;
85 if (myPointattribs != src.myPointattribs)
return false;
86 if (myPointattriblist != src.myPointattriblist)
return false;
87 if (myVertexattribs != src.myVertexattribs)
return false;
88 if (myVertexattriblist != src.myVertexattriblist)
return false;
89 if (myCopyvariable != src.myCopyvariable)
return false;
90 if (myMatchpattrib != src.myMatchpattrib)
return false;
91 if (myKernel != src.myKernel)
return false;
92 if (myKernelradius != src.myKernelradius)
return false;
93 if (myMaxsamplecount != src.myMaxsamplecount)
return false;
94 if (myThreshold != src.myThreshold)
return false;
95 if (myThresholddist != src.myThresholddist)
return false;
96 if (myBlendwidth != src.myBlendwidth)
return false;
97 if (myUniformbias != src.myUniformbias)
return false;
114 graph->
evalOpParm(mySrcgroups, nodeidx,
"srcgroups", time, 0);
117 graph->
evalOpParm(mySrcgrouptype, nodeidx,
"srcgrouptype", time, 0);
120 graph->
evalOpParm(myDstgroups, nodeidx,
"dstgroups", time, 0);
123 graph->
evalOpParm(myDstgrouptype, nodeidx,
"dstgrouptype", time, 0);
124 myDetailattribs =
false;
126 graph->
evalOpParm(myDetailattribs, nodeidx,
"detailattribs", time, 0);
127 myDetailattriblist =
""_sh;
128 if (
true && ( (
true&&!(((getDetailattribs()==0)))) ) )
129 graph->
evalOpParm(myDetailattriblist, nodeidx,
"detailattriblist", time, 0);
130 myPrimitiveattribs =
true;
132 graph->
evalOpParm(myPrimitiveattribs, nodeidx,
"primitiveattribs", time, 0);
133 myPrimattriblist =
""_sh;
134 if (
true && ( (
true&&!(((getPrimitiveattribs()==0)))) ) )
135 graph->
evalOpParm(myPrimattriblist, nodeidx,
"primattriblist", time, 0);
136 myPointattribs =
true;
138 graph->
evalOpParm(myPointattribs, nodeidx,
"pointattribs", time, 0);
139 myPointattriblist =
""_sh;
140 if (
true && ( (
true&&!(((getPointattribs()==0)))) ) )
141 graph->
evalOpParm(myPointattriblist, nodeidx,
"pointattriblist", time, 0);
142 myVertexattribs =
false;
144 graph->
evalOpParm(myVertexattribs, nodeidx,
"vertexattribs", time, 0);
145 myVertexattriblist =
""_sh;
146 if (
true && ( (
true&&!(((getVertexattribs()==0)))) ) )
147 graph->
evalOpParm(myVertexattriblist, nodeidx,
"vertexattriblist", time, 0);
148 myCopyvariable =
true;
150 graph->
evalOpParm(myCopyvariable, nodeidx,
"copyvariable", time, 0);
151 myMatchpattrib =
false;
153 graph->
evalOpParm(myMatchpattrib, nodeidx,
"matchpattrib", time, 0);
154 myKernel =
"elendt"_sh;
156 graph->
evalOpParm(myKernel, nodeidx,
"kernel", time, 0);
158 if (
true && ( (
true&&!(((getKernel()==
"uniform")))) ) )
159 graph->
evalOpParm(myKernelradius, nodeidx,
"kernelradius", time, 0);
160 myMaxsamplecount = 1;
162 graph->
evalOpParm(myMaxsamplecount, nodeidx,
"maxsamplecount", time, 0);
165 graph->
evalOpParm(myThreshold, nodeidx,
"threshold", time, 0);
166 myThresholddist = 10;
167 if (
true && ( (
true&&!(((getThreshold()==0)))) ) )
168 graph->
evalOpParm(myThresholddist, nodeidx,
"thresholddist", time, 0);
170 if (
true && ( (
true&&!(((getThreshold()==0)))) ) )
171 graph->
evalOpParm(myBlendwidth, nodeidx,
"blendwidth", time, 0);
173 if (
true && ( (
true&&!(((getThreshold()==0))||((getKernel()!=
"uniform")))) ) )
174 graph->
evalOpParm(myUniformbias, nodeidx,
"uniformbias", time, 0);
190 template <
typename T>
197 if (idx.
size() != instance.
size()+1)
202 coerceValue(value, mySrcgroups);
205 coerceValue(value, mySrcgrouptype);
208 coerceValue(value, myDstgroups);
211 coerceValue(value, myDstgrouptype);
214 coerceValue(value, myDetailattribs);
217 coerceValue(value, myDetailattriblist);
220 coerceValue(value, myPrimitiveattribs);
223 coerceValue(value, myPrimattriblist);
226 coerceValue(value, myPointattribs);
229 coerceValue(value, myPointattriblist);
232 coerceValue(value, myVertexattribs);
235 coerceValue(value, myVertexattriblist);
238 coerceValue(value, myCopyvariable);
241 coerceValue(value, myMatchpattrib);
244 coerceValue(value, myKernel);
247 coerceValue(value, myKernelradius);
250 coerceValue(value, myMaxsamplecount);
253 coerceValue(value, myThreshold);
256 coerceValue(value, myThresholddist);
259 coerceValue(value, myBlendwidth);
262 coerceValue(value, myUniformbias);
269 { doGetParmValue(idx, instance, value); }
271 { doGetParmValue(idx, instance, value); }
273 { doGetParmValue(idx, instance, value); }
275 { doGetParmValue(idx, instance, value); }
277 { doGetParmValue(idx, instance, value); }
279 { doGetParmValue(idx, instance, value); }
281 { doGetParmValue(idx, instance, value); }
283 { doGetParmValue(idx, instance, value); }
285 { doGetParmValue(idx, instance, value); }
287 { doGetParmValue(idx, instance, value); }
289 { doGetParmValue(idx, instance, value); }
291 template <
typename T>
298 if (idx.
size() != instance.
size()+1)
303 coerceValue(mySrcgroups, ( ( value ) ));
306 coerceValue(mySrcgrouptype, clampMinValue(0, clampMaxValue(1, value ) ));
309 coerceValue(myDstgroups, ( ( value ) ));
312 coerceValue(myDstgrouptype, clampMinValue(0, clampMaxValue(1, value ) ));
315 coerceValue(myDetailattribs, ( ( value ) ));
318 coerceValue(myDetailattriblist, ( ( value ) ));
321 coerceValue(myPrimitiveattribs, ( ( value ) ));
324 coerceValue(myPrimattriblist, ( ( value ) ));
327 coerceValue(myPointattribs, ( ( value ) ));
330 coerceValue(myPointattriblist, ( ( value ) ));
333 coerceValue(myVertexattribs, ( ( value ) ));
336 coerceValue(myVertexattriblist, ( ( value ) ));
339 coerceValue(myCopyvariable, ( ( value ) ));
342 coerceValue(myMatchpattrib, ( ( value ) ));
345 coerceValue(myKernel, ( ( value ) ));
348 coerceValue(myKernelradius, ( ( value ) ));
351 coerceValue(myMaxsamplecount, clampMinValue(1, ( value ) ));
354 coerceValue(myThreshold, ( ( value ) ));
357 coerceValue(myThresholddist, ( ( value ) ));
360 coerceValue(myBlendwidth, ( ( value ) ));
363 coerceValue(myUniformbias, ( ( value ) ));
370 { doSetParmValue(idx, instance, value); }
372 { doSetParmValue(idx, instance, value); }
374 { doSetParmValue(idx, instance, value); }
376 { doSetParmValue(idx, instance, value); }
378 { doSetParmValue(idx, instance, value); }
380 { doSetParmValue(idx, instance, value); }
382 { doSetParmValue(idx, instance, value); }
384 { doSetParmValue(idx, instance, value); }
386 { doSetParmValue(idx, instance, value); }
388 { doSetParmValue(idx, instance, value); }
390 { doSetParmValue(idx, instance, value); }
406 if (fieldnum.
size() < 1)
413 return "srcgrouptype";
417 return "dstgrouptype";
419 return "detailattribs";
421 return "detailattriblist";
423 return "primitiveattribs";
425 return "primattriblist";
427 return "pointattribs";
429 return "pointattriblist";
431 return "vertexattribs";
433 return "vertexattriblist";
435 return "copyvariable";
437 return "matchpattrib";
441 return "kernelradius";
443 return "maxsamplecount";
447 return "thresholddist";
451 return "uniformbias";
459 if (fieldnum.
size() < 1)
460 return PARM_UNSUPPORTED;
507 return PARM_UNSUPPORTED;
543 loadData(is, rampdata);
561 int typelen = colon - data.
buffer();
575 {
int64 iv =
v; UTwrite(os, &iv); }
577 { UTwrite<fpreal64>(os, &
v); }
579 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
581 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
582 UTwrite<fpreal64>(os, &v.
z()); }
584 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
585 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
597 if (s) s->save(ostr);
599 saveData(os, result);
606 ostr << s->getDataTypeToken();
611 saveData(os, result);
615 void save(std::ostream &os)
const
619 saveData(os, mySrcgroups);
620 saveData(os, mySrcgrouptype);
621 saveData(os, myDstgroups);
622 saveData(os, myDstgrouptype);
623 saveData(os, myDetailattribs);
624 saveData(os, myDetailattriblist);
625 saveData(os, myPrimitiveattribs);
626 saveData(os, myPrimattriblist);
627 saveData(os, myPointattribs);
628 saveData(os, myPointattriblist);
629 saveData(os, myVertexattribs);
630 saveData(os, myVertexattriblist);
631 saveData(os, myCopyvariable);
632 saveData(os, myMatchpattrib);
633 saveData(os, myKernel);
634 saveData(os, myKernelradius);
635 saveData(os, myMaxsamplecount);
636 saveData(os, myThreshold);
637 saveData(os, myThresholddist);
638 saveData(os, myBlendwidth);
639 saveData(os, myUniformbias);
652 loadData(is, mySrcgroups);
653 loadData(is, mySrcgrouptype);
654 loadData(is, myDstgroups);
655 loadData(is, myDstgrouptype);
656 loadData(is, myDetailattribs);
657 loadData(is, myDetailattriblist);
658 loadData(is, myPrimitiveattribs);
659 loadData(is, myPrimattriblist);
660 loadData(is, myPointattribs);
661 loadData(is, myPointattriblist);
662 loadData(is, myVertexattribs);
663 loadData(is, myVertexattriblist);
664 loadData(is, myCopyvariable);
665 loadData(is, myMatchpattrib);
666 loadData(is, myKernel);
667 loadData(is, myKernelradius);
668 loadData(is, myMaxsamplecount);
669 loadData(is, myThreshold);
670 loadData(is, myThresholddist);
671 loadData(is, myBlendwidth);
672 loadData(is, myUniformbias);
682 if (!thissop)
return getSrcgroups();
684 OP_Utils::evalOpParm(result, thissop,
"srcgroups", cookparms.
getCookTime(), 0);
692 if (!thissop)
return getSrcgrouptype();
694 OP_Utils::evalOpParm(result, thissop,
"srcgrouptype", cookparms.
getCookTime(), 0);
702 if (!thissop)
return getDstgroups();
704 OP_Utils::evalOpParm(result, thissop,
"dstgroups", cookparms.
getCookTime(), 0);
712 if (!thissop)
return getDstgrouptype();
714 OP_Utils::evalOpParm(result, thissop,
"dstgrouptype", cookparms.
getCookTime(), 0);
722 if (!thissop)
return getDetailattribs();
724 OP_Utils::evalOpParm(result, thissop,
"detailattribs", cookparms.
getCookTime(), 0);
732 if (!thissop)
return getDetailattriblist();
734 OP_Utils::evalOpParm(result, thissop,
"detailattriblist", cookparms.
getCookTime(), 0);
742 if (!thissop)
return getPrimitiveattribs();
744 OP_Utils::evalOpParm(result, thissop,
"primitiveattribs", cookparms.
getCookTime(), 0);
752 if (!thissop)
return getPrimattriblist();
754 OP_Utils::evalOpParm(result, thissop,
"primattriblist", cookparms.
getCookTime(), 0);
762 if (!thissop)
return getPointattribs();
764 OP_Utils::evalOpParm(result, thissop,
"pointattribs", cookparms.
getCookTime(), 0);
772 if (!thissop)
return getPointattriblist();
774 OP_Utils::evalOpParm(result, thissop,
"pointattriblist", cookparms.
getCookTime(), 0);
782 if (!thissop)
return getVertexattribs();
784 OP_Utils::evalOpParm(result, thissop,
"vertexattribs", cookparms.
getCookTime(), 0);
792 if (!thissop)
return getVertexattriblist();
794 OP_Utils::evalOpParm(result, thissop,
"vertexattriblist", cookparms.
getCookTime(), 0);
802 if (!thissop)
return getCopyvariable();
804 OP_Utils::evalOpParm(result, thissop,
"copyvariable", cookparms.
getCookTime(), 0);
812 if (!thissop)
return getMatchpattrib();
814 OP_Utils::evalOpParm(result, thissop,
"matchpattrib", cookparms.
getCookTime(), 0);
822 if (!thissop)
return getKernel();
824 OP_Utils::evalOpParm(result, thissop,
"kernel", cookparms.
getCookTime(), 0);
832 if (!thissop)
return getKernelradius();
834 OP_Utils::evalOpParm(result, thissop,
"kernelradius", cookparms.
getCookTime(), 0);
842 if (!thissop)
return getMaxsamplecount();
844 OP_Utils::evalOpParm(result, thissop,
"maxsamplecount", cookparms.
getCookTime(), 0);
852 if (!thissop)
return getThreshold();
854 OP_Utils::evalOpParm(result, thissop,
"threshold", cookparms.
getCookTime(), 0);
862 if (!thissop)
return getThresholddist();
864 OP_Utils::evalOpParm(result, thissop,
"thresholddist", cookparms.
getCookTime(), 0);
872 if (!thissop)
return getBlendwidth();
874 OP_Utils::evalOpParm(result, thissop,
"blendwidth", cookparms.
getCookTime(), 0);
882 if (!thissop)
return getUniformbias();
884 OP_Utils::evalOpParm(result, thissop,
"uniformbias", cookparms.
getCookTime(), 0);
890 int64 mySrcgrouptype;
892 int64 myDstgrouptype;
893 bool myDetailattribs;
895 bool myPrimitiveattribs;
899 bool myVertexattribs;
905 int64 myMaxsamplecount;
bool getThreshold() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
SOP_AttribTransferParms()
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
void setDstgrouptype(Dstgrouptype val)
static void loadData(UT_IStream &is, bool &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
void save(std::ostream &os) const
static void loadData(UT_IStream &is, UT_Vector2D &v)
void setVertexattribs(bool val)
void setPointattriblist(const UT_StringHolder &val)
void setBlendwidth(fpreal64 val)
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
UT_StringHolder opVertexattriblist(const SOP_NodeVerb::CookParms &cookparms) const
void setSrcgrouptype(Srcgrouptype val)
SOP_Node * getNode() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
bool operator==(const SOP_AttribTransferParms &src) const
bool opCopyvariable(const SOP_NodeVerb::CookParms &cookparms) const
void setDstgroups(const UT_StringHolder &val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
UT_StringHolder opDstgroups(const SOP_NodeVerb::CookParms &cookparms) const
bool opThreshold(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3D &v)
void setMaxsamplecount(int64 val)
exint bread(int32 *buffer, exint asize=1)
static void loadData(UT_IStream &is, int64 &v)
void setDetailattribs(bool val)
static void saveData(std::ostream &os, PRM_DataItemHandle s)
GT_API const UT_StringHolder time
Srcgrouptype getSrcgrouptype() const
const UT_StringHolder & getSrcgroups() const
exint getNestNumParms(TempIndex idx) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
bool getMatchpattrib() const
void setUniformbias(fpreal64 val)
bool getCopyvariable() const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
static void saveData(std::ostream &os, int64 v)
const UT_StringHolder & getDetailattriblist() const
void setPointattribs(bool val)
static void loadData(UT_IStream &is, fpreal64 &v)
SYS_FORCE_INLINE const char * buffer() const
const SOP_GraphProxy * graph() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
An output stream object that owns its own string buffer storage.
void setCopyvariable(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
fpreal64 getBlendwidth() 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.
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
static void loadData(UT_IStream &is, UT_Matrix4D &v)
static void loadData(UT_IStream &is, UT_Vector2I &v)
void loadFromOpSubclass(const LoadParms &loadparms) override
fpreal64 getUniformbias() const
void setThresholddist(fpreal64 val)
UT_StringHolder opKernel(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
bool load(UT_IStream &is)
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
static void loadData(UT_IStream &is, UT_Matrix3D &v)
Srcgrouptype opSrcgrouptype(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector4I &v)
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
static void saveData(std::ostream &os, UT_Vector3D v)
const UT_StringHolder & getKernel() const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
static void saveData(std::ostream &os, UT_Matrix3D v)
void setPrimitiveattribs(bool val)
Dstgrouptype getDstgrouptype() const
int64 opMaxsamplecount(const SOP_NodeVerb::CookParms &cookparms) const
bool opMatchpattrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opPointattriblist(const SOP_NodeVerb::CookParms &cookparms) const
void setDetailattriblist(const UT_StringHolder &val)
static void saveData(std::ostream &os, bool v)
bool getDetailattribs() const
static void saveData(std::ostream &os, UT_Matrix2D v)
fpreal64 opKernelradius(const SOP_NodeVerb::CookParms &cookparms) const
~SOP_AttribTransferParms() override
void setMatchpattrib(bool val)
bool opPointattribs(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
static void loadData(UT_IStream &is, UT_Vector3I &v)
void saveBinary(std::ostream &os) const
Save string to binary stream.
void buildFromOp(const SOP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
GT_API const UT_StringHolder version
DEP_MicroNode * depnode() const
void setKernel(const UT_StringHolder &val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
const UT_StringHolder & getPrimattriblist() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
bool getVertexattribs() const
fpreal64 opThresholddist(const SOP_NodeVerb::CookParms &cookparms) const
const char * getNestParmName(TempIndex fieldnum) const override
ParmType getNestParmType(TempIndex fieldnum) const override
void copyFrom(const SOP_NodeParms *src) override
void setKernelradius(fpreal64 val)
void setSrcgroups(const UT_StringHolder &val)
bool opDetailattribs(const SOP_NodeVerb::CookParms &cookparms) const
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
static void loadData(UT_IStream &is, UT_Vector4D &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
Utility class for containing a color ramp.
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
GLsizei const GLfloat * value
int64 getMaxsamplecount() const
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
fpreal getCookTime() const
const UT_StringHolder & getDstgroups() const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
const char * findChar(int c) const
fpreal64 getKernelradius() const
static void saveData(std::ostream &os, fpreal64 v)
bool opVertexattribs(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
void setThreshold(bool val)
fpreal64 getThresholddist() const
fpreal64 opUniformbias(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Vector2D v)
bool getPointattribs() const
UT_StringHolder opPrimattriblist(const SOP_NodeVerb::CookParms &cookparms) const
bool operator!=(const SOP_AttribTransferParms &src) const
UT_StringHolder opDetailattriblist(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getPointattriblist() const
bool opPrimitiveattribs(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix4D v)
const OP_Context & context() const
void setPrimattriblist(const UT_StringHolder &val)
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
fpreal64 opBlendwidth(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Vector4D v)
void setVertexattriblist(const UT_StringHolder &val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
SYS_FORCE_INLINE bool isstring() const
static void saveData(std::ostream &os, UT_StringHolder s)
static void loadData(UT_IStream &is, UT_StringHolder &v)
bool getPrimitiveattribs() const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
UT_StringHolder opSrcgroups(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getVertexattriblist() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
Dstgrouptype opDstgrouptype(const SOP_NodeVerb::CookParms &cookparms) const