20 using namespace UT::Literal;
23 namespace SOP_BoundEnums
57 myKeeporiginal =
false;
60 myOrientedbbox =
false;
68 myOrientedBRect =
false;
74 myAddXformAttrib =
false;
75 myXformAttrib =
"xform"_sh;
76 myAddRadiiAttrib =
false;
77 myRadiiAttrib =
"radii"_sh;
87 if (myGroup != src.myGroup)
return false;
88 if (myGrouptype != src.myGrouptype)
return false;
89 if (myKeeporiginal != src.myKeeporiginal)
return false;
90 if (myCreateempty != src.myCreateempty)
return false;
91 if (myBoundType != src.myBoundType)
return false;
92 if (myOrientedbbox != src.myOrientedbbox)
return false;
93 if (myDodivs != src.myDodivs)
return false;
94 if (myDivs != src.myDivs)
return false;
95 if (myRebar != src.myRebar)
return false;
96 if (myMinsize != src.myMinsize)
return false;
97 if (myOrient != src.myOrient)
return false;
98 if (myAccurate != src.myAccurate)
return false;
99 if (myMinradius != src.myMinradius)
return false;
100 if (myOrientedBRect != src.myOrientedBRect)
return false;
101 if (myOrigin != src.myOrigin)
return false;
102 if (myDistance != src.myDistance)
return false;
103 if (myDirection != src.myDirection)
return false;
104 if (myMinpad != src.myMinpad)
return false;
105 if (myMaxpad != src.myMaxpad)
return false;
106 if (myAddXformAttrib != src.myAddXformAttrib)
return false;
107 if (myXformAttrib != src.myXformAttrib)
return false;
108 if (myAddRadiiAttrib != src.myAddRadiiAttrib)
return false;
109 if (myRadiiAttrib != src.myRadiiAttrib)
return false;
127 graph->
evalOpParm(myGroup, nodeidx,
"group", time, 0);
130 graph->
evalOpParm(myGrouptype, nodeidx,
"grouptype", time, 0);
131 myKeeporiginal =
false;
133 graph->
evalOpParm(myKeeporiginal, nodeidx,
"keepOriginal", time, 0);
134 myCreateempty =
true;
136 graph->
evalOpParm(myCreateempty, nodeidx,
"createempty", time, 0);
139 graph->
evalOpParm(myBoundType, nodeidx,
"boundtype", time, 0);
140 myOrientedbbox =
false;
141 if (
true && ( (!(((
int64(getBoundType())!=0)))) ) )
142 graph->
evalOpParm(myOrientedbbox, nodeidx,
"orientedbbox", time, 0);
144 if (
true && ( (!(((
int64(getBoundType())!=0)))) ) )
145 graph->
evalOpParm(myDodivs, nodeidx,
"dodivs", time, 0);
147 if (
true && ( (!(((getDodivs()==0))||((
int64(getBoundType())!=0)))) ) )
148 graph->
evalOpParm(myDivs, nodeidx,
"divs", time, 0);
150 if (
true && ( (!(((getDodivs()==0))||((
int64(getBoundType())!=0)))) ) )
151 graph->
evalOpParm(myRebar, nodeidx,
"rebar", time, 0);
153 if (
true && ( (!(((
int64(getBoundType())!=0)))) ) )
154 graph->
evalOpParm(myMinsize, nodeidx,
"minsize", time, 0);
156 if (
true && ( (!(((
int64(getBoundType())!=1)))) ) )
157 graph->
evalOpParm(myOrient, nodeidx,
"orient", time, 0);
159 if (
true && ( (!(((
int64(getBoundType())!=1)))) ) )
160 graph->
evalOpParm(myAccurate, nodeidx,
"accurate", time, 0);
162 if (
true && ( (!(((
int64(getBoundType())!=1)))) ) )
163 graph->
evalOpParm(myMinradius, nodeidx,
"minradius", time, 0);
164 myOrientedBRect =
false;
165 if (
true && ( (!(((
int64(getBoundType())!=2)))) ) )
166 graph->
evalOpParm(myOrientedBRect, nodeidx,
"orientedbrect", time, 0);
168 if (
true && ( (!(((
int64(getBoundType())!=2)))) ) )
169 graph->
evalOpParm(myOrigin, nodeidx,
"origin", time, 0);
171 if (
true && ( (!(((
int64(getBoundType())!=2)))) ) )
172 graph->
evalOpParm(myDistance, nodeidx,
"dist", time, 0);
174 if (
true && ( (!(((
int64(getBoundType())!=2)))) ) )
175 graph->
evalOpParm(myDirection, nodeidx,
"dir", time, 0);
178 graph->
evalOpParm(myMinpad, nodeidx,
"minpad", time, 0);
181 graph->
evalOpParm(myMaxpad, nodeidx,
"maxpad", time, 0);
182 myAddXformAttrib =
false;
184 graph->
evalOpParm(myAddXformAttrib, nodeidx,
"addxformattrib", time, 0);
185 myXformAttrib =
"xform"_sh;
186 if (
true && ( (!(((getAddXformAttrib()==0)))) ) )
187 graph->
evalOpParm(myXformAttrib, nodeidx,
"xformattrib", time, 0);
188 myAddRadiiAttrib =
false;
190 graph->
evalOpParm(myAddRadiiAttrib, nodeidx,
"addradiiattrib", time, 0);
191 myRadiiAttrib =
"radii"_sh;
192 if (
true && ( (!(((getAddRadiiAttrib()==0)))) ) )
193 graph->
evalOpParm(myRadiiAttrib, nodeidx,
"radiiattrib", time, 0);
209 template <
typename T>
216 if (idx.
size() != instance.
size()+1)
221 coerceValue(value, myGroup);
224 coerceValue(value, myGrouptype);
227 coerceValue(value, myKeeporiginal);
230 coerceValue(value, myCreateempty);
233 coerceValue(value, myBoundType);
236 coerceValue(value, myOrientedbbox);
239 coerceValue(value, myDodivs);
242 coerceValue(value, myDivs);
245 coerceValue(value, myRebar);
248 coerceValue(value, myMinsize);
251 coerceValue(value, myOrient);
254 coerceValue(value, myAccurate);
257 coerceValue(value, myMinradius);
260 coerceValue(value, myOrientedBRect);
263 coerceValue(value, myOrigin);
266 coerceValue(value, myDistance);
269 coerceValue(value, myDirection);
272 coerceValue(value, myMinpad);
275 coerceValue(value, myMaxpad);
278 coerceValue(value, myAddXformAttrib);
281 coerceValue(value, myXformAttrib);
284 coerceValue(value, myAddRadiiAttrib);
287 coerceValue(value, myRadiiAttrib);
294 { doGetParmValue(idx, instance, value); }
296 { doGetParmValue(idx, instance, value); }
298 { doGetParmValue(idx, instance, value); }
300 { doGetParmValue(idx, instance, value); }
302 { doGetParmValue(idx, instance, value); }
304 { doGetParmValue(idx, instance, value); }
306 { doGetParmValue(idx, instance, value); }
308 { doGetParmValue(idx, instance, value); }
310 { doGetParmValue(idx, instance, value); }
312 { doGetParmValue(idx, instance, value); }
314 { doGetParmValue(idx, instance, value); }
316 template <
typename T>
323 if (idx.
size() != instance.
size()+1)
328 coerceValue(myGroup, value);
331 coerceValue(myGrouptype, value);
334 coerceValue(myKeeporiginal, value);
337 coerceValue(myCreateempty, value);
340 coerceValue(myBoundType, value);
343 coerceValue(myOrientedbbox, value);
346 coerceValue(myDodivs, value);
349 coerceValue(myDivs, value);
352 coerceValue(myRebar, value);
355 coerceValue(myMinsize, value);
358 coerceValue(myOrient, value);
361 coerceValue(myAccurate, value);
364 coerceValue(myMinradius, value);
367 coerceValue(myOrientedBRect, value);
370 coerceValue(myOrigin, value);
373 coerceValue(myDistance, value);
376 coerceValue(myDirection, value);
379 coerceValue(myMinpad, value);
382 coerceValue(myMaxpad, value);
385 coerceValue(myAddXformAttrib, value);
388 coerceValue(myXformAttrib, value);
391 coerceValue(myAddRadiiAttrib, value);
394 coerceValue(myRadiiAttrib, value);
401 { doSetParmValue(idx, instance, value); }
403 { doSetParmValue(idx, instance, value); }
405 { doSetParmValue(idx, instance, value); }
407 { doSetParmValue(idx, instance, value); }
409 { doSetParmValue(idx, instance, value); }
411 { doSetParmValue(idx, instance, value); }
413 { doSetParmValue(idx, instance, value); }
415 { doSetParmValue(idx, instance, value); }
417 { doSetParmValue(idx, instance, value); }
419 { doSetParmValue(idx, instance, value); }
421 { doSetParmValue(idx, instance, value); }
437 if (fieldnum.
size() < 1)
446 return "keepOriginal";
448 return "createempty";
452 return "orientedbbox";
468 return "orientedbrect";
480 return "addxformattrib";
482 return "xformattrib";
484 return "addradiiattrib";
486 return "radiiattrib";
494 if (fieldnum.
size() < 1)
495 return PARM_UNSUPPORTED;
546 return PARM_UNSUPPORTED;
582 loadData(is, rampdata);
600 int typelen = colon - data.
buffer();
614 {
int64 iv =
v; UTwrite(os, &iv); }
616 { UTwrite<fpreal64>(os, &
v); }
618 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
620 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
621 UTwrite<fpreal64>(os, &v.
z()); }
623 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
624 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
636 if (s) s->save(ostr);
638 saveData(os, result);
645 ostr << s->getDataTypeToken();
650 saveData(os, result);
654 void save(std::ostream &os)
const
658 saveData(os, myGroup);
659 saveData(os, myGrouptype);
660 saveData(os, myKeeporiginal);
661 saveData(os, myCreateempty);
662 saveData(os, myBoundType);
663 saveData(os, myOrientedbbox);
664 saveData(os, myDodivs);
665 saveData(os, myDivs);
666 saveData(os, myRebar);
667 saveData(os, myMinsize);
668 saveData(os, myOrient);
669 saveData(os, myAccurate);
670 saveData(os, myMinradius);
671 saveData(os, myOrientedBRect);
672 saveData(os, myOrigin);
673 saveData(os, myDistance);
674 saveData(os, myDirection);
675 saveData(os, myMinpad);
676 saveData(os, myMaxpad);
677 saveData(os, myAddXformAttrib);
678 saveData(os, myXformAttrib);
679 saveData(os, myAddRadiiAttrib);
680 saveData(os, myRadiiAttrib);
693 loadData(is, myGroup);
694 loadData(is, myGrouptype);
695 loadData(is, myKeeporiginal);
696 loadData(is, myCreateempty);
697 loadData(is, myBoundType);
698 loadData(is, myOrientedbbox);
699 loadData(is, myDodivs);
700 loadData(is, myDivs);
701 loadData(is, myRebar);
702 loadData(is, myMinsize);
703 loadData(is, myOrient);
704 loadData(is, myAccurate);
705 loadData(is, myMinradius);
706 loadData(is, myOrientedBRect);
707 loadData(is, myOrigin);
708 loadData(is, myDistance);
709 loadData(is, myDirection);
710 loadData(is, myMinpad);
711 loadData(is, myMaxpad);
712 loadData(is, myAddXformAttrib);
713 loadData(is, myXformAttrib);
714 loadData(is, myAddRadiiAttrib);
715 loadData(is, myRadiiAttrib);
725 if (!thissop)
return getGroup();
727 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
735 if (!thissop)
return getGrouptype();
737 OP_Utils::evalOpParm(result, thissop,
"grouptype", cookparms.
getCookTime(), 0);
745 if (!thissop)
return getKeeporiginal();
747 OP_Utils::evalOpParm(result, thissop,
"keepOriginal", cookparms.
getCookTime(), 0);
755 if (!thissop)
return getCreateempty();
757 OP_Utils::evalOpParm(result, thissop,
"createempty", cookparms.
getCookTime(), 0);
765 if (!thissop)
return getBoundType();
767 OP_Utils::evalOpParm(result, thissop,
"boundtype", cookparms.
getCookTime(), 0);
775 if (!thissop)
return getOrientedbbox();
777 OP_Utils::evalOpParm(result, thissop,
"orientedbbox", cookparms.
getCookTime(), 0);
785 if (!thissop)
return getDodivs();
787 OP_Utils::evalOpParm(result, thissop,
"dodivs", cookparms.
getCookTime(), 0);
795 if (!thissop)
return getDivs();
797 OP_Utils::evalOpParm(result, thissop,
"divs", cookparms.
getCookTime(), 0);
805 if (!thissop)
return getRebar();
807 OP_Utils::evalOpParm(result, thissop,
"rebar", cookparms.
getCookTime(), 0);
815 if (!thissop)
return getMinsize();
817 OP_Utils::evalOpParm(result, thissop,
"minsize", cookparms.
getCookTime(), 0);
825 if (!thissop)
return getOrient();
827 OP_Utils::evalOpParm(result, thissop,
"orient", cookparms.
getCookTime(), 0);
835 if (!thissop)
return getAccurate();
837 OP_Utils::evalOpParm(result, thissop,
"accurate", cookparms.
getCookTime(), 0);
845 if (!thissop)
return getMinradius();
847 OP_Utils::evalOpParm(result, thissop,
"minradius", cookparms.
getCookTime(), 0);
855 if (!thissop)
return getOrientedBRect();
857 OP_Utils::evalOpParm(result, thissop,
"orientedbrect", cookparms.
getCookTime(), 0);
865 if (!thissop)
return getOrigin();
867 OP_Utils::evalOpParm(result, thissop,
"origin", cookparms.
getCookTime(), 0);
875 if (!thissop)
return getDistance();
877 OP_Utils::evalOpParm(result, thissop,
"dist", cookparms.
getCookTime(), 0);
885 if (!thissop)
return getDirection();
887 OP_Utils::evalOpParm(result, thissop,
"dir", cookparms.
getCookTime(), 0);
895 if (!thissop)
return getMinpad();
897 OP_Utils::evalOpParm(result, thissop,
"minpad", cookparms.
getCookTime(), 0);
905 if (!thissop)
return getMaxpad();
907 OP_Utils::evalOpParm(result, thissop,
"maxpad", cookparms.
getCookTime(), 0);
915 if (!thissop)
return getAddXformAttrib();
917 OP_Utils::evalOpParm(result, thissop,
"addxformattrib", cookparms.
getCookTime(), 0);
925 if (!thissop)
return getXformAttrib();
927 OP_Utils::evalOpParm(result, thissop,
"xformattrib", cookparms.
getCookTime(), 0);
935 if (!thissop)
return getAddRadiiAttrib();
937 OP_Utils::evalOpParm(result, thissop,
"addradiiattrib", cookparms.
getCookTime(), 0);
945 if (!thissop)
return getRadiiAttrib();
947 OP_Utils::evalOpParm(result, thissop,
"radiiattrib", cookparms.
getCookTime(), 0);
965 bool myOrientedBRect;
971 bool myAddXformAttrib;
973 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
static void loadData(UT_IStream &is, UT_Vector4I &v)
UT_Vector3D getOrigin() const
GLuint const GLfloat * val
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
bool getAddRadiiAttrib() const
static void saveData(std::ostream &os, UT_Vector3D v)
UT_Vector3D getMinsize() const
const UT_StringHolder & getGroup() const
SYS_FORCE_INLINE const char * buffer() const
const SOP_GraphProxy * graph() 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)
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
static void loadData(UT_IStream &is, UT_Vector4D &v)
void buildFromOp(const SOP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
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)
void setOrientedbbox(bool val)
static void saveData(std::ostream &os, UT_Matrix3D v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
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)
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)
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
GLint GLenum GLsizei GLint GLsizei const void * data
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
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)
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)
void setDivs(UT_Vector3I val)
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
DEP_MicroNode * depnode() const
Grouptype getGrouptype() const
void setAccurate(bool val)
bool opRebar(const SOP_NodeVerb::CookParms &cookparms) const
void setOrient(Orient val)
void copyFrom(const SOP_NodeParms *src) override
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)
UT_Vector3D opMinpad(const SOP_NodeVerb::CookParms &cookparms) const
Utility class for containing a color ramp.
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
static void saveData(std::ostream &os, fpreal64 v)
const char * getNestParmName(TempIndex fieldnum) const override
GLdouble GLdouble GLdouble r
bool getCreateempty() const
void setOrientedBRect(bool val)
const UT_StringHolder & getRadiiAttrib() const
static void loadData(UT_IStream &is, UT_Vector2D &v)
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
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
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
UT_Vector3D getDirection() const
const UT_StringHolder & getXformAttrib() const
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
GLsizei const GLfloat * value
exint getNestNumParms(TempIndex idx) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
const OP_Context & context() const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
bool operator==(const SOP_BoundParms &src) const
static void saveData(std::ostream &os, UT_Matrix4D v)
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)
static void loadData(UT_IStream &is, fpreal64 &v)
static void saveData(std::ostream &os, UT_Vector4D v)
~SOP_BoundParms() override
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)