31         myPattern = 
"/*"_UTsh;
 
   46         if (myPattern != src.myPattern) 
return false;
 
   47         if (myUnpack != src.myUnpack) 
return false;
 
   48         if (myInvert != src.myInvert) 
return false;
 
   64         myPattern = 
"/*"_UTsh;
 
   66             graph->
evalOpParm(myPattern, nodeidx, 
"pattern", time, graph->
isDirect()?
nullptr:depnode);
 
   69             graph->
evalOpParm(myUnpack, nodeidx, 
"unpack", time, graph->
isDirect()?
nullptr:depnode);
 
   72             graph->
evalOpParm(myInvert, nodeidx, 
"invert", time, graph->
isDirect()?
nullptr:depnode);
 
  122     { doGetParmValue(idx, instance, value); }
 
  124     { doGetParmValue(idx, instance, value); }
 
  126     { doGetParmValue(idx, instance, value); }
 
  128     { doGetParmValue(idx, instance, value); }
 
  130     { doGetParmValue(idx, instance, value); }
 
  132     { doGetParmValue(idx, instance, value); }
 
  134     { doGetParmValue(idx, instance, value); }
 
  136     { doGetParmValue(idx, instance, value); }
 
  138     { doGetParmValue(idx, instance, value); }
 
  140     { doGetParmValue(idx, instance, value); }
 
  142     { doGetParmValue(idx, instance, value); }
 
  144     template <
typename T>
 
  151         if (idx.
size() != instance.
size()+1)
 
  169     { doSetParmValue(idx, instance, value); }
 
  171     { doSetParmValue(idx, instance, value); }
 
  173     { doSetParmValue(idx, instance, value); }
 
  175     { doSetParmValue(idx, instance, value); }
 
  177     { doSetParmValue(idx, instance, value); }
 
  179     { doSetParmValue(idx, instance, value); }
 
  181     { doSetParmValue(idx, instance, value); }
 
  183     { doSetParmValue(idx, instance, value); }
 
  185     { doSetParmValue(idx, instance, value); }
 
  187     { doSetParmValue(idx, instance, value); }
 
  189     { doSetParmValue(idx, instance, value); }
 
  205         if (fieldnum.
size() < 1)
 
  222         if (fieldnum.
size() < 1)
 
  223             return PARM_UNSUPPORTED;
 
  270         loadData(is, rampdata);
 
  288                 int             typelen = colon - data.
buffer();
 
  302     { 
int64 iv = 
v; UTwrite(os, &iv); }
 
  304     { UTwrite<fpreal64>(os, &
v); }
 
  306     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
 
  308     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
 
  309       UTwrite<fpreal64>(os, &v.
z()); }
 
  311     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
 
  312       UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
 
  324         if (s) s->save(ostr);
 
  326         saveData(os, result);
 
  333             ostr << s->getDataTypeToken();
 
  338         saveData(os, result);
 
  342     void         save(std::ostream &os)
 const 
  346         saveData(os, myPattern);
 
  347         saveData(os, myUnpack);
 
  348         saveData(os, myInvert);
 
  361         loadData(is, myPattern);
 
  362         loadData(is, myUnpack);
 
  363         loadData(is, myInvert);
 
  373         if (!thissop) 
return getPattern();
 
  375         OP_Utils::evalOpParm(result, thissop, 
"pattern", cookparms.
getCookTime(), 0);
 
  383         if (!thissop) 
return getUnpack();
 
  385         OP_Utils::evalOpParm(result, thissop, 
"unpack", cookparms.
getCookTime(), 0);
 
  393         if (!thissop) 
return getInvert();
 
  395         OP_Utils::evalOpParm(result, thissop, 
"invert", cookparms.
getCookTime(), 0);
 
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
 
static void saveData(std::ostream &os, UT_Matrix4D v)
 
static void saveData(std::ostream &os, UT_Vector4D v)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
 
SOP_Node * getNode() const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
 
