23 namespace SOP_MergePackedEnums
 
   34         using namespace UT::Literal;
 
   51         using namespace UT::Literal;
 
   68         using namespace UT::Literal;
 
  100             if (useinput != src.
useinput) 
return false;
 
  118         for (
int i = 0; i < list.
entries(); i++)
 
  124             buf.
appendSprintf(
"%s", (list(i).useinput) ? 
"true" : 
"false");
 
  140         mySetPrimName = 
true;
 
  141         myPrimName = 
"name"_UTsh;
 
  142         mySetPrimIndex = 
false;
 
  143         myPrimIndex = 
"index"_UTsh;
 
  144         myNameOverride = 
false;
 
  145         myNameOverrideAttrib = 
"name"_UTsh;
 
  147         myOnlyPackUnpacked = 
false;
 
  148         myIgnoreEmpty = 
false;
 
  150         mySingleMode = 
false;
 
  166         if (mySetPrimName != src.mySetPrimName) 
return false;
 
  167         if (myPrimName != src.myPrimName) 
return false;
 
  168         if (mySetPrimIndex != src.mySetPrimIndex) 
return false;
 
  169         if (myPrimIndex != src.myPrimIndex) 
return false;
 
  170         if (myNameOverride != src.myNameOverride) 
return false;
 
  171         if (myNameOverrideAttrib != src.myNameOverrideAttrib) 
return false;
 
  172         if (myPack != src.myPack) 
return false;
 
  173         if (myOnlyPackUnpacked != src.myOnlyPackUnpacked) 
return false;
 
  174         if (myIgnoreEmpty != src.myIgnoreEmpty) 
return false;
 
  175         if (myNamingMethod != src.myNamingMethod) 
return false;
 
  176         if (mySingleMode != src.mySingleMode) 
return false;
 
  177         if (mySingleIndex != src.mySingleIndex) 
return false;
 
  178         if (myNames != src.myNames) 
return false;
 
  179         if (myPivot != src.myPivot) 
return false;
 
  198         mySetPrimName = 
true;
 
  200             graph->
evalOpParm(mySetPrimName, nodeidx, 
"setprimname", time, graph->
isDirect()?
nullptr:depnode);
 
  201         myPrimName = 
"name"_UTsh;
 
  202         if (
true && ( (
true&&!(((getSetPrimName()!=1)))) ) )
 
  203             graph->
evalOpParm(myPrimName, nodeidx, 
"primname", time, graph->
isDirect()?
nullptr:depnode);
 
  204         mySetPrimIndex = 
false;
 
  206             graph->
evalOpParm(mySetPrimIndex, nodeidx, 
"setprimindex", time, graph->
isDirect()?
nullptr:depnode);
 
  207         myPrimIndex = 
"index"_UTsh;
 
  208         if (
true && ( (
true&&!(((getSetPrimIndex()!=1)))) ) )
 
  209             graph->
evalOpParm(myPrimIndex, nodeidx, 
"primindex", time, graph->
isDirect()?
nullptr:depnode);
 
  210         myNameOverride = 
false;
 
  212             graph->
evalOpParm(myNameOverride, nodeidx, 
"nameoverride", time, graph->
isDirect()?
nullptr:depnode);
 
  213         myNameOverrideAttrib = 
"name"_UTsh;
 
  214         if (
true && ( (
true&&!(((getNameOverride()!=1)))) ) )
 
  215             graph->
evalOpParm(myNameOverrideAttrib, nodeidx, 
"nameoverrideattrib", time, graph->
isDirect()?
nullptr:depnode);
 
  219         myOnlyPackUnpacked = 
false;
 
  220         if (
true && ( (
true&&!(((getPack()!=1)))) ) )
 
  221             graph->
evalOpParm(myOnlyPackUnpacked, nodeidx, 
"onlypackunpacked", time, graph->
isDirect()?
nullptr:depnode);
 
  222         myIgnoreEmpty = 
