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;
179 graph->
evalOpParm(myGroup, nodeidx,
"group", time, 0);
182 graph->
evalOpParm(myGrouptype, nodeidx,
"grouptype", time, 0);
183 myKeeporiginal =
false;
185 graph->
evalOpParm(myKeeporiginal, nodeidx,
"keepOriginal", time, 0);
186 myCreateBoundingGeo =
true;
188 graph->
evalOpParm(myCreateBoundingGeo, nodeidx,
"createboundinggeo", time, 0);
189 myCreateempty =
true;
190 if (
true && ( (
true&&!(((getCreateBoundingGeo()==0)))) ) )
191 graph->
evalOpParm(myCreateempty, nodeidx,
"createempty", time, 0);
194 graph->
evalOpParm(myBoundType, nodeidx,
"boundtype", time, 0);
195 myOrientedbbox =
false;
196 if (
true && ( (
true&&!(((
int64(getBoundType())!=0)))) ) )
197 graph->
evalOpParm(myOrientedbbox, nodeidx,
"orientedbbox", time, 0);
198 myRefinementIterations = 6;
199 if (
true && ( (
true&&!(((
int64(getBoundType())!=0))||((getOrientedbbox()==0))||((
int64(getBoundType())!=0))||((getOrientedbbox()==0)))) ) )
200 graph->
evalOpParm(myRefinementIterations, nodeidx,
"refinementiterations", time, 0);
202 if (
true && ( (
true&&!(((getCreateBoundingGeo()==0))||((
int64(getBoundType())!=0)))) ) )
203 graph->
evalOpParm(myDodivs, nodeidx,
"dodivs", time, 0);
205 if (
true && ( (
true&&!(((getDodivs()==0))||((getCreateBoundingGeo()==0))||((
int64(getBoundType())!=0)))) ) )
206 graph->
evalOpParm(myDivs, nodeidx,
"divs", time, 0);
208 if (
true && ( (
true&&!(((getDodivs()==0))||((getCreateBoundingGeo()==0))||((
int64(getBoundType())!=0)))) ) )
209 graph->
evalOpParm(myRebar, nodeidx,
"rebar", time, 0);
211 if (
true && ( (
true&&!(((
int64(getBoundType())!=0)))) ) )
212 graph->
evalOpParm(myMinsize, nodeidx,
"minsize", time, 0);
214 if (
true && ( (
true&&!(((getCreateBoundingGeo()==0))||((
int64(getBoundType())!=1)))) ) )
215 graph->
evalOpParm(myOrient, nodeidx,
"orient", time, 0);
217 if (
true && ( (
true&&!(((
int64(getBoundType())!=1)))) ) )
218 graph->
evalOpParm(myAccurate, nodeidx,
"accurate", time, 0);
220 if (
true && ( (
true&&!(((
int64(getBoundType())!=1)))) ) )
221 graph->
evalOpParm(myMinradius, nodeidx,
"minradius", time, 0);
222 myOrientedBRect =
false;
223 if (
true && ( (
true&&!(((
int64(getBoundType())!=2)))) ) )
224 graph->
evalOpParm(myOrientedBRect, nodeidx,
"orientedbrect", time, 0);
226 if (
true && ( (
true&&!(((
int64(getBoundType())!=2)))) ) )
227 graph->
evalOpParm(myOrigin, nodeidx,
"origin", time, 0);
229 if (
true && ( (
true&&!(((
int64(getBoundType())!=2)))) ) )
230 graph->
evalOpParm(myDistance, nodeidx,
"dist", time, 0);
232 if (
true && ( (
true&&!(((
int64(getBoundType())!=2)))) ) )
233 graph->
evalOpParm(myDirection, nodeidx,
"dir", time, 0);
236 graph->
evalOpParm(myMinpad, nodeidx,
"minpad", time, 0);
239 graph->
evalOpParm(myMaxpad, nodeidx,
"maxpad", time, 0);
240 myAddBoundsGroup =
false;
241 if (
true && ( (
true&&!(((getCreateBoundingGeo()==0)))) ) )
242 graph->
evalOpParm(myAddBoundsGroup, nodeidx,
"addboundsgroup", time, 0);
243 myBoundsGroup =
"bounds"_UTsh;
244 if (
true && ( (
true&&!(((getAddBoundsGroup()==0))||((getCreateBoundingGeo()==0)))) ) )
245 graph->
evalOpParm(myBoundsGroup, nodeidx,
"boundsgroup", time, 0);
246 myAddXformAttrib =
false;
248 graph->
evalOpParm(myAddXformAttrib, nodeidx,
"addxformattrib", time, 0);
249 myXformAttrib =
"xform"_UTsh;
250 if (
true && ( (
true&&!(((getAddXformAttrib()==0)))) ) )
251 graph->
evalOpParm(myXformAttrib, nodeidx,
"xformattrib", time, 0);
252 myAddRadiiAttrib =
false;
254 graph->
evalOpParm(myAddRadiiAttrib, nodeidx,
"addradiiattrib", time, 0);
255 myRadiiAttrib =
"radii"_UTsh;
256 if (
true && ( (
true&&!(((getAddRadiiAttrib()==0)))) ) )
257 graph->
evalOpParm(myRadiiAttrib, nodeidx,
"radiiattrib", time, 0);
273 template <
typename T>
280 if (idx.
size() != instance.
size()+1)
285 coerceValue(value, myGroup);
288 coerceValue(value, myGrouptype);
291 coerceValue(value, myKeeporiginal);
294 coerceValue(value, myCreateBoundingGeo);
297 coerceValue(value, myCreateempty);
300 coerceValue(value, myBoundType);
303 coerceValue(value, myOrientedbbox);
306 coerceValue(value, myRefinementIterations);
309 coerceValue(value, myDodivs);
312 coerceValue(value, myDivs);
315 coerceValue(value, myRebar);
318 coerceValue(value, myMinsize);
321 coerceValue(value, myOrient);
324 coerceValue(value, myAccurate);
327 coerceValue(value, myMinradius);
330 coerceValue(value, myOrientedBRect);
333 coerceValue(value, myOrigin);
336 coerceValue(value, myDistance);
339 coerceValue(value, myDirection);
342 coerceValue(value, myMinpad);
345 coerceValue(value, myMaxpad);
348 coerceValue(value, myAddBoundsGroup);
351 coerceValue(value, myBoundsGroup);
354 coerceValue(value, myAddXformAttrib);
357 coerceValue(value, myXformAttrib);
360 coerceValue(value, myAddRadiiAttrib);
363 coerceValue(value, myRadiiAttrib);
379 { doGetParmValue(idx, instance, value); }
381 { doGetParmValue(idx, instance, value); }
383 { doGetParmValue(idx, instance, value); }
385 { doGetParmValue(idx, instance, value); }
387 { doGetParmValue(idx, instance, value); }
389 { doGetParmValue(idx, instance, value); }
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 template <
typename T>
408 if (idx.
size() != instance.
size()+1)
413 coerceValue(myGroup, ( ( value ) ));
416 coerceValue(myGrouptype, clampMinValue(0, clampMaxValue(4, value ) ));
419 coerceValue(myKeeporiginal, ( ( value ) ));
422 coerceValue(myCreateBoundingGeo, ( ( value ) ));
425 coerceValue(myCreateempty, ( ( value ) ));
428 coerceValue(myBoundType, clampMinValue(0, clampMaxValue(2, value ) ));
431 coerceValue(myOrientedbbox, ( ( value ) ));
434 coerceValue(myRefinementIterations, clampMinValue(0, ( value ) ));
437 coerceValue(myDodivs, ( ( value ) ));
440 coerceValue(myDivs, clampMinValue(1, ( value ) ));
443 coerceValue(myRebar, ( ( value ) ));
446 coerceValue(myMinsize, clampMinValue(0, ( value ) ));
449 coerceValue(myOrient, clampMinValue(0, clampMaxValue(2, value ) ));
452 coerceValue(myAccurate, ( ( value ) ));
455 coerceValue(myMinradius, clampMinValue(0, ( value ) ));
458 coerceValue(myOrientedBRect, ( ( value ) ));
461 coerceValue(myOrigin, ( ( value ) ));
464 coerceValue(myDistance, ( ( value ) ));
467 coerceValue(myDirection, ( ( value ) ));
470 coerceValue(myMinpad, ( ( value ) ));
473 coerceValue(myMaxpad, ( ( value ) ));
476 coerceValue(myAddBoundsGroup, ( ( value ) ));
479 coerceValue(myBoundsGroup, ( ( value ) ));
482 coerceValue(myAddXformAttrib, ( ( value ) ));
485 coerceValue(myXformAttrib, ( ( value ) ));
488 coerceValue(myAddRadiiAttrib, ( ( value ) ));
491 coerceValue(myRadiiAttrib, ( ( value ) ));
498 { doSetParmValue(idx, instance, value); }
500 { doSetParmValue(idx, instance, value); }
502 { doSetParmValue(idx, instance, value); }
504 { doSetParmValue(idx, instance, value); }
506 { doSetParmValue(idx, instance, value); }
508 { doSetParmValue(idx, instance, value); }
510 { doSetParmValue(idx, instance, value); }
512 { doSetParmValue(idx, instance, value); }
514 { doSetParmValue(idx, instance, value); }
516 { doSetParmValue(idx, instance, value); }
518 { doSetParmValue(idx, instance, value); }
534 if (fieldnum.
size() < 1)
543 return "keepOriginal";
545 return "createboundinggeo";
547 return "createempty";
551 return "orientedbbox";
553 return "refinementiterations";
569 return "orientedbrect";
581 return "addboundsgroup";
583 return "boundsgroup";
585 return "addxformattrib";
587 return "xformattrib";
589 return "addradiiattrib";
591 return "radiiattrib";
599 if (fieldnum.
size() < 1)
600 return PARM_UNSUPPORTED;
659 return PARM_UNSUPPORTED;
695 loadData(is, rampdata);
713 int typelen = colon - data.
buffer();
727 {
int64 iv =
v; UTwrite(os, &iv); }
729 { UTwrite<fpreal64>(os, &
v); }
731 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
733 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
734 UTwrite<fpreal64>(os, &v.
z()); }
736 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
737 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
749 if (s) s->save(ostr);
751 saveData(os, result);
758 ostr << s->getDataTypeToken();
763 saveData(os, result);
767 void save(std::ostream &os)
const
771 saveData(os, myGroup);
772 saveData(os, myGrouptype);
773 saveData(os, myKeeporiginal);
774 saveData(os, myCreateBoundingGeo);
775 saveData(os, myCreateempty);
776 saveData(os, myBoundType);
777 saveData(os, myOrientedbbox);
778 saveData(os, myRefinementIterations);
779 saveData(os, myDodivs);
780 saveData(os, myDivs);
781 saveData(os, myRebar);
782 saveData(os, myMinsize);
783 saveData(os, myOrient);
784 saveData(os, myAccurate);
785 saveData(os, myMinradius);
786 saveData(os, myOrientedBRect);
787 saveData(os, myOrigin);
788 saveData(os, myDistance);
789 saveData(os, myDirection);
790 saveData(os, myMinpad);
791 saveData(os, myMaxpad);
792 saveData(os, myAddBoundsGroup);
793 saveData(os, myBoundsGroup);
794 saveData(os, myAddXformAttrib);
795 saveData(os, myXformAttrib);
796 saveData(os, myAddRadiiAttrib);
797 saveData(os, myRadiiAttrib);
810 loadData(is, myGroup);
811 loadData(is, myGrouptype);
812 loadData(is, myKeeporiginal);
813 loadData(is, myCreateBoundingGeo);
814 loadData(is, myCreateempty);
815 loadData(is, myBoundType);
816 loadData(is, myOrientedbbox);
817 loadData(is, myRefinementIterations);
818 loadData(is, myDodivs);
819 loadData(is, myDivs);
820 loadData(is, myRebar);
821 loadData(is, myMinsize);
822 loadData(is, myOrient);
823 loadData(is, myAccurate);
824 loadData(is, myMinradius);
825 loadData(is, myOrientedBRect);
826 loadData(is, myOrigin);
827 loadData(is, myDistance);
828 loadData(is, myDirection);
829 loadData(is, myMinpad);
830 loadData(is, myMaxpad);
831 loadData(is, myAddBoundsGroup);
832 loadData(is, myBoundsGroup);
833 loadData(is, myAddXformAttrib);
834 loadData(is, myXformAttrib);
835 loadData(is, myAddRadiiAttrib);
836 loadData(is, myRadiiAttrib);
846 if (!thissop)
return getGroup();
848 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
856 if (!thissop)
return getGrouptype();
858 OP_Utils::evalOpParm(result, thissop,
"grouptype", cookparms.
getCookTime(), 0);
866 if (!thissop)
return getKeeporiginal();
868 OP_Utils::evalOpParm(result, thissop,
"keepOriginal", cookparms.
getCookTime(), 0);
876 if (!thissop)
return getCreateBoundingGeo();
878 OP_Utils::evalOpParm(result, thissop,
"createboundinggeo", cookparms.
getCookTime(), 0);
886 if (!thissop)
return getCreateempty();
888 OP_Utils::evalOpParm(result, thissop,
"createempty", cookparms.
getCookTime(), 0);
896 if (!thissop)
return getBoundType();
898 OP_Utils::evalOpParm(result, thissop,
"boundtype", cookparms.
getCookTime(), 0);
906 if (!thissop)
return getOrientedbbox();
908 OP_Utils::evalOpParm(result, thissop,
"orientedbbox", cookparms.
getCookTime(), 0);
916 if (!thissop)
return getRefinementIterations();
918 OP_Utils::evalOpParm(result, thissop,
"refinementiterations", cookparms.
getCookTime(), 0);
926 if (!thissop)
return getDodivs();
928 OP_Utils::evalOpParm(result, thissop,
"dodivs", cookparms.
getCookTime(), 0);
936 if (!thissop)
return getDivs();
938 OP_Utils::evalOpParm(result, thissop,
"divs", cookparms.
getCookTime(), 0);
946 if (!thissop)
return getRebar();
948 OP_Utils::evalOpParm(result, thissop,
"rebar", cookparms.
getCookTime(), 0);
956 if (!thissop)
return getMinsize();
958 OP_Utils::evalOpParm(result, thissop,
"minsize", cookparms.
getCookTime(), 0);
966 if (!thissop)
return getOrient();
968 OP_Utils::evalOpParm(result, thissop,
"orient", cookparms.
getCookTime(), 0);
976 if (!thissop)
return getAccurate();
978 OP_Utils::evalOpParm(result, thissop,
"accurate", cookparms.
getCookTime(), 0);
986 if (!thissop)
return getMinradius();
988 OP_Utils::evalOpParm(result, thissop,
"minradius", cookparms.
getCookTime(), 0);
996 if (!thissop)
return getOrientedBRect();
998 OP_Utils::evalOpParm(result, thissop,
"orientedbrect", cookparms.
getCookTime(), 0);
1006 if (!thissop)
return getOrigin();
1008 OP_Utils::evalOpParm(result, thissop,
"origin", cookparms.
getCookTime(), 0);
1016 if (!thissop)
return getDistance();
1018 OP_Utils::evalOpParm(result, thissop,
"dist", cookparms.
getCookTime(), 0);
1026 if (!thissop)
return getDirection();
1028 OP_Utils::evalOpParm(result, thissop,
"dir", cookparms.
getCookTime(), 0);
1036 if (!thissop)
return getMinpad();
1038 OP_Utils::evalOpParm(result, thissop,
"minpad", cookparms.
getCookTime(), 0);
1046 if (!thissop)
return getMaxpad();
1048 OP_Utils::evalOpParm(result, thissop,
"maxpad", cookparms.
getCookTime(), 0);
1056 if (!thissop)
return getAddBoundsGroup();
1058 OP_Utils::evalOpParm(result, thissop,
"addboundsgroup", cookparms.
getCookTime(), 0);
1066 if (!thissop)
return getBoundsGroup();
1068 OP_Utils::evalOpParm(result, thissop,
"boundsgroup", cookparms.
getCookTime(), 0);
1076 if (!thissop)
return getAddXformAttrib();
1078 OP_Utils::evalOpParm(result, thissop,
"addxformattrib", cookparms.
getCookTime(), 0);
1086 if (!thissop)
return getXformAttrib();
1088 OP_Utils::evalOpParm(result, thissop,
"xformattrib", cookparms.
getCookTime(), 0);
1096 if (!thissop)
return getAddRadiiAttrib();
1098 OP_Utils::evalOpParm(result, thissop,
"addradiiattrib", cookparms.
getCookTime(), 0);
1106 if (!thissop)
return getRadiiAttrib();
1108 OP_Utils::evalOpParm(result, thissop,
"radiiattrib", cookparms.
getCookTime(), 0);
1115 bool myKeeporiginal;
1116 bool myCreateBoundingGeo;
1119 bool myOrientedbbox;
1120 int64 myRefinementIterations;
1128 bool myOrientedBRect;
1134 bool myAddBoundsGroup;
1136 bool myAddXformAttrib;
1138 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
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)
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)
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
exint getNestNumParms(TempIndex idx) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
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)