23 namespace SOP_GroupsFromNameEnums
 
   35         using namespace UT::Literal;
 
   53         using namespace UT::Literal;
 
   71         using namespace UT::Literal;
 
   90         myAttribName = 
"name"_UTsh;
 
   92         myGroupPrefix = 
""_UTsh;
 
  107         if (myAttribName != src.myAttribName) 
return false;
 
  108         if (myClass != src.myClass) 
return false;
 
  109         if (myGroupPrefix != src.myGroupPrefix) 
return false;
 
  110         if (myConflictOp != src.myConflictOp) 
return false;
 
  111         if (myInvalidNames != src.myInvalidNames) 
return false;
 
  130         myAttribName = 
"name"_UTsh;
 
  132             graph->
evalOpParm(myAttribName, nodeidx, 
"attribname", time, graph->
isDirect()?
nullptr:depnode);
 
  135             graph->
evalOpParm(myClass, nodeidx, 
"class", time, graph->
isDirect()?
nullptr:depnode);
 
  136         myGroupPrefix = 
""_UTsh;
 
  138             graph->
evalOpParm(myGroupPrefix, nodeidx, 
"groupprefix", time, graph->
isDirect()?
nullptr:depnode);
 
  141             graph->
evalOpParm(myConflictOp, nodeidx, 
"conflict", time, graph->
isDirect()?
nullptr:depnode);
 
  144             graph->
evalOpParm(myInvalidNames, nodeidx, 
"invalidnames", time, graph->
isDirect()?
nullptr:depnode);
 
  160     template <
typename T>
 
  167         if (idx.
size() != instance.
size()+1)
 
  172                 coerceValue(value, myAttribName);
 
  175                 coerceValue(value, myClass);
 
  178                 coerceValue(value, myGroupPrefix);
 
  181                 coerceValue(value, myConflictOp);
 
  184                 coerceValue(value, myInvalidNames);
 
  200     { doGetParmValue(idx, instance, value); }
 
  202     { doGetParmValue(idx, instance, value); }
 
  204     { doGetParmValue(idx, instance, value); }
 
  206     { doGetParmValue(idx, instance, value); }
 
  208     { doGetParmValue(idx, instance, value); }
 
  210     { doGetParmValue(idx, instance, value); }
 
  212     { doGetParmValue(idx, instance, value); }
 
  214     { doGetParmValue(idx, instance, value); }
 
  216     { doGetParmValue(idx, instance, value); }
 
  218     { doGetParmValue(idx, instance, value); }
 
  220     { doGetParmValue(idx, instance, value); }
 
  222     template <
typename T>
 
  229         if (idx.
size() != instance.
size()+1)
 
  234                 coerceValue(myAttribName, ( ( value ) ));
 
  237                 coerceValue(myClass, clampMinValue(0,  clampMaxValue(2,  value ) ));
 
  240                 coerceValue(myGroupPrefix, ( ( value ) ));
 
  243                 coerceValue(myConflictOp, clampMinValue(0,  clampMaxValue(1,  value ) ));
 
  246                 coerceValue(myInvalidNames, clampMinValue(0,  clampMaxValue(2,  value ) ));
 
  253     { doSetParmValue(idx, instance, value); }
 
  255     { doSetParmValue(idx, instance, value); }
 
  257     { doSetParmValue(idx, instance, value); }
 
  259     { doSetParmValue(idx, instance, value); }
 
  261     { doSetParmValue(idx, instance, value); }
 
  263     { doSetParmValue(idx, instance, value); }
 
  265     { doSetParmValue(idx, instance, value); }
 
  267     { doSetParmValue(idx, instance, value); }
 
  269     { doSetParmValue(idx, instance, value); }
 
  271     { doSetParmValue(idx, instance, value); }
 
  273     { doSetParmValue(idx, instance, value); }
 
  289         if (fieldnum.
size() < 1)
 
  298                 return "groupprefix";
 
  302                 return "invalidnames";
 
  310         if (fieldnum.
size() < 1)
 
  311             return PARM_UNSUPPORTED;
 
  326         return PARM_UNSUPPORTED;
 
  362         loadData(is, rampdata);
 
  380                 int             typelen = colon - data.
buffer();
 
  394     { 
int64 iv = 
v; UTwrite(os, &iv); }
 
  396     { UTwrite<fpreal64>(os, &
v); }
 
  398     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
 
  400     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
 
  401       UTwrite<fpreal64>(os, &v.
z()); }
 
  403     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
 
  404       UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
 
  416         if (s) s->save(ostr);
 
  418         saveData(os, result);
 
  425             ostr << s->getDataTypeToken();
 
  430         saveData(os, result);
 
  434     void         save(std::ostream &os)
 const 
  438         saveData(os, myAttribName);
 
  439         saveData(os, myClass);
 
  440         saveData(os, myGroupPrefix);
 
  441         saveData(os, myConflictOp);
 
  442         saveData(os, myInvalidNames);
 
  455         loadData(is, myAttribName);
 
  456         loadData(is, myClass);
 
  457         loadData(is, myGroupPrefix);
 
  458         loadData(is, myConflictOp);
 
  459         loadData(is, myInvalidNames);
 
  469         if (!thissop) 
return getAttribName();
 
  471         OP_Utils::evalOpParm(result, thissop, 
"attribname", cookparms.
getCookTime(), 0);
 
  479         if (!thissop) 
return getClass();
 
  481         OP_Utils::evalOpParm(result, thissop, 
"class", cookparms.
getCookTime(), 0);
 
  482         return Class(result);
 
  489         if (!thissop) 
