23 namespace SOP_BasisEnums
40 using namespace UT::Literal;
69 using namespace UT::Literal;
134 if (myGroup != src.myGroup)
return false;
135 if (myUBasis != src.myUBasis)
return false;
136 if (myUParmType != src.myUParmType)
return false;
137 if (myUKnots != src.myUKnots)
return false;
138 if (myURange != src.myURange)
return false;
139 if (myUBias != src.myUBias)
return false;
140 if (myUConcat != src.myUConcat)
return false;
141 if (myUDoOrigin != src.myUDoOrigin)
return false;
142 if (myUOrigin != src.myUOrigin)
return false;
143 if (myUDoLength != src.myUDoLength)
return false;
144 if (myULength != src.myULength)
return false;
145 if (myUDoScale != src.myUDoScale)
return false;
146 if (myUScale != src.myUScale)
return false;
147 if (myURaise != src.myURaise)
return false;
148 if (myOrderU != src.myOrderU)
return false;
149 if (myVBasis != src.myVBasis)
return false;
150 if (myVParmType != src.myVParmType)
return false;
151 if (myVKnots != src.myVKnots)
return false;
152 if (myVRange != src.myVRange)
return false;
153 if (myVBias != src.myVBias)
return false;
154 if (myVConcat != src.myVConcat)
return false;
155 if (myVDoOrigin != src.myVDoOrigin)
return false;
156 if (myVOrigin != src.myVOrigin)
return false;
157 if (myVDoLength != src.myVDoLength)
return false;
158 if (myVLength != src.myVLength)
return false;
159 if (myVDoScale != src.myVDoScale)
return false;
160 if (myVScale != src.myVScale)
return false;
161 if (myVRaise != src.myVRaise)
return false;
162 if (myOrderV != src.myOrderV)
return false;
179 graph->
evalOpParm(myGroup, nodeidx,
"group", time, 0);
182 graph->
evalOpParm(myUBasis, nodeidx,
"ubasis", time, 0);
184 if (
true && ( (
true&&!(((getUBasis()==0)))) ) )
185 graph->
evalOpParm(myUParmType, nodeidx,
"uparmtype", time, 0);
187 if (
true && ( (
true&&!(((
int64(getUParmType())!=4)&&(
int64(getUParmType())!=5))||((getUBasis()==0)))) ) )
188 graph->
evalOpParm(myUKnots, nodeidx,
"uknots", time, 0);
190 if (
true && ( (
true&&!(((
int64(getUParmType())!=6))||((getUBasis()==0)))) ) )
191 graph->
evalOpParm(myURange, nodeidx,
"urange", time, 0);
193 if (
true && ( (
true&&!(((
int64(getUParmType())!=6))||((getUBasis()==0)))) ) )
194 graph->
evalOpParm(myUBias, nodeidx,
"ubias", time, 0);
196 if (
true && ( (
true&&!(((getUBasis()==0)))) ) )
197 graph->
evalOpParm(myUConcat, nodeidx,
"uconcat", time, 0);
199 if (
true && ( (
true&&!(((getUBasis()==0)))) ) )
200 graph->
evalOpParm(myUDoOrigin, nodeidx,
"udoorigin", time, 0);
202 if (
true && ( (
true&&!(((getUDoOrigin()==0))||((getUBasis()==0)))) ) )
203 graph->
evalOpParm(myUOrigin, nodeidx,
"uorigin", time, 0);
205 if (
true && ( (
true&&!(((getUBasis()==0)))) ) )
206 graph->
evalOpParm(myUDoLength, nodeidx,
"udolength", time, 0);
208 if (
true && ( (
true&&!(((getUDoLength()==0))||((getUBasis()==0)))) ) )
209 graph->
evalOpParm(myULength, nodeidx,
"ulength", time, 0);
211 if (
true && ( (
true&&!(((getUBasis()==0)))) ) )
212 graph->
evalOpParm(myUDoScale, nodeidx,
"udoscale", time, 0);
214 if (
true && ( (
true&&!(((getUDoScale()==0))||((getUBasis()==0)))) ) )
215 graph->
evalOpParm(myUScale, nodeidx,
"uscale", time, 0);
217 if (
true && ( (
true&&!(((getUBasis()==0)))) ) )
218 graph->
evalOpParm(myURaise, nodeidx,
"uraise", time, 0);
220 if (
true && ( (
true&&!(((getURaise()==0))||((getUBasis()==0)))) ) )
221 graph->
evalOpParm(myOrderU, nodeidx,
"orderu", time, 0);
224 graph->
evalOpParm(myVBasis, nodeidx,
"vbasis", time, 0);
226 if (
true && ( (
true&&!(((getVBasis()==0)))) ) )
227 graph->
evalOpParm(myVParmType, nodeidx,
"vparmtype", time, 0);
229 if (
true && ( (
true&&!(((
int64(getVParmType())!=4)&&(
int64(getVParmType())!=5))||((getVBasis()==0)))) ) )
230 graph->
evalOpParm(myVKnots, nodeidx,
"vknots", time, 0);
232 if (
true && ( (
true&&!(((
int64(getVParmType())!=6))||((getVBasis()==0)))) ) )
233 graph->
evalOpParm(myVRange, nodeidx,
"vrange", time, 0);
235 if (
true && ( (
true&&!(((
int64(getVParmType())!=6))||((getVBasis()==0)))) ) )
236 graph->
evalOpParm(myVBias, nodeidx,
"vbias", time, 0);
238 if (
true && ( (
true&&!(((getVBasis()==0)))) ) )
239 graph->
evalOpParm(myVConcat, nodeidx,
"vconcat", time, 0);
241 if (
true && ( (
true&&!(((getVBasis()==0)))) ) )
242 graph->
evalOpParm(myVDoOrigin, nodeidx,
"vdoorigin", time, 0);
244 if (
true && ( (
true&&!(((getVDoOrigin()==0))||((getVBasis()==0)))) ) )
245 graph->
evalOpParm(myVOrigin, nodeidx,
"vorigin", time, 0);
247 if (
true && ( (
true&&!(((getVBasis()==0)))) ) )
248 graph->
evalOpParm(myVDoLength, nodeidx,
"vdolength", time, 0);
250 if (
true && ( (
true&&!(((getVDoLength()==0))||((getVBasis()==0)))) ) )
251 graph->
evalOpParm(myVLength, nodeidx,
"vlength", time, 0);
253 if (
true && ( (
true&&!(((getVBasis()==0)))) ) )
254 graph->
evalOpParm(myVDoScale, nodeidx,
"vdoscale", time, 0);
256 if (
true && ( (
true&&!(((getVDoScale()==0))||((getVBasis()==0)))) ) )
257 graph->
evalOpParm(myVScale, nodeidx,
"vscale", time, 0);
259 if (
true && ( (
true&&!(((getVBasis()==0)))) ) )
260 graph->
evalOpParm(myVRaise, nodeidx,
"vraise", time, 0);
262 if (
true && ( (
true&&!(((getVRaise()==0))||((getVBasis()==0)))) ) )
263 graph->
evalOpParm(myOrderV, nodeidx,
"orderv", time, 0);
279 template <
typename T>
286 if (idx.
size() != instance.
size()+1)
291 coerceValue(value, myGroup);
294 coerceValue(value, myUBasis);
297 coerceValue(value, myUParmType);
300 coerceValue(value, myUKnots);
303 coerceValue(value, myURange);
306 coerceValue(value, myUBias);
309 coerceValue(value, myUConcat);
312 coerceValue(value, myUDoOrigin);
315 coerceValue(value, myUOrigin);
318 coerceValue(value, myUDoLength);
321 coerceValue(value, myULength);
324 coerceValue(value, myUDoScale);
327 coerceValue(value, myUScale);
330 coerceValue(value, myURaise);
333 coerceValue(value, myOrderU);
336 coerceValue(value, myVBasis);
339 coerceValue(value, myVParmType);
342 coerceValue(value, myVKnots);
345 coerceValue(value, myVRange);
348 coerceValue(value, myVBias);
351 coerceValue(value, myVConcat);
354 coerceValue(value, myVDoOrigin);
357 coerceValue(value, myVOrigin);
360 coerceValue(value, myVDoLength);
363 coerceValue(value, myVLength);
366 coerceValue(value, myVDoScale);
369 coerceValue(value, myVScale);
372 coerceValue(value, myVRaise);
375 coerceValue(value, myOrderV);
391 { doGetParmValue(idx, instance, value); }
393 { doGetParmValue(idx, instance, value); }
395 { doGetParmValue(idx, instance, value); }
397 { doGetParmValue(idx, instance, value); }
399 { doGetParmValue(idx, instance, value); }
401 { doGetParmValue(idx, instance, value); }
403 { doGetParmValue(idx, instance, value); }
405 { doGetParmValue(idx, instance, value); }
407 { doGetParmValue(idx, instance, value); }
409 { doGetParmValue(idx, instance, value); }
411 { doGetParmValue(idx, instance, value); }
413 template <
typename T>
420 if (idx.
size() != instance.
size()+1)
425 coerceValue(myGroup, ( ( value ) ));
428 coerceValue(myUBasis, ( ( value ) ));
431 coerceValue(myUParmType, clampMinValue(0, clampMaxValue(7, value ) ));
434 coerceValue(myUKnots, ( ( value ) ));
437 coerceValue(myURange, ( ( value ) ));
440 coerceValue(myUBias, clampMinValue(0, clampMaxValue(1, value ) ));
443 coerceValue(myUConcat, ( ( value ) ));
446 coerceValue(myUDoOrigin, ( ( value ) ));
449 coerceValue(myUOrigin, ( ( value ) ));
452 coerceValue(myUDoLength, ( ( value ) ));
455 coerceValue(myULength, clampMinValue(0.0001, ( value ) ));
458 coerceValue(myUDoScale, ( ( value ) ));
461 coerceValue(myUScale, clampMinValue(0.0001, ( value ) ));
464 coerceValue(myURaise, ( ( value ) ));
467 coerceValue(myOrderU, clampMinValue(2, clampMaxValue(11, value ) ));
470 coerceValue(myVBasis, ( ( value ) ));
473 coerceValue(myVParmType, clampMinValue(0, clampMaxValue(7, value ) ));
476 coerceValue(myVKnots, ( ( value ) ));
479 coerceValue(myVRange, ( ( value ) ));
482 coerceValue(myVBias, clampMinValue(0, clampMaxValue(1, value ) ));
485 coerceValue(myVConcat, ( ( value ) ));
488 coerceValue(myVDoOrigin, ( ( value ) ));
491 coerceValue(myVOrigin, ( ( value ) ));
494 coerceValue(myVDoLength, ( ( value ) ));
497 coerceValue(myVLength, clampMinValue(0.0001, ( value ) ));
500 coerceValue(myVDoScale, ( ( value ) ));
503 coerceValue(myVScale, clampMinValue(0.0001, ( value ) ));
506 coerceValue(myVRaise, ( ( value ) ));
509 coerceValue(myOrderV, clampMinValue(2, clampMaxValue(11, value ) ));
516 { doSetParmValue(idx, instance, value); }
518 { doSetParmValue(idx, instance, value); }
520 { doSetParmValue(idx, instance, value); }
522 { doSetParmValue(idx, instance, value); }
524 { doSetParmValue(idx, instance, value); }
526 { doSetParmValue(idx, instance, value); }
528 { doSetParmValue(idx, instance, value); }
530 { doSetParmValue(idx, instance, value); }
532 { doSetParmValue(idx, instance, value); }
534 { doSetParmValue(idx, instance, value); }
536 { doSetParmValue(idx, instance, value); }
552 if (fieldnum.
size() < 1)
621 if (fieldnum.
size() < 1)
622 return PARM_UNSUPPORTED;
685 return PARM_UNSUPPORTED;
721 loadData(is, rampdata);
739 int typelen = colon - data.
buffer();
753 {
int64 iv =
v; UTwrite(os, &iv); }
755 { UTwrite<fpreal64>(os, &
v); }
757 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
759 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
760 UTwrite<fpreal64>(os, &v.
z()); }
762 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
763 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
775 if (s) s->save(ostr);
777 saveData(os, result);
784 ostr << s->getDataTypeToken();
789 saveData(os, result);
793 void save(std::ostream &os)
const
797 saveData(os, myGroup);
798 saveData(os, myUBasis);
799 saveData(os, myUParmType);
800 saveData(os, myUKnots);
801 saveData(os, myURange);
802 saveData(os, myUBias);
803 saveData(os, myUConcat);
804 saveData(os, myUDoOrigin);
805 saveData(os, myUOrigin);
806 saveData(os, myUDoLength);
807 saveData(os, myULength);
808 saveData(os, myUDoScale);
809 saveData(os, myUScale);
810 saveData(os, myURaise);
811 saveData(os, myOrderU);
812 saveData(os, myVBasis);
813 saveData(os, myVParmType);
814 saveData(os, myVKnots);
815 saveData(os, myVRange);
816 saveData(os, myVBias);
817 saveData(os, myVConcat);
818 saveData(os, myVDoOrigin);
819 saveData(os, myVOrigin);
820 saveData(os, myVDoLength);
821 saveData(os, myVLength);
822 saveData(os, myVDoScale);
823 saveData(os, myVScale);
824 saveData(os, myVRaise);
825 saveData(os, myOrderV);
838 loadData(is, myGroup);
839 loadData(is, myUBasis);
840 loadData(is, myUParmType);
841 loadData(is, myUKnots);
842 loadData(is, myURange);
843 loadData(is, myUBias);
844 loadData(is, myUConcat);
845 loadData(is, myUDoOrigin);
846 loadData(is, myUOrigin);
847 loadData(is, myUDoLength);
848 loadData(is, myULength);
849 loadData(is, myUDoScale);
850 loadData(is, myUScale);
851 loadData(is, myURaise);
852 loadData(is, myOrderU);
853 loadData(is, myVBasis);
854 loadData(is, myVParmType);
855 loadData(is, myVKnots);
856 loadData(is, myVRange);
857 loadData(is, myVBias);
858 loadData(is, myVConcat);
859 loadData(is, myVDoOrigin);
860 loadData(is, myVOrigin);
861 loadData(is, myVDoLength);
862 loadData(is, myVLength);
863 loadData(is, myVDoScale);
864 loadData(is, myVScale);
865 loadData(is, myVRaise);
866 loadData(is, myOrderV);
876 if (!thissop)
return getGroup();
878 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
886 if (!thissop)
return getUBasis();
888 OP_Utils::evalOpParm(result, thissop,
"ubasis", cookparms.
getCookTime(), 0);
896 if (!thissop)
return getUParmType();
898 OP_Utils::evalOpParm(result, thissop,
"uparmtype", cookparms.
getCookTime(), 0);
906 if (!thissop)
return getUKnots();
908 OP_Utils::evalOpParm(result, thissop,
"uknots", cookparms.
getCookTime(), 0);
916 if (!thissop)
return getURange();
918 OP_Utils::evalOpParm(result, thissop,
"urange", cookparms.
getCookTime(), 0);
926 if (!thissop)
return getUBias();
928 OP_Utils::evalOpParm(result, thissop,
"ubias", cookparms.
getCookTime(), 0);
936 if (!thissop)
return getUConcat();
938 OP_Utils::evalOpParm(result, thissop,
"uconcat", cookparms.
getCookTime(), 0);
946 if (!thissop)
return getUDoOrigin();
948 OP_Utils::evalOpParm(result, thissop,
"udoorigin", cookparms.
getCookTime(), 0);
956 if (!thissop)
return getUOrigin();
958 OP_Utils::evalOpParm(result, thissop,
"uorigin", cookparms.
getCookTime(), 0);
966 if (!thissop)
return getUDoLength();
968 OP_Utils::evalOpParm(result, thissop,
"udolength", cookparms.
getCookTime(), 0);
976 if (!thissop)
return getULength();
978 OP_Utils::evalOpParm(result, thissop,
"ulength", cookparms.
getCookTime(), 0);
986 if (!thissop)
return getUDoScale();
988 OP_Utils::evalOpParm(result, thissop,
"udoscale", cookparms.
getCookTime(), 0);
996 if (!thissop)
return getUScale();
998 OP_Utils::evalOpParm(result, thissop,
"uscale", cookparms.
getCookTime(), 0);
1006 if (!thissop)
return getURaise();
1008 OP_Utils::evalOpParm(result, thissop,
"uraise", cookparms.
getCookTime(), 0);
1016 if (!thissop)
return getOrderU();
1018 OP_Utils::evalOpParm(result, thissop,
"orderu", cookparms.
getCookTime(), 0);
1026 if (!thissop)
return getVBasis();
1028 OP_Utils::evalOpParm(result, thissop,
"vbasis", cookparms.
getCookTime(), 0);
1036 if (!thissop)
return getVParmType();
1038 OP_Utils::evalOpParm(result, thissop,
"vparmtype", cookparms.
getCookTime(), 0);
1046 if (!thissop)
return getVKnots();
1048 OP_Utils::evalOpParm(result, thissop,
"vknots", cookparms.
getCookTime(), 0);
1056 if (!thissop)
return getVRange();
1058 OP_Utils::evalOpParm(result, thissop,
"vrange", cookparms.
getCookTime(), 0);
1066 if (!thissop)
return getVBias();
1068 OP_Utils::evalOpParm(result, thissop,
"vbias", cookparms.
getCookTime(), 0);
1076 if (!thissop)
return getVConcat();
1078 OP_Utils::evalOpParm(result, thissop,
"vconcat", cookparms.
getCookTime(), 0);
1086 if (!thissop)
return getVDoOrigin();
1088 OP_Utils::evalOpParm(result, thissop,
"vdoorigin", cookparms.
getCookTime(), 0);
1096 if (!thissop)
return getVOrigin();
1098 OP_Utils::evalOpParm(result, thissop,
"vorigin", cookparms.
getCookTime(), 0);
1106 if (!thissop)
return getVDoLength();
1108 OP_Utils::evalOpParm(result, thissop,
"vdolength", cookparms.
getCookTime(), 0);
1116 if (!thissop)
return getVLength();
1118 OP_Utils::evalOpParm(result, thissop,
"vlength", cookparms.
getCookTime(), 0);
1126 if (!thissop)
return getVDoScale();
1128 OP_Utils::evalOpParm(result, thissop,
"vdoscale", cookparms.
getCookTime(), 0);
1136 if (!thissop)
return getVScale();
1138 OP_Utils::evalOpParm(result, thissop,
"vscale", cookparms.
getCookTime(), 0);
1146 if (!thissop)
return getVRaise();
1148 OP_Utils::evalOpParm(result, thissop,
"vraise", cookparms.
getCookTime(), 0);
1156 if (!thissop)
return getOrderV();
1158 OP_Utils::evalOpParm(result, thissop,
"orderv", cookparms.
getCookTime(), 0);
static void saveData(std::ostream &os, UT_StringHolder s)
ParmType getNestParmType(TempIndex fieldnum) const override
static void saveData(std::ostream &os, PRM_DataItemHandle s)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
fpreal64 getUOrigin() const
bool opVConcat(const SOP_NodeVerb::CookParms &cookparms) const
bool opUDoScale(const SOP_NodeVerb::CookParms &cookparms) const
SOP_Node * getNode() const
void setURange(UT_Vector2D val)
void loadFromOpSubclass(const LoadParms &loadparms) override
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
static void saveData(std::ostream &os, fpreal64 v)
void setUConcat(bool val)
fpreal64 opVOrigin(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix3D v)
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
fpreal64 getUScale() const
UT_Vector2T< fpreal64 > UT_Vector2D
static void saveData(std::ostream &os, UT_Matrix4D v)
bool getUDoLength() const
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
const OP_Context & context() const
constexpr SYS_FORCE_INLINE T & z() noexcept
static void loadData(UT_IStream &is, UT_Vector4I &v)
void setUScale(fpreal64 val)
SYS_FORCE_INLINE const char * buffer() const
fpreal64 getVScale() const
fpreal64 getVBias() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
const UT_StringHolder & getVKnots() const
An output stream object that owns its own string buffer storage.
bool opUDoOrigin(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opUOrigin(const SOP_NodeVerb::CookParms &cookparms) const
void setVLength(fpreal64 val)
**But if you need a result
UT_Vector2D opVRange(const SOP_NodeVerb::CookParms &cookparms) const
void save(std::ostream &os) const
UParmType getUParmType() const
fpreal64 opUScale(const SOP_NodeVerb::CookParms &cookparms) const
void setUParmType(UParmType val)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
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 saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
fpreal64 opULength(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
constexpr SYS_FORCE_INLINE T & x() noexcept
fpreal64 opUBias(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
void setUOrigin(fpreal64 val)
void setUDoLength(bool val)
UT_StringHolder opUKnots(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
bool opUConcat(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & x() noexcept
void setVDoLength(bool val)
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
void setVParmType(VParmType val)
static void loadData(UT_IStream &is, UT_Matrix4D &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
fpreal64 getVOrigin() const
static void loadData(UT_IStream &is, UT_StringHolder &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
const UT_StringHolder & getUKnots() const
VParmType getVParmType() const
static void saveData(std::ostream &os, UT_Matrix2D v)
static void loadData(UT_IStream &is, int64 &v)
void setVDoOrigin(bool val)
bool opVBasis(const SOP_NodeVerb::CookParms &cookparms) const
const char * getNestParmName(TempIndex fieldnum) const override
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
UParmType opUParmType(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & z() noexcept
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
static void loadData(UT_IStream &is, bool &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
fpreal64 getULength() const
const OP_GraphProxy * graph() const
static void saveData(std::ostream &os, int64 v)
UT_StringHolder opVKnots(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE UT_StringHolder getToken(UParmType enum_value)
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
void setVKnots(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_Vector4D &v)
static void loadData(UT_IStream &is, UT_Vector2I &v)
void setUDoOrigin(bool val)
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
bool operator!=(const SOP_BasisParms &src) const
static void saveData(std::ostream &os, UT_Vector4D v)
void setVRange(UT_Vector2D val)
fpreal64 getVLength() const
bool opVDoOrigin(const SOP_NodeVerb::CookParms &cookparms) const
bool opURaise(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
bool opUDoLength(const SOP_NodeVerb::CookParms &cookparms) const
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
fpreal64 opVBias(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D getURange() const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
UT_Vector2D getVRange() const
bool opVDoLength(const SOP_NodeVerb::CookParms &cookparms) const
void saveBinary(std::ostream &os) const
Save string to binary stream.
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
void setUBias(fpreal64 val)
GT_API const UT_StringHolder version
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
void setULength(fpreal64 val)
bool getUDoOrigin() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
fpreal64 opVScale(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getUBias() const
void copyFrom(const OP_NodeParms *src) override
int64 opOrderV(const SOP_NodeVerb::CookParms &cookparms) const
DEP_MicroNode * depnode() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
void setGroup(const UT_StringHolder &val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
LeafData & operator=(const LeafData &)=delete
Utility class for containing a color ramp.
bool getVDoOrigin() const
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
static void loadData(UT_IStream &is, UT_Vector2D &v)
constexpr SYS_FORCE_INLINE T & w() noexcept
static void saveData(std::ostream &os, bool v)
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
exint getNestNumParms(TempIndex idx) const override
void setOrderU(int64 val)
fpreal getCookTime() const
UT_Vector2D opURange(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const SOP_BasisParms &src) const
bool opVDoScale(const SOP_NodeVerb::CookParms &cookparms) const
bool isParmColorRamp(exint idx) const override
const UT_StringHolder & getGroup() const
const char * findChar(int c) const
bool opUBasis(const SOP_NodeVerb::CookParms &cookparms) const
void setVBias(fpreal64 val)
fpreal64 opVLength(const SOP_NodeVerb::CookParms &cookparms) const
void setVConcat(bool val)
void setVDoScale(bool val)
void setVOrigin(fpreal64 val)
static void saveData(std::ostream &os, UT_Vector2D v)
bool getVDoLength() const
static void loadData(UT_IStream &is, fpreal64 &v)
constexpr SYS_FORCE_INLINE T & y() noexcept
static void saveData(std::ostream &os, UT_Vector3D v)
bool opVRaise(const SOP_NodeVerb::CookParms &cookparms) const
bool load(UT_IStream &is)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
void setUKnots(const UT_StringHolder &val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
static void loadData(UT_IStream &is, UT_Vector3I &v)
void setUDoScale(bool val)
constexpr SYS_FORCE_INLINE T & y() noexcept
SYS_FORCE_INLINE bool isstring() const
void setVScale(fpreal64 val)
static void loadData(UT_IStream &is, UT_Vector3D &v)
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
int64 opOrderU(const SOP_NodeVerb::CookParms &cookparms) const
VParmType opVParmType(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & x() noexcept
void setOrderV(int64 val)