23 namespace SOP_ResampleEnums
54 myMaintainprimorder =
false;
66 myRandomshift =
false;
69 myOutputsubdpoly =
false;
70 myDoptdistattr =
false;
71 myPtdistattr =
"ptdist"_UTsh;
72 myDotangentattr =
false;
73 myTangentattr =
"tangentu"_UTsh;
74 myDocurveuattr =
false;
75 myCurveuattr =
"curveu"_UTsh;
76 myDocurvenumattr =
false;
77 myCurvenumattr =
"curvenum"_UTsh;
90 if (myGroup != src.myGroup)
return false;
91 if (myMaintainprimorder != src.myMaintainprimorder)
return false;
92 if (myLod != src.myLod)
return false;
93 if (myEdge != src.myEdge)
return false;
94 if (myMethod != src.myMethod)
return false;
95 if (myMeasure != src.myMeasure)
return false;
96 if (myDolength != src.myDolength)
return false;
97 if (myLength != src.myLength)
return false;
98 if (myDosegs != src.myDosegs)
return false;
99 if (mySegs != src.mySegs)
return false;
100 if (myUseattribs != src.myUseattribs)
return false;
101 if (myAllequal != src.myAllequal)
return false;
102 if (myLast != src.myLast)
return false;
103 if (myRandomshift != src.myRandomshift)
return false;
104 if (myOnlypoints != src.myOnlypoints)
return false;
105 if (myTreatpolysas != src.myTreatpolysas)
return false;
106 if (myOutputsubdpoly != src.myOutputsubdpoly)
return false;
107 if (myDoptdistattr != src.myDoptdistattr)
return false;
108 if (myPtdistattr != src.myPtdistattr)
return false;
109 if (myDotangentattr != src.myDotangentattr)
return false;
110 if (myTangentattr != src.myTangentattr)
return false;
111 if (myDocurveuattr != src.myDocurveuattr)
return false;
112 if (myCurveuattr != src.myCurveuattr)
return false;
113 if (myDocurvenumattr != src.myDocurvenumattr)
return false;
114 if (myCurvenumattr != src.myCurvenumattr)
return false;
132 graph->
evalOpParm(myGroup, nodeidx,
"group", time, 0);
133 myMaintainprimorder =
false;
135 graph->
evalOpParm(myMaintainprimorder, nodeidx,
"maintainprimorder", time, 0);
138 graph->
evalOpParm(myLod, nodeidx,
"lod", time, 0);
141 graph->
evalOpParm(myEdge, nodeidx,
"edge", time, 0);
144 graph->
evalOpParm(myMethod, nodeidx,
"method", time, 0);
147 graph->
evalOpParm(myMeasure, nodeidx,
"measure", time, 0);
150 graph->
evalOpParm(myDolength, nodeidx,
"dolength", time, 0);
152 if (
true && ( (
true&&!(((getDolength()==0)))) ) )
153 graph->
evalOpParm(myLength, nodeidx,
"length", time, 0);
156 graph->
evalOpParm(myDosegs, nodeidx,
"dosegs", time, 0);
158 if (
true && ( (
true&&!(((getDosegs()==0)))) ) )
159 graph->
evalOpParm(mySegs, nodeidx,
"segs", time, 0);
162 graph->
evalOpParm(myUseattribs, nodeidx,
"useattribs", time, 0);
164 if (
true && ( (
true&&!(((getDolength()==0))||((getEdge()==1))||((
int64(getMeasure())!=0))||((
int64(getMethod())!=0)))) ) )
165 graph->
evalOpParm(myAllequal, nodeidx,
"allequal", time, 0);
167 if (
true && ( (
true&&!(((getDolength()==0))||((getEdge()==1))||((getDolength()==1)&&(getEdge()==0)&&(
int64(getMeasure())==0)&&(
int64(getMethod())==0)&&(getAllequal()==1)))) ) )
168 graph->
evalOpParm(myLast, nodeidx,
"last", time, 0);
169 myRandomshift =
false;
170 if (
true && ( (
true&&!(((getDolength()==0))||((getEdge()==1))||((getDolength()==1)&&(getEdge()==0)&&(
int64(getMeasure())==0)&&(
int64(getMethod())==0)&&(getAllequal()==1)))) ) )
171 graph->
evalOpParm(myRandomshift, nodeidx,
"randomshift", time, 0);
172 myOnlypoints =
false;
174 graph->
evalOpParm(myOnlypoints, nodeidx,
"onlypoints", time, 0);
177 graph->
evalOpParm(myTreatpolysas, nodeidx,
"treatpolysas", time, 0);
178 myOutputsubdpoly =
false;
180 graph->
evalOpParm(myOutputsubdpoly, nodeidx,
"outputsubdpoly", time, 0);
181 myDoptdistattr =
false;
183 graph->
evalOpParm(myDoptdistattr, nodeidx,
"doptdistattr", time, 0);
184 myPtdistattr =
"ptdist"_UTsh;
185 if (
true && ( (
true&&!(((getDoptdistattr()==0)))) ) )
186 graph->
evalOpParm(myPtdistattr, nodeidx,
"ptdistattr", time, 0);
187 myDotangentattr =
false;
189 graph->
evalOpParm(myDotangentattr, nodeidx,
"dotangentattr", time, 0);
190 myTangentattr =
"tangentu"_UTsh;
191 if (
true && ( (
true&&!(((getDotangentattr()==0)))) ) )
192 graph->
evalOpParm(myTangentattr, nodeidx,
"tangentattr", time, 0);
193 myDocurveuattr =
false;
195 graph->
evalOpParm(myDocurveuattr, nodeidx,
"docurveuattr", time, 0);
196 myCurveuattr =
"curveu"_UTsh;
197 if (
true && ( (
true&&!(((getDocurveuattr()==0)))) ) )
198 graph->
evalOpParm(myCurveuattr, nodeidx,
"curveuattr", time, 0);
199 myDocurvenumattr =
false;
201 graph->
evalOpParm(myDocurvenumattr, nodeidx,
"docurvenumattr", time, 0);
202 myCurvenumattr =
"curvenum"_UTsh;
203 if (
true && ( (
true&&!(((getDocurvenumattr()==0)))) ) )
204 graph->
evalOpParm(myCurvenumattr, nodeidx,
"curvenumattr", time, 0);
220 template <
typename T>
227 if (idx.
size() != instance.
size()+1)
320 { doGetParmValue(idx, instance, value); }
322 { doGetParmValue(idx, instance, value); }
324 { doGetParmValue(idx, instance, value); }
326 { doGetParmValue(idx, instance, value); }
328 { doGetParmValue(idx, instance, value); }
330 { doGetParmValue(idx, instance, value); }
332 { doGetParmValue(idx, instance, value); }
334 { doGetParmValue(idx, instance, value); }
336 { doGetParmValue(idx, instance, value); }
338 { doGetParmValue(idx, instance, value); }
340 { doGetParmValue(idx, instance, value); }
342 template <
typename T>
349 if (idx.
size() != instance.
size()+1)
433 { doSetParmValue(idx, instance, value); }
435 { doSetParmValue(idx, instance, value); }
437 { doSetParmValue(idx, instance, value); }
439 { doSetParmValue(idx, instance, value); }
441 { doSetParmValue(idx, instance, value); }
443 { doSetParmValue(idx, instance, value); }
445 { doSetParmValue(idx, instance, value); }
447 { doSetParmValue(idx, instance, value); }
449 { doSetParmValue(idx, instance, value); }
451 { doSetParmValue(idx, instance, value); }
453 { doSetParmValue(idx, instance, value); }
469 if (fieldnum.
size() < 1)
476 return "maintainprimorder";
500 return "randomshift";
504 return "treatpolysas";
506 return "outputsubdpoly";
508 return "doptdistattr";
512 return "dotangentattr";
514 return "tangentattr";
516 return "docurveuattr";
520 return "docurvenumattr";
522 return "curvenumattr";
530 if (fieldnum.
size() < 1)
531 return PARM_UNSUPPORTED;
605 {
for (
int r = 0;
r < 2;
r++)
for (
int c = 0; c < 2; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
607 {
for (
int r = 0;
r < 3;
r++)
for (
int c = 0; c < 3; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
609 {
for (
int r = 0;
r < 4;
r++)
for (
int c = 0; c < 4; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
622 loadData(is, rampdata);
640 int typelen = colon - data.
buffer();
654 {
int64 iv =
v; UTwrite(os, &iv); }
656 { UTwrite<fpreal64>(os, &
v); }
658 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
660 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
661 UTwrite<fpreal64>(os, &v.
z()); }
663 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
664 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
676 if (s) s->save(ostr);
678 saveData(os, result);
685 ostr << s->getDataTypeToken();
690 saveData(os, result);
694 void save(std::ostream &os)
const
698 saveData(os, myGroup);
699 saveData(os, myMaintainprimorder);
701 saveData(os, myEdge);
702 saveData(os, myMethod);
703 saveData(os, myMeasure);
704 saveData(os, myDolength);
705 saveData(os, myLength);
706 saveData(os, myDosegs);
707 saveData(os, mySegs);
708 saveData(os, myUseattribs);
709 saveData(os, myAllequal);
710 saveData(os, myLast);
711 saveData(os, myRandomshift);
712 saveData(os, myOnlypoints);
713 saveData(os, myTreatpolysas);
714 saveData(os, myOutputsubdpoly);
715 saveData(os, myDoptdistattr);
716 saveData(os, myPtdistattr);
717 saveData(os, myDotangentattr);
718 saveData(os, myTangentattr);
719 saveData(os, myDocurveuattr);
720 saveData(os, myCurveuattr);
721 saveData(os, myDocurvenumattr);
722 saveData(os, myCurvenumattr);
735 loadData(is, myGroup);
736 loadData(is, myMaintainprimorder);
738 loadData(is, myEdge);
739 loadData(is, myMethod);
740 loadData(is, myMeasure);
741 loadData(is, myDolength);
742 loadData(is, myLength);
743 loadData(is, myDosegs);
744 loadData(is, mySegs);
745 loadData(is, myUseattribs);
746 loadData(is, myAllequal);
747 loadData(is, myLast);
748 loadData(is, myRandomshift);
749 loadData(is, myOnlypoints);
750 loadData(is, myTreatpolysas);
751 loadData(is, myOutputsubdpoly);
752 loadData(is, myDoptdistattr);
753 loadData(is, myPtdistattr);
754 loadData(is, myDotangentattr);
755 loadData(is, myTangentattr);
756 loadData(is, myDocurveuattr);
757 loadData(is, myCurveuattr);
758 loadData(is, myDocurvenumattr);
759 loadData(is, myCurvenumattr);
769 if (!thissop)
return getGroup();
771 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
779 if (!thissop)
return getMaintainprimorder();
781 OP_Utils::evalOpParm(result, thissop,
"maintainprimorder", cookparms.
getCookTime(), 0);
789 if (!thissop)
return getLod();
791 OP_Utils::evalOpParm(result, thissop,
"lod", cookparms.
getCookTime(), 0);
799 if (!thissop)
return getEdge();
801 OP_Utils::evalOpParm(result, thissop,
"edge", cookparms.
getCookTime(), 0);
809 if (!thissop)
return getMethod();
811 OP_Utils::evalOpParm(result, thissop,
"method", cookparms.
getCookTime(), 0);
819 if (!thissop)
return getMeasure();
821 OP_Utils::evalOpParm(result, thissop,
"measure", cookparms.
getCookTime(), 0);
829 if (!thissop)
return getDolength();
831 OP_Utils::evalOpParm(result, thissop,
"dolength", cookparms.
getCookTime(), 0);
839 if (!thissop)
return getLength();
841 OP_Utils::evalOpParm(result, thissop,
"length", cookparms.
getCookTime(), 0);
849 if (!thissop)
return getDosegs();
851 OP_Utils::evalOpParm(result, thissop,
"dosegs", cookparms.
getCookTime(), 0);
859 if (!thissop)
return getSegs();
861 OP_Utils::evalOpParm(result, thissop,
"segs", cookparms.
getCookTime(), 0);
869 if (!thissop)
return getUseattribs();
871 OP_Utils::evalOpParm(result, thissop,
"useattribs", cookparms.
getCookTime(), 0);
879 if (!thissop)
return getAllequal();
881 OP_Utils::evalOpParm(result, thissop,
"allequal", cookparms.
getCookTime(), 0);
889 if (!thissop)
return getLast();
891 OP_Utils::evalOpParm(result, thissop,
"last", cookparms.
getCookTime(), 0);
899 if (!thissop)
return getRandomshift();
901 OP_Utils::evalOpParm(result, thissop,
"randomshift", cookparms.
getCookTime(), 0);
909 if (!thissop)
return getOnlypoints();
911 OP_Utils::evalOpParm(result, thissop,
"onlypoints", cookparms.
getCookTime(), 0);
919 if (!thissop)
return getTreatpolysas();
921 OP_Utils::evalOpParm(result, thissop,
"treatpolysas", cookparms.
getCookTime(), 0);
929 if (!thissop)
return getOutputsubdpoly();
931 OP_Utils::evalOpParm(result, thissop,
"outputsubdpoly", cookparms.
getCookTime(), 0);
939 if (!thissop)
return getDoptdistattr();
941 OP_Utils::evalOpParm(result, thissop,
"doptdistattr", cookparms.
getCookTime(), 0);
949 if (!thissop)
return getPtdistattr();
951 OP_Utils::evalOpParm(result, thissop,
"ptdistattr", cookparms.
getCookTime(), 0);
959 if (!thissop)
return getDotangentattr();
961 OP_Utils::evalOpParm(result, thissop,
"dotangentattr", cookparms.
getCookTime(), 0);
969 if (!thissop)
return getTangentattr();
971 OP_Utils::evalOpParm(result, thissop,
"tangentattr", cookparms.
getCookTime(), 0);
979 if (!thissop)
return getDocurveuattr();
981 OP_Utils::evalOpParm(result, thissop,
"docurveuattr", cookparms.
getCookTime(), 0);
989 if (!thissop)
return getCurveuattr();
991 OP_Utils::evalOpParm(result, thissop,
"curveuattr", cookparms.
getCookTime(), 0);
999 if (!thissop)
return getDocurvenumattr();
1001 OP_Utils::evalOpParm(result, thissop,
"docurvenumattr", cookparms.
getCookTime(), 0);
1009 if (!thissop)
return getCurvenumattr();
1011 OP_Utils::evalOpParm(result, thissop,
"curvenumattr", cookparms.
getCookTime(), 0);
1017 bool myMaintainprimorder;
1031 int64 myTreatpolysas;
1032 bool myOutputsubdpoly;
1033 bool myDoptdistattr;
1035 bool myDotangentattr;
1037 bool myDocurveuattr;
1039 bool myDocurvenumattr;
static void saveData(std::ostream &os, int64 v)
bool opDosegs(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opTangentattr(const SOP_NodeVerb::CookParms &cookparms) const
SOP_Node * getNode() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
exint getNestNumParms(TempIndex idx) const override
void copyFrom(const OP_NodeParms *src) override
static void loadData(UT_IStream &is, UT_Vector2I &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
const UT_StringHolder & getCurveuattr() const
T clampMaxValue(fpreal maxvalue, const T &src) const
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
bool getOutputsubdpoly() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
bool opDoptdistattr(const SOP_NodeVerb::CookParms &cookparms) const
exint bread(int32 *buffer, exint asize=1)
static void loadData(UT_IStream &is, UT_Vector3I &v)
GT_API const UT_StringHolder time
static void loadData(UT_IStream &is, UT_Vector3D &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
static void saveData(std::ostream &os, UT_Vector3D v)
constexpr SYS_FORCE_INLINE T & y() noexcept
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
Measure getMeasure() const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
static void saveData(std::ostream &os, UT_StringHolder s)
static void loadData(UT_IStream &is, UT_Matrix4D &v)
Treatpolysas getTreatpolysas() const
bool getMaintainprimorder() const
const OP_Context & context() const
bool opOutputsubdpoly(const SOP_NodeVerb::CookParms &cookparms) const
bool opOnlypoints(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & z() noexcept
fpreal64 opLod(const SOP_NodeVerb::CookParms &cookparms) const
bool opDolength(const SOP_NodeVerb::CookParms &cookparms) const
Method opMethod(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE const char * buffer() const
Treatpolysas opTreatpolysas(const SOP_NodeVerb::CookParms &cookparms) const
bool getDotangentattr() const
void setMeasure(Measure val)
An output stream object that owns its own string buffer storage.
void setDoptdistattr(bool val)
void setCurveuattr(const UT_StringHolder &val)
fpreal64 getLength() const
void setLod(fpreal64 val)
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
**But if you need a result
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
T clampMinValue(fpreal minvalue, const T &src) const
bool opDocurvenumattr(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, bool v)
const UT_StringHolder & getPtdistattr() 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.
constexpr SYS_FORCE_INLINE T & x() noexcept
bool opDocurveuattr(const SOP_NodeVerb::CookParms &cookparms) const
void setRandomshift(bool val)
void setMaintainprimorder(bool val)
static void loadData(UT_IStream &is, fpreal64 &v)
bool opUseattribs(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & x() noexcept
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
const UT_StringHolder & getCurvenumattr() const
void save(std::ostream &os) const
bool operator==(const SOP_ResampleParms &src) const
void setLength(fpreal64 val)
bool opAllequal(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
static void loadData(UT_IStream &is, UT_Matrix3D &v)
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
constexpr SYS_FORCE_INLINE T & z() noexcept
void setDolength(bool val)
Measure opMeasure(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
static void saveData(std::ostream &os, UT_Matrix2D v)
const OP_GraphProxy * graph() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
void setTreatpolysas(Treatpolysas val)
const UT_StringHolder & getGroup() const
static void loadData(UT_IStream &is, bool &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
bool getDocurveuattr() const
fpreal64 opLength(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector2D &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
ParmType getNestParmType(TempIndex fieldnum) const override
bool getDocurvenumattr() const
void setTangentattr(const UT_StringHolder &val)
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
static void saveData(std::ostream &os, PRM_DataItemHandle s)
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
void setDocurveuattr(bool val)
void saveBinary(std::ostream &os) const
Save string to binary stream.
bool opDotangentattr(const SOP_NodeVerb::CookParms &cookparms) const
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
GT_API const UT_StringHolder version
bool getOnlypoints() const
void setPtdistattr(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_Vector4I &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
static void saveData(std::ostream &os, UT_Vector4D v)
void coerceValue(T &result, const S &src) const
void setMethod(Method val)
const char * getNestParmName(TempIndex fieldnum) const override
bool opEdge(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Vector2D v)
void setCurvenumattr(const UT_StringHolder &val)
UT_StringHolder opCurvenumattr(const SOP_NodeVerb::CookParms &cookparms) const
DEP_MicroNode * depnode() const
static void saveData(std::ostream &os, fpreal64 v)
Utility class for containing a color ramp.
void setUseattribs(bool val)
constexpr SYS_FORCE_INLINE T & w() noexcept
bool opMaintainprimorder(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector4D &v)
bool load(UT_IStream &is)
void setOutputsubdpoly(bool val)
const UT_StringHolder & getTangentattr() const
fpreal getCookTime() const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
bool getDoptdistattr() const
static void loadData(UT_IStream &is, UT_StringHolder &v)
const char * findChar(int c) const
int64 opSegs(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix4D v)
bool getUseattribs() const
bool getRandomshift() const
void loadFromOpSubclass(const LoadParms &loadparms) override
bool isParmColorRamp(exint idx) const override
void setGroup(const UT_StringHolder &val)
void setDotangentattr(bool val)
UT_StringHolder opCurveuattr(const SOP_NodeVerb::CookParms &cookparms) const
bool operator!=(const SOP_ResampleParms &src) const
void setDocurvenumattr(bool val)
bool opLast(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & y() noexcept
static void saveData(std::ostream &os, UT_Matrix3D v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
static void loadData(UT_IStream &is, int64 &v)
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
void setOnlypoints(bool val)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
void setAllequal(bool val)
constexpr SYS_FORCE_INLINE T & y() noexcept
UT_StringHolder opPtdistattr(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE bool isstring() const
OP_NodeParms & operator=(const OP_NodeParms &)=default
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
constexpr SYS_FORCE_INLINE T & x() noexcept
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
bool opRandomshift(const SOP_NodeVerb::CookParms &cookparms) const