23 namespace SOP_BoundEnums
37 using namespace UT::Literal;
58 using namespace UT::Literal;
77 using namespace UT::Literal;
98 myKeeporiginal =
false;
99 myCreateBoundingGeo =
true;
100 myCreateempty =
true;
102 myOrientedbbox =
false;
103 myRefinementIterations = 6;
111 myOrientedBRect =
false;
117 myAddBoundsGroup =
false;
118 myBoundsGroup =
"bounds"_UTsh;
119 myAddXformAttrib =
false;
120 myXformAttrib =
"xform"_UTsh;
121 myAddRadiiAttrib =
false;
122 myRadiiAttrib =
"radii"_UTsh;
135 if (myGroup != src.myGroup)
return false;
136 if (myGrouptype != src.myGrouptype)
return false;
137 if (myKeeporiginal != src.myKeeporiginal)
return false;
138 if (myCreateBoundingGeo != src.myCreateBoundingGeo)
return false;
139 if (myCreateempty != src.myCreateempty)
return false;
140 if (myBoundType != src.myBoundType)
return false;
141 if (myOrientedbbox != src.myOrientedbbox)
return false;
142 if (myRefinementIterations != src.myRefinementIterations)
return false;
143 if (myDodivs != src.myDodivs)
return false;
144 if (myDivs != src.myDivs)
return false;
145 if (myRebar != src.myRebar)
return false;
146 if (myMinsize != src.myMinsize)
return false;
147 if (myOrient != src.myOrient)
return false;
148 if (myAccurate != src.myAccurate)
return false;
149 if (myMinradius != src.myMinradius)
return false;
150 if (myOrientedBRect != src.myOrientedBRect)
return false;
151 if (myOrigin != src.myOrigin)
return false;
152 if (myDistance != src.myDistance)
return false;
153 if (myDirection != src.myDirection)
return false;
154 if (myMinpad != src.myMinpad)
return false;
155 if (myMaxpad != src.myMaxpad)
return false;
156 if (myAddBoundsGroup != src.myAddBoundsGroup)
return false;
157 if (myBoundsGroup != src.myBoundsGroup)
return false;
158 if (myAddXformAttrib != src.myAddXformAttrib)
return false;
159 if (myXformAttrib != src.myXformAttrib)
return false;
160 if (myAddRadiiAttrib != src.myAddRadiiAttrib)
return false;
161 if (myRadiiAttrib != src.myRadiiAttrib)
return false;
182 graph->
evalOpParm(myGroup, nodeidx,
"group", time, graph->
isDirect()?
nullptr:depnode);
185 graph->
evalOpParm(myGrouptype, nodeidx,
"grouptype", time, graph->
isDirect()?
nullptr:depnode);
186 myKeeporiginal =
false;
188 graph->
evalOpParm(myKeeporiginal, nodeidx,
"keepOriginal", time, graph->
isDirect()?
nullptr:depnode);
189 myCreateBoundingGeo =
true;
191 graph->
evalOpParm(myCreateBoundingGeo, nodeidx,
"createboundinggeo", time, graph->
isDirect()?
nullptr:depnode);
192 myCreateempty =
true;
193 if (
true && ( (
true&&!(((getCreateBoundingGeo()==0)))) ) )
194 graph->
evalOpParm(myCreateempty, nodeidx,
"createempty", time, graph->
isDirect()?
nullptr:depnode);
197 graph->
evalOpParm(myBoundType, nodeidx,
"boundtype", time, graph->
isDirect()?
nullptr:depnode);
198 myOrientedbbox =
false;
199 if (
true && ( (
true&&!(((
int64(getBoundType())!=0)))) ) )
200 graph->
evalOpParm(myOrientedbbox, nodeidx,
"orientedbbox", time, graph->
isDirect()?
nullptr:depnode);
201 myRefinementIterations = 6;
202 if (
true && ( (
true&&!(((
int64(getBoundType())!=0))||((getOrientedbbox()==0))||((
int64(getBoundType())!=0))||((getOrientedbbox()==0)))) ) )
203 graph->
evalOpParm(myRefinementIterations, nodeidx,
"refinementiterations", time, graph->
isDirect()?
nullptr:depnode);
205 if (
true && ( (
true&&!(((getCreateBoundingGeo()==0))||((
int64(getBoundType())!=0)))) ) )
206 graph->
evalOpParm(myDodivs, nodeidx,
"dodivs", time, graph->
isDirect()?
nullptr:depnode);
208 if (
true && ( (
true&&!(((getDodivs()==0))||((getCreateBoundingGeo()==0))||((
int64(getBoundType())!=0)))) ) )
211 if (
true && ( (
true&&!(((getDodivs()==0))||((getCreateBoundingGeo()==0))||((
int64(getBoundType())!=0)))) ) )
212 graph->
evalOpParm(myRebar, nodeidx,
"rebar", time, graph->
isDirect()?
nullptr:depnode);
214 if (
true && ( (
true&&!(((
int64(getBoundType())!=0)))) ) )
215 graph->
evalOpParm(myMinsize, nodeidx,
"minsize", time, graph->
isDirect()?
nullptr:depnode);
217 if (
true && ( (
true&&!(((getCreateBoundingGeo()==0))||((
int64(getBoundType())!=1)))) ) )
218 graph->
evalOpParm(myOrient, nodeidx,
"orient", time, graph->
isDirect()?
nullptr:depnode);
220 if (
true && ( (
true&&!(((
int64(getBoundType())!=1)))) ) )
221 graph->
evalOpParm(myAccurate, nodeidx,
"accurate", time, graph->
isDirect()?
nullptr:depnode);
223 if (
true && ( (
true&&!(((
int64(getBoundType())!=1)))) ) )
224 graph->
evalOpParm(myMinradius, nodeidx,
"minradius", time, graph->
isDirect()?
nullptr:depnode);
225 myOrientedBRect =
false;
226 if (
true && ( (
true&&!(((
int64(getBoundType())!=2)))) ) )
227 graph->
evalOpParm(myOrientedBRect, nodeidx,
"orientedbrect", time, graph->
isDirect()?
nullptr:depnode);
229 if (
true && ( (
true&&!(((
int64(getBoundType())!=2)))) ) )
230 graph->
evalOpParm(myOrigin, nodeidx,
"origin", time, graph->
isDirect()?
nullptr:depnode);
232 if (
true && ( (
true&&!(((
int64(getBoundType())!=2)))) ) )
233 graph->
evalOpParm(myDistance, nodeidx,
"dist", time, graph->
isDirect()?
nullptr:depnode);
235 if (
true && ( (
true&&!(((
int64(getBoundType())!=2)))) ) )
236 graph->
evalOpParm(myDirection, nodeidx,
"dir", time, graph->
isDirect()?
nullptr:depnode);
239 graph->
evalOpParm(myMinpad, nodeidx,
"minpad", time, graph->
isDirect()?
nullptr:depnode);
242 graph->
evalOpParm(myMaxpad, nodeidx,
"maxpad", time, graph->
isDirect()?
nullptr:depnode);
243 myAddBoundsGroup =
false;
244 if (
true && ( (
true&&!(((getCreateBoundingGeo()==0)))) ) )
245 graph->
evalOpParm(myAddBoundsGroup, nodeidx,
"addboundsgroup", time, graph->
isDirect()?
nullptr:depnode);
246 myBoundsGroup =
"bounds"_UTsh;
247 if (
true && ( (
true&&!(((getAddBoundsGroup()==0))||((getCreateBoundingGeo()==0)))) ) )
248 graph->
evalOpParm(myBoundsGroup, nodeidx,
"boundsgroup", time, graph->
isDirect()?
nullptr:depnode);
249 myAddXformAttrib =
false;
251 graph->
evalOpParm(myAddXformAttrib, nodeidx,
"addxformattrib", time, graph->
isDirect()?
nullptr:depnode);
252 myXformAttrib =
"xform"_UTsh;
253 if (
true && ( (
true&&!(((getAddXformAttrib()==0)))) ) )
254 graph->
evalOpParm(myXformAttrib, nodeidx,
"xformattrib", time, graph->
isDirect()?
nullptr:depnode);
255 myAddRadiiAttrib =
false;
257 graph->
evalOpParm(myAddRadiiAttrib, nodeidx,
"addradiiattrib", time, graph->
isDirect()?
nullptr:depnode);
258 myRadiiAttrib =
"radii"_UTsh;
259 if (
true && ( (
true&&!(((getAddRadiiAttrib()==0)))) ) )
260 graph->
evalOpParm(myRadiiAttrib, nodeidx,
"radiiattrib", time, graph->
isDirect()?
nullptr:depnode);
276 template <
typename T>
283 if (idx.
size() != instance.
size()+1)
288 coerceValue(value, myGroup);
291 coerceValue(value, myGrouptype);
294 coerceValue(value, myKeeporiginal);
297 coerceValue(value, myCreateBoundingGeo);
300 coerceValue(value, myCreateempty);
303 coerceValue(value, myBoundType);
306 coerceValue(value, myOrientedbbox);
309 coerceValue(value, myRefinementIterations);
312 coerceValue(value, myDodivs);
315 coerceValue(value, myDivs);
318 coerceValue(value, myRebar);
321 coerceValue(value, myMinsize);
324 coerceValue(value, myOrient);
327 coerceValue(value, myAccurate);
330 coerceValue(value, myMinradius);
333 coerceValue(value, myOrientedBRect);
336 coerceValue(value, myOrigin);
339 coerceValue(value, myDistance);
342 coerceValue(value, myDirection);
345 coerceValue(value, myMinpad);
348 coerceValue(value, myMaxpad);
351 coerceValue(value, myAddBoundsGroup);
354 coerceValue(value, myBoundsGroup);
357 coerceValue(value, myAddXformAttrib);
360 coerceValue(value, myXformAttrib);
363 coerceValue(value, myAddRadiiAttrib);
366 coerceValue(value, myRadiiAttrib);
382 { doGetParmValue(idx, instance, value); }
384 { doGetParmValue(idx, instance, value); }
386 { doGetParmValue(idx, instance, value); }
388 { doGetParmValue(idx, instance, value); }
390 { doGetParmValue(idx, instance, value); }
392 { doGetParmValue(idx, instance, value); }
394 { doGetParmValue(idx, instance, value); }
396 { doGetParmValue(idx, instance, value); }
398 { doGetParmValue(idx, instance, value); }
400 { doGetParmValue(idx, instance, value); }
402 { doGetParmValue(idx, instance, value); }
404 template <
typename T>
411 if (idx.
size() != instance.
size()+1)
416 coerceValue(myGroup, ( ( value ) ));
419 coerceValue(myGrouptype, clampMinValue(0, clampMaxValue(4, value ) ));
422 coerceValue(myKeeporiginal, ( ( value ) ));
425 coerceValue(myCreateBoundingGeo, ( ( value ) ));
428 coerceValue(myCreateempty, ( ( value ) ));
431 coerceValue(myBoundType, clampMinValue(0, clampMaxValue(2, value ) ));
434 coerceValue(myOrientedbbox, ( ( value ) ));
437 coerceValue(myRefinementIterations, clampMinValue(0, ( value ) ));
440 coerceValue(myDodivs, ( ( value ) ));
443 coerceValue(myDivs, clampMinValue(1, ( value ) ));
446 coerceValue(myRebar, ( ( value ) ));
449 coerceValue(myMinsize, clampMinValue(0, ( value ) ));
452 coerceValue(myOrient, clampMinValue(0, clampMaxValue(2, value ) ));
455 coerceValue(myAccurate, ( ( value ) ));
458 coerceValue(myMinradius, clampMinValue(0, ( value ) ));
461 coerceValue(myOrientedBRect, ( ( value ) ));
464 coerceValue(myOrigin, ( ( value ) ));
467 coerceValue(myDistance, ( ( value ) ));
470 coerceValue(myDirection, ( ( value ) ));
473 coerceValue(myMinpad, ( ( value ) ));
476 coerceValue(myMaxpad, ( ( value ) ));
479 coerceValue(myAddBoundsGroup, ( ( value ) ));
482 coerceValue(myBoundsGroup, ( ( value ) ));
485 coerceValue(myAddXformAttrib, ( ( value ) ));
488 coerceValue(myXformAttrib, ( ( value ) ));
491 coerceValue(myAddRadiiAttrib, ( ( value ) ));
494 coerceValue(myRadiiAttrib, ( ( value ) ));
501 { doSetParmValue(idx, instance, value); }
503 { doSetParmValue(idx, instance, value); }
505 { doSetParmValue(idx, instance, value); }
507 { doSetParmValue(idx, instance, value); }
509 { doSetParmValue(idx, instance, value); }
511 { doSetParmValue(idx, instance, value); }
513 { doSetParmValue(idx, instance, value); }
515 { doSetParmValue(idx, instance, value); }
517 { doSetParmValue(idx, instance, value); }
519 { doSetParmValue(idx, instance, value); }
521 { doSetParmValue(idx, instance, value); }
537 if (fieldnum.
size() < 1)
546 return "keepOriginal";
548 return "createboundinggeo";
550 return "createempty";
554 return "orientedbbox";
556 return "refinementiterations";
572 return "orientedbrect";
584 return "addboundsgroup";
586 return "boundsgroup";
588 return "addxformattrib";
590 return "xformattrib";
592 return "addradiiattrib";
594 return "radiiattrib";
602 if (fieldnum.
size() < 1)
603 return PARM_UNSUPPORTED;
662 return PARM_UNSUPPORTED;
698 loadData(is, rampdata);
716 int typelen = colon - data.
buffer();
730 {
int64 iv =
v; UTwrite(os, &iv); }
732 { UTwrite<fpreal64>(os, &
v); }
734 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
736 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
737 UTwrite<fpreal64>(os, &v.
z()); }
739 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
740 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
752 if (s) s->save(ostr);
754 saveData(os, result);
761 ostr << s->getDataTypeToken();
766 saveData(os, result);
770 void save(std::ostream &os)
const
774 saveData(os, myGroup);
775 saveData(os, myGrouptype);
776 saveData(os, myKeeporiginal);
777 saveData(os, myCreateBoundingGeo);
778 saveData(os, myCreateempty);
779 saveData(os, myBoundType);
780 saveData(os, myOrientedbbox);
781 saveData(os, myRefinementIterations);
782 saveData(os, myDodivs);
783 saveData(os, myDivs);
784 saveData(os, myRebar);
785 saveData(os, myMinsize);
786 saveData(os, myOrient);
787 saveData(os, myAccurate);
788 saveData(os, myMinradius);
789 saveData(os, myOrientedBRect);
790 saveData(os, myOrigin);
791 saveData(os, myDistance);
792 saveData(os, myDirection);
793 saveData(os, myMinpad);
794 saveData(os, myMaxpad);
795 saveData(os, myAddBoundsGroup);
796 saveData(os, myBoundsGroup);
797 saveData(os, myAddXformAttrib);
798 saveData(os, myXformAttrib);
799 saveData(os, myAddRadiiAttrib);
800 saveData(os, myRadiiAttrib);
813 loadData(is, myGroup);
814 loadData(is, myGrouptype);
815 loadData(is, myKeeporiginal);
816 loadData(is, myCreateBoundingGeo);
817 loadData(is, myCreateempty);
818 loadData(is, myBoundType);
819 loadData(is, myOrientedbbox);
820 loadData(is, myRefinementIterations);
821 loadData(is, myDodivs);
822 loadData(is, myDivs);
823 loadData(is, myRebar);
824 loadData(is, myMinsize);
825 loadData(is, myOrient);
826 loadData(is, myAccurate);
827 loadData(is, myMinradius);
828 loadData(is, myOrientedBRect);
829 loadData(is, myOrigin);
830 loadData(is, myDistance);
831 loadData(is, myDirection);
832 loadData(is, myMinpad);
833 loadData(is, myMaxpad);
834 loadData(is, myAddBoundsGroup);
835 loadData(is, myBoundsGroup);
836 loadData(is, myAddXformAttrib);
837 loadData(is, myXformAttrib);
838 loadData(is, myAddRadiiAttrib);
839 loadData(is, myRadiiAttrib);
849 if (!thissop)
return getGroup();
851 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
859 if (!thissop)
return getGrouptype();
861 OP_Utils::evalOpParm(result, thissop,
"grouptype", cookparms.
getCookTime(), 0);
869 if (!thissop)
return getKeeporiginal();
871 OP_Utils::evalOpParm(result, thissop,
"keepOriginal", cookparms.
getCookTime(), 0);
879 if (!thissop)
return getCreateBoundingGeo();
881 OP_Utils::evalOpParm(result, thissop,
"createboundinggeo", cookparms.
getCookTime(), 0);
889 if (!thissop)
return getCreateempty();
891 OP_Utils::evalOpParm(result, thissop,
"createempty", cookparms.
getCookTime(), 0);
899 if (!thissop)
return getBoundType();
901 OP_Utils::evalOpParm(result, thissop,
"boundtype", cookparms.
getCookTime(), 0);
909 if (!thissop)
return getOrientedbbox();
911 OP_Utils::evalOpParm(result, thissop,
"orientedbbox", cookparms.
getCookTime(), 0);
919 if (!thissop)
return getRefinementIterations();
921 OP_Utils::evalOpParm(result, thissop,
"refinementiterations", cookparms.
getCookTime(), 0);
929 if (!thissop)
return getDodivs();
931 OP_Utils::evalOpParm(result, thissop,
"dodivs", cookparms.
getCookTime(), 0);
939 if (!thissop)
return getDivs();
941 OP_Utils::evalOpParm(result, thissop,
"divs", cookparms.
getCookTime(), 0);
949 if (!thissop)
return getRebar();
951 OP_Utils::evalOpParm(result, thissop,
"rebar", cookparms.
getCookTime(), 0);
959 if (!thissop)
return getMinsize();
961 OP_Utils::evalOpParm(result, thissop,
"minsize", cookparms.
getCookTime(), 0);
969 if (!thissop)
return getOrient();
971 OP_Utils::evalOpParm(result, thissop,
"orient", cookparms.
getCookTime(), 0);
979 if (!thissop)
return getAccurate();
981 OP_Utils::evalOpParm(result, thissop,
"accurate", cookparms.
getCookTime(), 0);
989 if (!thissop)
return getMinradius();
991 OP_Utils::evalOpParm(result, thissop,
"minradius", cookparms.
getCookTime(), 0);
999 if (!thissop)
return getOrientedBRect();
1001 OP_Utils::evalOpParm(result, thissop,
"orientedbrect", cookparms.
getCookTime(), 0);
1009 if (!thissop)
return getOrigin();
1011 OP_Utils::evalOpParm(result, thissop,
"origin", cookparms.
getCookTime(), 0);
1019 if (!thissop)
return getDistance();
1021 OP_Utils::evalOpParm(result, thissop,
"dist", cookparms.
getCookTime(), 0);
1029 if (!thissop)
return getDirection();
1031 OP_Utils::evalOpParm(result, thissop,
"dir", cookparms.
getCookTime(), 0);
1039 if (!thissop)
return getMinpad();
1041 OP_Utils::evalOpParm(result, thissop,
"minpad", cookparms.
getCookTime(), 0);
1049 if (!thissop)
return getMaxpad();
1051 OP_Utils::evalOpParm(result, thissop,
"maxpad", cookparms.
getCookTime(), 0);
1059 if (!thissop)
return getAddBoundsGroup();
1061 OP_Utils::evalOpParm(result, thissop,
"addboundsgroup", cookparms.
getCookTime(), 0);
1069 if (!thissop)
return getBoundsGroup();
1071 OP_Utils::evalOpParm(result, thissop,
"boundsgroup", cookparms.
getCookTime(), 0);
1079 if (!thissop)
return getAddXformAttrib();
1081 OP_Utils::evalOpParm(result, thissop,
"addxformattrib", cookparms.
getCookTime(), 0);
1089 if (!thissop)
return getXformAttrib();
1091 OP_Utils::evalOpParm(result, thissop,
"xformattrib", cookparms.
getCookTime(), 0);
1099 if (!thissop)
return getAddRadiiAttrib();
1101 OP_Utils::evalOpParm(result, thissop,
"addradiiattrib", cookparms.
getCookTime(), 0);
1109 if (!thissop)
return getRadiiAttrib();
1111 OP_Utils::evalOpParm(result, thissop,
"radiiattrib", cookparms.
getCookTime(), 0);
1118 bool myKeeporiginal;
1119 bool myCreateBoundingGeo;
1122 bool myOrientedbbox;
1123 int64 myRefinementIterations;
1131 bool myOrientedBRect;
1137 bool myAddBoundsGroup;
1139 bool myAddXformAttrib;
1141 bool myAddRadiiAttrib;
bool getKeeporiginal() const
bool getAddXformAttrib() const
static void saveData(std::ostream &os, bool v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
void setMaxpad(UT_Vector3D val)
bool load(UT_IStream &is)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
SOP_Node * getNode() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
bool opCreateempty(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector2I &v)
UT_StringHolder opXformAttrib(const SOP_NodeVerb::CookParms &cookparms) const
bool getOrientedbbox() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
bool opDodivs(const SOP_NodeVerb::CookParms &cookparms) const
ParmType getNestParmType(TempIndex fieldnum) const override
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
Orient opOrient(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
static void loadData(UT_IStream &is, UT_Matrix3D &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
static void loadData(UT_IStream &is, UT_Vector4I &v)
UT_Vector3D getOrigin() const
bool isParmColorRamp(exint idx) const override
GLsizei const GLfloat * value
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
bool getAddRadiiAttrib() const
static void saveData(std::ostream &os, UT_Vector3D v)
const OP_Context & context() const
constexpr SYS_FORCE_INLINE T & z() noexcept
UT_Vector3D getMinsize() const
const UT_StringHolder & getGroup() const
SYS_FORCE_INLINE const char * buffer() const
UT_Vector3D opDirection(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_StringHolder s)
void setXformAttrib(const UT_StringHolder &val)
bool opCreateBoundingGeo(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
An output stream object that owns its own string buffer storage.
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
bool opAddXformAttrib(const SOP_NodeVerb::CookParms &cookparms) const
bool getCreateBoundingGeo() const
static void loadData(UT_IStream &is, UT_Vector4D &v)
**But if you need a result
void setGroup(const UT_StringHolder &val)
UT_Vector3T< int64 > UT_Vector3I
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
bool opAccurate(const SOP_NodeVerb::CookParms &cookparms) const
bool opKeeporiginal(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix2D v)
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
static void saveData(std::ostream &os, PRM_DataItemHandle s)
constexpr SYS_FORCE_INLINE T & x() noexcept
void setOrientedbbox(bool val)
static void saveData(std::ostream &os, UT_Matrix3D v)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
constexpr SYS_FORCE_INLINE T & x() noexcept
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
void setCreateBoundingGeo(bool val)
void loadFromOpSubclass(const LoadParms &loadparms) override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
int64 opRefinementIterations(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3D &v)
UT_Vector3D opMaxpad(const SOP_NodeVerb::CookParms &cookparms) const
void save(std::ostream &os) const
void setAddRadiiAttrib(bool val)
void setRefinementIterations(int64 val)
void copyFrom(const OP_NodeParms *src) override
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
bool opAddRadiiAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setDistance(fpreal64 val)
UT_Vector3I opDivs(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Vector2D v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
const OP_GraphProxy * graph() const
UT_Vector3D opOrigin(const SOP_NodeVerb::CookParms &cookparms) const
void setAddXformAttrib(bool val)
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
void setMinradius(fpreal64 val)
void setAddBoundsGroup(bool val)
UT_Vector3D opMinsize(const SOP_NodeVerb::CookParms &cookparms) const
BoundType opBoundType(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3I getDivs() const
void setKeeporiginal(bool val)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
bool opOrientedBRect(const SOP_NodeVerb::CookParms &cookparms) const
void setMinsize(UT_Vector3D val)
void setCreateempty(bool val)
void setBoundType(BoundType val)
UT_Vector3T< fpreal64 > UT_Vector3D
static void loadData(UT_IStream &is, int64 &v)
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
bool opOrientedbbox(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
void setDivs(UT_Vector3I val)
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
void setRadiiAttrib(const UT_StringHolder &val)
bool operator!=(const SOP_BoundParms &src) const
static void saveData(std::ostream &os, int64 v)
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
void saveBinary(std::ostream &os) const
Save string to binary stream.
void setOrigin(UT_Vector3D val)
UT_Vector3D getMinpad() const
GT_API const UT_StringHolder version
Grouptype getGrouptype() const
int64 getRefinementIterations() const
void setAccurate(bool val)
bool opRebar(const SOP_NodeVerb::CookParms &cookparms) const
void setOrient(Orient val)
bool getAddBoundsGroup() const
UT_StringHolder opBoundsGroup(const SOP_NodeVerb::CookParms &cookparms) const
void setDirection(UT_Vector3D val)
UT_StringHolder opRadiiAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
fpreal64 getMinradius() const
static void loadData(UT_IStream &is, bool &v)
DEP_MicroNode * depnode() const
UT_Vector3D opMinpad(const SOP_NodeVerb::CookParms &cookparms) const
LeafData & operator=(const LeafData &)=delete
Utility class for containing a color ramp.
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
SYS_FORCE_INLINE UT_StringHolder getToken(Grouptype enum_value)
static void saveData(std::ostream &os, fpreal64 v)
const char * getNestParmName(TempIndex fieldnum) const override
constexpr SYS_FORCE_INLINE T & w() noexcept
bool getCreateempty() const
void setBoundsGroup(const UT_StringHolder &val)
virtual UT_StringHolder baseGetSignature() const
void setOrientedBRect(bool val)
const UT_StringHolder & getRadiiAttrib() const
static void loadData(UT_IStream &is, UT_Vector2D &v)
fpreal64 opMinradius(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_StringHolder &v)
fpreal getCookTime() const
BoundType getBoundType() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
static void loadData(UT_IStream &is, UT_Vector3I &v)
const char * findChar(int c) const
const UT_StringHolder & getBoundsGroup() const
UT_Vector3D getMaxpad() const
fpreal64 getDistance() const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
bool getOrientedBRect() const
Grouptype opGrouptype(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opDistance(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & y() noexcept
UT_Vector3D getDirection() const
const UT_StringHolder & getXformAttrib() const
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
virtual bool isDirect() const =0
Direct proxies mirror actual nodes:
exint getNestNumParms(TempIndex idx) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
bool operator==(const SOP_BoundParms &src) const
static void saveData(std::ostream &os, UT_Matrix4D v)
constexpr SYS_FORCE_INLINE T & y() noexcept
void setGrouptype(Grouptype val)
SYS_FORCE_INLINE bool isstring() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
void setMinpad(UT_Vector3D val)
bool opAddBoundsGroup(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, fpreal64 &v)
static void saveData(std::ostream &os, UT_Vector4D v)
constexpr SYS_FORCE_INLINE T & x() noexcept
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)