23 namespace SOP_VolumeVopEnums
36 using namespace UT::Literal;
62 bindprimname =
""_UTsh;
71 if (bindprim != src.
bindprim)
return false;
72 if (bindname != src.
bindname)
return false;
88 for (
int i = 0; i < list.
entries(); i++)
111 myShoppath =
""_UTsh;
112 myScript =
"null"_UTsh;
113 myVop_compiler =
"vcc -q $VOP_INCLUDEPATH -o $VOP_OBJECTFILE -e $VOP_ERRORFILE $VOP_SOURCEFILE"_UTsh;
115 myExportList =
"*"_UTsh;
116 myEnforcePrototypes =
false;
117 myVex_cwdpath =
""_UTsh;
118 myVex_outputmask =
"*"_UTsh;
119 myVex_multithread =
true;
120 myPruneVDBBlocks =
true;
121 myVex_geometrygenerator =
false;
122 myVdb_signedflood =
true;
125 myBindings.setSize(0);
126 myVexPrecision =
"auto"_UTsh;
139 if (myVexsrc != src.myVexsrc)
return false;
140 if (myShoppath != src.myShoppath)
return false;
141 if (myScript != src.myScript)
return false;
142 if (myVop_compiler != src.myVop_compiler)
return false;
143 if (mySnippet != src.mySnippet)
return false;
144 if (myExportList != src.myExportList)
return false;
145 if (myEnforcePrototypes != src.myEnforcePrototypes)
return false;
146 if (myVex_cwdpath != src.myVex_cwdpath)
return false;
147 if (myVex_outputmask != src.myVex_outputmask)
return false;
148 if (myVex_multithread != src.myVex_multithread)
return false;
149 if (myPruneVDBBlocks != src.myPruneVDBBlocks)
return false;
150 if (myVex_geometrygenerator != src.myVex_geometrygenerator)
return false;
151 if (myVdb_signedflood != src.myVdb_signedflood)
return false;
152 if (myAutobind != src.myAutobind)
return false;
153 if (myBindeach != src.myBindeach)
return false;
154 if (myBindings != src.myBindings)
return false;
155 if (myVexPrecision != src.myVexPrecision)
return false;
171 graph->
evalOpParm(myVexsrc, nodeidx,
"vexsrc", time, 0);
172 myShoppath =
""_UTsh;
173 if (
true && ( (
true&&!(((
int64(getVexsrc())!=1)))) ) )
174 graph->
evalOpParm(myShoppath, nodeidx,
"shoppath", time, 0);
175 myScript =
"null"_UTsh;
176 if (
true && ( (
true&&!(((
int64(getVexsrc())!=2)))) ) )
177 graph->
evalOpParm(myScript, nodeidx,
"script", time, 0);
178 myVop_compiler =
"vcc -q $VOP_INCLUDEPATH -o $VOP_OBJECTFILE -e $VOP_ERRORFILE $VOP_SOURCEFILE"_UTsh;
179 if (
true && ( (
true&&!(((
int64(getVexsrc())!=0)))) ) )
180 graph->
evalOpParm(myVop_compiler, nodeidx,
"vop_compiler", time, 0);
182 if (
true && ( (
true&&!(((
int64(getVexsrc())!=3)))) ) )
183 graph->
evalOpParm(mySnippet, nodeidx,
"vexsnippet", time, 0);
184 myExportList =
"*"_UTsh;
185 if (
true && ( (
true&&!(((
int64(getVexsrc())!=3)))) ) )
186 graph->
evalOpParm(myExportList, nodeidx,
"vex_exportlist", time, 0);
187 myEnforcePrototypes =
false;
188 if (
true && ( (
true&&!(((
int64(getVexsrc())!=3)))) ) )
189 graph->
evalOpParm(myEnforcePrototypes, nodeidx,
"vex_strict", time, 0);
190 myVex_cwdpath =
""_UTsh;
192 graph->
evalOpParm(myVex_cwdpath, nodeidx,
"vex_cwdpath", time, 0);
193 myVex_outputmask =
"*"_UTsh;
195 graph->
evalOpParm(myVex_outputmask, nodeidx,
"vex_outputmask", time, 0);
196 myVex_multithread =
true;
198 graph->
evalOpParm(myVex_multithread, nodeidx,
"vex_multithread", time, 0);
199 myPruneVDBBlocks =
true;
201 graph->
evalOpParm(myPruneVDBBlocks, nodeidx,
"prunevdbblocks", time, 0);
202 myVex_geometrygenerator =
false;
204 graph->
evalOpParm(myVex_geometrygenerator, nodeidx,
"vex_geometrygenerator", time, 0);
205 myVdb_signedflood =
true;
207 graph->
evalOpParm(myVdb_signedflood, nodeidx,
"vdb_signedflood", time, 0);
210 graph->
evalOpParm(myAutobind, nodeidx,
"autobind", time, 0);
212 if (
true && ( (
true&&!(((getAutobind()==1)))) ) )
213 graph->
evalOpParm(myBindeach, nodeidx,
"bindeach", time, 0);
214 if (
true && ( (!(((getAutobind()==1))||((getBindeach()==1)))) ) )
217 graph->
evalOpParm(length, nodeidx,
"bindings", time, 0);
218 if (length < 0) length = 0;
219 myBindings.setSize(length);
226 auto && _curentry = myBindings(i);
228 _curentry.bindprimname =
""_UTsh;
229 if (
true && ( (!(((getAutobind()==1))||((getBindeach()==1)))) ) && ( (
true&&!(((getAutobind()==1))||((getBindeach()==1))||((getAutobind()==1))||((getBindeach()==1)))) ) )
230 graph->
evalOpParmInst(_curentry.bindprimname, nodeidx,
"bindprimname#", parmidx, offsets, time, 0, 2-1);
231 _curentry.bindprim = 0;
232 if (
true && ( (!(((getAutobind()==1))||((getBindeach()==1)))) ) && ( (
true&&!(((getAutobind()==1))||((getBindeach()==1))||((getAutobind()==1))||((getBindeach()==1)))) ) )
233 graph->
evalOpParmInst(_curentry.bindprim, nodeidx,
"bindprim#", parmidx, offsets, time, 0, 2-1);
234 _curentry.bindname =
""_UTsh;
235 if (
true && ( (!(((getAutobind()==1))||((getBindeach()==1)))) ) && ( (
true&&!(((getAutobind()==1))||((getBindeach()==1))||((getAutobind()==1))||((getBindeach()==1)))) ) )
236 graph->
evalOpParmInst(_curentry.bindname, nodeidx,
"bindname#", parmidx, offsets, time, 0, 2-1);
242 myVexPrecision =
"auto"_UTsh;
244 graph->
evalOpParm(myVexPrecision, nodeidx,
"vex_precision", time, 0);
260 template <
typename T>
267 if (idx.
size() != instance.
size()+1)
272 coerceValue(value, myVexsrc);
275 coerceValue(value, myShoppath);
278 coerceValue(value, myScript);
281 coerceValue(value, myVop_compiler);
284 coerceValue(value, mySnippet);
287 coerceValue(value, myExportList);
290 coerceValue(value, myEnforcePrototypes);
293 coerceValue(value, myVex_cwdpath);
296 coerceValue(value, myVex_outputmask);
299 coerceValue(value, myVex_multithread);
302 coerceValue(value, myPruneVDBBlocks);
305 coerceValue(value, myVex_geometrygenerator);
308 coerceValue(value, myVdb_signedflood);
311 coerceValue(value, myAutobind);
314 coerceValue(value, myBindeach);
318 coerceValue(value, myBindings.entries());
319 else if (instance[0] < myBindings.entries())
321 auto && _data = myBindings(instance[0]);
325 coerceValue(value, _data.bindprimname);
328 coerceValue(value, _data.bindprim);
331 coerceValue(value, _data.bindname);
338 coerceValue(value, myVexPrecision);
354 { doGetParmValue(idx, instance, value); }
356 { doGetParmValue(idx, instance, value); }
358 { doGetParmValue(idx, instance, value); }
360 { doGetParmValue(idx, instance, value); }
362 { doGetParmValue(idx, instance, value); }
364 { doGetParmValue(idx, instance, value); }
366 { doGetParmValue(idx, instance, value); }
368 { doGetParmValue(idx, instance, value); }
370 { doGetParmValue(idx, instance, value); }
372 { doGetParmValue(idx, instance, value); }
374 { doGetParmValue(idx, instance, value); }
376 template <
typename T>
383 if (idx.
size() != instance.
size()+1)
388 coerceValue(myVexsrc, clampMinValue(0, clampMaxValue(3, value ) ));
391 coerceValue(myShoppath, ( ( value ) ));
394 coerceValue(myScript, ( ( value ) ));
397 coerceValue(myVop_compiler, ( ( value ) ));
400 coerceValue(mySnippet, ( ( value ) ));
403 coerceValue(myExportList, ( ( value ) ));
406 coerceValue(myEnforcePrototypes, ( ( value ) ));
409 coerceValue(myVex_cwdpath, ( ( value ) ));
412 coerceValue(myVex_outputmask, ( ( value ) ));
415 coerceValue(myVex_multithread, ( ( value ) ));
418 coerceValue(myPruneVDBBlocks, ( ( value ) ));
421 coerceValue(myVex_geometrygenerator, ( ( value ) ));
424 coerceValue(myVdb_signedflood, ( ( value ) ));
427 coerceValue(myAutobind, ( ( value ) ));
430 coerceValue(myBindeach, ( ( value ) ));
436 coerceValue(newsize, value);
437 if (newsize < 0) newsize = 0;
438 myBindings.setSize(newsize);
444 myBindings.setSizeIfNeeded(instance[0]+1);
445 auto && _data = myBindings(instance[0]);
449 coerceValue(_data.bindprimname, value);
452 coerceValue(_data.bindprim, value);
455 coerceValue(_data.bindname, value);
462 coerceValue(myVexPrecision, ( ( value ) ));
469 { doSetParmValue(idx, instance, value); }
471 { doSetParmValue(idx, instance, value); }
473 { doSetParmValue(idx, instance, value); }
475 { doSetParmValue(idx, instance, value); }
477 { doSetParmValue(idx, instance, value); }
479 { doSetParmValue(idx, instance, value); }
481 { doSetParmValue(idx, instance, value); }
483 { doSetParmValue(idx, instance, value); }
485 { doSetParmValue(idx, instance, value); }
487 { doSetParmValue(idx, instance, value); }
489 { doSetParmValue(idx, instance, value); }
507 if (fieldnum.
size() < 1)
518 return "vop_compiler";
522 return "vex_exportlist";
526 return "vex_cwdpath";
528 return "vex_outputmask";
530 return "vex_multithread";
532 return "prunevdbblocks";
534 return "vex_geometrygenerator";
536 return "vdb_signedflood";
542 if (fieldnum.
size() == 1)
547 return "bindprimname#";
556 return "vex_precision";
564 if (fieldnum.
size() < 1)
565 return PARM_UNSUPPORTED;
599 if (fieldnum.
size() == 1)
600 return PARM_MULTIPARM;
611 return PARM_UNSUPPORTED;
616 return PARM_UNSUPPORTED;
652 loadData(is, rampdata);
670 int typelen = colon - data.
buffer();
684 {
int64 iv =
v; UTwrite(os, &iv); }
686 { UTwrite<fpreal64>(os, &
v); }
688 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
690 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
691 UTwrite<fpreal64>(os, &v.
z()); }
693 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
694 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
706 if (s) s->save(ostr);
708 saveData(os, result);
715 ostr << s->getDataTypeToken();
720 saveData(os, result);
724 void save(std::ostream &os)
const
728 saveData(os, myVexsrc);
729 saveData(os, myShoppath);
730 saveData(os, myScript);
731 saveData(os, myVop_compiler);
732 saveData(os, mySnippet);
733 saveData(os, myExportList);
734 saveData(os, myEnforcePrototypes);
735 saveData(os, myVex_cwdpath);
736 saveData(os, myVex_outputmask);
737 saveData(os, myVex_multithread);
738 saveData(os, myPruneVDBBlocks);
739 saveData(os, myVex_geometrygenerator);
740 saveData(os, myVdb_signedflood);
741 saveData(os, myAutobind);
742 saveData(os, myBindeach);
745 UTwrite(os, &length);
748 auto && _curentry = myBindings(i);
750 saveData(os, _curentry.bindprimname);
751 saveData(os, _curentry.bindprim);
752 saveData(os, _curentry.bindname);
756 saveData(os, myVexPrecision);
769 loadData(is, myVexsrc);
770 loadData(is, myShoppath);
771 loadData(is, myScript);
772 loadData(is, myVop_compiler);
773 loadData(is, mySnippet);
774 loadData(is, myExportList);
775 loadData(is, myEnforcePrototypes);
776 loadData(is, myVex_cwdpath);
777 loadData(is, myVex_outputmask);
778 loadData(is, myVex_multithread);
779 loadData(is, myPruneVDBBlocks);
780 loadData(is, myVex_geometrygenerator);
781 loadData(is, myVdb_signedflood);
782 loadData(is, myAutobind);
783 loadData(is, myBindeach);
787 myBindings.setSize(length);
790 auto && _curentry = myBindings(i);
792 loadData(is, _curentry.bindprimname);
793 loadData(is, _curentry.bindprim);
794 loadData(is, _curentry.bindname);
798 loadData(is, myVexPrecision);
808 if (!thissop)
return getVexsrc();
810 OP_Utils::evalOpParm(result, thissop,
"vexsrc", cookparms.
getCookTime(), 0);
818 if (!thissop)
return getShoppath();
820 OP_Utils::evalOpParm(result, thissop,
"shoppath", cookparms.
getCookTime(), 0);
828 if (!thissop)
return getScript();
830 OP_Utils::evalOpParm(result, thissop,
"script", cookparms.
getCookTime(), 0);
838 if (!thissop)
return getVop_compiler();
840 OP_Utils::evalOpParm(result, thissop,
"vop_compiler", cookparms.
getCookTime(), 0);
848 if (!thissop)
return getSnippet();
850 OP_Utils::evalOpParm(result, thissop,
"vexsnippet", cookparms.
getCookTime(), 0);
858 if (!thissop)
return getExportList();
860 OP_Utils::evalOpParm(result, thissop,
"vex_exportlist", cookparms.
getCookTime(), 0);
868 if (!thissop)
return getEnforcePrototypes();
870 OP_Utils::evalOpParm(result, thissop,
"vex_strict", cookparms.
getCookTime(), 0);
878 if (!thissop)
return getVex_cwdpath();
880 OP_Utils::evalOpParm(result, thissop,
"vex_cwdpath", cookparms.
getCookTime(), 0);
888 if (!thissop)
return getVex_outputmask();
890 OP_Utils::evalOpParm(result, thissop,
"vex_outputmask", cookparms.
getCookTime(), 0);
898 if (!thissop)
return getVex_multithread();
900 OP_Utils::evalOpParm(result, thissop,
"vex_multithread", cookparms.
getCookTime(), 0);
908 if (!thissop)
return getPruneVDBBlocks();
910 OP_Utils::evalOpParm(result, thissop,
"prunevdbblocks", cookparms.
getCookTime(), 0);
918 if (!thissop)
return getVex_geometrygenerator();
920 OP_Utils::evalOpParm(result, thissop,
"vex_geometrygenerator", cookparms.
getCookTime(), 0);
928 if (!thissop)
return getVdb_signedflood();
930 OP_Utils::evalOpParm(result, thissop,
"vdb_signedflood", cookparms.
getCookTime(), 0);
938 if (!thissop)
return getAutobind();
940 OP_Utils::evalOpParm(result, thissop,
"autobind", cookparms.
getCookTime(), 0);
948 if (!thissop)
return getBindeach();
950 OP_Utils::evalOpParm(result, thissop,
"bindeach", cookparms.
getCookTime(), 0);
958 if (!thissop)
return getBindings().entries();
960 OP_Utils::evalOpParm(result, thissop,
"bindings", cookparms.
getCookTime(), 0);
964 {
return opinstBindings_bindprimname(cookparms, &_idx); }
968 if (!thissop)
return (myBindings(_idx[0]).bindprimname);
970 _parmidx[1-1] = _idx[1-1] + 1;
973 OP_Utils::evalOpParmInst(result, thissop,
"bindprimname#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
977 {
return opinstBindings_bindprim(cookparms, &_idx); }
981 if (!thissop)
return (myBindings(_idx[0]).bindprim);
983 _parmidx[1-1] = _idx[1-1] + 1;
986 OP_Utils::evalOpParmInst(result, thissop,
"bindprim#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
990 {
return opinstBindings_bindname(cookparms, &_idx); }
994 if (!thissop)
return (myBindings(_idx[0]).bindname);
996 _parmidx[1-1] = _idx[1-1] + 1;
999 OP_Utils::evalOpParmInst(result, thissop,
"bindname#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1008 if (!thissop)
return getVexPrecision();
1010 OP_Utils::evalOpParm(result, thissop,
"vex_precision", cookparms.
getCookTime(), 0);
1021 bool myEnforcePrototypes;
1024 bool myVex_multithread;
1025 bool myPruneVDBBlocks;
1026 bool myVex_geometrygenerator;
1027 bool myVdb_signedflood;
static void saveData(std::ostream &os, UT_Matrix4D v)
static void loadData(UT_IStream &is, UT_Vector3D &v)
GLenum GLuint GLenum GLsizei const GLchar * buf
UT_StringHolder opinstBindings_bindprimname(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
SOP_Node * getNode() const
static void saveData(std::ostream &os, UT_Vector4D v)
void setSnippet(const UT_StringHolder &val)
const UT_StringHolder & getSnippet() const
UT_StringHolder opinstBindings_bindname(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
bool getVex_multithread() const
static void saveData(std::ostream &os, int64 v)
void setBindeach(bool val)
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
bool opVex_geometrygenerator(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getShoppath() const
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
UT_StringHolder bindprimname
exint getNestNumParms(TempIndex idx) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
void copyFrom(const OP_NodeParms *src) override
static void loadData(UT_IStream &is, int64 &v)
static void loadData(UT_IStream &is, UT_Vector2I &v)
bool opVdb_signedflood(const SOP_NodeVerb::CookParms &cookparms) const
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const
const OP_Context & context() const
const char * getNestParmName(TempIndex fieldnum) const override
constexpr SYS_FORCE_INLINE T & z() noexcept
SYS_FORCE_INLINE const char * buffer() const
void setVex_geometrygenerator(bool val)
int64 opinstBindings_bindprim(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
UT_StringHolder opShoppath(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, bool v)
GLuint GLsizei GLsizei * length
An output stream object that owns its own string buffer storage.
void setVexPrecision(const UT_StringHolder &val)
**But if you need a result
void setVex_cwdpath(const UT_StringHolder &val)
void setBindings(const UT_Array< Bindings > &val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
UT_StringHolder opExportList(const SOP_NodeVerb::CookParms &cookparms) const
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 setVexsrc(Vexsrc val)
UT_StringHolder opVex_cwdpath(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const SOP_VolumeVopParms &src) const
static void saveData(std::ostream &os, fpreal64 v)
constexpr SYS_FORCE_INLINE T & x() noexcept
void setEnforcePrototypes(bool val)
GLuint GLsizei const GLuint const GLintptr * offsets
const UT_StringHolder & getVexPrecision() const
constexpr SYS_FORCE_INLINE T & x() noexcept
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
const UT_StringHolder & getScript() const
UT_StringHolder opVop_compiler(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Vexsrc opVexsrc(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
void loadFromOpSubclass(const LoadParms &loadparms) override
bool operator!=(const Bindings &src) const
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
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
bool getPruneVDBBlocks() const
exint read(bool *array, exint sz=1)
const OP_GraphProxy * graph() const
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
void setAutobind(bool val)
SYS_FORCE_INLINE UT_StringHolder getToken(Vexsrc enum_value)
bool isParmColorRamp(exint idx) const override
static void loadData(UT_IStream &is, bool &v)
const UT_StringHolder & getVex_cwdpath() const
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
bool getEnforcePrototypes() const
UT_StringHolder opVexPrecision(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
static void loadData(UT_IStream &is, UT_Vector4I &v)
virtual void evalOpParmInst(int64 &v, NodeIdx node, const char *parmname, const int *inst, const int *offsets, fpreal time, DEP_MicroNode *depnode, int nestlevel=1) const =0
static void loadData(UT_IStream &is, UT_Matrix3D &v)
bool opBindeach(const SOP_NodeVerb::CookParms &cookparms) const
void setExportList(const UT_StringHolder &val)
UT_StringHolder opBindings_bindname(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool operator==(const Bindings &src) const
void setVop_compiler(const UT_StringHolder &val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
SYS_FORCE_INLINE void strcat(const char *src)
void saveBinary(std::ostream &os) const
Save string to binary stream.
UT_StringHolder opSnippet(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
GT_API const UT_StringHolder version
exint entries() const
Alias of size(). size() is preferred.
static void loadData(UT_IStream &is, UT_Matrix4D &v)
static void loadData(UT_IStream &is, UT_Vector2D &v)
static void saveData(std::ostream &os, UT_Matrix2D v)
UT_StringHolder opScript(const SOP_NodeVerb::CookParms &cookparms) const
void save(std::ostream &os) const
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
const UT_StringHolder & getVex_outputmask() const
static void saveData(std::ostream &os, UT_Vector3D v)
const UT_StringHolder & getExportList() const
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
void setPruneVDBBlocks(bool val)
DEP_MicroNode * depnode() const
LeafData & operator=(const LeafData &)=delete
static void loadData(UT_IStream &is, fpreal64 &v)
Utility class for containing a color ramp.
static void loadData(UT_IStream &is, UT_Vector4D &v)
constexpr SYS_FORCE_INLINE T & w() noexcept
bool operator!=(const SOP_VolumeVopParms &src) const
SYS_FORCE_INLINE void append(char character)
void setVex_outputmask(const UT_StringHolder &val)
void setVdb_signedflood(bool val)
bool opPruneVDBBlocks(const SOP_NodeVerb::CookParms &cookparms) const
bool opAutobind(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Vector2D v)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
fpreal getCookTime() const
static void saveData(std::ostream &os, UT_Matrix3D v)
const UT_Array< Bindings > & getBindings() const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
const char * findChar(int c) const
void setVex_multithread(bool val)
bool getVdb_signedflood() const
UT_StringHolder opBindings_bindprimname(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
bool getVex_geometrygenerator() const
UT_StringHolder createString(const UT_Array< Bindings > &list) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
bool opEnforcePrototypes(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & y() noexcept
UT_StringHolder opVex_outputmask(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getVop_compiler() const
static void loadData(UT_IStream &is, UT_StringHolder &v)
ParmType getNestParmType(TempIndex fieldnum) const override
bool opVex_multithread(const SOP_NodeVerb::CookParms &cookparms) const
void setScript(const UT_StringHolder &val)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
void setShoppath(const UT_StringHolder &val)
constexpr SYS_FORCE_INLINE T & y() noexcept
SYS_FORCE_INLINE bool isstring() const
bool load(UT_IStream &is)
static void loadData(UT_IStream &is, UT_Vector3I &v)
int64 opBindings_bindprim(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
static void saveData(std::ostream &os, UT_StringHolder s)
exint opBindings(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
constexpr SYS_FORCE_INLINE T & x() noexcept
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override