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;
228 graph->
evalOpParm(myGroup, nodeidx,
"group", time, graph->
isDirect()?
nullptr:depnode);
231 graph->
evalOpParm(myRadius, nodeidx,
"radius", time, graph->
isDirect()?
nullptr:depnode);
232 myUseScaleAttrib = 0;
234 graph->
evalOpParm(myUseScaleAttrib, nodeidx,
"usescaleattrib", time, graph->
isDirect()?
nullptr:depnode);
235 myScaleAttrib =
"pscale"_UTsh;
236 if (
true && ( (
true&&!(((
int64(getUseScaleAttrib())==0)))) ) )
237 graph->
evalOpParm(myScaleAttrib, nodeidx,
"scaleattrib", time, graph->
isDirect()?
nullptr:depnode);
238 myJointcorrect =
true;
240 graph->
evalOpParm(myJointcorrect, nodeidx,
"jointcorrect", time, graph->
isDirect()?
nullptr:depnode);
242 if (
true && ( (
true&&!(((getJointcorrect()==0)))) ) )
243 graph->
evalOpParm(myMaxscale, nodeidx,
"maxscale", time, graph->
isDirect()?
nullptr:depnode);
246 graph->
evalOpParm(mySmooth, nodeidx,
"smooth", time, graph->
isDirect()?
nullptr:depnode);
247 myUseSmoothAttrib = 0;
249 graph->
evalOpParm(myUseSmoothAttrib, nodeidx,
"usesmoothattrib", time, graph->
isDirect()?
nullptr:depnode);
250 mySmoothAttrib =
"smooth"_UTsh;
251 if (
true && ( (
true&&!(((
int64(getUseSmoothAttrib())==0)))) ) )
252 graph->
evalOpParm(mySmoothAttrib, nodeidx,
"smoothattrib", time, graph->
isDirect()?
nullptr:depnode);
255 graph->
evalOpParm(myMaxValence, nodeidx,
"maxvalence", time, graph->
isDirect()?
nullptr:depnode);
261 graph->
evalOpParm(myUseDivAttrib, nodeidx,
"usedivattrib", time, graph->
isDirect()?
nullptr:depnode);
262 myDivAttrib =
"div"_UTsh;
263 if (
true && ( (
true&&!(((
int64(getUseDivAttrib())==0)))) ) )
264 graph->
evalOpParm(myDivAttrib, nodeidx,
"divattrib", time, graph->
isDirect()?
nullptr:depnode);
270 graph->
evalOpParm(myUseSegsAttrib, nodeidx,
"usesegsattrib", time, graph->
isDirect()?
nullptr:depnode);
271 mySegsAttrib =
"segs"_UTsh;
272 if (
true && ( (
true&&!(((
int64(getUseSegsAttrib())==0)))) ) )
273 graph->
evalOpParm(mySegsAttrib, nodeidx,
"segsattrib", time, graph->
isDirect()?
nullptr:depnode);
274 myUseSegScale =
true;
276 graph->
evalOpParm(myUseSegScale, nodeidx,
"usesegscale", time, graph->
isDirect()?
nullptr:depnode);
278 if (
true && ( (
true&&!(((getUseSegScale()==0)))) ) )
279 graph->
evalOpParm(mySegScale, nodeidx,
"segscale", time, graph->
isDirect()?
nullptr:depnode);
282 graph->
evalOpParm(myDotexture, nodeidx,
"dotexture", time, graph->
isDirect()?
nullptr:depnode);
284 if (
true && ( (
true&&!(((getDotexture()==0)))) ) )
287 if (
true && ( (
true&&!(((getDotexture()==0)))) ) )
288 graph->
evalOpParm(myTextu, nodeidx,
"textu", time, graph->
isDirect()?
nullptr:depnode);
289 myUseTextVAttrib = 0;
290 if (
true && ( (
true&&!(((getDotexture()==0)))) ) )
291 graph->
evalOpParm(myUseTextVAttrib, nodeidx,
"usetextvattrib", time, graph->
isDirect()?
nullptr:depnode);
292 myTextVAttrib =
"arc"_UTsh;
293 if (
true && ( (
true&&!(((getDotexture()==0))||((
int64(getUseTextVAttrib())!=1)))) ) )
294 graph->
evalOpParm(myTextVAttrib, nodeidx,
"textvattrib", time, graph->
isDirect()?
nullptr:depnode);
296 if (
true && ( (
true&&!(((getDotexture()==0))||((
int64(getUseTextVAttrib())!=0)))) ) )
297 graph->
evalOpParm(myTextv, nodeidx,
"textv", time, graph->
isDirect()?
nullptr:depnode);
300 graph->
evalOpParm(myUseUpAttrib, nodeidx,
"upenable", time, graph->
isDirect()?
nullptr:depnode);
302 if (
true && ( (
true&&!(((
int64(getUseUpAttrib())!=1)))) ) )
303 graph->
evalOpParm(myUpvector, nodeidx,
"upvector", time, graph->
isDirect()?
nullptr:depnode);
304 myUpAttrib =
"up"_UTsh;
305 if (
true && ( (
true&&!(((
int64(getUseUpAttrib())!=2)))) ) )
306 graph->
evalOpParm(myUpAttrib, nodeidx,
"upattrib", time, graph->
isDirect()?
nullptr:depnode);
322 template <
typename T>
329 if (idx.
size() != instance.
size()+1)
334 coerceValue(value, myGroup);
337 coerceValue(value, myRadius);
340 coerceValue(value, myUseScaleAttrib);
343 coerceValue(value, myScaleAttrib);
346 coerceValue(value, myJointcorrect);
349 coerceValue(value, myMaxscale);
352 coerceValue(value, mySmooth);
355 coerceValue(value, myUseSmoothAttrib);
358 coerceValue(value, mySmoothAttrib);
361 coerceValue(value, myMaxValence);
364 coerceValue(value, myDiv);
367 coerceValue(value, myUseDivAttrib);
370 coerceValue(value, myDivAttrib);
373 coerceValue(value, mySegs);
376 coerceValue(value, myUseSegsAttrib);
379 coerceValue(value, mySegsAttrib);
382 coerceValue(value, myUseSegScale);
385 coerceValue(value, mySegScale);
388 coerceValue(value, myDotexture);
391 coerceValue(value, myUoff);
394 coerceValue(value, myTextu);
397 coerceValue(value, myUseTextVAttrib);
400 coerceValue(value, myTextVAttrib);
403 coerceValue(value, myTextv);
406 coerceValue(value, myUseUpAttrib);
409 coerceValue(value, myUpvector);
412 coerceValue(value, myUpAttrib);
428 { doGetParmValue(idx, instance, value); }
430 { doGetParmValue(idx, instance, value); }
432 { doGetParmValue(idx, instance, value); }
434 { doGetParmValue(idx, instance, value); }
436 { doGetParmValue(idx, instance, value); }
438 { doGetParmValue(idx, instance, value); }
440 { doGetParmValue(idx, instance, value); }
442 { doGetParmValue(idx, instance, value); }
444 { doGetParmValue(idx, instance, value); }
446 { doGetParmValue(idx, instance, value); }
448 { doGetParmValue(idx, instance, value); }
450 template <
typename T>
457 if (idx.
size() != instance.
size()+1)
462 coerceValue(myGroup, ( ( value ) ));
465 coerceValue(myRadius, ( ( value ) ));
468 coerceValue(myUseScaleAttrib, clampMinValue(0, clampMaxValue(1, value ) ));
471 coerceValue(myScaleAttrib, ( ( value ) ));
474 coerceValue(myJointcorrect, ( ( value ) ));
477 coerceValue(myMaxscale, clampMinValue(1, ( value ) ));
480 coerceValue(mySmooth, ( ( value ) ));
483 coerceValue(myUseSmoothAttrib, clampMinValue(0, clampMaxValue(1, value ) ));
486 coerceValue(mySmoothAttrib, ( ( value ) ));
489 coerceValue(myMaxValence, clampMinValue(0, ( value ) ));
492 coerceValue(myDiv, clampMinValue(3, ( value ) ));
495 coerceValue(myUseDivAttrib, clampMinValue(0, clampMaxValue(1, value ) ));
498 coerceValue(myDivAttrib, ( ( value ) ));
501 coerceValue(mySegs, clampMinValue(1, ( value ) ));
504 coerceValue(myUseSegsAttrib, clampMinValue(0, clampMaxValue(1, value ) ));
507 coerceValue(mySegsAttrib, ( ( value ) ));
510 coerceValue(myUseSegScale, ( ( value ) ));
513 coerceValue(mySegScale, ( ( value ) ));
516 coerceValue(myDotexture, ( ( value ) ));
519 coerceValue(myUoff, ( ( value ) ));
522 coerceValue(myTextu, ( ( value ) ));
525 coerceValue(myUseTextVAttrib, clampMinValue(0, clampMaxValue(1, value ) ));
528 coerceValue(myTextVAttrib, ( ( value ) ));
531 coerceValue(myTextv, ( ( value ) ));
534 coerceValue(myUseUpAttrib, clampMinValue(0, clampMaxValue(2, value ) ));
537 coerceValue(myUpvector, ( ( value ) ));
540 coerceValue(myUpAttrib, ( ( value ) ));
547 { doSetParmValue(idx, instance, value); }
549 { doSetParmValue(idx, instance, value); }
551 { doSetParmValue(idx, instance, value); }
553 { doSetParmValue(idx, instance, value); }
555 { doSetParmValue(idx, instance, value); }
557 { doSetParmValue(idx, instance, value); }
559 { doSetParmValue(idx, instance, value); }
561 { doSetParmValue(idx, instance, value); }
563 { doSetParmValue(idx, instance, value); }
565 { doSetParmValue(idx, instance, value); }
567 { doSetParmValue(idx, instance, value); }
583 if (fieldnum.
size() < 1)
592 return "usescaleattrib";
594 return "scaleattrib";
596 return "jointcorrect";
602 return "usesmoothattrib";
604 return "smoothattrib";
610 return "usedivattrib";
616 return "usesegsattrib";
620 return "usesegscale";
630 return "usetextvattrib";
632 return "textvattrib";
648 if (fieldnum.
size() < 1)
649 return PARM_UNSUPPORTED;
708 return PARM_UNSUPPORTED;
744 loadData(is, rampdata);
762 int typelen = colon - data.
buffer();
776 {
int64 iv =
v; UTwrite(os, &iv); }
778 { UTwrite<fpreal64>(os, &
v); }
780 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
782 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
783 UTwrite<fpreal64>(os, &v.
z()); }
785 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
786 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
798 if (s) s->save(ostr);
800 saveData(os, result);
807 ostr << s->getDataTypeToken();
812 saveData(os, result);
816 void save(std::ostream &os)
const
820 saveData(os, myGroup);
821 saveData(os, myRadius);
822 saveData(os, myUseScaleAttrib);
823 saveData(os, myScaleAttrib);
824 saveData(os, myJointcorrect);
825 saveData(os, myMaxscale);
826 saveData(os, mySmooth);
827 saveData(os, myUseSmoothAttrib);
828 saveData(os, mySmoothAttrib);
829 saveData(os, myMaxValence);
831 saveData(os, myUseDivAttrib);
832 saveData(os, myDivAttrib);
833 saveData(os, mySegs);
834 saveData(os, myUseSegsAttrib);
835 saveData(os, mySegsAttrib);
836 saveData(os, myUseSegScale);
837 saveData(os, mySegScale);
838 saveData(os, myDotexture);
839 saveData(os, myUoff);
840 saveData(os, myTextu);
841 saveData(os, myUseTextVAttrib);
842 saveData(os, myTextVAttrib);
843 saveData(os, myTextv);
844 saveData(os, myUseUpAttrib);
845 saveData(os, myUpvector);
846 saveData(os, myUpAttrib);
859 loadData(is, myGroup);
860 loadData(is, myRadius);
861 loadData(is, myUseScaleAttrib);
862 loadData(is, myScaleAttrib);
863 loadData(is, myJointcorrect);
864 loadData(is, myMaxscale);
865 loadData(is, mySmooth);
866 loadData(is, myUseSmoothAttrib);
867 loadData(is, mySmoothAttrib);
868 loadData(is, myMaxValence);
870 loadData(is, myUseDivAttrib);
871 loadData(is, myDivAttrib);
872 loadData(is, mySegs);
873 loadData(is, myUseSegsAttrib);
874 loadData(is, mySegsAttrib);
875 loadData(is, myUseSegScale);
876 loadData(is, mySegScale);
877 loadData(is, myDotexture);
878 loadData(is, myUoff);
879 loadData(is, myTextu);
880 loadData(is, myUseTextVAttrib);
881 loadData(is, myTextVAttrib);
882 loadData(is, myTextv);
883 loadData(is, myUseUpAttrib);
884 loadData(is, myUpvector);
885 loadData(is, myUpAttrib);
895 if (!thissop)
return getGroup();
897 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
905 if (!thissop)
return getRadius();
907 OP_Utils::evalOpParm(result, thissop,
"radius", cookparms.
getCookTime(), 0);
915 if (!thissop)
return getUseScaleAttrib();
917 OP_Utils::evalOpParm(result, thissop,
"usescaleattrib", cookparms.
getCookTime(), 0);
925 if (!thissop)
return getScaleAttrib();
927 OP_Utils::evalOpParm(result, thissop,
"scaleattrib", cookparms.
getCookTime(), 0);
935 if (!thissop)
return getJointcorrect();
937 OP_Utils::evalOpParm(result, thissop,
"jointcorrect", cookparms.
getCookTime(), 0);
945 if (!thissop)
return getMaxscale();
947 OP_Utils::evalOpParm(result, thissop,
"maxscale", cookparms.
getCookTime(), 0);
955 if (!thissop)
return getSmooth();
957 OP_Utils::evalOpParm(result, thissop,
"smooth", cookparms.
getCookTime(), 0);
965 if (!thissop)
return getUseSmoothAttrib();
967 OP_Utils::evalOpParm(result, thissop,
"usesmoothattrib", cookparms.
getCookTime(), 0);
975 if (!thissop)
return getSmoothAttrib();
977 OP_Utils::evalOpParm(result, thissop,
"smoothattrib", cookparms.
getCookTime(), 0);
985 if (!thissop)
return getMaxValence();
987 OP_Utils::evalOpParm(result, thissop,
"maxvalence", cookparms.
getCookTime(), 0);
995 if (!thissop)
return getDiv();
997 OP_Utils::evalOpParm(result, thissop,
"div", cookparms.
getCookTime(), 0);
1005 if (!thissop)
return getUseDivAttrib();
1007 OP_Utils::evalOpParm(result, thissop,
"usedivattrib", cookparms.
getCookTime(), 0);
1015 if (!thissop)
return getDivAttrib();
1017 OP_Utils::evalOpParm(result, thissop,
"divattrib", cookparms.
getCookTime(), 0);
1025 if (!thissop)
return getSegs();
1027 OP_Utils::evalOpParm(result, thissop,
"segs", cookparms.
getCookTime(), 0);
1035 if (!thissop)
return getUseSegsAttrib();
1037 OP_Utils::evalOpParm(result, thissop,
"usesegsattrib", cookparms.
getCookTime(), 0);
1045 if (!thissop)
return getSegsAttrib();
1047 OP_Utils::evalOpParm(result, thissop,
"segsattrib", cookparms.
getCookTime(), 0);
1055 if (!thissop)
return getUseSegScale();
1057 OP_Utils::evalOpParm(result, thissop,
"usesegscale", cookparms.
getCookTime(), 0);
1065 if (!thissop)
return getSegScale();
1067 OP_Utils::evalOpParm(result, thissop,
"segscale", cookparms.
getCookTime(), 0);
1075 if (!thissop)
return getDotexture();
1077 OP_Utils::evalOpParm(result, thissop,
"dotexture", cookparms.
getCookTime(), 0);
1085 if (!thissop)
return getUoff();
1087 OP_Utils::evalOpParm(result, thissop,
"uoff", cookparms.
getCookTime(), 0);
1095 if (!thissop)
return getTextu();
1097 OP_Utils::evalOpParm(result, thissop,
"textu", cookparms.
getCookTime(), 0);
1105 if (!thissop)
return getUseTextVAttrib();
1107 OP_Utils::evalOpParm(result, thissop,
"usetextvattrib", cookparms.
getCookTime(), 0);
1115 if (!thissop)
return getTextVAttrib();
1117 OP_Utils::evalOpParm(result, thissop,
"textvattrib", cookparms.
getCookTime(), 0);
1125 if (!thissop)
return getTextv();
1127 OP_Utils::evalOpParm(result, thissop,
"textv", cookparms.
getCookTime(), 0);
1135 if (!thissop)
return getUseUpAttrib();
1137 OP_Utils::evalOpParm(result, thissop,
"upenable", cookparms.
getCookTime(), 0);
1145 if (!thissop)
return getUpvector();
1147 OP_Utils::evalOpParm(result, thissop,
"upvector", cookparms.
getCookTime(), 0);
1155 if (!thissop)
return getUpAttrib();
1157 OP_Utils::evalOpParm(result, thissop,
"upattrib", cookparms.
getCookTime(), 0);
1164 int64 myUseScaleAttrib;
1166 bool myJointcorrect;
1169 int64 myUseSmoothAttrib;
1173 int64 myUseDivAttrib;
1176 int64 myUseSegsAttrib;
1183 int64 myUseTextVAttrib;
1186 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
GLsizei const GLfloat * value
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
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
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)
virtual UT_StringHolder baseGetSignature() const
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)
virtual bool isDirect() const =0
Direct proxies mirror actual nodes:
UT_Vector3D getUpvector() const
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