23 namespace SOP_PolyWireEnums
34 using namespace UT::Literal;
51 using namespace UT::Literal;
68 using namespace UT::Literal;
85 using namespace UT::Literal;
102 using namespace UT::Literal;
103 switch (enum_value) {
120 using namespace UT::Literal;
121 switch (enum_value) {
141 myUseScaleAttrib = 0;
142 myScaleAttrib =
"pscale"_UTsh;
143 myJointcorrect =
true;
146 myUseSmoothAttrib = 0;
147 mySmoothAttrib =
"smooth"_UTsh;
151 myDivAttrib =
"div"_UTsh;
154 mySegsAttrib =
"segs"_UTsh;
155 myUseSegScale =
true;
160 myUseTextVAttrib = 0;
161 myTextVAttrib =
"arc"_UTsh;
165 myUpAttrib =
"up"_UTsh;
178 if (myGroup != src.myGroup)
return false;
179 if (myRadius != src.myRadius)
return false;
180 if (myUseScaleAttrib != src.myUseScaleAttrib)
return false;
181 if (myScaleAttrib != src.myScaleAttrib)
return false;
182 if (myJointcorrect != src.myJointcorrect)
return false;
183 if (myMaxscale != src.myMaxscale)
return false;
184 if (mySmooth != src.mySmooth)
return false;
185 if (myUseSmoothAttrib != src.myUseSmoothAttrib)
return false;
186 if (mySmoothAttrib != src.mySmoothAttrib)
return false;
187 if (myMaxValence != src.myMaxValence)
return false;
188 if (myDiv != src.myDiv)
return false;
189 if (myUseDivAttrib != src.myUseDivAttrib)
return false;
190 if (myDivAttrib != src.myDivAttrib)
return false;
191 if (mySegs != src.mySegs)
return false;
192 if (myUseSegsAttrib != src.myUseSegsAttrib)
return false;
193 if (mySegsAttrib != src.mySegsAttrib)
return false;
194 if (myUseSegScale != src.myUseSegScale)
return false;
195 if (mySegScale != src.mySegScale)
return false;
196 if (myDotexture != src.myDotexture)
return false;
197 if (myUoff != src.myUoff)
return false;
198 if (myTextu != src.myTextu)
return false;
199 if (myUseTextVAttrib != src.myUseTextVAttrib)
return false;
200 if (myTextVAttrib != src.myTextVAttrib)
return false;
201 if (myTextv != src.myTextv)
return false;
202 if (myUseUpAttrib != src.myUseUpAttrib)
return false;
203 if (myUpvector != src.myUpvector)
return false;
204 if (myUpAttrib != src.myUpAttrib)
return false;
225 graph->
evalOpParm(myGroup, nodeidx,
"group", time, 0);
228 graph->
evalOpParm(myRadius, nodeidx,
"radius", time, 0);
229 myUseScaleAttrib = 0;
231 graph->
evalOpParm(myUseScaleAttrib, nodeidx,
"usescaleattrib", time, 0);
232 myScaleAttrib =
"pscale"_UTsh;
233 if (
true && ( (
true&&!(((
int64(getUseScaleAttrib())==0)))) ) )
234 graph->
evalOpParm(myScaleAttrib, nodeidx,
"scaleattrib", time, 0);
235 myJointcorrect =
true;
237 graph->
evalOpParm(myJointcorrect, nodeidx,
"jointcorrect", time, 0);
239 if (
true && ( (
true&&!(((getJointcorrect()==0)))) ) )
240 graph->
evalOpParm(myMaxscale, nodeidx,
"maxscale", time, 0);
243 graph->
evalOpParm(mySmooth, nodeidx,
"smooth", time, 0);
244 myUseSmoothAttrib = 0;
246 graph->
evalOpParm(myUseSmoothAttrib, nodeidx,
"usesmoothattrib", time, 0);
247 mySmoothAttrib =
"smooth"_UTsh;
248 if (
true && ( (
true&&!(((
int64(getUseSmoothAttrib())==0)))) ) )
249 graph->
evalOpParm(mySmoothAttrib, nodeidx,
"smoothattrib", time, 0);
252 graph->
evalOpParm(myMaxValence, nodeidx,
"maxvalence", time, 0);
255 graph->
evalOpParm(myDiv, nodeidx,
"div", time, 0);
258 graph->
evalOpParm(myUseDivAttrib, nodeidx,
"usedivattrib", time, 0);
259 myDivAttrib =
"div"_UTsh;
260 if (
true && ( (
true&&!(((
int64(getUseDivAttrib())==0)))) ) )
261 graph->
evalOpParm(myDivAttrib, nodeidx,
"divattrib", time, 0);
264 graph->
evalOpParm(mySegs, nodeidx,
"segs", time, 0);
267 graph->
evalOpParm(myUseSegsAttrib, nodeidx,
"usesegsattrib", time, 0);
268 mySegsAttrib =
"segs"_UTsh;
269 if (
true && ( (
true&&!(((
int64(getUseSegsAttrib())==0)))) ) )
270 graph->
evalOpParm(mySegsAttrib, nodeidx,
"segsattrib", time, 0);
271 myUseSegScale =
true;
273 graph->
evalOpParm(myUseSegScale, nodeidx,
"usesegscale", time, 0);
275 if (
true && ( (
true&&!(((getUseSegScale()==0)))) ) )
276 graph->
evalOpParm(mySegScale, nodeidx,
"segscale", time, 0);
279 graph->
evalOpParm(myDotexture, nodeidx,
"dotexture", time, 0);
281 if (
true && ( (
true&&!(((getDotexture()==0)))) ) )
282 graph->
evalOpParm(myUoff, nodeidx,
"uoff", time, 0);
284 if (
true && ( (
true&&!(((getDotexture()==0)))) ) )
285 graph->
evalOpParm(myTextu, nodeidx,
"textu", time, 0);
286 myUseTextVAttrib = 0;
287 if (
true && ( (
true&&!(((getDotexture()==0)))) ) )
288 graph->
evalOpParm(myUseTextVAttrib, nodeidx,
"usetextvattrib", time, 0);
289 myTextVAttrib =
"arc"_UTsh;
290 if (
true && ( (
true&&!(((getDotexture()==0))||((
int64(getUseTextVAttrib())!=1)))) ) )
291 graph->
evalOpParm(myTextVAttrib, nodeidx,
"textvattrib", time, 0);
293 if (
true && ( (
true&&!(((getDotexture()==0))||((
int64(getUseTextVAttrib())!=0)))) ) )
294 graph->
evalOpParm(myTextv, nodeidx,
"textv", time, 0);
297 graph->
evalOpParm(myUseUpAttrib, nodeidx,
"upenable", time, 0);
299 if (
true && ( (
true&&!(((
int64(getUseUpAttrib())!=1)))) ) )
300 graph->
evalOpParm(myUpvector, nodeidx,
"upvector", time, 0);
301 myUpAttrib =
"up"_UTsh;
302 if (
true && ( (
true&&!(((
int64(getUseUpAttrib())!=2)))) ) )
303 graph->
evalOpParm(myUpAttrib, nodeidx,
"upattrib", time, 0);
319 template <
typename T>
326 if (idx.
size() != instance.
size()+1)
331 coerceValue(value, myGroup);
334 coerceValue(value, myRadius);
337 coerceValue(value, myUseScaleAttrib);
340 coerceValue(value, myScaleAttrib);
343 coerceValue(value, myJointcorrect);
346 coerceValue(value, myMaxscale);
349 coerceValue(value, mySmooth);
352 coerceValue(value, myUseSmoothAttrib);
355 coerceValue(value, mySmoothAttrib);
358 coerceValue(value, myMaxValence);
361 coerceValue(value, myDiv);
364 coerceValue(value, myUseDivAttrib);
367 coerceValue(value, myDivAttrib);
370 coerceValue(value, mySegs);
373 coerceValue(value, myUseSegsAttrib);
376 coerceValue(value, mySegsAttrib);
379 coerceValue(value, myUseSegScale);
382 coerceValue(value, mySegScale);
385 coerceValue(value, myDotexture);
388 coerceValue(value, myUoff);
391 coerceValue(value, myTextu);
394 coerceValue(value, myUseTextVAttrib);
397 coerceValue(value, myTextVAttrib);
400 coerceValue(value, myTextv);
403 coerceValue(value, myUseUpAttrib);
406 coerceValue(value, myUpvector);
409 coerceValue(value, myUpAttrib);
425 { doGetParmValue(idx, instance, value); }
427 { doGetParmValue(idx, instance, value); }
429 { doGetParmValue(idx, instance, value); }
431 { doGetParmValue(idx, instance, value); }
433 { doGetParmValue(idx, instance, value); }
435 { doGetParmValue(idx, instance, value); }
437 { doGetParmValue(idx, instance, value); }
439 { doGetParmValue(idx, instance, value); }
441 { doGetParmValue(idx, instance, value); }
443 { doGetParmValue(idx, instance, value); }
445 { doGetParmValue(idx, instance, value); }
447 template <
typename T>
454 if (idx.
size() != instance.
size()+1)
459 coerceValue(myGroup, ( ( value ) ));
462 coerceValue(myRadius, ( ( value ) ));
465 coerceValue(myUseScaleAttrib, clampMinValue(0, clampMaxValue(1, value ) ));
468 coerceValue(myScaleAttrib, ( ( value ) ));
471 coerceValue(myJointcorrect, ( ( value ) ));
474 coerceValue(myMaxscale, clampMinValue(1, ( value ) ));
477 coerceValue(mySmooth, ( ( value ) ));
480 coerceValue(myUseSmoothAttrib, clampMinValue(0, clampMaxValue(1, value ) ));
483 coerceValue(mySmoothAttrib, ( ( value ) ));
486 coerceValue(myMaxValence, clampMinValue(0, ( value ) ));
489 coerceValue(myDiv, clampMinValue(3, ( value ) ));
492 coerceValue(myUseDivAttrib, clampMinValue(0, clampMaxValue(1, value ) ));
495 coerceValue(myDivAttrib, ( ( value ) ));
498 coerceValue(mySegs, clampMinValue(1, ( value ) ));
501 coerceValue(myUseSegsAttrib, clampMinValue(0, clampMaxValue(1, value ) ));
504 coerceValue(mySegsAttrib, ( ( value ) ));
507 coerceValue(myUseSegScale, ( ( value ) ));
510 coerceValue(mySegScale, ( ( value ) ));
513 coerceValue(myDotexture, ( ( value ) ));
516 coerceValue(myUoff, ( ( value ) ));
519 coerceValue(myTextu, ( ( value ) ));
522 coerceValue(myUseTextVAttrib, clampMinValue(0, clampMaxValue(1, value ) ));
525 coerceValue(myTextVAttrib, ( ( value ) ));
528 coerceValue(myTextv, ( ( value ) ));
531 coerceValue(myUseUpAttrib, clampMinValue(0, clampMaxValue(2, value ) ));
534 coerceValue(myUpvector, ( ( value ) ));
537 coerceValue(myUpAttrib, ( ( 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); }
560 { doSetParmValue(idx, instance, value); }
562 { doSetParmValue(idx, instance, value); }
564 { doSetParmValue(idx, instance, value); }
580 if (fieldnum.
size() < 1)
589 return "usescaleattrib";
591 return "scaleattrib";
593 return "jointcorrect";
599 return "usesmoothattrib";
601 return "smoothattrib";
607 return "usedivattrib";
613 return "usesegsattrib";
617 return "usesegscale";
627 return "usetextvattrib";
629 return "textvattrib";
645 if (fieldnum.
size() < 1)
646 return PARM_UNSUPPORTED;
705 return PARM_UNSUPPORTED;
741 loadData(is, rampdata);
759 int typelen = colon - data.
buffer();
773 {
int64 iv =
v; UTwrite(os, &iv); }
775 { UTwrite<fpreal64>(os, &
v); }
777 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
779 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
780 UTwrite<fpreal64>(os, &v.
z()); }
782 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
783 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
795 if (s) s->save(ostr);
797 saveData(os, result);
804 ostr << s->getDataTypeToken();
809 saveData(os, result);
813 void save(std::ostream &os)
const
817 saveData(os, myGroup);
818 saveData(os, myRadius);
819 saveData(os, myUseScaleAttrib);
820 saveData(os, myScaleAttrib);
821 saveData(os, myJointcorrect);
822 saveData(os, myMaxscale);
823 saveData(os, mySmooth);
824 saveData(os, myUseSmoothAttrib);
825 saveData(os, mySmoothAttrib);
826 saveData(os, myMaxValence);
828 saveData(os, myUseDivAttrib);
829 saveData(os, myDivAttrib);
830 saveData(os, mySegs);
831 saveData(os, myUseSegsAttrib);
832 saveData(os, mySegsAttrib);
833 saveData(os, myUseSegScale);
834 saveData(os, mySegScale);
835 saveData(os, myDotexture);
836 saveData(os, myUoff);
837 saveData(os, myTextu);
838 saveData(os, myUseTextVAttrib);
839 saveData(os, myTextVAttrib);
840 saveData(os, myTextv);
841 saveData(os, myUseUpAttrib);
842 saveData(os, myUpvector);
843 saveData(os, myUpAttrib);
856 loadData(is, myGroup);
857 loadData(is, myRadius);
858 loadData(is, myUseScaleAttrib);
859 loadData(is, myScaleAttrib);
860 loadData(is, myJointcorrect);
861 loadData(is, myMaxscale);
862 loadData(is, mySmooth);
863 loadData(is, myUseSmoothAttrib);
864 loadData(is, mySmoothAttrib);
865 loadData(is, myMaxValence);
867 loadData(is, myUseDivAttrib);
868 loadData(is, myDivAttrib);
869 loadData(is, mySegs);
870 loadData(is, myUseSegsAttrib);
871 loadData(is, mySegsAttrib);
872 loadData(is, myUseSegScale);
873 loadData(is, mySegScale);
874 loadData(is, myDotexture);
875 loadData(is, myUoff);
876 loadData(is, myTextu);
877 loadData(is, myUseTextVAttrib);
878 loadData(is, myTextVAttrib);
879 loadData(is, myTextv);
880 loadData(is, myUseUpAttrib);
881 loadData(is, myUpvector);
882 loadData(is, myUpAttrib);
892 if (!thissop)
return getGroup();
894 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
902 if (!thissop)
return getRadius();
904 OP_Utils::evalOpParm(result, thissop,
"radius", cookparms.
getCookTime(), 0);
912 if (!thissop)
return getUseScaleAttrib();
914 OP_Utils::evalOpParm(result, thissop,
"usescaleattrib", cookparms.
getCookTime(), 0);
922 if (!thissop)
return getScaleAttrib();
924 OP_Utils::evalOpParm(result, thissop,
"scaleattrib", cookparms.
getCookTime(), 0);
932 if (!thissop)
return getJointcorrect();
934 OP_Utils::evalOpParm(result, thissop,
"jointcorrect", cookparms.
getCookTime(), 0);
942 if (!thissop)
return getMaxscale();
944 OP_Utils::evalOpParm(result, thissop,
"maxscale", cookparms.
getCookTime(), 0);
952 if (!thissop)
return getSmooth();
954 OP_Utils::evalOpParm(result, thissop,
"smooth", cookparms.
getCookTime(), 0);
962 if (!thissop)
return getUseSmoothAttrib();
964 OP_Utils::evalOpParm(result, thissop,
"usesmoothattrib", cookparms.
getCookTime(), 0);
972 if (!thissop)
return getSmoothAttrib();
974 OP_Utils::evalOpParm(result, thissop,
"smoothattrib", cookparms.
getCookTime(), 0);
982 if (!thissop)
return getMaxValence();
984 OP_Utils::evalOpParm(result, thissop,
"maxvalence", cookparms.
getCookTime(), 0);
992 if (!thissop)
return getDiv();
994 OP_Utils::evalOpParm(result, thissop,
"div", cookparms.
getCookTime(), 0);
1002 if (!thissop)
return getUseDivAttrib();
1004 OP_Utils::evalOpParm(result, thissop,
"usedivattrib", cookparms.
getCookTime(), 0);
1012 if (!thissop)
return getDivAttrib();
1014 OP_Utils::evalOpParm(result, thissop,
"divattrib", cookparms.
getCookTime(), 0);
1022 if (!thissop)
return getSegs();
1024 OP_Utils::evalOpParm(result, thissop,
"segs", cookparms.
getCookTime(), 0);
1032 if (!thissop)
return getUseSegsAttrib();
1034 OP_Utils::evalOpParm(result, thissop,
"usesegsattrib", cookparms.
getCookTime(), 0);
1042 if (!thissop)
return getSegsAttrib();
1044 OP_Utils::evalOpParm(result, thissop,
"segsattrib", cookparms.
getCookTime(), 0);
1052 if (!thissop)
return getUseSegScale();
1054 OP_Utils::evalOpParm(result, thissop,
"usesegscale", cookparms.
getCookTime(), 0);
1062 if (!thissop)
return getSegScale();
1064 OP_Utils::evalOpParm(result, thissop,
"segscale", cookparms.
getCookTime(), 0);
1072 if (!thissop)
return getDotexture();
1074 OP_Utils::evalOpParm(result, thissop,
"dotexture", cookparms.
getCookTime(), 0);
1082 if (!thissop)
return getUoff();
1084 OP_Utils::evalOpParm(result, thissop,
"uoff", cookparms.
getCookTime(), 0);
1092 if (!thissop)
return getTextu();
1094 OP_Utils::evalOpParm(result, thissop,
"textu", cookparms.
getCookTime(), 0);
1102 if (!thissop)
return getUseTextVAttrib();
1104 OP_Utils::evalOpParm(result, thissop,
"usetextvattrib", cookparms.
getCookTime(), 0);
1112 if (!thissop)
return getTextVAttrib();
1114 OP_Utils::evalOpParm(result, thissop,
"textvattrib", cookparms.
getCookTime(), 0);
1122 if (!thissop)
return getTextv();
1124 OP_Utils::evalOpParm(result, thissop,
"textv", cookparms.
getCookTime(), 0);
1132 if (!thissop)
return getUseUpAttrib();
1134 OP_Utils::evalOpParm(result, thissop,
"upenable", cookparms.
getCookTime(), 0);
1142 if (!thissop)
return getUpvector();
1144 OP_Utils::evalOpParm(result, thissop,
"upvector", cookparms.
getCookTime(), 0);
1152 if (!thissop)
return getUpAttrib();
1154 OP_Utils::evalOpParm(result, thissop,
"upattrib", cookparms.
getCookTime(), 0);
1161 int64 myUseScaleAttrib;
1163 bool myJointcorrect;
1166 int64 myUseSmoothAttrib;
1170 int64 myUseDivAttrib;
1173 int64 myUseSegsAttrib;
1180 int64 myUseTextVAttrib;
1183 int64 myUseUpAttrib;
void setGroup(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_Vector2I &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
void setSegScale(UT_Vector2D val)
static void saveData(std::ostream &os, UT_Vector4D v)
bool opUseSegScale(const SOP_NodeVerb::CookParms &cookparms) const
void setJointcorrect(bool val)
static void saveData(std::ostream &os, UT_Vector3D v)
bool getJointcorrect() const
SYS_FORCE_INLINE UT_StringHolder getToken(UseScaleAttrib enum_value)
SOP_Node * getNode() const
static void saveData(std::ostream &os, fpreal64 v)
bool isParmColorRamp(exint idx) const override
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
static void saveData(std::ostream &os, bool v)
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
UT_StringHolder opScaleAttrib(const SOP_NodeVerb::CookParms &cookparms) const
UseUpAttrib getUseUpAttrib() const
UT_Vector2T< fpreal64 > UT_Vector2D
int64 opDiv(const SOP_NodeVerb::CookParms &cookparms) const
UseSegsAttrib getUseSegsAttrib() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
void setUseDivAttrib(UseDivAttrib val)
static void loadData(UT_IStream &is, UT_Vector3D &v)
const OP_Context & context() const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
constexpr SYS_FORCE_INLINE T & z() noexcept
const UT_StringHolder & getUpAttrib() const
SYS_FORCE_INLINE const char * buffer() const
UseSmoothAttrib opUseSmoothAttrib(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
static void loadData(UT_IStream &is, UT_Vector3I &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
An output stream object that owns its own string buffer storage.
UseSmoothAttrib getUseSmoothAttrib() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
void setUpvector(UT_Vector3D val)
fpreal64 opRadius(const SOP_NodeVerb::CookParms &cookparms) const
**But if you need a result
void copyFrom(const OP_NodeParms *src) override
const UT_StringHolder & getDivAttrib() const
UT_StringHolder opSegsAttrib(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector2D &v)
static void saveData(std::ostream &os, int64 v)
static void saveData(std::ostream &os, UT_Vector2D v)
UT_StringHolder opDivAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
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 setSmooth(int64 val)
bool operator==(const SOP_PolyWireParms &src) const
UseTextVAttrib getUseTextVAttrib() const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
constexpr SYS_FORCE_INLINE T & x() noexcept
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
fpreal64 opUoff(const SOP_NodeVerb::CookParms &cookparms) const
int64 getMaxValence() const
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
const UT_StringHolder & getTextVAttrib() const
constexpr SYS_FORCE_INLINE T & x() noexcept
int64 opMaxValence(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, int64 &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
static void saveData(std::ostream &os, UT_Matrix2D v)
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
UT_Vector2D getTextv() const
static void loadData(UT_IStream &is, UT_Vector4I &v)
bool getUseSegScale() const
const UT_StringHolder & getSmoothAttrib() const
void setTextu(UT_Vector2D val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
void setUseSegsAttrib(UseSegsAttrib val)
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
void setDotexture(bool val)
int64 opSegs(const SOP_NodeVerb::CookParms &cookparms) const
bool load(UT_IStream &is)
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
void setUseScaleAttrib(UseScaleAttrib val)
constexpr SYS_FORCE_INLINE T & z() noexcept
static void loadData(UT_IStream &is, UT_StringHolder &v)
UseTextVAttrib opUseTextVAttrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D opSegScale(const SOP_NodeVerb::CookParms &cookparms) const
void setRadius(fpreal64 val)
const OP_GraphProxy * graph() const
const UT_StringHolder & getSegsAttrib() const
fpreal64 getRadius() const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
UT_Vector2D opTextv(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opMaxscale(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opSmoothAttrib(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector4D &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3T< fpreal64 > UT_Vector3D
fpreal64 getMaxscale() const
static void saveData(std::ostream &os, UT_StringHolder s)
const char * getNestParmName(TempIndex fieldnum) const override
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
static void loadData(UT_IStream &is, fpreal64 &v)
bool opDotexture(const SOP_NodeVerb::CookParms &cookparms) const
void saveBinary(std::ostream &os) const
Save string to binary stream.
UT_Vector3D opUpvector(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
UT_Vector2D getSegScale() const
GT_API const UT_StringHolder version
const UT_StringHolder & getScaleAttrib() const
int64 opSmooth(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
exint getNestNumParms(TempIndex idx) const override
void setUpAttrib(const UT_StringHolder &val)
void setUseTextVAttrib(UseTextVAttrib val)
void setSegsAttrib(const UT_StringHolder &val)
void setSmoothAttrib(const UT_StringHolder &val)
ParmType getNestParmType(TempIndex fieldnum) const override
DEP_MicroNode * depnode() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
LeafData & operator=(const LeafData &)=delete
Utility class for containing a color ramp.
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
static void saveData(std::ostream &os, UT_Matrix4D v)
constexpr SYS_FORCE_INLINE T & w() noexcept
void setUseSmoothAttrib(UseSmoothAttrib val)
void setUseUpAttrib(UseUpAttrib val)
static void saveData(std::ostream &os, PRM_DataItemHandle s)
void setDivAttrib(const UT_StringHolder &val)
void setTextv(UT_Vector2D val)
UT_StringHolder opTextVAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void save(std::ostream &os) const
void setScaleAttrib(const UT_StringHolder &val)
UT_StringHolder opUpAttrib(const SOP_NodeVerb::CookParms &cookparms) const
UseSegsAttrib opUseSegsAttrib(const SOP_NodeVerb::CookParms &cookparms) const
fpreal getCookTime() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
void loadFromOpSubclass(const LoadParms &loadparms) override
UseDivAttrib opUseDivAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
UseScaleAttrib getUseScaleAttrib() const
const char * findChar(int c) const
void setUoff(fpreal64 val)
UseScaleAttrib opUseScaleAttrib(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
UT_Vector2D opTextu(const SOP_NodeVerb::CookParms &cookparms) const
bool opJointcorrect(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D getTextu() const
const UT_StringHolder & getGroup() const
static void loadData(UT_IStream &is, bool &v)
void setUseSegScale(bool val)
void setMaxValence(int64 val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
constexpr SYS_FORCE_INLINE T & y() noexcept
bool operator!=(const SOP_PolyWireParms &src) const
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
void setMaxscale(fpreal64 val)
bool getDotexture() const
void setTextVAttrib(const UT_StringHolder &val)
UT_Vector3D getUpvector() const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
constexpr SYS_FORCE_INLINE T & y() noexcept
UseUpAttrib opUseUpAttrib(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE bool isstring() const
static void saveData(std::ostream &os, UT_Matrix3D v)
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
UseDivAttrib getUseDivAttrib() const
constexpr SYS_FORCE_INLINE T & x() noexcept
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override