23 namespace SOP_SortEnums
72 myPointobjpath =
""_UTsh;
75 myPointattrib =
""_UTsh;
76 myPointattribcomp = 0;
77 myPointreverse =
false;
78 myPrimgroup =
""_UTsh;
83 myPrimobjpath =
""_UTsh;
86 myPrimattrib =
""_UTsh;
88 myPrimreverse =
false;
89 myVertexPrimOrder =
true;
102 if (myPtgroup != src.myPtgroup)
return false;
103 if (myPtsort != src.myPtsort)
return false;
104 if (myPointseed != src.myPointseed)
return false;
105 if (myPointoffset != src.myPointoffset)
return false;
106 if (myPointprox != src.myPointprox)
return false;
107 if (myPointobjpath != src.myPointobjpath)
return false;
108 if (myPointdir != src.myPointdir)
return false;
109 if (myPointexpr != src.myPointexpr)
return false;
110 if (myPointattrib != src.myPointattrib)
return false;
111 if (myPointattribcomp != src.myPointattribcomp)
return false;
112 if (myPointreverse != src.myPointreverse)
return false;
113 if (myPrimgroup != src.myPrimgroup)
return false;
114 if (myPrimsort != src.myPrimsort)
return false;
115 if (myPrimseed != src.myPrimseed)
return false;
116 if (myPrimoffset != src.myPrimoffset)
return false;
117 if (myPrimprox != src.myPrimprox)
return false;
118 if (myPrimobjpath != src.myPrimobjpath)
return false;
119 if (myPrimdir != src.myPrimdir)
return false;
120 if (myPrimexpr != src.myPrimexpr)
return false;
121 if (myPrimattrib != src.myPrimattrib)
return false;
122 if (myPrimattribcomp != src.myPrimattribcomp)
return false;
123 if (myPrimreverse != src.myPrimreverse)
return false;
124 if (myVertexPrimOrder != src.myVertexPrimOrder)
return false;
141 graph->
evalOpParm(myPtgroup, nodeidx,
"ptgroup", time, 0);
144 graph->
evalOpParm(myPtsort, nodeidx,
"ptsort", time, 0);
146 if (
true && ( (
true&&!(((
int64(getPtsort())!=6)))) ) )
147 graph->
evalOpParm(myPointseed, nodeidx,
"pointseed", time, 0);
149 if (
true && ( (
true&&!(((
int64(getPtsort())!=7)))) ) )
150 graph->
evalOpParm(myPointoffset, nodeidx,
"pointoffset", time, 0);
152 if (
true && ( (
true&&!(((
int64(getPtsort())!=8)))) ) )
153 graph->
evalOpParm(myPointprox, nodeidx,
"pointprox", time, 0);
154 myPointobjpath =
""_UTsh;
155 if (
true && ( (
true&&!(((
int64(getPtsort())!=9)))) ) )
156 graph->
evalOpParm(myPointobjpath, nodeidx,
"pointobjpath", time, 0);
158 if (
true && ( (
true&&!(((
int64(getPtsort())!=9)))) ) )
159 graph->
evalOpParm(myPointdir, nodeidx,
"pointdir", time, 0);
161 if (
true && ( (
true&&!(((
int64(getPtsort())!=10)))) ) )
162 graph->
evalOpParm(myPointexpr, nodeidx,
"pointexpr", time, 0);
163 myPointattrib =
""_UTsh;
164 if (
true && ( (
true&&!(((
int64(getPtsort())!=12)))) ) )
165 graph->
evalOpParm(myPointattrib, nodeidx,
"pointattrib", time, 0);
166 myPointattribcomp = 0;
167 if (
true && ( (
true&&!(((
int64(getPtsort())!=12)))) ) )
168 graph->
evalOpParm(myPointattribcomp, nodeidx,
"pointattribcomp", time, 0);
169 myPointreverse =
false;
171 graph->
evalOpParm(myPointreverse, nodeidx,
"pointreverse", time, 0);
172 myPrimgroup =
""_UTsh;
174 graph->
evalOpParm(myPrimgroup, nodeidx,
"primgroup", time, 0);
177 graph->
evalOpParm(myPrimsort, nodeidx,
"primsort", time, 0);
179 if (
true && ( (
true&&!(((
int64(getPrimsort())!=5)))) ) )
180 graph->
evalOpParm(myPrimseed, nodeidx,
"primseed", time, 0);
182 if (
true && ( (
true&&!(((
int64(getPrimsort())!=6)))) ) )
183 graph->
evalOpParm(myPrimoffset, nodeidx,
"primoffset", time, 0);
185 if (
true && ( (
true&&!(((
int64(getPrimsort())!=7)))) ) )
186 graph->
evalOpParm(myPrimprox, nodeidx,
"primprox", time, 0);
187 myPrimobjpath =
""_UTsh;
188 if (
true && ( (
true&&!(((
int64(getPrimsort())!=8)))) ) )
189 graph->
evalOpParm(myPrimobjpath, nodeidx,
"primobjpath", time, 0);
191 if (
true && ( (
true&&!(((
int64(getPrimsort())!=8)))) ) )
192 graph->
evalOpParm(myPrimdir, nodeidx,
"primdir", time, 0);
194 if (
true && ( (
true&&!(((
int64(getPrimsort())!=9)))) ) )
195 graph->
evalOpParm(myPrimexpr, nodeidx,
"primexpr", time, 0);
196 myPrimattrib =
""_UTsh;
197 if (
true && ( (
true&&!(((
int64(getPrimsort())!=11)))) ) )
198 graph->
evalOpParm(myPrimattrib, nodeidx,
"primattrib", time, 0);
199 myPrimattribcomp = 0;
200 if (
true && ( (
true&&!(((
int64(getPrimsort())!=11)))) ) )
201 graph->
evalOpParm(myPrimattribcomp, nodeidx,
"primattribcomp", time, 0);
202 myPrimreverse =
false;
204 graph->
evalOpParm(myPrimreverse, nodeidx,
"primreverse", time, 0);
205 myVertexPrimOrder =
true;
207 graph->
evalOpParm(myVertexPrimOrder, nodeidx,
"vertexprimorder", time, 0);
223 template <
typename T>
230 if (idx.
size() != instance.
size()+1)
317 { doGetParmValue(idx, instance, value); }
319 { doGetParmValue(idx, instance, value); }
321 { doGetParmValue(idx, instance, value); }
323 { doGetParmValue(idx, instance, value); }
325 { doGetParmValue(idx, instance, value); }
327 { doGetParmValue(idx, instance, value); }
329 { doGetParmValue(idx, instance, value); }
331 { doGetParmValue(idx, instance, value); }
333 { doGetParmValue(idx, instance, value); }
335 { doGetParmValue(idx, instance, value); }
337 { doGetParmValue(idx, instance, value); }
339 template <
typename T>
346 if (idx.
size() != instance.
size()+1)
424 { doSetParmValue(idx, instance, value); }
426 { doSetParmValue(idx, instance, value); }
428 { doSetParmValue(idx, instance, value); }
430 { doSetParmValue(idx, instance, value); }
432 { doSetParmValue(idx, instance, value); }
434 { doSetParmValue(idx, instance, value); }
436 { doSetParmValue(idx, instance, value); }
438 { doSetParmValue(idx, instance, value); }
440 { doSetParmValue(idx, instance, value); }
442 { doSetParmValue(idx, instance, value); }
444 { doSetParmValue(idx, instance, value); }
460 if (fieldnum.
size() < 1)
471 return "pointoffset";
475 return "pointobjpath";
481 return "pointattrib";
483 return "pointattribcomp";
485 return "pointreverse";
497 return "primobjpath";
505 return "primattribcomp";
507 return "primreverse";
509 return "vertexprimorder";
517 if (fieldnum.
size() < 1)
518 return PARM_UNSUPPORTED;
588 {
for (
int r = 0;
r < 2;
r++)
for (
int c = 0; c < 2; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
590 {
for (
int r = 0;
r < 3;
r++)
for (
int c = 0; c < 3; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
592 {
for (
int r = 0;
r < 4;
r++)
for (
int c = 0; c < 4; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
605 loadData(is, rampdata);
623 int typelen = colon - data.
buffer();
637 {
int64 iv =
v; UTwrite(os, &iv); }
639 { UTwrite<fpreal64>(os, &
v); }
641 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
643 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
644 UTwrite<fpreal64>(os, &v.
z()); }
646 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
647 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
659 if (s) s->save(ostr);
661 saveData(os, result);
668 ostr << s->getDataTypeToken();
673 saveData(os, result);
677 void save(std::ostream &os)
const
681 saveData(os, myPtgroup);
682 saveData(os, myPtsort);
683 saveData(os, myPointseed);
684 saveData(os, myPointoffset);
685 saveData(os, myPointprox);
686 saveData(os, myPointobjpath);
687 saveData(os, myPointdir);
688 saveData(os, myPointexpr);
689 saveData(os, myPointattrib);
690 saveData(os, myPointattribcomp);
691 saveData(os, myPointreverse);
692 saveData(os, myPrimgroup);
693 saveData(os, myPrimsort);
694 saveData(os, myPrimseed);
695 saveData(os, myPrimoffset);
696 saveData(os, myPrimprox);
697 saveData(os, myPrimobjpath);
698 saveData(os, myPrimdir);
699 saveData(os, myPrimexpr);
700 saveData(os, myPrimattrib);
701 saveData(os, myPrimattribcomp);
702 saveData(os, myPrimreverse);
703 saveData(os, myVertexPrimOrder);
716 loadData(is, myPtgroup);
717 loadData(is, myPtsort);
718 loadData(is, myPointseed);
719 loadData(is, myPointoffset);
720 loadData(is, myPointprox);
721 loadData(is, myPointobjpath);
722 loadData(is, myPointdir);
723 loadData(is, myPointexpr);
724 loadData(is, myPointattrib);
725 loadData(is, myPointattribcomp);
726 loadData(is, myPointreverse);
727 loadData(is, myPrimgroup);
728 loadData(is, myPrimsort);
729 loadData(is, myPrimseed);
730 loadData(is, myPrimoffset);
731 loadData(is, myPrimprox);
732 loadData(is, myPrimobjpath);
733 loadData(is, myPrimdir);
734 loadData(is, myPrimexpr);
735 loadData(is, myPrimattrib);
736 loadData(is, myPrimattribcomp);
737 loadData(is, myPrimreverse);
738 loadData(is, myVertexPrimOrder);
748 if (!thissop)
return getPtgroup();
750 OP_Utils::evalOpParm(result, thissop,
"ptgroup", cookparms.
getCookTime(), 0);
758 if (!thissop)
return getPtsort();
760 OP_Utils::evalOpParm(result, thissop,
"ptsort", cookparms.
getCookTime(), 0);
768 if (!thissop)
return getPointseed();
770 OP_Utils::evalOpParm(result, thissop,
"pointseed", cookparms.
getCookTime(), 0);
778 if (!thissop)
return getPointoffset();
780 OP_Utils::evalOpParm(result, thissop,
"pointoffset", cookparms.
getCookTime(), 0);
788 if (!thissop)
return getPointprox();
790 OP_Utils::evalOpParm(result, thissop,
"pointprox", cookparms.
getCookTime(), 0);
798 if (!thissop)
return getPointobjpath();
800 OP_Utils::evalOpParm(result, thissop,
"pointobjpath", cookparms.
getCookTime(), 0);
808 if (!thissop)
return getPointdir();
810 OP_Utils::evalOpParm(result, thissop,
"pointdir", cookparms.
getCookTime(), 0);
818 if (!thissop)
return getPointexpr();
820 OP_Utils::evalOpParm(result, thissop,
"pointexpr", cookparms.
getCookTime(), 0);
828 if (!thissop)
return getPointattrib();
830 OP_Utils::evalOpParm(result, thissop,
"pointattrib", cookparms.
getCookTime(), 0);
838 if (!thissop)
return getPointattribcomp();
840 OP_Utils::evalOpParm(result, thissop,
"pointattribcomp", cookparms.
getCookTime(), 0);
848 if (!thissop)
return getPointreverse();
850 OP_Utils::evalOpParm(result, thissop,
"pointreverse", cookparms.
getCookTime(), 0);
858 if (!thissop)
return getPrimgroup();
860 OP_Utils::evalOpParm(result, thissop,
"primgroup", cookparms.
getCookTime(), 0);
868 if (!thissop)
return getPrimsort();
870 OP_Utils::evalOpParm(result, thissop,
"primsort", cookparms.
getCookTime(), 0);
878 if (!thissop)
return getPrimseed();
880 OP_Utils::evalOpParm(result, thissop,
"primseed", cookparms.
getCookTime(), 0);
888 if (!thissop)
return getPrimoffset();
890 OP_Utils::evalOpParm(result, thissop,
"primoffset", cookparms.
getCookTime(), 0);
898 if (!thissop)
return getPrimprox();
900 OP_Utils::evalOpParm(result, thissop,
"primprox", cookparms.
getCookTime(), 0);
908 if (!thissop)
return getPrimobjpath();
910 OP_Utils::evalOpParm(result, thissop,
"primobjpath", cookparms.
getCookTime(), 0);
918 if (!thissop)
return getPrimdir();
920 OP_Utils::evalOpParm(result, thissop,
"primdir", cookparms.
getCookTime(), 0);
928 if (!thissop)
return getPrimexpr();
930 OP_Utils::evalOpParm(result, thissop,
"primexpr", cookparms.
getCookTime(), 0);
938 if (!thissop)
return getPrimattrib();
940 OP_Utils::evalOpParm(result, thissop,
"primattrib", cookparms.
getCookTime(), 0);
948 if (!thissop)
return getPrimattribcomp();
950 OP_Utils::evalOpParm(result, thissop,
"primattribcomp", cookparms.
getCookTime(), 0);
958 if (!thissop)
return getPrimreverse();
960 OP_Utils::evalOpParm(result, thissop,
"primreverse", cookparms.
getCookTime(), 0);
968 if (!thissop)
return getVertexPrimOrder();
970 OP_Utils::evalOpParm(result, thissop,
"vertexprimorder", cookparms.
getCookTime(), 0);
984 int64 myPointattribcomp;
995 int64 myPrimattribcomp;
997 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
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
void setPtgroup(const UT_StringHolder &val)
T clampMaxValue(fpreal maxvalue, const T &src) const
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
ParmType getNestParmType(TempIndex fieldnum) const override
static void saveData(std::ostream &os, fpreal64 v)
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
constexpr SYS_FORCE_INLINE T & z() noexcept
void setPointoffset(int64 val)
SYS_FORCE_INLINE const char * buffer() const
int64 getPointattribcomp() 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)
T clampMinValue(fpreal minvalue, const T &src) 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)
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)
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
int64 getPrimseed() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
const OP_GraphProxy * graph() 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
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)
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 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)
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
void setPrimobjpath(const UT_StringHolder &val)
void setPrimoffset(int64 val)
void coerceValue(T &result, const S &src) const
UT_StringHolder opPtgroup(const SOP_NodeVerb::CookParms &cookparms) 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
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
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)
bool isParmColorRamp(exint idx) const override
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
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
fpreal64 getPointexpr() const
UT_Vector3D opPrimdir(const SOP_NodeVerb::CookParms &cookparms) 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)
OP_NodeParms & operator=(const OP_NodeParms &)=default
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
constexpr SYS_FORCE_INLINE T & x() noexcept
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override