exint getNestNumParms(TempIndex idx) const override
 
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
 
exint bread(int32 *buffer, exint asize=1)
 
GT_API const UT_StringHolder time
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
GLsizei const GLfloat * value
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
 
static void loadData(UT_IStream &is, UT_Vector4D &v)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
 
static void saveData(std::ostream &os, UT_Vector3D v)
 
const OP_Context & context() const 
 
bool isParmColorRamp(exint idx) const override
 
constexpr SYS_FORCE_INLINE T & z() noexcept
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
 
SYS_FORCE_INLINE const char * buffer() const 
 
static void loadData(UT_IStream &is, UT_Vector3D &v)
 
static void saveData(std::ostream &os, UT_StringHolder s)
 
An output stream object that owns its own string buffer storage. 
 
static void loadData(UT_IStream &is, fpreal64 &v)
 
**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)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
 
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer. 
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
 
constexpr SYS_FORCE_INLINE T & x() noexcept
 
void save(std::ostream &os) const 
 
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
 
constexpr SYS_FORCE_INLINE T & x() noexcept
 
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
 
static void loadData(UT_IStream &is, UT_Matrix4D &v)
 
static void loadData(UT_IStream &is, UT_Vector4I &v)
 
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
 
static void saveData(std::ostream &os, UT_Vector2D v)
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const 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
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
 
const OP_GraphProxy * graph() const 
 
ParmType getNestParmType(TempIndex fieldnum) const override
 
static void loadData(UT_IStream &is, bool &v)
 
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
 
void setPattern(const UT_StringHolder &val)
 
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
 
static void saveData(std::ostream &os, fpreal64 v)
 
void saveBinary(std::ostream &os) const 
Save string to binary stream. 
 
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
 
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
 
GT_API const UT_StringHolder version
 
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
 
bool operator!=(const SOP_UnpackFolderParms &src) const 
 
static void saveData(std::ostream &os, PRM_DataItemHandle s)
 
bool opUnpack(const SOP_NodeVerb::CookParms &cookparms) const 
 
static void saveData(std::ostream &os, bool v)
 
void coerceValue(T &result, const S &src) const 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
 
static void loadData(UT_IStream &is, UT_Matrix3D &v)
 
DEP_MicroNode * depnode() const 
 
static void saveData(std::ostream &os, UT_Matrix2D v)
 
Utility class for containing a color ramp. 
 
void loadFromOpSubclass(const LoadParms &loadparms) override
 
constexpr SYS_FORCE_INLINE T & w() noexcept
 
virtual UT_StringHolder baseGetSignature() const 
 
void copyFrom(const OP_NodeParms *src) override
 
fpreal getCookTime() const 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
 
bool operator==(const SOP_UnpackFolderParms &src) const 
 
const char * findChar(int c) const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
 
static void loadData(UT_IStream &is, UT_Matrix2D &v)
 
static void saveData(std::ostream &os, int64 v)
 
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const 
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
bool load(UT_IStream &is)
 
const char * getNestParmName(TempIndex fieldnum) const override
 
static void loadData(UT_IStream &is, int64 &v)
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
 
virtual bool isDirect() const =0
Direct proxies mirror actual nodes: 
 
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
 
static void loadData(UT_IStream &is, UT_Vector2I &v)
 
const UT_StringHolder & getPattern() const 
 
UT_StringHolder opPattern(const SOP_NodeVerb::CookParms &cookparms) const 
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
static void loadData(UT_IStream &is, UT_Vector2D &v)
 
static void loadData(UT_IStream &is, UT_Vector3I &v)
 
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
 
SYS_FORCE_INLINE bool isstring() const 
 
static void loadData(UT_IStream &is, UT_StringHolder &v)
 
bool opInvert(const SOP_NodeVerb::CookParms &cookparms) const 
 
OP_NodeParms & operator=(const OP_NodeParms &)=default
 
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
 
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
 
constexpr SYS_FORCE_INLINE T & x() noexcept