return getGroupPrefix();
 
  491         OP_Utils::evalOpParm(result, thissop, 
"groupprefix", cookparms.
getCookTime(), 0);
 
  499         if (!thissop) 
return getConflictOp();
 
  501         OP_Utils::evalOpParm(result, thissop, 
"conflict", cookparms.
getCookTime(), 0);
 
  509         if (!thissop) 
return getInvalidNames();
 
  511         OP_Utils::evalOpParm(result, thissop, 
"invalidnames", cookparms.
getCookTime(), 0);
 
  520     int64 myInvalidNames;
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
 
const UT_StringHolder & getGroupPrefix() const 
 
bool operator!=(const SOP_GroupsFromNameParms &src) const 
 
static void loadData(UT_IStream &is, UT_Vector4D &v)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
 
static void saveData(std::ostream &os, UT_Vector4D v)
 
static void saveData(std::ostream &os, UT_Matrix4D v)
 
SOP_Node * getNode() const 
 
static void saveData(std::ostream &os, int64 v)
 
exint bread(int32 *buffer, exint asize=1)
 
GT_API const UT_StringHolder time
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
 
SYS_FORCE_INLINE UT_StringHolder getToken(Class enum_value)
 
GLsizei const GLfloat * value
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
 
static void loadData(UT_IStream &is, UT_Matrix4D &v)
 
const OP_Context & context() const 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
 
InvalidNames opInvalidNames(const SOP_NodeVerb::CookParms &cookparms) const 
 
constexpr SYS_FORCE_INLINE T & z() noexcept
 
static void loadData(UT_IStream &is, bool &v)
 
SYS_FORCE_INLINE const char * buffer() const 
 
static void loadData(UT_IStream &is, UT_Vector3I &v)
 
Class opClass(const SOP_NodeVerb::CookParms &cookparms) const 
 
static void saveData(std::ostream &os, fpreal64 v)
 
An output stream object that owns its own string buffer storage. 
 
**But if you need a result
 
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. 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
 
constexpr SYS_FORCE_INLINE T & x() noexcept
 
static void loadData(UT_IStream &is, fpreal64 &v)
 
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
 
void loadFromOpSubclass(const LoadParms &loadparms) override
 
static void loadData(UT_IStream &is, UT_StringHolder &v)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
 
ParmType getNestParmType(TempIndex fieldnum) const override
 
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
 
constexpr SYS_FORCE_INLINE T & x() noexcept
 
static void saveData(std::ostream &os, UT_Vector3D v)
 
void setGroupPrefix(const UT_StringHolder &val)
 
static void loadData(UT_IStream &is, UT_Vector2D &v)
 
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
 
void copyFrom(const OP_NodeParms *src) override
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
 
const UT_StringHolder & getAttribName() const 
 
InvalidNames getInvalidNames() const 
 
void setInvalidNames(InvalidNames val)
 
SYS_FORCE_INLINE const char * buffer() const 
 
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr. 
 
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
 
constexpr SYS_FORCE_INLINE T & z() noexcept
 
SOP_GroupsFromNameParms()
 
const OP_GraphProxy * graph() const 
 
static void saveData(std::ostream &os, bool v)
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
 
exint getNestNumParms(TempIndex idx) const override
 
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
 
static void saveData(std::ostream &os, PRM_DataItemHandle s)
 
static void loadData(UT_IStream &is, UT_Vector2I &v)
 
ConflictOp getConflictOp() const 
 
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
 
void saveBinary(std::ostream &os) const 
Save string to binary stream. 
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
 
GT_API const UT_StringHolder version
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
 
void save(std::ostream &os) const 
 
void setAttribName(const UT_StringHolder &val)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
 
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
 
DEP_MicroNode * depnode() const 
 
UT_StringHolder opAttribName(const SOP_NodeVerb::CookParms &cookparms) const 
 
LeafData & operator=(const LeafData &)=delete
 
Utility class for containing a color ramp. 
 
constexpr SYS_FORCE_INLINE T & w() noexcept
 
bool load(UT_IStream &is)
 
virtual UT_StringHolder baseGetSignature() const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
 
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const 
 
void setConflictOp(ConflictOp val)
 
static void loadData(UT_IStream &is, UT_Vector3D &v)
 
fpreal getCookTime() const 
 
static void loadData(UT_IStream &is, UT_Matrix2D &v)
 
static void saveData(std::ostream &os, UT_Matrix2D v)
 
const char * findChar(int c) const 
 
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
 
const char * getNestParmName(TempIndex fieldnum) const override
 
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
 
static void loadData(UT_IStream &is, UT_Matrix3D &v)
 
static void saveData(std::ostream &os, UT_Vector2D v)
 
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
 
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
bool operator==(const SOP_GroupsFromNameParms &src) const 
 
static void saveData(std::ostream &os, UT_StringHolder s)
 
virtual bool isDirect() const =0
Direct proxies mirror actual nodes: 
 
ConflictOp opConflictOp(const SOP_NodeVerb::CookParms &cookparms) const 
 
static void loadData(UT_IStream &is, int64 &v)
 
UT_StringHolder opGroupPrefix(const SOP_NodeVerb::CookParms &cookparms) const 
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
SYS_FORCE_INLINE bool isstring() const 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
 
bool isParmColorRamp(exint idx) const override
 
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
 
static void loadData(UT_IStream &is, UT_Vector4I &v)
 
constexpr SYS_FORCE_INLINE T & x() noexcept