false;
 
  224             graph->
evalOpParm(myIgnoreEmpty, nodeidx, 
"ignoreempty", time, graph->
isDirect()?
nullptr:depnode);
 
  227             graph->
evalOpParm(myNamingMethod, nodeidx, 
"namingmethod", time, graph->
isDirect()?
nullptr:depnode);
 
  228         mySingleMode = 
false;
 
  230             graph->
evalOpParm(mySingleMode, nodeidx, 
"singlemode", time, graph->
isDirect()?
nullptr:depnode);
 
  232         if (
true && ( (
true&&!(((getSingleMode()!=1)))) ) )
 
  233             graph->
evalOpParm(mySingleIndex, nodeidx, 
"singleindex", time, graph->
isDirect()?
nullptr:depnode);
 
  238             if (length < 0) length = 0;
 
  239             myNames.setSize(length);
 
  246                 auto && _curentry = myNames(i);
 
  248                 _curentry.useinput = 
true;
 
  250                     graph->
evalOpParmInst(_curentry.useinput, nodeidx, 
"useinput#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  251                 _curentry.name = 
""_UTsh;
 
  253                     graph->
evalOpParmInst(_curentry.name, nodeidx, 
"name#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  254                 _curentry.treatasfolder = 0;
 
  256                     graph->
evalOpParmInst(_curentry.treatasfolder, nodeidx, 
"treatasfolder#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
 
  263         if (
true && ( (
true&&!(((getPack()!=1)))) ) )
 
  264             graph->
evalOpParm(myPivot, nodeidx, 
"pivot", time, graph->
isDirect()?
nullptr:depnode);
 
  280     template <
typename T>
 
  287         if (idx.
size() != instance.
size()+1)
 
  292                 coerceValue(value, mySetPrimName);
 
  295                 coerceValue(value, myPrimName);
 
  298                 coerceValue(value, mySetPrimIndex);
 
  301                 coerceValue(value, myPrimIndex);
 
  304                 coerceValue(value, myNameOverride);
 
  307                 coerceValue(value, myNameOverrideAttrib);
 
  310                 coerceValue(value, myPack);
 
  313                 coerceValue(value, myOnlyPackUnpacked);
 
  316                 coerceValue(value, myIgnoreEmpty);
 
  319                 coerceValue(value, myNamingMethod);
 
  322                 coerceValue(value, mySingleMode);
 
  325                 coerceValue(value, mySingleIndex);
 
  329                     coerceValue(value, myNames.entries());
 
  330                 else if (instance[0] < myNames.entries())
 
  332                     auto && _data = myNames(instance[0]);
 
  336                         coerceValue(value, _data.useinput);
 
  339                         coerceValue(value, _data.name);
 
  342                         coerceValue(value, _data.treatasfolder);
 
  349                 coerceValue(value, myPivot);
 
  365     { doGetParmValue(idx, instance, value); }
 
  367     { doGetParmValue(idx, instance, value); }
 
  369     { doGetParmValue(idx, instance, value); }
 
  371     { doGetParmValue(idx, instance, value); }
 
  373     { doGetParmValue(idx, instance, value); }
 
  375     { doGetParmValue(idx, instance, value); }
 
  377     { doGetParmValue(idx, instance, value); }
 
  379     { doGetParmValue(idx, instance, value); }
 
  381     { doGetParmValue(idx, instance, value); }
 
  383     { doGetParmValue(idx, instance, value); }
 
  385     { doGetParmValue(idx, instance, value); }
 
  387     template <
typename T>
 
  394         if (idx.
size() != instance.
size()+1)
 
  399                 coerceValue(mySetPrimName, ( ( value ) ));
 
  402                 coerceValue(myPrimName, ( ( value ) ));
 
  405                 coerceValue(mySetPrimIndex, ( ( value ) ));
 
  408                 coerceValue(myPrimIndex, ( ( value ) ));
 
  411                 coerceValue(myNameOverride, ( ( value ) ));
 
  414                 coerceValue(myNameOverrideAttrib, ( ( value ) ));
 
  417                 coerceValue(myPack, ( ( value ) ));
 
  420                 coerceValue(myOnlyPackUnpacked, ( ( value ) ));
 
  423                 coerceValue(myIgnoreEmpty, ( ( value ) ));
 
  426                 coerceValue(myNamingMethod, clampMinValue(0,  clampMaxValue(1,  value ) ));
 
  429                 coerceValue(mySingleMode, ( ( value ) ));
 
  432                 coerceValue(mySingleIndex, clampMinValue(1,  ( value ) ));
 
  438                     coerceValue(newsize, value);
 
  439                     if (newsize < 0) newsize = 0;
 
  440                     myNames.setSize(newsize);
 
  446                     myNames.setSizeIfNeeded(instance[0]+1);
 
  447                     auto && _data = myNames(instance[0]);
 
  451                         coerceValue(_data.useinput, value);
 
  454                         coerceValue(_data.name, value);
 
  457                         coerceValue(_data.treatasfolder, value);
 
  464                 coerceValue(myPivot, clampMinValue(0,  clampMaxValue(1,  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); }
 
  491     { doSetParmValue(idx, instance, value); }
 
  509         if (fieldnum.
size() < 1)
 
  514                 return "setprimname";
 
  518                 return "setprimindex";
 
  522                 return "nameoverride";
 
  524                 return "nameoverrideattrib";
 
  528                 return "onlypackunpacked";
 
  530                 return "ignoreempty";
 
  532                 return "namingmethod";
 
  536                 return "singleindex";
 
  538                 if (fieldnum.
size() == 1)
 
  547                         return "treatasfolder#";
 
  560         if (fieldnum.
size() < 1)
 
  561             return PARM_UNSUPPORTED;
 
  589                 if (fieldnum.
size() == 1)
 
  590                     return PARM_MULTIPARM;
 
  601                 return PARM_UNSUPPORTED;
 
  606         return PARM_UNSUPPORTED;
 
  642         loadData(is, rampdata);
 
  660                 int             typelen = colon - data.
buffer();
 
  674     { 
int64 iv = 
v; UTwrite(os, &iv); }
 
  676     { UTwrite<fpreal64>(os, &
v); }
 
  678     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
 
  680     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
 
  681       UTwrite<fpreal64>(os, &v.
z()); }
 
  683     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
 
  684       UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
 
  696         if (s) s->save(ostr);
 
  698         saveData(os, result);
 
  705             ostr << s->getDataTypeToken();
 
  710         saveData(os, result);
 
  714     void         save(std::ostream &os)
 const 
  718         saveData(os, mySetPrimName);
 
  719         saveData(os, myPrimName);
 
  720         saveData(os, mySetPrimIndex);
 
  721         saveData(os, myPrimIndex);
 
  722         saveData(os, myNameOverride);
 
  723         saveData(os, myNameOverrideAttrib);
 
  724         saveData(os, myPack);
 
  725         saveData(os, myOnlyPackUnpacked);
 
  726         saveData(os, myIgnoreEmpty);
 
  727         saveData(os, myNamingMethod);
 
  728         saveData(os, mySingleMode);
 
  729         saveData(os, mySingleIndex);
 
  732             UTwrite(os, &length);
 
  735                 auto && _curentry = myNames(i);
 
  737                 saveData(os, _curentry.useinput);
 
  738                 saveData(os, _curentry.name);
 
  739                 saveData(os, _curentry.treatasfolder);
 
  743         saveData(os, myPivot);
 
  756         loadData(is, mySetPrimName);
 
  757         loadData(is, myPrimName);
 
  758         loadData(is, mySetPrimIndex);
 
  759         loadData(is, myPrimIndex);
 
  760         loadData(is, myNameOverride);
 
  761         loadData(is, myNameOverrideAttrib);
 
  762         loadData(is, myPack);
 
  763         loadData(is, myOnlyPackUnpacked);
 
  764         loadData(is, myIgnoreEmpty);
 
  765         loadData(is, myNamingMethod);
 
  766         loadData(is, mySingleMode);
 
  767         loadData(is, mySingleIndex);
 
  771             myNames.setSize(length);
 
  774                 auto && _curentry = myNames(i);
 
  776                 loadData(is, _curentry.useinput);
 
  777                 loadData(is, _curentry.name);
 
  778                 loadData(is, _curentry.treatasfolder);
 
  782         loadData(is, myPivot);
 
  792         if (!thissop) 
return getSetPrimName();
 
  794         OP_Utils::evalOpParm(result, thissop, 
"setprimname", cookparms.
getCookTime(), 0);
 
  802         if (!thissop) 
return getPrimName();
 
  804         OP_Utils::evalOpParm(result, thissop, 
"primname", cookparms.
getCookTime(), 0);
 
  812         if (!thissop) 
return getSetPrimIndex();
 
  814         OP_Utils::evalOpParm(result, thissop, 
"setprimindex", cookparms.
getCookTime(), 0);
 
  822         if (!thissop) 
return getPrimIndex();
 
  824         OP_Utils::evalOpParm(result, thissop, 
"primindex", cookparms.
getCookTime(), 0);
 
  832         if (!thissop) 
return getNameOverride();
 
  834         OP_Utils::evalOpParm(result, thissop, 
"nameoverride", cookparms.
getCookTime(), 0);
 
  842         if (!thissop) 
return getNameOverrideAttrib();
 
  844         OP_Utils::evalOpParm(result, thissop, 
"nameoverrideattrib", cookparms.
getCookTime(), 0);
 
  852         if (!thissop) 
return getPack();
 
  854         OP_Utils::evalOpParm(result, thissop, 
"pack", cookparms.
getCookTime(), 0);
 
  862         if (!thissop) 
return getOnlyPackUnpacked();
 
  864         OP_Utils::evalOpParm(result, thissop, 
"onlypackunpacked", cookparms.
getCookTime(), 0);
 
  872         if (!thissop) 
return getIgnoreEmpty();
 
  874         OP_Utils::evalOpParm(result, thissop, 
"ignoreempty", cookparms.
getCookTime(), 0);
 
  882         if (!thissop) 
return getNamingMethod();
 
  884         OP_Utils::evalOpParm(result, thissop, 
"namingmethod", cookparms.
getCookTime(), 0);
 
  892         if (!thissop) 
return getSingleMode();
 
  894         OP_Utils::evalOpParm(result, thissop, 
"singlemode", cookparms.
getCookTime(), 0);
 
  902         if (!thissop) 
return getSingleIndex();
 
  904         OP_Utils::evalOpParm(result, thissop, 
"singleindex", cookparms.
getCookTime(), 0);
 
  912         if (!thissop) 
return getNames().entries();
 
  914         OP_Utils::evalOpParm(result, thissop, 
"names", cookparms.
getCookTime(), 0);
 
  918     { 
return opinstNames_useinput(cookparms, &_idx); }
 
  922         if (!thissop) 
return (myNames(_idx[0]).useinput);
 
  924         _parmidx[1-1] = _idx[1-1] + 1;
 
  927         OP_Utils::evalOpParmInst(result, thissop, 
"useinput#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
  931     { 
return opinstNames_name(cookparms, &_idx); }
 
  935         if (!thissop) 
return (myNames(_idx[0]).
name);
 
  937         _parmidx[1-1] = _idx[1-1] + 1;
 
  940         OP_Utils::evalOpParmInst(result, thissop, 
"name#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
  944     { 
return opinstNames_treatasfolder(cookparms, &_idx); }
 
  948         if (!thissop) 
return (myNames(_idx[0]).treatasfolder);
 
  950         _parmidx[1-1] = _idx[1-1] + 1;
 
  953         OP_Utils::evalOpParmInst(result, thissop, 
"treatasfolder#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
 
  962         if (!thissop) 
return getPivot();
 
  964         OP_Utils::evalOpParm(result, thissop, 
"pivot", cookparms.
getCookTime(), 0);
 
  965         return Pivot(result);
 
  976     bool myOnlyPackUnpacked;
 
  978     int64 myNamingMethod;
 
const UT_StringHolder & getNameOverrideAttrib() const 
 
void setSingleMode(bool val)
 
UT_StringHolder opPrimIndex(const SOP_NodeVerb::CookParms &cookparms) const 
 
bool opNames_useinput(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
 
bool opIgnoreEmpty(const SOP_NodeVerb::CookParms &cookparms) const 
 
bool getSetPrimName() const 
 
GLenum GLuint GLenum GLsizei const GLchar * buf
 
static void saveData(std::ostream &os, UT_Matrix4D v)
 
bool getIgnoreEmpty() const 
 
static void loadData(UT_IStream &is, UT_Matrix3D &v)
 
SOP_Node * getNode() const 
 
int64 opinstNames_treatasfolder(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
 
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
 
static void loadData(UT_IStream &is, bool &v)
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
 
const char * getNestParmName(TempIndex fieldnum) const override
 
UT_StringHolder opinstNames_name(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
exint bread(int32 *buffer, exint asize=1)
 
GT_API const UT_StringHolder time
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
bool load(UT_IStream &is)
 
GLsizei const GLfloat * value
 
static void saveData(std::ostream &os, PRM_DataItemHandle s)
 
static void loadData(UT_IStream &is, UT_Vector3D &v)
 
void setSetPrimName(bool val)
 
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const 
 
const OP_Context & context() const 
 
static void loadData(UT_IStream &is, UT_Vector4D &v)
 
constexpr SYS_FORCE_INLINE T & z() noexcept
 
SYS_FORCE_INLINE const char * buffer() const 
 
void setNameOverrideAttrib(const UT_StringHolder &val)
 
GLuint GLsizei GLsizei * length
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
 
An output stream object that owns its own string buffer storage. 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
 
**But if you need a result
 
bool opSetPrimName(const SOP_NodeVerb::CookParms &cookparms) const 
 
exint opNames(const SOP_NodeVerb::CookParms &cookparms) const 
 
bool operator!=(const SOP_MergePackedParms &src) const 
 
static void saveData(std::ostream &os, UT_Matrix3D v)
 
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
 
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer. 
 
int64 opSingleIndex(const SOP_NodeVerb::CookParms &cookparms) const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
 
void setPrimIndex(const UT_StringHolder &val)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
 
constexpr SYS_FORCE_INLINE T & x() noexcept
 
Pivot opPivot(const SOP_NodeVerb::CookParms &cookparms) const 
 
int64 getSingleIndex() const 
 
GLuint GLsizei const GLuint const GLintptr * offsets
 
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
 
int64 opNames_treatasfolder(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
 
constexpr SYS_FORCE_INLINE T & x() noexcept
 
SYS_FORCE_INLINE UT_StringHolder getToken(Pivot enum_value)
 
static void loadData(UT_IStream &is, UT_Vector4I &v)
 
static void saveData(std::ostream &os, bool v)
 
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
 
static void saveData(std::ostream &os, UT_Vector2D v)
 
NamingMethod opNamingMethod(const SOP_NodeVerb::CookParms &cookparms) const 
 
UT_StringHolder opNameOverrideAttrib(const SOP_NodeVerb::CookParms &cookparms) const 
 
SYS_FORCE_INLINE const char * buffer() const 
 
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr. 
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
 
constexpr SYS_FORCE_INLINE T & z() noexcept
 
static void loadData(UT_IStream &is, UT_Vector2D &v)
 
static void saveData(std::ostream &os, UT_Vector3D v)
 
exint read(bool *array, exint sz=1)
 
const OP_GraphProxy * graph() const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
 
void setNames(const UT_Array< Names > &val)
 
bool operator==(const SOP_MergePackedParms &src) const 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
 
static void loadData(UT_IStream &is, UT_Vector2I &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
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
 
bool opPack(const SOP_NodeVerb::CookParms &cookparms) const 
 
UT_StringHolder opPrimName(const SOP_NodeVerb::CookParms &cookparms) const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
 
GLuint const GLchar * name
 
bool operator!=(const Names &src) const 
 
exint getNestNumParms(TempIndex idx) const override
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
 
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
 
SYS_FORCE_INLINE void strcat(const char *src)
 
void saveBinary(std::ostream &os) const 
Save string to binary stream. 
 
void setPrimName(const UT_StringHolder &val)
 
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
 
bool opOnlyPackUnpacked(const SOP_NodeVerb::CookParms &cookparms) const 
 
GT_API const UT_StringHolder version
 
bool operator==(const Names &src) const 
 
exint entries() const 
Alias of size(). size() is preferred. 
 
static void saveData(std::ostream &os, UT_Vector4D v)
 
void setNamingMethod(NamingMethod val)
 
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
 
static void loadData(UT_IStream &is, UT_Vector3I &v)
 
bool getNameOverride() const 
 
bool opNameOverride(const SOP_NodeVerb::CookParms &cookparms) const 
 
bool getSetPrimIndex() const 
 
ParmType getNestParmType(TempIndex fieldnum) const override
 
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
 
bool isParmColorRamp(exint idx) const override
 
DEP_MicroNode * depnode() const 
 
void loadFromOpSubclass(const LoadParms &loadparms) override
 
static void loadData(UT_IStream &is, fpreal64 &v)
 
LeafData & operator=(const LeafData &)=delete
 
UT_StringHolder createString(const UT_Array< Names > &list) const 
 
Utility class for containing a color ramp. 
 
bool getOnlyPackUnpacked() const 
 
constexpr SYS_FORCE_INLINE T & w() noexcept
 
SYS_FORCE_INLINE void append(char character)
 
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
 
static void saveData(std::ostream &os, fpreal64 v)
 
virtual UT_StringHolder baseGetSignature() const 
 
void setSetPrimIndex(bool val)
 
const UT_StringHolder & getPrimName() const 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
 
fpreal getCookTime() const 
 
void save(std::ostream &os) const 
 
NamingMethod getNamingMethod() const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
 
bool opSingleMode(const SOP_NodeVerb::CookParms &cookparms) const 
 
void setNameOverride(bool val)
 
void setSingleIndex(int64 val)
 
const char * findChar(int c) const 
 
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
 
void setOnlyPackUnpacked(bool val)
 
const UT_Array< Names > & getNames() const 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
 
static void loadData(UT_IStream &is, UT_StringHolder &v)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
 
bool getSingleMode() const 
 
static void loadData(UT_IStream &is, UT_Matrix2D &v)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
 
static void saveData(std::ostream &os, int64 v)
 
static void loadData(UT_IStream &is, UT_Matrix4D &v)
 
const UT_StringHolder & getPrimIndex() const 
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
 
static void loadData(UT_IStream &is, int64 &v)
 
virtual bool isDirect() const =0
Direct proxies mirror actual nodes: 
 
static void saveData(std::ostream &os, UT_StringHolder s)
 
static void saveData(std::ostream &os, UT_Matrix2D v)
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
bool opSetPrimIndex(const SOP_NodeVerb::CookParms &cookparms) const 
 
SYS_FORCE_INLINE bool isstring() const 
 
bool opinstNames_useinput(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const 
 
void setIgnoreEmpty(bool val)
 
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
 
UT_StringHolder opNames_name(const SOP_NodeVerb::CookParms &cookparms, int _idx) const 
 
constexpr SYS_FORCE_INLINE T & x() noexcept
 
void copyFrom(const OP_NodeParms *src) override